关于一道考研的计组的ALU问题的思考
首先了解一下与或非门
以及标准门
的概念,看下图:
现在上题,但是原谅我的愚蠢,花了一个晚上的时间解决,愈加发现我的时间不值钱啊!!!
题目描述:
某机字长16位,使用四片74181组成算术/逻辑运算单元,设最低位序号标注为第0位。
(1)写出第5位的进位信号C6的逻辑表达式;
(2)估算产生C6所需的最长时间;
(3)估算最长求和时间。
分析:
先用4片74181组成运算器,如图(网上找的,稍微改点点可用)
(1)第一题是送分题,按照公式递归即可。
组间递归公式:
其中C0
是向第0
位进位,
本位进位:
进位传输条件:
所以再利用组内计算公式C(n+i+1) = Yi * Xi+ ( Yi + Xi )* C(n+i)
,其中n
代表0,4,8,12,16...
, i
代表0,1,2,3
那么可得一下结果:
(2)设标准门延迟时间为T," 与或非”门延迟时间为1.5T
,产生C6
的路径应当从74181
最下面输人端Ai,Bi
算起,经过1
个反相器和4
级“与或非”门,故最长延迟时间为1T + 4 X 1.5T = 7T.
分析一下为什么?首先从最低位开始的第一片74181
有经过三级的与或非门
,因为产生控制参数X0,Y0和C(n+4)
需要三次与或非门的使用,如下图中在一片74181的三块黄色区域,即为三级与或非门的使用:
然后在第二片中,由于C6的计算,需要经过如下图中的黄色区域中的与或非门:
此外,计算C6
也需要一次与或非门得使用,因为需要从底层计算X6,Y6
,最后一次标准门反相器的使用,因为C(n+i+1) = Yi * Xi+ ( Yi + Xi )* C(n+i)
计算进位的表达式只用到了与或,没有非,那么采用反相器即可去掉使用与或非门的非得作用。
(3)最长求和时间应从施加操作数到ALU
算起:第1
片74181
有3级“与或非”门
(产生控制参数Xi,Yi,Cn+4
,和第二问分析一样);第二、三片74181
共2
级反相器和2
级“与或非”门(进位链),因为每一片74181
之间是行波进位的关系,因此,产生Xi,Yi和C(n+4)
需要两次与或非门的使用,如图
此处计算反相器的原因是作为进位链的部分,每次Cn到达时,都需要经过反相器和一级与或非门,而第一片不用添加一级反相器的原因是经过第二级的与或非门时间远大于经过以及反相器的时间。
第四片74181
求和逻辑(1
级与或非门用于组内进位的产生和1
级半加器用于求和Fi
,设其延迟时间为3T
) ,故总的加法时间为b = 3 X 1.5T + 2T + 2X1.5T + 1.5T + 3T = 14 T
(为了保险起见,此处答案为复制的标准答案)