计算机组成原理
专周报告
成都电子机械高等专科学校计算机工程系
`
目 录
一、项目名称 .............................................................................................................1
二、实验目的 .............................................................................................................1
三、不恢复余数的阵列除法器介绍 . ............................................................................1
四、逻辑流程图及原理 . ..............................................................................................3
算法流程 . ......................................................................................................................... 3
粗框图 . ............................................................................................................................. 4
CSA 逻辑结构图 ............................................................................................................. 4
原理分析 . ......................................................................................................................... 5
五、实例结果及求解过程 ...........................................................................................8
实例结果图 . ..................................................................................................................... 8
实例求解过程 . ................................................................................................................. 9
六、心得体会: ....................................................................................................... 10
计算机组成原理专周报告
一、项目名称
原码阵列除法器
二、实验目的
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 它在阵列的最下一行产生。
四、逻辑流程图及原理
算法流程
图(一)原码阵列除法器算法流程图
粗框图
余数r= r0 r1 r2 r3
图(二)原码阵列除法器逻辑粗框
CSA 逻辑结构图
图(三)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|
假设第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 为尾数位数。
五、实例结果及求解过程 实例结果图
此例便是使用原码阵列除法器进行除法运算的例子。我们看到,当被除数21H 和除数05H 送到阵列除法器输入端后,经过3(n+1)2T 时间延迟,便在除法器输出端得到稳定的商数6和余数E (调整后为5)的信号电平。
实例求解过程
X=21H=00100001,Y=05H=0101,求X/Y=?
A=|X|=00010101,B=|Y|=00101,-B=11011
被除数A 00100001
余数为负 111110 Q2=1 移位-B 11011
余数为正 00001>0 Q1=1 移位00011
-B 11011
余数为负 11110
+B 00101
恢复余数 00011
故得 商=1Q3Q2Q1Q0=00110(第一位是符号位)=6(16进制) 余数=00011=3(16进制)
六、心得体会:
在这个专周刚刚开始的时候,为了从四个项目中选出最适合自己的项目,刚开始那两天就在对四个项目进行分析,本来决定做补码乘法器的,但因为中途项目被分配到各个同学手中,所以最终以原码阵列除法器为设计项目,进行分析处理。虽然在项目分析处理的过程中遇到了各种各样的问题,但是有其他同学的帮助,所有的问题也都迎刃而解了,最终,在同学的帮助下,完成了原码阵列除法器的分析处理。
在这个专周里面不仅仅是深刻了解原码阵列除法器,对补码阵列乘法器、补码乘法器、原码阵列乘法器也有了很深刻的认识;对他们的设计思想、工作原理、算法都熟练掌握了;对四则运算过程的了解也深入了很多;也了解了自己目前的水平,为期末的检测打了一针预防针;总的来说,此次专周,收获颇丰,不仅因为收获了成功,也因为收获了不足。
最后,我对曾经帮助过我的同学表示深深的感谢!我以后一定会继续努力,完善自己。
计算机组成原理
专周报告
成都电子机械高等专科学校计算机工程系
`
目 录
一、项目名称 .............................................................................................................1
二、实验目的 .............................................................................................................1
三、不恢复余数的阵列除法器介绍 . ............................................................................1
四、逻辑流程图及原理 . ..............................................................................................3
算法流程 . ......................................................................................................................... 3
粗框图 . ............................................................................................................................. 4
CSA 逻辑结构图 ............................................................................................................. 4
原理分析 . ......................................................................................................................... 5
五、实例结果及求解过程 ...........................................................................................8
实例结果图 . ..................................................................................................................... 8
实例求解过程 . ................................................................................................................. 9
六、心得体会: ....................................................................................................... 10
计算机组成原理专周报告
一、项目名称
原码阵列除法器
二、实验目的
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 它在阵列的最下一行产生。
四、逻辑流程图及原理
算法流程
图(一)原码阵列除法器算法流程图
粗框图
余数r= r0 r1 r2 r3
图(二)原码阵列除法器逻辑粗框
CSA 逻辑结构图
图(三)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|
假设第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 为尾数位数。
五、实例结果及求解过程 实例结果图
此例便是使用原码阵列除法器进行除法运算的例子。我们看到,当被除数21H 和除数05H 送到阵列除法器输入端后,经过3(n+1)2T 时间延迟,便在除法器输出端得到稳定的商数6和余数E (调整后为5)的信号电平。
实例求解过程
X=21H=00100001,Y=05H=0101,求X/Y=?
A=|X|=00010101,B=|Y|=00101,-B=11011
被除数A 00100001
余数为负 111110 Q2=1 移位-B 11011
余数为正 00001>0 Q1=1 移位00011
-B 11011
余数为负 11110
+B 00101
恢复余数 00011
故得 商=1Q3Q2Q1Q0=00110(第一位是符号位)=6(16进制) 余数=00011=3(16进制)
六、心得体会:
在这个专周刚刚开始的时候,为了从四个项目中选出最适合自己的项目,刚开始那两天就在对四个项目进行分析,本来决定做补码乘法器的,但因为中途项目被分配到各个同学手中,所以最终以原码阵列除法器为设计项目,进行分析处理。虽然在项目分析处理的过程中遇到了各种各样的问题,但是有其他同学的帮助,所有的问题也都迎刃而解了,最终,在同学的帮助下,完成了原码阵列除法器的分析处理。
在这个专周里面不仅仅是深刻了解原码阵列除法器,对补码阵列乘法器、补码乘法器、原码阵列乘法器也有了很深刻的认识;对他们的设计思想、工作原理、算法都熟练掌握了;对四则运算过程的了解也深入了很多;也了解了自己目前的水平,为期末的检测打了一针预防针;总的来说,此次专周,收获颇丰,不仅因为收获了成功,也因为收获了不足。
最后,我对曾经帮助过我的同学表示深深的感谢!我以后一定会继续努力,完善自己。