计算机组成原理课程设计

本博客内容原创,转载请说明
虽然结果都已给出,希望同学能自己实际操作一次,加深对知识点的理解

实验结果仅供参考

本人仿真所用Multisim版本为12,低版本切勿下载。
仿真电路图:

链接:https://pan.baidu.com/s/15tnk-txE7fPv6xPOEL7_AQ
提取码:Lin2

CDSN:
https://download.csdn.net/download/RongLin02/14032557

本文原创,创作不易,转载请注明!!!
本文链接
个人博客:https://ronglin.fun/?p=254
PDF链接:见博客网站
CSDN: https://blog.csdn.net/RongLin02/article/details/112259301

实验一 验证74LS181运算和逻辑功能

实验名称:

验证74LS181运算和逻辑功能

实验目的:

(1) 掌握算术逻辑单元(ALU)的工作原理;
(2) 熟悉简单运算器的数据传送通路;
(3) 画出逻辑电路图及布出美观整齐的接线图;
(4) 验证4位运算功能发生器(74LS181)组合功能;

实验原理:

ALU能进行多种算术运算和逻辑运算。4位ALU-74LS181能进行16种算术运算和逻辑运算。功能表如下:
运算规则引脚说明

实验内容:

电路图
在这里插入图片描述

总结及心得体会:

本次实验使用了74LS181,通过调节控制端的电平实现不同的运算,理解了ALU实现多种运算的实现过程,同时通过照着原理图在Multisim上连线,锻炼了动手能力,同时对Multisim的使用更加熟练。

实验二 运算器(2)

实验名称:

运算器(2)

实验目的:

(1) 熟练掌握算术逻辑单元(ALU)的应用方法;
(2) 进一步熟悉简单运算器的数据传送原理;
(3) 画出逻辑电路图及布出美观整齐的接线图;
(4) 熟练掌握有关数字元件的功能和使用方法。
(5) 熟练掌握子电路的创建及使用。

实验原理:

本实验仿真单总线结构的运算器,原理如图所示。
电路图中,上右下三方的8条线模拟8位数据总线;K8产生所需数据;74244层次块为三态门电路,将部件与总线连接或断开,切记总线上只能有一个输入;两个74273层次块作为暂存工作寄存器DR1和DR2;两个74374层次块作为通用寄存器组(鉴于电路排列情况,只画出两个通用寄存器GR1和GR2,如果可能的话可设计4个或8个通用寄存器);众多的开关作为控制电平或打入脉冲;众多的8段代码管显示相应位置的数据信息;核心为8位ALU层次块。
单总线结构的运算器示意图

实验内容:

在Multisim画出电路图并仿真,完成如下操作。
在这里插入图片描述

用 SWITCH 里的DSWPK_8,代替K8层次块,实现8个开关的封装。
每一个层次块的结构如下:

74LS244N层次块示意图
在这里插入图片描述
74LS273N层次块示意图
在这里插入图片描述
74LS374N层次块示意图
在这里插入图片描述
8位ALU层次块示意图
在这里插入图片描述

(1) 说明整个电路工作原理。
以下过程为本次课程设计重点
DSWPK_8作为外部数据输入,由74244三态门控制,中间的两个74273作为ALU的工作寄存器DR1,DR2,同时分配74244控制输入,下边的74374作为两个通用寄存器GR1,GR2,配有74244控制输出。电路的工作原理大概如下,DSWPK_8作为数据输入源,打开其74244,将DSWPK_8中的数据输入到BUS上去,同时将74374的OC门置为低电平选中,然后控制其CLK端开关模拟CP信号上升沿,将数据存入74374,至此,第一步将数据1存入GR1完成。将数据2存入GR2同理,将数据存完之后要注意把DSWPK_8的74244关闭,不占用BUS。然后将GR1的数据存入到工作寄存器DR1(74273)中,打开GR1的74244三态门,占用bus,打开DR1的74244三态门,将总线上的数据输入到74273,控制CLK端将数据存入74273中,然后关闭打开的三态门,GR2存到GR1同理,然后控制8位ALU的控制端实现运算,打开其对应的74244将结果输出的到bus上,然后存入74374中。

(2) 说明74LS244N的功能及其在电路中作用,及输入信号G有何作用;
74LS244N是三态门,G为控制端,G为低电平时244有效,会将输入端的数据输出。
(3) 说明74LS273N的功能及其在电路中作用,及输入信号CLK有何作用;
74LS273N 模拟的是ALU的工作寄存器DR,对比原理图中输入ALU的A/B,用于储存运算数。CLK是其控制端,CLK为上升沿的时候将输入的数据存入74LS273N中。

(4) 说明74LS374N的功能及其在电路中作用,及CLK和OC有何作用;
74LS374N模拟的是通用寄存器GR,存储数据。OC为片选,OC为低电平时374有效,CLK为控制端,上升沿时将输入的数据存到74374中。
(5) K8产生任意数据存入通用寄存器GR1。
打开DSWPK_8的74244将数据放BUS,将GR1的OC置为低电平,然后触发CLK,将数据存入到GR1中,然后将DSWPK_8的74244置为高电平,放出总线,同时关闭OC端。
(6) K8产生任意数据存入通用寄存器GR2。
打开DSWPK_8的74244将数据放BUS,将GR2的OC置为低电平,然后触发CLK,将数据存入到GR2中,然后将DSWPK_8的74244置为高电平,放出总线,同时关闭OC端。
(7) 完成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。
(8) 完成GR1-GR2→GR2。
工作原理同上,需要将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为0 1 1 0 0 0;
(9) 完成GR1∧GR2→GR1。
工作原理同上,需要将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为1 0 1 1 0 1;
(10) 完成GR1∨GR2→GR2。
工作原理同上,需要将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为1 1 1 0 0 1;
(11) 完成GR1⊕GR2→GR1。
工作原理同上,需要将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为0 1 1 0 0 1;
(12) ~GR1→GR2。( ~ 表示逻辑非运算)
工作原理同上,需要将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为0 0 0 0 0 1
(13) ~GR2→GR1。
工作原理同上,需要将8位ALU的控制端 S3 S2 S1 S0 CN M分别置为0 1 0 1 0 1

总结及心得体会:

通过按照原理图的连接,加深了ALU的运算机理,清楚了计算机内部的运算器的数据流向和BUS的数据传输的作用,同时理解了BUS输入端唯一,输出端不唯一的原理。同时通过改变开关的方式理解了每一个部件的运行过程,获益匪浅
同时能对层次块熟练的应用使得仿真电路更加整洁美观。

实验三 字发生器及跑马灯

实验名称:

字发生器及跑马灯

实验目的:

了解字发生器的使用方法。

实验原理:

通过设定字发生器的数据,使探针依次点亮,形成跑马灯。

实验内容:

仿真电路图
跑马灯

选择了低16位输出控制16个探针依次点亮。下图为数据设置,依次存入,设置好开始点和终止点,让其循环显示16行数据,显示频率调到50HZ,从而得到跑马灯效果。如图用二进制格式显示。
字发生器

用灯泡实现跑马灯较为简单,下面换一种指导书没有的跑马灯的方式,通过字发生器和74148优先编码器实现液晶屏幕数字跑马灯:
跑马灯plus
实验原理图

16线4线74148优先编码器
16线4线74148优先编码器
16线取反器
16线取反器
仿真电路图如上,主要目的是为了更灵活的运用字发生器。

总结及心得体会:

了解了字发生器的基础用法,让数据用二进制显示,一共有32位,每一个位对应每一个针脚的输出,共32个针脚。

实验四 模拟微程序实现指令

实验名称:

模拟微程序实现指令

实验目的:

模拟微程序实现机器语言指令

实验原理:

字发生器的一行输出数据可以作为一条微指令,一条机器语言指令由若干条微指令组成。用字发生器的输出取代图2-3中开关,模拟微指令自动执行实现一条机器语言指令。

实验内容:

仿真电路图
仿真电路
实验四和实验二全部同理,只不过用字发生器模拟实验二的开关,实现自动化。
字发生器每一个针对应的开关功能如下:
第1针:第一个DSWPK_8对应的74244三态门;
第2针:第二个DSWPK_8对应的74244三态门;
第3针:工作寄存器DR1对应的74244三态门;
第4针:工作寄存器DR1的CLK端;
第5针:工作寄存器DR2对应的74244三态门;
第6针:工作寄存器DR2的CLK端;
第7针:通用寄存器GR1的OC端;
第8针:通用寄存器GR1的CLK端;
第9针:通用寄存器GR1对应的74244三态门;
第10针:通用寄存器GR2的OC端;
第11针:通用寄存器GR2的CLK端;
第12针:通用寄存器GR2对应的74244三态门;
第13针:8位ALU的S0端;
第14针:8位ALU的S1端;
第15针:8位ALU的S2端;
第16针:8位ALU的S3端;
第17针:8位ALU的Cin端;
第18针:8位ALU的M端;;
第19针:8位ALU对应的74244三态门;

在Multisim画出电路图并仿真,完成如下操作。
(1)产生任意数据存入通用寄存器GR1。
DSWPK_8->GR1
第一行:数据放BUS;
第二行:将数据存入GR1;
第三行:关闭所有芯片;
字发生器的内容设置如下:
在这里插入图片描述
(2)产生任意数据存入通用寄存器GR2完成GR1+GR2→GR1。
DSWPK_8->GR2
第一行:数据放BUS;
第二行:将数据存入GR2;
第三行:关闭所有芯片;
GR1->DR1
第四行:GR1数据放BUS;
第五行:将数据存入DR1;
第六行:关闭所有芯片;
GR2->DR2
第七行:GR2数据放BUS;
第八行:将数据存入DR2;
第九行:关闭所有芯片;
DR1+DR2→GR1。
第十行:A加B;
第十一行:结果放BUS;
第十二行:将数据存入GR1;
第十三行:关闭所有芯片;
第十四行:测试用,将GR1的OC和GR2的OC设置有效,查看存入的结果。

字发生器的内容设置如下:
在这里插入图片描述
(1)的3行加上(2)的14行完成了实验二的全部自动化模拟。
(3)完成GR1-GR2→GR2。
第一行:A减B;
第二行:结果放在BUS;
第三行:将数据存入对应的GR寄存器;
第四行:关闭所有芯片;
第五行:测试用,将GR1的OC和GR2的OC设置有效,查看存入的结果。
在这里插入图片描述
(4)完成GR1∧GR2→GR1。
第一行:A∧B;
第二行:结果放在BUS;
第三行:将数据存入对应的GR寄存器;
第四行:关闭所有芯片;
第五行:测试用,将GR1的OC和GR2的OC设置有效,查看存入的结果。
在这里插入图片描述
(5)完成GR1∨GR2→GR2。
第一行:A∨B;
第二行:结果放在BUS;
第三行:将数据存入对应的GR寄存器;
第四行:关闭所有芯片;
第五行:测试用,将GR1的OC和GR2的OC设置有效,查看存入的结果。
在这里插入图片描述
(6)完成GR1⊕GR2→GR1。
第一行:A⊕B;
第二行:结果放在BUS;
第三行:将数据存入对应的GR寄存器;
第四行:关闭所有芯片;
第五行:测试用,将GR1的OC和GR2的OC设置有效,查看存入的结果。
在这里插入图片描述
(7)~GR1→GR2。( ~ 表示逻辑非运算)
第一行:~A;
第二行:结果放在BUS;
第三行:将数据存入对应的GR寄存器;
第四行:关闭所有芯片;
第五行:测试用,将GR1的OC和GR2的OC设置有效,查看存入的结果。
在这里插入图片描述
(8)~GR2→GR1。
第一行:~B;
第二行:结果放在BUS;
第三行:将数据存入对应的GR寄存器;
第四行:关闭所有芯片;
第五行:测试用,将GR1的OC和GR2的OC设置有效,查看存入的结果。
在这里插入图片描述

总结及心得体会:

通过运用字发生器模拟微指令的运算过程,将实验二全部转化为自动化。对实验二有了更深刻的理解。了解了每一条微指令的作用和用微程序让运算器实现运算功能并且存入到通用寄存器,获益匪浅。

本博客内容原创,转载请说明
虽然结果都已给出,希望同学能自己实际操作一次,加深对知识点的理解

实验结果仅供参考

本人仿真所用Multisim版本为12,低版本切勿下载。
仿真电路图:
链接:https://pan.baidu.com/s/15tnk-txE7fPv6xPOEL7_AQ
提取码:Lin2

https://download.csdn.net/download/RongLin02/14032557

  • 35
    点赞
  • 210
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值