计算机组成原理实验讲义(2014版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理专周报告
成都电子机械高等专科学校计算机工程系
`
目录
一、项目名称11
二、实验目的11
三、不恢复余数的阵列除法器介绍11
四、逻辑流程图及原理33
算法流程33
粗框图 33
CSA逻辑结构图33
原理分析33
五、实例结果及求解过程77
实例结果图77
实例求解过程88
六、心得体会:99
计算机组成原理专周报告
一、项目名称
原码阵列除法器
二、实验目的
1)理解原码阵列除法运算的规则。
2)掌握原码阵列除法器设计思想,设计一个原码阵列除法器。
3)熟悉proteus 7 professional软件的使用。
4)复习巩固课堂知识,将所学知识运用于实际,做到学以致用。三、不恢复余数的阵列除法器介绍
阵列式除法器是一种并行运算部件,采用大规模集成电路制造,与早期的串行除法器相比,阵列除法器不仅所需的控制线路少,而且能提供令人满意的高速运算速度。阵列除法器有多种多样形式,如不恢复余数阵列除法器,补码阵列除法器等等。我们所用到的就是不恢复余数的阵列除法器。
设:所有被处理的数都是正的小数(仍以定点小数为例)。不恢复余数的除法也就是加减交替法。在不恢复余数的除法阵列中,每一行所执行的操作究竟是加法还是减法, 取决于前一行输出的符
号与被除数的符号是否一致。当出现不够减时,部分余数相对于被除数来说要改变符号。这时应该产生一个商位“0”,除数首先沿对角线右移,然后加到下一行的部分余数上。当部分余数不改变它的符号时, 即产生商位“1”,下一行的操作应该是减法。图(四)示出了 (4位÷4位)的不恢复余数阵列除法器的逻辑原理图。由图看出,该阵列除法器是用一个可控加法/减法(CAS)单元所组成的流水阵列来实现的。推广到一般情况,一个(n+1)位除(n+1)位的加减交替除法阵列由(n+1)2个CAS单元组成,其中两个操作数(被除数与除数)都是正的。单元之间的互连是用n=3的阵列来表示的。
这里被除数X是一个6位的小数(双倍长度值):X=0.A1A2A3A4A5A6它是由顶部一行和最右边的对角线上的垂直输入线来提供的。
除数Y是一个3位的小数:Y=0.B1B2B3 它沿对角线方向进入这个阵列。这是因为,在除法中所需要的部分余数的左移,可以用下列等效的操作来代替:即让余数保持固定,而将除数沿对角线右移。
商Q是一个3位的小数:Q=0.Q1Q2Q3 它在阵列的左边产生。
余数r是一个6位的小数:r=0.00r0r1r2r3 它在阵列的最下一行产生。
四、逻辑流程图及原理
算法流程
粗框图
CSA逻辑结构图
可控加法/减法(CAS)单元,包含一个全加器和一个控制加减的异或门,也就是电路图上的一个74ls86和一个7482的组合,它用于并行除法流水逻辑阵列中,它有四个输出端和四个输入端。本位输
入Ai及Bi,低位来进位(或借位)信号Ci,加减控制命令P;输出本位和(差)Si及进位信号Ci+1,除数Bi要供给各级加减使用,所以又输往下一级。当输入线P=0时,CAS作加法运算;当P=1时,CAS作减法运算。CAS单元的输入与输出的关系可用如下一组逻辑方程来表示:
Si=Ai⊕(Bi⊕P)⊕Ci
Ci+1=(Ai+Ci)•(Bi⊕P)+AiCi (1)
当P=0时,方程式(2.32)就等于式(2.23),即得我们熟悉的一位全加器(FA)的公式:
Si=Ai⊕Bi⊕Ci
Ci+1=AiBi+BiCi+AiCi
当P=1时,则得求差公式:
Si=Ai⊕Bi⊕Ci
Ci+1=AiBi+BiCi+AiCi
其中Bi=Bi⊕1
在减法情况下,输入Ci称为借位输入,而Ci+1称为借位输出。
为说明CAS单元的实际内部电路实现,将方程式(1)加以变换,可得如下形式:
Si=Ai⊕(Bi⊕P)⊕Ci
=AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP
+AiBiCiP +AiBiCiP+AiBiCiP+AiBiCiP
Ci+1=(Ai+Ci)(Bi⊕P)+AiCi
=AiBiP+AiBiP+BiCiP+BiCiP+AiCi
在这两个表达式中,每一个都能用一个三级组合逻辑电路(包括反向器)来实现。因此每一个基本的CAS单元的延迟时间为3T单元。
原码除法先取绝对值相除,A0与B0同号,均为0,第一行应执行0.A1A2A3-0.B1B2B3,所以该行的控制电位P1=1,并将这个1作为第一行末位的初始进位输入。因为|X|<|Y|,所以相减后符号位的进位输出为0,即商符为0(如果是异号相除,以后再加负号)。第二行的P2=0,作加法操作,并补充一位被除数A2,以后的各行操作与此相似。
假设第i行够减,在高位将有进位输出,相应的Qi=1;这个1又作为下一行的P。
若第i行不够减,则高位无进位输出,相应的Qi=0,下一行做减法。
说明:
1.最上面一行所执行的初始操作通常是减法(P=1),因此最上面一行的控制线P固定置成“1”。
2.减法是+[-y]补的运算来实现。这时右端各CAS单元上的反馈线用作初始的进位输入。
3.每一行最左边的单元的进位输出决定着商的数值。将当前的商反馈到下一行,我们就能确定下一行的操作。(由于最高进位输出信号
指示出当前的部分余数的符号,因此,它可决定下一行的操作将进行加法还是减法)
4.在进行运算时,沿着每一行都有进位(或借位)传播,同时所有行在它们的进位链上都是串行连接。而每个CAS单元的延迟时间为3T单元.因此, 考虑最大情况下的信号延迟,其除法执行时间为:
td=(n+1)2×3T 其中n为尾数位数。