计算机组成原理--除法运算硬件框图

  在上篇博文(除法运算的方法)中,做而论道介绍了 “被除数左移” 的除法运算方法。

  八位数(1000 0110)除以四位数(1010)的操作步骤如下图所示。

  由图可见,共进行了四次 “相减、差左移一位并上商” 的操作。经过四次操作之后,就得到了四位的余数和四位的商。

  在把这种方法落实到硬件电路之前,还是先用框图进行一下简单的分析吧。 除法运算的硬件组成框图可见下图。

  做除法之前,应该先输入数据,这个步骤叫做初始化。
  初始化时,应该输入八位的被除数(A7~0)和四位的除数(B3~0)。 
  除数(B3~0)比较好办,因为它在整个计算过程中,一直是不动的。 所以,就直接把 B3~0 送到减法电路的减数位置,即可。
  初始的被除数、和将来要出现的差值,都要进入到移位电路。 所以,在这里应该选用一个 “二选一” 的器件。 在数字电路芯片中,可以找到 74LS157,它就是一个进行 “两路数据选择” 的器件。 在初始化时,可令 157 选用 A7~0,在进行除法运算时,则令 175 选用差值 F7~0。
  由 157 选中的信号,并行向下走,就可以送到移位电路。
  初始化输入的 A7~0 先不用移位,直接就继续向下走,送到减法电路的被减数位置。

  在减法电路中,立刻就进行八位的减法运算:A7~0 - 0 B3~0 000。
  减法电路是采用 “同步借位” 的电路,几乎立即就能得出差值:F7~0,以及借位:C7。

  如果借位为 0,商就上 1。那么就由一个反相器输出 1,送到移位电路的 “右串入” 端。
  同时,还要把差值左移一位,作为下一次减法运算中的被除数。 因此,差值(F7~0)就绕了一圈,经过数据选择器,进入到移位电路,去进行左移(并把商 1 移进来)。
  如果借位为 1,商就上 0。同时,本次减法运算产生的差值,就不要了,只需把移位电路中的被除数进行左移一位,就可以了。 此时,就不用考虑差值(F7~0)的绕圈,这就省事了。

  移位电路的工作,就稍稍复杂一点了。
  移位电路可以选用做而论道以前介绍过的芯片:74LS194。 
  它具有四个功能:并行置数、数据左移、数据右移、静止不变。 分别用两位二进制数进行控制。 同时还得给它一个时钟脉冲信号,控制它做出动作的时机。
  在本次设计的除法电路中,只用到 “并行置数” 和 “左移一位”。 那么,用一位二进制数,就可以控制了。这个二进制数,就可以选用做减法时产生的借位(C7)。
  当借位为 0 时,经过反相为 1,就控制移位电路进行 “并行置数”,把 F7~0 放进来。 之后再进行左移一位。
  当借位为 1 时,经过反相为 0,就控制移位电路进行 “左移一位”,这就不再理会差值是多少了。

  电子线路的设计方案,用通俗的语言来介绍,还是很有一些词不达意的。 如果说的不明白,或者看不明白,欢迎留言讨论。

--本文完--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值