合肥学院计算机组成原理实验三Word下载.docx
《合肥学院计算机组成原理实验三Word下载.docx》由会员分享,可在线阅读,更多相关《合肥学院计算机组成原理实验三Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
![合肥学院计算机组成原理实验三Word下载.docx](https://file1.bdocx.com/fileroot1/2022-12/19/32580c9c-8096-47e2-99b9-1114c293a2fd/32580c9c-8096-47e2-99b9-1114c293a2fd1.gif)
同组人员
实验日期 2015.4.20
一、实验目的与要求
(1)了解运算器的组成结构
(2)掌握运算器的工作原理
2、实验逻辑原理图与分析
运算器原理图
分析:
运算器内部还有三个独立运算部件,分为算数、逻辑、移位运算部件,要处理的数据存于暂存器A和暂存器B中,三个部件同时接收来自A和B的数据,个部件对操作数进行何种操作由控制信号S3S2S1S0和CN来决定,任何时候,多路选择开关只能选择三部件中的一个部件的结果作为ALU的输出。
如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。
ALU中所有模块集成在一片CLPD中。
三、数据通路图及分析(画出数据通路图并作出分析)
S1
S0
FZ
FC
Cn
S2
A=XX
B=XX
多路开关
进位
判零
&
LDA
T4
LDB
SHF=XX
LOG=XX
S3
CY1
CY2
ART=XX
XXXXXXXX
逻辑运算数据通路
算术运算数据通路
四、实验数据和结果分析
实验数据:
运算类型
A
B
S3S2 S1S0
CN
结果
逻辑运算
65
A7
0 0 0 0
X
F=(65) FC=(0)FZ=(0)
A7
0 00 1
F=(A7)FC=(0)FZ=(0)
0 01 0
X
F=(25)FC=(0)FZ=(0)
0 011
F=(E7)FC=(0)FZ=(0)
0100
F=(9A)FC=(0)FZ=(0)
移位运算
0101
F=(CA) FC=(0)FZ=(0)
01 1 0
F=(32)FC=
(1)FZ=(0)
1
F=(B2)FC=(1) FZ=(0)
0 1 11
F=(CA)FC=
(1)FZ=(0)
1
F=(CA)FC=(0)FZ=(0)
算数运算
1000
F=(65) FC=(0)FZ=(0)
1 00 1
F=(0C)FC=(1)FZ=(0)
101 0
F=(0D)FC=(1) FZ=(0)
1011
F=(BE)FC=
(1)FZ=(0)
1 1 0 0
F=(64)FC=(0)FZ=(0)
1 101
F=(66)FC=(0)FZ=(0)
结果分析:
(1)当S3、S2、S1、S0=0010时,此时运算器进行的是逻辑与运算,因为暂存器A中的数据存入的是65H,用二进制表示为01100101,暂存器B中的数据存入的是A7H,用二进制表示为1010 0111,将A和B的二进制数进行逻辑与后得到的二进制数为0010 0101,其十六进制表示为25H,故运算器中的显示数据为25H。
(2)当S3、S2、S1、S0=0011时,此时运算器进行的是逻辑或运算,因为暂存器A中的数据存入的是65H,用二进制表示为01100101,暂存器B中的数据存入的是A7H,用二进制表示为10100111,将A和B的二进制数进行逻辑与后得到的二进制数为11100111,其十六进制表示为E7H,故运算器中的显示数据为E7H。
(3)当S3、S2、S1、S0=0111,CN=1时,此时运算器进行的是F=A带进位循环左移一位,因为暂存器A中的数据存入的是65H,用二进制表示为01100101,将其左移一位0,末位补上移出的0后,其二进制表示为11001010,其对应的十六进制表示为CAH,故运算器中的显示数据为CAH。
(4)当S3、S2、S1、S0=1011时,此时运算器进行的是算术运算F=A-B,因为暂存器A中的数据存入的是65H,用二进制表示为01100101,暂存器B中的数据存入的是A7H,用二进制表示为10100111,因为A<B,故无法进行正常的相减,然而A-B等价于A+B补,B补=01011001,相加后得到二进制数10111110,其十六进制表示为BEH,故运算器中的显示的数据为BEH。
五、实验问题分析、思考题与小结
实验问题分析:
在本次实验过程中,我在连接好线路后,按照实验指导书上的步骤将两个数据分别存入到暂存器A和暂存器B中,然后根据表3-1分别对S3、S2、S1、S0和CN置数,然后将运算器中显示的数据填写到表格当中,然后发现其中某些数据与实际数据不对应,经检查后发现原来是CN一直保持为0,故导致部分答案不一致。
思考题:
1.CON单元的SD27...SD20数据开关置为一个二进制数(任意)、置LDA=1,LDB=0,连续按动时序单元的ST按钮,实现了什么数据通路?
答:
将该二进制数通过数据开关打入到暂存器A中。
2.CON单元的SD27...SD20数据开关置为一个二进制数(任意)、置LDA=0,LDB=1,连续按动时序单元的ST按钮,实现了什么数据通路?
答:
将该二进制数通过数据开关打入到暂存器B中。
3.置ALU_B=0、LDA=0、LDB=0置(S3、S2、S1、S0)=1111,实现了什么数据通路,进行什么运算?
答:
LDA,LDB->ART->多路开关->
BUS,进行的是算数运算,保留。
4.置ALU_B=0、LDA=0、LDB=0置(S3、S2、S1、S0)=1010,实现了什么数据通路,进行什么运算?
答:
LDA,LDB->
ART->
多路开关->
BUS,进行的是算数运算,F=A+B+FC。
5.置ALU_B=0、LDA=0、LDB=0置(S3、S2、S1、S0)=1010,运算结果是多少?
答:
F=A+B+FC,FC=0时F=0D,FC=1时,F=OE。
6.你对74181的功能有哪些认识?
4位算逻单元,A、B为输出操作数,F为结果,可以进行算数运算和逻辑运算,Cn为低位进位,通过与74182的级联可以构造多位数的加法器。
小结:
在本次实验中,我初步了解了运算器的基本组成结构,并且掌握了运算器的工作原理。
与此同时,我对运算器的三种运算,逻辑运算、算术运算和移位运算有了直观的感受,对与它们的理解更加深刻,也懂得了这三种运算的区别和联系。
在实验中,给我的最大感受依旧是细心决定实验的成败,往往实验中的一次小小的走神,总是会致使你的某一步错误,然后导致实验结果的错误,而且你还觉得自己做的都是正确的,不知道实验究竟是错在哪里。
得分(百分制)