计算机组成原理课程设计实验报告.docx
《计算机组成原理课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
![计算机组成原理课程设计实验报告.docx](https://file1.bdocx.com/fileroot1/2022-11/28/bdf08fd5-360c-4906-bd81-c05e320a4b4e/bdf08fd5-360c-4906-bd81-c05e320a4b4e1.gif)
计算机组成原理课程设计实验报告
计算机组成原理课程设计实验报告
计算机组成原理课程设计实验报告
学院:
计算机科学与工程学院
专业:
计算机科学与技术
班级:
计算机二班
学号:
姓名:
评分:
2010年6月23日
实验一验证74LS181运算和逻辑功能
一、实验目的:
1、掌握算术逻辑单元(ALU)的工作原理;
2、熟悉简单运算器的数据传送通路;
3、画出逻辑电路图及布出美观整齐的接线图;
4、验证4位运算功能发生器(74LS181)组合功能。
二、实验原理:
1、ALU能进行多种算术运算和逻辑运算。
4位ALU_74LS181能进行16种算术运算和逻辑运算。
功能表如下:
方式
M=1逻辑运算
M=0算术运算
S3S2S1S0
逻辑运算
CN=1(无进位)
CN=0(有进位)
0000
F=/A
F=A
F=A加1
0001
F=/(A+B)
F=A+B
F=(A+B)加1
0010
F=(/A)B
F=A+/B
F=(A+/B)加1
0011
F=0
F=负1(补码形式)
F=0
0100
F=/(AB)
F=A加A(/B)
F=A加A/B加1
0101
F=/B
F=(A+B)加A/B
F=(A+B)加A/B加1
0110
F=A⊕B
F=A减B减1
F=A减B
0111
F=A/B
F=A(/B)减1
F=A(/B)
1000
F=/A+B
F=A加AB
F=A加AB加1
1001
F=/(A⊕B)
F=A加B
F=A加A加1
1010
F=B
F=(A+/B)加AB
F=(A+/B)加AB加1
1011
F=AB
F=AB减1
F=AB
1100
F=1
F=A加A
F=A加A加1
1101
F=A+/B
F=(A+B)加A
F=(A+B)加A加1
1110
F=A+B
F=(A+/B)加A
F=(A+/B)加A加1
1111
F=A
F=A减1
F=A
(上表中的“/”表示求反)
2、具体示例功能解析
(1)A、S、D、F键分别控制U1单元的输入,通过选择高低电平,输入四位二进制数,在U1单元显示为一位十六进制数,例如:
A为高电平,S为低电平,D为高电平,F为低电平,则U1将显示为5;同理,G、H、J、K键分别控制U2单元的输入;
(2)Z、X、C、V键分别作为74LS181N的S0、S1、S2、S3运算选择控制端的开关,实现决定电路执行哪一种运算;(3)CN引脚是最低位进位输入控制引脚,CN=0,表示有进位,CN=1,表示无进位;M引脚为状态控制端,M=1,表示逻辑运算,M=0,表示算术运算;(4)F3、F2、F1、F0均为数据输出引脚,F3为最高位。
图1:
4位74LS181电路示意图
3、ALU-74LS181引脚说明:
M=1逻辑运算,M=0算术运算。
引脚
说明
M状态控制端
M=1逻辑运算;M=0算术运算
S3S2S1S0运算选择控制
S3S2S1S0决定电路执行哪一种算术
A3A2A1A0
运算数1,引脚3为最高位
B3B2B1B0
运算数2,引脚3为最高位
Cn最低位进位输入
Cn=0有进位;Cn=1无进位
Cn+4本片产生的进位信号
Cn+4=0有进位;Cn+4=1无进位
F3F2F1F0
F3F2F1F0运算结果,F3为最高位
三、实验内容:
图2:
4位74LS181电路验证图
如上图所示,M=0,进行算术运算,CN=1,表示无进位,S3、S2、S1、S0分别为1001,因此对应的运算为:
F=A加B,由此可见实验结果正确。
图3:
4位74LS181电路验证图
如上图所示,M=1,进行算术运算,S3、S2、S1、S0分别为1110,因此对应的运算为:
F=A+B,由此易知实验结果正确。
图4:
4位74LS181电路验证图
如上图所示,M=0,进行算术运算,CN=0,表示有进位,S3、S2、S1、S0分别为1001,因此对应的运算为:
F=A加B加1,由此易知实验结果正确。
综上验证74LS181型4位ALU的逻辑算术功能,列出结果如下表:
S3S2S1S0
数据1
数据2
算术运算(M=0)
逻辑运算(M=1)
Cn=1(无进位)
Cn=0(有进位)
0000
AH
5H
F=A(1010)
F=B(1011)
F=5(0101)
0001
AH
5H
F=F(1111)
F=0(0000)
F=0(0000)
0010
AH
5H
F=A(1010)
F=B(1011)
F=5(0101)
0011
AH
5H
F=F(1111)
F=0(0000)
F=0(0000)
0100
FH
1H
F=D(1101)
F=E(1110)
F=E(1110)
0101
FH
1H
F=D(1101)
F=E(1110)
F=E(1110)
0110
FH
1H
F=D(1101)
F=E(1110)
F=E(1110)
0111
FH
1H
F=D(1101)
F=E(1110)
F=E(1110)
1000
FH
FH
F=E(1110)
F=F(1111)
F=F(1111)
1001
FH
FH
F=E(1110)
F=F(1111)
F=F(1111)
1010
FH
FH
F=E(1110)
F=F(1111)
F=F(1111)
1011
FH
FH
F=E(1110)
F=F(1111)
F=F(1111)
1100
5H
5H
F=A(1010)
F=B(1011)
F=F(1111)
1101
5H
5H
F=A(1010)
F=B(1011)
F=F(1111)
1110
5H
5H
F=4(0100)
F=5(0101)
F=5(0101)
1111
5H
5H
F=4(0100)
F=5(0101)
F=5(0101)
四、总结及心得体会:
通过实验一“验证74LS181运算和逻辑功能”,我熟练地掌握了Multisim10.0操作使用,能画出逻辑电路图及布出美观整齐的接线图,按照实验的要求进行各种操作,熟悉了简单运算器的数据传送通路,掌握了算术逻辑单元的工作原理,使我对专业知识有了更深的了解,也激发了我对学习的兴趣,从中积累了宝贵的实践操作经验。
当然在实验中,我也遇到了很多问题,例如对算术运算下的有进位运算一直不能理解它是如何进行的,“为什么会自动加1”,而有的不会,通过翻阅教材,和同学讨论以及上网查阅资料,也只是初步了解了。
又如,4位74LS181如何扩展为8位的,甚至是16位,虽然努力了,但是终究没有达到预想的效果,由于时间有限,我也只能在以后的学习实践中去寻找理想的答案了。
总之,实验一是一个入门级的实验,通过它为实验二打下了坚实的基础,所以从中我收益匪浅。
实验二运算器
一、实验目的:
1、熟练掌握算术逻辑单元(ALU)的应用方法;
2、进一步熟悉简单运算器的数据传送原理;
3、画出逻辑电路图及布出美观整齐的接线图;
4、熟练掌握有关数字元件的功能和使用方法;
5、熟练掌握子电路的创建及使用。
二、实验原理:
本实验仿真单总线结构的运算器,原理如图5,相应电路如图6。
电路图中,上右下三方的8条线模拟8位数据总线;K8产生所需数据;74244层次块作为暂存工作寄存器DR1和DR2;两个74374层次块作为通用寄存器组(鉴于电路排列情况,只画出两个通用寄存器GR1和GR2,如果可能的话可设计4个或8个通用寄存器);众多的开关作为控制电平或打入脉冲;众多的8段代码管显示相应位置的数据信息;核心为8位ALU层次块。
图5:
单总线结构的运算器示意图
三、实验内容:
在Multisim画出电路图并仿真,完成如下操作。
1.说明整个电路工作原理。
答:
K8产生所需数据,打开74LS244层次块三态门电路,将产生数据输入总线,将数据存入74LS374层次块作为的通用寄存器组GR1和GR2;通过其他74LS244的开关,将通用寄存器里的数据放到74LS273层次块作为的暂存工作寄存器DR1和DR2中;将DR1和DR2中的数据通过核心8位ALU层次块运算,将结果又保存到GR1或者GR2中。
众多的开关作为控制电平或打入脉冲;众多的8段代码管显示相应位置的数据信息;
2.说明74LS244N的功能及其在电路中的作用,及输入信号G有何作用;
答:
74LS244层次块为三态门电路,在电路中将部件与总线连接或断开,起开关作用,当G为低电平时,部件连接,G为高电平时,部件断开。
3.说明74LS273N的功能及其在电路中的作用,及输入信号CLK有何作用;
答:
74LS273作为临时工作寄存器,在电路中临时寄存数据,CLK上跳沿触发工作。
4.说明74LS374N的功能及其在电路中的作用,及输入信号CLK和OC有何作用;
答:
74LS374层次块作为通用寄存器组,在电路中寄存数据,另具有三态门的作用。
CLK上跳沿触发工作,OC为低电平时,部件连接,OC为高电平时,部件断开。
5.K8产生任意数据存入通用寄存器GR1。
答:
a.K8确定任意数(测试时可指定一个2位16进制数);b.Q=0(低电平),数据送总线;c.U↑(正跳变)且Y=0.该数存入GR1
6.K8产生任意数据存入通用寄存器GR2。
答:
a.K8确定任意数(测试时可指定一个2位16进制数);b.Q=0(低电平),数据送总线;c.P↑且O=0。
该数送GR2。
7.完成GR1+GR2→GR1。
答:
a.Q=1(屏蔽掉K8)、I=0、W=0、E↑,GR1→DR1;b.Space=0、R=0、T↑,GR2→DR2;c.加法:
S3~S0=1001B(对应BVCX四键)、CIN=1(对应N键)、M=0(对应M键),此时结果在ALU的输出端,令Z=0,结果送总线,U↑结果存入GR1.
8.完成GR1-GR2→GR1。
答:
前2步同上;S3~S0=0110B(对应XCVB四键)、Cin=1(对应N键)、M=0(对应M键),Z=0,P↑。
9.完成GR1∧GR2→GR1。
答:
前2步同上;S3~S0=1011B(对应XCVB四键)M=1(对应M键),Z=0,U↑。
10.完成GR1∨GR2→GR1。
答:
前2步同前;S3~S0=1110B(对应XCVB四键)、M=1(对应M键),Z=0,P↑。
11.完成GR1⊕GR2→GR1。
答:
a.I=0、W=0、E↑,GR1→DR1;b.S3~S0=0000B(对应XCVB四键)、M=1(对应M键),Z=0,P↑。
12.~GR1→GR2。
(“~”表示逻辑非运算)
答:
a.I=0、W=0、E↑,GR1→DR1;b.S3~S0=0000B(对应XCVB四键)、M=1(对应M键),Z=0,U↑。
13.~GR2→GR1。
答:
a.Space=0、R=0、T↑,GR2→DR2;b.S3~S0=0101B(对应XCVB四键)、M=1(对应M键),Z=0,U↑。
图6:
运算器示意图
图7:
8位ALU层次块示意图
图8:
74LS244层次块示意图
图9:
74LS273层次块示意图
图10:
74LS374层次块示意图
图11:
K8层次块示意图
四、总结及心得体会:
通过实验二,我比较深刻地了解了运算器的原理,懂得了如何将数据存入通用寄存器,如何将通用寄存器中的数据通过总线传入暂存寄存器,如何将其输入运算器进行运算等等。
此次实验,最重要的一点就是“切记总线上只能有一个输入”,而控制总线输入数量的三态门中,K8层次块旁有一个,8位运算器旁有一个,通用寄存器旁有两个,总计四个。
在进行总线操作时,只允许其中一个三态门置于导通状态,这样才能保证总线的要求,否则将出现一些问题,比如总线输出的不是K8中设置的值,这可能是这些数据参加了某种运算后的结果,这也是实验成功与否的关键。
在实验过程中,刚开始的时候,运算器看上去连线均没错,但是数据总线不是显示红色的,所以无论如何都不能正常显示数据,经过不段尝试,最终发现只有将数据线设为红色才行,这点让我吃尽了苦头。
计算机组成原理课程设计结束了,十分感谢老师的悉心指导,但是还有许多疑问没有解决,在以后的学习过程中,特别是计算机专业学习中能够更深入地理解,从而达到熟练应用的目的!