- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
运算方法和运算器(4定点除法运算)
* * 第二章 运算方法和运算器 *数据的表示方法 *定点和浮点加减运算 *定点乘运算 *定点除运算 *定点运算器的组成 被除数 x,其原码为 [x]原=xf . xn-1… x1 x0 除数 y,其原码为 [y]原=yf . yn-1… y1 y0 则有商q=x/y,其原码为 [q]原=(xf⊕yf) + (0. xn-1…x1x0 / 0.yn-1… y1y0) ? 商的符号运算qf=xf⊕yf 与原码乘法一样; ? 商的数值部分的运算,实质上是两个正数求商的运算。 设有n位定点小数(定点整数也同样适用): 2.4 并行除法器 1.手算运算步骤 例: 设被除数x=0.1001, 除数y=0.1011, 仿十进制除法运算, 手算求x÷y的过程 0.1 1 0 1 商q0.1 0 1 1 0.1 0 0 1 0 x(r0) 被除数小于除数,商0 -0.0 1 0 1 1 2-1y 除数右移1位,减除数, 商1? 0.0 0 1 1 1 0 r1 得余数r1 -0.0 0 1 0 1 1 2-2y 除数右移1位,减除数, 商1 0.0 0 0 0 1 1 0 r2 得余数r2 -0.0 0 0 1 0 1 1 2-3y 除数右移1位,不减除数,商0 0.0 0 0 0 1 1 0 0 r3 得余数r3 -0.0 0 0 0 1 0 1 1 2-4y 除数右移1位,减除数, 商1 -0.0 0 0 0 0 0 0 1 r4 得余数r4 得x÷y的商q=0.1101,余数为r=0 2.机器运算与手算的不同 (1)在计算机中, 小数点是固定的,不能简单地采用手算的办法。 (2)机器不会心算,必须先作减法,若余数为正,才知道够减;若余数为负,才知道不够减。不够减时必须恢复原来的余数, 以便再继续往下运算。这种方法称为恢复余数法。 (3)要恢复原来的余数,只要当前的余数加上除数即可。但由于要恢复余数,使除法进行过程的步数不固定,因此控制比较复杂。 实际中常用不恢复余数法,又称加减交替法。其特点是运算过程中如出现不够减,则不必恢复余数,根据余数符号, 可以继续往下运算,因此步数固定, 控制简单。 阵列式除法器是一种并行运算部件, 采用大规模集成电路制造。与早期的串行除法器相比, 阵列除法器不仅所需的控制线路少, 而且能提供令人满意的高速运算速度。 阵列除法器有多种多样形式: 不恢复余数阵列除法器;(又称加减交替法) 补码阵列除法器 等等。 3.阵列除法器 (1) 可控加法/减法(CAS)单元 用于并行除法流水逻辑阵列中。 P=0 做加法运算 P=1 做减法运算 Si=Ai⊕(Bi⊕P)⊕Ci Ci+1=(Ai+Ci)·(Bi⊕P)+AiCi ? 当P=0时, 即是我们熟悉的一位全加器(FA)的公式: Si=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+AiCi 2.4.3 并行除法器 CAS单元的输入与输出的关系可用如下一组逻辑方程来表示: ? 当P=1时, 则得求差公式: 在减法情况下: 输入Ci称为借位输入,而Ci+1称为借位输出。 Si=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+AiCi 其中Bi=Bi⊕1。 Si=Ai⊕(Bi⊕P)⊕Ci Ci+1=(Ai+Ci)·(Bi⊕P)+AiCi 加以变换,可得如下形式: 在这两个表达式中,每一个都能用一个三级组合逻辑电路(包括反向器)来实现。因此每一个基本的CAS单元的延迟时间为3T单元。 为说明CAS单元的实际内部电路实现,将方程式 Si=Ai⊕(Bi⊕P)⊕Ci Ci+1=(Ai+Ci)(Bi⊕P)+AiCi =AiBiP+AiBiP+BiCiP+BiCiP+AiCi ( A?B=AB+AB ) = AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP +AiBiCiP+AiBiCiP+AiBiCiP (2)不恢复余数的阵列除法器 不恢复余数阵列除法,也叫加减交替法。 在不恢复余数的除法阵列中: ? 当余数为正时(ri ≥ 0) ,本次商“1”,下次做减法运算, 减法是
文档评论(0)