计算机组成原理 课程设计存档
时间:2023-09-17 20:37:01
ROM仿真
验证74LS181运算和逻辑功能
运算器(2)
字发生器和跑马灯
模拟微程序实现指令
- 实验题目
ROM仿真
- 实验目的
- 掌握ROM工作原理;
- 画出逻辑电路图和美观整洁的接线图;
- 掌握ROM读出原理。
- 总体设计
实验原理:
存储元由二极管组成。如果是这样,数据可以在线读取1;如果没有二极管,数据在线输出接地电平,读取0。
四、详细设计
在Multisim画电路图并模拟。电路如图所示。我学号后四位是0234,因此,存储器依次存储0000B,0010B,0011B,0100B。(根据自己的学号适当修改就好)
- 实验结果及分析
开关置00,显示0; 开关置01,显示2;
开关置10,显示“3”; 开关设置11,显示4。
- 总结和经验
本实验设计ROM通过这种设计,我们进一步理解和掌握了模拟ROM在掌握工作原理的同时,可以画出逻辑电路图和美观整洁的接线图ROM阅读原则,让我更扎实地掌握这方面的知识。
一、实验题目
- 实验目的
- 掌握算术逻辑单元(ALU)工作原理;
- 熟悉简单操作员的数据传输通路;
- 画出逻辑电路图和美观整洁的接线图;
- 验证4位运算功能发生器(74LS181)组合功能。
- 总体设计
实验原理:
ALU可以进行各种算术和逻辑操作。ALU-74LS181可进行16种算术操作和逻辑操作。功能表如下:
方式 |
M = 1逻辑运算 |
M= 0算术运算 |
|
S3 S2S1 S0 |
逻辑运算 |
CN=1 (无进位) |
CN =0 (有进位) |
0 0 0 0 |
F=/A |
F=A |
F=A加1 |
0 0 0 1 |
F=/(A + B) |
F=A + B |
F=(A + B) 加1 |
0 0 1 0 |
F=(/A ) B |
F=A + /B |
F=( A + /B )加1 |
0 0 1 1 |
F=0 |
F=负1(补码形式) |
F=0 |
0 1 0 0 |
F=/(A B) |
F=A加A ( / B) |
F=A加A / B加1 |
0 1 0 1 |
F=/B |
F=(A + B) 加A / B |
F=(A + B)加A / B加1 |
0 1 1 0 |
F=A Å B |
F=A减B减1 |
F=A减B |
0 1 1 1 |
F=A/B |
F=A (/ B)减1 |
F=A (/ B) |
1 0 0 0 |
F=/A +B |
F=A加A B |
F=A加A B加1 |
1 0 0 1 |
F=/( A Å B) |
F=A加 B |
F=A加B加1 |
1 0 1 0 |
F=B |
F=( A + /B )加A B |
F=( A + /B )加A B加1 |
1 0 1 1 |
F=AB |
F=AB减1 |
F=AB |
1 1 0 0 |
F=1 |
F=A加 A |
F=A加 A加1 |
1 1 0 1 |
F=A + /B |
F=(A + B) 加 A |
F=(A + B) 加 A加1 |
1 1 1 0 |
F=A + B |
F=(A + / B) 加 A |
F=(A + / B) 加 A加1 |
1 1 1 1 |
F=A |
F=A 减1 |
F=A |
(上表中的“/”表示求反)
ALU-74LS181引脚说明:M=1 逻辑运算,M=0算术运算。
引 脚 |
说 明 |
M 状态控制端 |
M=1 逻辑运算;M=0算术运算。 |
S3 S3 S1 S1运算选择控制 |
S3 S3 S1 S1决定电路执行哪一种算术 |
A3 A2 A1 A1 |
运算数1,引脚3为最高位 |
B3 B2 B1 B0 |
运算数2,引脚3为最高位 |
Cn 最低位进位输入 |
Cn =0 有进位;Cn =1 无进位; |
Cn+4本片产生的进位信号 |
Cn+4=0 有进位;Cn+4=1 无进位; |
F3 F2 F1 F0 |
F3 F2 F1 F0运算结果,F3为最高位 |
四、详细设计
在Multisim画出电路图并仿真。电路如图所示。
实验电路总共有三个部分:输入、运算和显示。
(1)输入:由八个开关组成,输入两个四位二进制数。S1-S4为操作数1的输入,S5-S8为操作数2的输入。
(2)显示:由三个数码管构成,显示两个输入的数据和一个运算输出。U3、U4为数据输入显示,U5为数据输出显示。
(3)运算:由一块74LS181N芯片组成,实现两个四位二进制数的算术运算和逻辑运算,并将结果输出。J9-J12控制上述功能表所对应的s0-s3,J13对应CN,J14对应M。
五、实验结果与分析
验证74LS181型4位ALU的逻辑算术功能,填写下表:
S3 S2 S1 S0 |
数据1 |
数据2 |
算术运算(M=0) |
逻辑运算(M=1) |
|
CN=1 (无进位) |
CN =0 (有进位) |
||||
0 0 0 0 |
AH |
5H |
F=AH |
F=BH |
F=5H |
0 0 0 1 |
AH |
5H |
F=FH |
F=0H |
F=0H |
0 0 1 0 |
AH |
5H |
F=AH |
F=BH |
F=5H |
0 0 1 1 |
AH |
5H |
F=FH |
F=0H |
F=0H |
0 1 0 0 |
FH |
1H |
F=DH |
F=EH |
F=EH |
0 1 0 1 |
FH |
1H |
F=DH |
F=EH |
F=EH |
0 1 1 0 |
FH |
1H |
F=DH |
F=EH |
F=EH |
0 1 1 1 |
FH |
1H |
F=DH |
F=EH |
F=EH |
1 0 0 0 |
FH |
FH |
F=EH |
F=FH |
F=FH |
1 0 0 1 |
FH |
FH |
F=EH |
F=FH |
F=FH |
1 0 1 0 |
FH |
FH |
F=EH |
F=FH |
F=FH |
1 0 1 1 |
FH |
FH |
F=EH |
F=FH |
F=FH |
1 1 0 0 |
5H |
5H |
F=AH |
F=BH |
F=FH |
1 1 0 1 |
5H |
5H |
F=AH |
F=BH |
F=FH |
1 1 1 0 |
5H |
5H |
F=4H |
F=5H |
F=5H |
1 1 1 1 |
5H |
5H |
F=4H |
F=5H |
F=5H |
六、小结与心得体会
本次实验使用了74LS181,通过调节控制端的电平实现不同的运算,理解了ALU实现多种运算的实现过程,同时通过照着原理图在Multisim上连线,本次实验验证74LS181运算和逻辑功能,通过此次设计进一步理解掌握了算术逻辑单元(ALU)的工作原理,熟悉了简单运算器的数据传送通路同时可以画出逻辑电路图及布出美观整齐的接线图,并且验证了4位运算功能发生器(74LS181)组合功能,锻炼了动手能力,同时对Multisim的使用更加熟练。
- 实验题目
- 实验目的
- 熟练掌握算术逻辑单元(ALU)的应用方法;
- 进一步熟悉简单运算器的数据传送原理;
- 画出逻辑电路图及布出美观整齐的接线图;
- 熟练掌握有关数字元件的功能和使用方法。
- 熟练掌握子电路的创建及使用。
- 总体设计
实验原理:
本实验仿真单总线结构的运算器,原理如图2-2所示。
电路图中,上右下三方的8条线模拟8位数据总线;K8产生所需数据;74244层次块为三态门电路,将部件与总线连接或断开,切记总线上只能有一个输入;两个74273层次块作为暂存工作寄存器DR1和DR2;两个74374层次块作为通用寄存器组(鉴于电路排列情况,只画出两个通用寄存器GR1和GR2,如果可能的话可设计4个或8个通用寄存器);众多的开关作为控制电平或打入脉冲;众多的8段代码管显示相应位置的数据信息;核心为8位ALU层次块。
四、详细设计
在Multisim画出电路图并仿真,完成如下操作。(层次块内部记得添加!!)
K8层次块示意图
74LS244N层次块示意图
74LS273N层次块示意图
74LS374N层次块示意图
8位ALU层次块示意图
五、实验结果与分析
- 说明整个电路工作原理。
答:整个电路图完成一些基本的算数运算和逻辑运算,通过对控制端的输入,完成相应的运算。K8作为外部数据输入,由74LS244N三态门控制,通过74LS244控制端输入相应的信号,送到总线,总线又把输入信号送到GR1,通过双击单脉冲,把输入信号送到DR1并在LED上显示出来,此时通过双击与74LS273N相连的脉冲,把输入信号暂时保存到DR1中,重复上述操作把另一个输入信号保存到DR2中。然后控制8位ALU的控制端实现运算,打开其对应的74LS244N将结果输出的到bus上,然后存入74LS374N中。
- 说明74LS244N的功能及其在电路中作用,及输入信号G有何作用;
答:74LS244N是三态门。G是控制端,G为高电平时隔绝电路;G为低电平时有效,74LS244N元件开始工作,将输入端的数据输出。
- 说明74LS273N的功能及其在电路中作用,及输入信号CLK有何作用;
答:74LS273N是ALU的工作寄存器DR,用于储存运算数。CLK是控制端,CLK为上升沿的时候将输入的数据存入74LS273N中。
- 说明74LS374N的功能及其在电路中作用,及CLK和OC有何作用;
答:74LS374N是ALU的通用寄存器GR,用于存储数据,也具有三态门的作用。OC为高电平时为高阻态,逻辑操作不受影响;OC为低电平时有效,CLK是控制端,上升沿时将输入的数据存到74LS374N中。
- K8产生任意数据存入通用寄存器GR1。
答:打开K8的74244将数据放BUS,将GR1的OC置为低电平,然后触发CLK,将数据存入到GR1中,然后将K8的74244置为高电平,放出总线,同时关闭OC端。
- K8产生任意数据存入通用寄存器GR2。
答:打开K8的74244将数据放BUS,将GR2的OC置为低电平,然后触发CLK,将数据存入到GR2中,再将K8的74244置为高电平,放出总线,同时关闭OC端。
- 完成GR1+GR2→GR1。
答:打开GR1的OC端,打开GR1的74244,将数据放到BUS上,打开DR1输入端的74244,然后控制CLK端将数据存入DR1,关闭打开的所有74244门,同理将GR2中的数据存入DR2中,将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为1 0 0 1 1 0,然后ALU将DR1和DR2相加的结果输出到F1-F8中,打开ALU的输出74244三态门,将数据放到BUS上,然后打开GR1的OC门,控制CLK将数据存入GR1;关闭打开的74244。
- 完成GR1-GR2→GR2。
答:将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为0 1 1 0 0 0;
- 完成GR1∧GR2→GR1。
答:将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为1 0 1 1 0 1;
- 完成GR1∨GR2→GR2。
答:将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为1 1 1 0 0 1;
- 完成GR1⊕GR2→GR1。
答:将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为0 1 1 0 0 1;
- ~GR1→GR2。(“~”表示逻辑非运算)
答:将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为0 0 0 0 0 1;
- ~GR2→GR1。
答:将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为0 1 0 1 0 1。
六、小结与心得体会
本次实验设计使用运算器,通过此次设计进一步熟练掌握了算术逻辑单元(ALU)的应用方法以及简单运算器的数据传送原理,清楚了计算机内部的运算器的数据流向和BUS的数据传输的作用,同时理解了BUS输入端唯一,输出端不唯一的原理。可以画出逻辑电路图及布出美观整齐的接线图,同时熟练掌握了有关数字元件的功能和使用方法以及子电路的创建及使用。
- 实验题目
- 实验目的
了解字发生器的使用方法。
- 总体设计
实验原理:
通过设定字发生器的数据,使探针依次点亮,形成跑马灯。字信号发生器可以采用多种方式产生32位同步逻辑信号,用于对数字电路进行测试,是一个通用的数字输入编辑器。在字信号发生器的左右两侧各有16个端口,分别为0~15和16~31的数字信号输出端,下面的R表示输出端,用以输出与字信号同步的时钟脉冲;T表示输入端,用来接外部触发信号。双击字信号发生器图标,便可以得到字信号发生器内部参数设置控制面板。
- 详细设计
在Multisim画出电路图并仿真。电路如图所示。(图形可自行更改 不用照搬照抄 发挥创造啦~)
选择了低16位输出控制16个探针依次点亮。如下图所示为数据设置,将2的0~15次方依次存入,设置好开始点和终止点,让其循环显示16行数据,从而得到跑马灯效果。
五、实验结果与分析
六、小结与心得体会
了解了字发生器的基础用法,让数据用十六进制显示,一共有16位,每一个位对应每一个针脚的输出,共16个针脚。
- 实验题目
二、实验目的
模拟微程序实现机器语言指令
三、总体设计
实验原理:
字发生器的一行输出数据可以作为一条微指令,一条机器语言指令由若干条微指令组成。用字发生器的输出取代图2-3中开关,模拟微指令自动执行实现一条机器语言指令。
四、详细设计
在实验二的基础上稍加改动,用字信号发生器输出取代开关,用字发生器触发代替手动开关。
在Multisim画出电路图并仿真,完成如下操作。
(1)产生任意数据存入通用寄存器GR1。
(2)产生任意数据存入通用寄存器GR2
(3)完成GR1+GR2→GR1。
(4)完成GR1-GR2→GR2。
(5)完成GR1∧GR2→GR1。
(6)完成GR1∨GR2→GR2。
(7)完成GR1⊕GR2→GR1。
(8)~GR1→GR2。(“~”表示逻辑非运算)
(9)~GR2→GR1。
五、实验结果与分析
字发生器内容设置及对应操作如下:
(表格内是操作方式 针数顺序不作要求 能跑起来就好 看自己方便咯)
六、小结与心得体
通过运用字发生器模拟微指令的运算过程,将实验二全部转化为自动化。对实验二有了更深刻的理解。了解了每一条微指令的作用和用微程序让运算器实现运算功能并且存入到通用寄存器,受益匪浅。