太原理工大学-计算机硬件实验报告 太原理工大学-计算机硬件实验报告 2022-06-28 274 基于Proteus的运算器仿真 一、实验目的和要求 熟悉Proteus虚拟仿真软件的工作环境,掌握Proteus基本工具的使用方法。 理解简单运算器的组成以及数据传送通路。 验证算术逻辑运算器(74LS181)的算术运算和逻辑运算功能。 二、实验内容和原理 运算器概述 运算器是计算机进行数据处理的核心部件,它主要由算术逻辑运算部件(ALU)、累加器、暂存寄存器、通用寄存器堆、移位寄存器、进位移位控制电路及其结果判断电路等组成。 运算方法的基本思想是将各种复杂的运算处理分解为四则运用和基本的逻辑运算,而四则运算的核心是加法运算,通过补码运算可以化减为加,加、减运算与移位运算配合可实现乘除运算、阶码运算与尾数的运算组合可实现浮点运算。 算术逻辑运算集成芯片74LS181 集成逻辑芯片74LS181是一个4位ALU单元,其引脚如图1.1所示。 ⑴ M:运算模式设置 取值为0时,算术运算,取值为1,逻辑运算。 ⑵ S3S2S1S0:运算功能设置 S3S2S1S0分别取0000~1111的编码值,实现16种算术运算和16种逻辑运算。其功能真值表如图1.2所示。 ⑶ A3A2A1A0和B3B2B1B0:两组4位数码输入端 ⑷ CN:低位进位输入 ⑸ F3F2F1F0:4位数码输出 ⑹ CN+4:向高位进位输出 三、主要仪器设备 1.硬件:计算机 2.软件:Proteus 8.4虚拟仿真软件 四、操作方法与实验步骤 组成加、减法运算,并验证其功能 实验步骤: ①控制信号初始化:启动运算器实验程序,ALU_BUS置于1; SW_BUS置于1;ALU_EN 置于0;RA_CLK和RB_CLK置于0。启动仿真。 ②设置数据寄存器REG_A和REG_B中的数码:SW_BUS置于0,按照表1.1的输入要求分别设置数据寄存器REG_A和REG_B中的数据。设置方法是先在拨码电路设置数据,例如00001001B。再单击锁存开关,使之由0变1锁存数据,例如单击RA_CLK,可以看到寄存器REG_A中已经有了设置好的输出数据。 ③设置ALU的运算方式:SW_BUS置于1。参照图1.2所示的功能设置M、ALU_S3~ALU_S0的取值,实现相关的算术运算。将ALU_BUS置于0,观察数码显示,将功能设置即显示结果记录于表1.1中。(特别提醒:一定要先给寄存器置数,再将ALU_BUS置于0,这样符号位才能正确显示)。 图1- 1 图1- 2 图1- 3 图1- 4 图1- 5 组成与、或、异或运算,并验证其功能 实验步骤: ①控制信号初始化:ALU_BUS置于1;SW_BUS置于1;ALU_EN 置于0;RA_CLK和RB_CLK置于0。 ②设置数据寄存器REG_A和REG_B中的数码:SW_BUS置于0,按照表1.2的输入要求分别设置数据寄存器REG_A和REG_B中的数据。 ③设置ALU的运算方式:SW_BUS置于1。参照图1.2所示的功能设置M、ALU_S3~ALU_S0的取值,实现相关的逻辑运算。将ALU_BUS置于0,观察数码显示,将功能设置即显示结果记录于表1.2中。 五、实验数据记录和处理 运算 运算输入 控制信号设置 输出 A B M CN S3 S2 S1 S0 理论 显示 SF ZF CF A加1 09H X 0 0 0000 0AH 0AH 0 0 0 FFH X 0 0 0000 00H 00H 0 1 1 A加B 09H 21H 0 1 1001 2AH 2AH 0 0 0 FFH 01H 0 1 1001 00H 00H 0 1 1 A减1 09H X 0 1 1111 08H 08H 0 0 0 00H X 0 1 1111 FFH FFH 1 0 1 A减B 09H 21H 0 0 0110 E8H E8H 1 0 1 FFH 01H 0 0 0110 FEH FEH 1 0 0 免费搭建微信查券返利机器人来轻松赚佣金 文章来自:IT技术分享网 分享地址:http://www.5ityx.cn/cate100/52376.html 上一篇: IDEA上Java项目控制台中文乱码 下一篇: .gitignore 文件不生效问题 & 解决方法 太原理工大学-计算机硬件实验报告 相关内容 .gitignore 文件不生效问题 & 解决方法 .gitignore与.git/info/exclude区别 .gitignore是干什么的? .h5文件模型如何使用,并且给出代码 .java编译成.class 与 .class反编译成.java .lnk文件 和一种较新的.lnk病毒及解决方法 .vscode配置 tasks.json launch.json .xyz文件_Github历史记录搜索神器GitHistory.xyz /etc/profile文件使用source不能全局生效的解决方法 /usr/bin/ld: cannot find -l 基本原理解释与解决方法 10个好玩到爆的网站,打开就能玩,个个超有趣 10个方法提高你的编程生产力 10分钟学会python对接【OpenAI API篇】 10分钟!快速部署ChatGPT微信公众号机器人! 10年Java开发经验,java技术面试问题和答案 10行代码实现的接口平台:基于pandas和Flask