计算机组成原理课程设计

第一次写博客,不是很懂嘤嘤~~,仅仅想表达自己的看法。
用的版本是Multisim14.0,版本在B站找的。

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

实验一 验证74LS181运算和逻辑功能
1、实验目的
(3)掌握算术逻辑单元(ALU)的工作原理;
(4)熟悉简单运算器的数据传送通路;
(5)画出逻辑电路图及布出美观整齐的接线图;
(6)验证4位运算功能发生器(74LS181)组合功能。
2.总体设计
一、基本原理:
ALU运算基本原理 计算机运行时,运算器的操作和操作种类由控制器决定。运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。ALU是计算机中执行各种算术和逻辑运算操作的部件,运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等造作,都称作逻辑运算。
二、模块介绍:
(1)输入模块:使用拨码开关和高电压结合提供输入系统
(2)运算模块:使用74LS181N芯片连接导线构成一个运算中心
(3)输出模块:最后利用数码管进行数据的显示。
三、设计步骤:
(1)先了解电路图和电路图原理还有芯片的各引脚的作用和应用,然后进行电路图连接完整并开始测试。

(2)根据以下运算功能进行运行测试!在这里插入图片描述
2、实验结果与分析
验证功能的结果
在这里插入图片描述
4、小结与心得体会

实验二 运算器

1、实验目的
(1)熟练掌握算术逻辑单元(ALU)的应用方法;
(2)进一步熟悉简单运算器的数据传送原理;
(3)画出逻辑电路图及布出美观整齐的接线图;
(4)熟练掌握有关数字元件的功能和使用方法。
(5)熟练掌握子电路的创建及使用。
2、总体设计
一、基本原理:
电路图中,上右下三方的8条线模拟8位数据总线;K8产生所需数据;74244层次块为三态门电路,将部件与总线连接或断开,切记总线上只能有一个输入;两个74273层次块作为暂存工作寄存器DR1和DR2;两个74374层次块作为通用寄存器组(鉴于电路排列情况,只画出两个通用寄存器GR1和GR2,如果可能的话可设计4个或8个通用寄存器);众多的开关作为控制电平或打入脉冲;众多的8段代码管显示相应位置的数据信息;核心为8位ALU层次块。
在这里插入图片描述
在Multisim上画的电路图
在这里插入图片描述

二、模块介绍:
(1)输入模块:使用拨码开关和高电压结合以及总线进行数据的输入
(2)寄存模块:使用74LS374N以及74LS244N各一块连接形成寄存模块
(3)工作区模块:使用74LS273N以及74LS244各一块连接形成工作区模块
(4)运算模块:使用74LS181N以及74LS244连接形成运算模块然后和工作区连接,工作区将数据交给运算模块进行运算得出结果。
(5)输出模块:利用数码管进行数据的显示。
三、设计步骤:
(1)先了解电路图和电路图原理还有芯片的各引脚的应用,然后进行电路图连接并测试。
(2)对寄存模块和工作模块进行测试。
(3)最后结合实验一的运行功能进行最后测试运行。
2、实验结果与分析
(1)说明整个电路工作原理。
整个电路要进行存储数据和进行数据的处理,主要是实现数据处理即运算器的算术运算和逻辑运算。
(2)说明74LS244N的功能及其在电路中作用,及输入信号G有何作用;
74LS244N是三态门,控制电平G=1时隔绝电路。控制电平G=0时,74LS244N元件开始工作。在这个电路图中控制数据是否释放。
(3)说明74LS273N的功能及其在电路中作用,及输入信号CLK有何作用;
74LS273N为工作寄存器,输出直接接到ALU的输入端,CLK为接入的脉冲。
(4)说明74LS374N的功能及其在电路中作用,及CLK和OC有何作用;
74LS374N作为通用寄存器,也具有三态门的作用。CLK作为打入脉冲的作用,而OC高电平为高阻态,逻辑操作不受影响。
(5)K8产生任意数据存入通用寄存器GR1。
对应的拨码开关开———>数据进入BUS总线——>让对应GR1的OC门的拨码开关置为0——>让GR1的触发器CLK触发——>数据存入GR1中
(6)K8产生任意数据存入通用寄存器GR2。
对应的拨码开关开———>数据进入BUS总线——>让对应GR2的OC门的拨码开关置为0——>让GR1的触发器CLK触发——>数据存入GR2中
(7)完成GR1+GR2→GR1。
以上两步完成后——>关闭总线传送数据对应的拨码开关——>打开GR1的74244让数据释放到总线上——>打开DR1的输入端74244的OC门置为0——>让触发器DR1的CLK触发——>数据暂存到DR1中——>关闭打开GR1的74244让数据停止释放——>关闭DR1的输入端74244的OC门置为1——>接下来第二个数据重复第一个数据的过程直到第二个数据暂存在DR2中——>加法操作让74LS181的s3—s0置为1001,CN=1,M=0——>74LS244的OC门为0让数据释放到总线——>接着再次让对应GR2的OC门的拨码开关置为0——>让GR1的触发器CLK触发——>数据保存在GR2中
(8)完成GR1-GR2→GR2。
如同加法操作步骤类似:修改74LS181的s3–s0置为0110,CN=0,M=0
(9)完成GR1∧GR2→GR1。
如同加法操作步骤类似:修改74LS181的s3–s0置为0010,M=1,CN不要求
(10)完成GR1∨GR2→GR2。
如同加法操作步骤类似:修改74LS181的s3–s0置为1000,M=1,CN不要求
(11)完成GR1⊕GR2→GR1。
如同加法操作步骤类似:修改74LS181的s3–s0置为0110,M=1,CN不要求
(12)GR1→GR2。(“”表示逻辑非运算)
如同加法操作步骤类似:修改74LS181的s3–s0置为0000,M=1,CN不要求
(13)~GR2→GR1。
如同加法操作步骤类似:修改74LS181的s3–s0置为1010,M=1,CN不要求
4.小结与心得体会

实验三 字发生器及跑马灯

1、实验目的
了解字发生器的使用方法。
2.总体设计
一、基本原理:
通过设定字发生器的数据,使探针依次点亮,形成跑马灯。字信号发生器(Word Generator)可以采用多种方式产生32位同步逻辑信号,用于对数字电路进行测试,是一个通用的数字输入编辑器。
二、模块介绍:
(1)输入模块:使用拨码开关和高电压结合提供输入系统
(2)主要模块:使用自发生器连接导线构成一个中心
(3)输出模块:利用灯泡让他根据我们对字发生器的指令输入进行显示。
3、实验结果与分析
在这里插入图片描述

在这里插入图片描述
4.小结与心得体会

这个实验原理还是十分简单,要明白引脚和和高低位是一行一一对应的,明白下一行是下一个执行指令就行了,这个实验还是简单的。

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

1、实验目的
模拟微程序实现机器语言指令
2.总体设计
一、基本原理:
字发生器的一行输出数据可以作为一条微指令,一条机器语言指令由若干条微指令组成。用字发生器的输出取代图2-3中开关,模拟微指令自动执行实现一条机器语言指令。
二、模块介绍:
(1)输入模块:使用导线和字发生器结合提供输入系统
(2)寄存模块:使用74LS374N以及74LS244N各一块连接形成寄存模块
在这里插入图片描述

(3)工作区模块:使用74LS273N以及74LS244各一块连接形成工作区模块
在这里插入图片描述
(5)运算模块:使用74LS181N以及74LS244连接形成运算模块然后和工作区连接,工作区将数据交给运算模块进行运算得出结果。
在这里插入图片描述
(3)输出模块:最后利用数码管进行数据的显示。
三、设计步骤:
在这里插入图片描述
(1)先了解电路图和电路图原理还有芯片的各引脚的作用和应用,然后进行电路图连接并测试。
(2)根据实验二和实验三的基础进行连接和理解就可以设计出了一个题目所要的电路图如图上图所示。
3.实验结果与分析
这是字发生器引脚一一对应芯片引脚控制功能图片:
在这里插入图片描述
(1)产生任意数据存入通用寄存器GR1。
初始化数据指令并打开数据总线开关控制置为0---->第一个74374的OC门置为0、第一个74374的CLK置为1---->数据被保存在GR1
在这里插入图片描述
(2)产生任意数据存入通用寄存器GR2。
初始化数据指令并打开数据总线开关控制置为0---->第二个74374的OC门置为0、第二个74374的CLK置为1---->数据被保存在GR2
在这里插入图片描述
(3)完成GR1+GR2→GR1。
完成以上两步存储数据后,开始运算数据:
接着将总线数据开关关闭即置为1---->第一个74374的744244置为0开始工作—>A的74244的OC门置为0---->A的74244CLK置为1 ---->第一个74374的74374置为1关闭工作—>A的74244的OC门置为1 —>第二个74374的74244置为0开始工作—>B的74244的OC门置为0 —>B的74244CLK置为1—>A的74244的OC门置为1、A的74244的OC门置为1---->开始运算ALU的74244置为0、M=0、CN=1、s0–s3置为1001 (重点)
在这里插入图片描述
(4)完成GR1-GR2→GR2。
和第三题的步骤类似(但需要修改最后一步)------->开始运算ALU的74244置为0、M=0、CN=0、s0–s3置为0110

在这里插入图片描述

(5)完成GR1∧GR2→GR1。
和第三题的步骤类似(但需要修改最后一步)------->开始运算ALU的74244置为0、M=1、CN=0、s0–s3置为1101
在这里插入图片描述

(6)完成GR1∨GR2→GR2。
和第三题的步骤类似(但需要修改最后一步)------->开始运算ALU的74244置为0、M=1、CN=0、s0–s3置为0111
在这里插入图片描述

(7)完成GR1⊕GR2→GR1。
和第三题的步骤类似(但需要修改最后一步)------->开始运算ALU的74244置为0、M=1、CN=0、s0–s3置为0110
在这里插入图片描述

(8)~GR1→GR2。(“-”表示逻辑非运算)
和第三题的步骤类似(但需要修改最后一步)------->开始运算ALU的74244置为0、M=1、CN=0、s0–s3置为0000
在这里插入图片描述

(9)~GR2→GR1。
和第三题的步骤类似(但需要修改最后一步)------->开始运算ALU的74244置为0、M=1、CN=0、s0–s3置为1010
在这里插入图片描述

*【没有运算结果送到寄存器的过程】
4.小结与心得体会

猜你喜欢

转载自blog.csdn.net/m0_63084496/article/details/128279305