计算机组成原理——运算器实验
提示:本文章采用proteus实现
目录
前言
一、实验项目要求
二、理论分析
三、实现方法
四、实验结果分析
五、思考问题
总结
前言
针对proteus的用法在这里不过多赘述,网上有很多教程可以学习。
一、实验项目要求
- 熟悉计算机组成原理仿真软件proteus,利用元器件制作并绘画出电路图,设计并验证4位算数逻辑单元的功能,通过分析4位字长计算机运算器算数和逻辑运算的逻辑表达式,实现4位字长计算机运算器算数和逻辑运算的电路图,并验证所设计电路图的功能。
二、理论分析
本次实验将会分别实现加法,减法,和逻辑运算,分别采用74LS283和74LS181芯片来完成。根据不同的运算类型,分别以A与B来表示输入,C表示进位,F表示输出。
加减法运算:
两者都采用补码,符号位一同参与运算,无论加减法,都会转变为加法来运算,[A+B]补=[A]补+[B]补,[A-B]补=[A]补+[-B]补,其中[-B]补=[B]补连同符号位取反加一。
1.加法,由分析一位全加器逻辑关系:
Fi=Ai⊕Bi⊕Ci-1
Ci=AiBi+BiCi+(Ai⊕Bi)&Cn-1
可以得到如下逻辑公式:
Ci =Ai&Bi + (Ai|Bi)&Ci-1;
Fi=Ai⊕Bi⊕Ci-1;
2.减法,[A-B]补=[A]补+[-B]补,其中[-B]补=[B]补连同符号位取反加一。若C为1,A-B-C=A+B反+0,如果C为0则A-B-C=A+B反+1。
3.逻辑与, Qx = Ax&Bx;
4.逻辑或, Qx = Ax|Bx;
5.逻辑非, Qx = !A;
6.逻辑异或, Qx = Ax⊕Bx;
7.针对74LS181中不同的功能,将参照表中的内容进行:
三、实现方法
首先,打开proteus软件,在软件的左上角点击“p”,就可以在器件选择界面中挑选我们需要的元器件,然后就可以在操作界面中绘制电路图。先右击选择自己需要的器件,将其摆放在合适的位置,在这里我们会用到的器件有:74LS283,74LS181,DIPSWC-8,RESPACK-8,LED,7SEG-BCD,NOT,OR,AND,XOR。
其次,先做加法运算器,连接时要注意高位与低位的不同,不要连接错误了,还要注意放置接地(GROUND)和电源(POWER),来补充电路的短缺,再连接完成后,就可以点击左下角开始的图案进行调试。
拨动开关,off(红点)代表1,on(蓝点)代表0,注意不要读错高低位,将开关拨到你想要的数字就可以了,然后观察7SEG-BCD上的数字是不是你计算出来的数字,多做几组加深理解。
最后,实现完加法后,减法就是在加法的基础上增加NOT元器件,并测试,然后便是与或非异或,需要两个输入,用led灯的亮灭展示结果,拨动开关并观察。在运用74LS181时应参照功能表来进行测试,这样会更加明确。
四、实验结果分析
在proteus中模拟电路,设计实现了加法,减法与逻辑运算单元,并对该电路图进行运算仿真,得到如下实验结果(分别是74LS283和74LS181):
以下是采用74LS283的
加法运算器:
如图中的实例:0010+0000=0010
减法运算器:
如图中的实例:0011-0001=0010
逻辑运算:与,或,非,异或
如图中的实例:以led灯显示结果。
0∧1=0(灯灭)
0∨1=1(灯亮)
0⊕1=1(灯亮)
¬ 0=1(灯亮)
以下是采用74LS181的:
逻辑与运算:当M=1时, S=1011,F=AB,1010∧0111=0010;
逻辑非运算:M=1,S=1110,F=A+B,1010∨0111=1111
加运算:M=0,F=A,加B,S=1001,CN=1,1010+0111=0001(满十六进1)
减法运算:M=0,S=0110,F=A减B减1,(需要减去进位位CN)1010-0111-1=0010
逻辑非运算:当M=1,F=/B,S=0101,¬B=1000
逻辑异或运算:M=1,S=0110,F=A⊕B,1010⊕0111=1101
通过本实验,验证了计算机CPU中运算器算术逻辑运算单元的设计方法,先写出需要的逻辑表达式,然后在挑选需要用到的元器件,在本子上模拟出简单的电路图,然后在软件上用线将元器件正确连接起来,结束后运行并测试,当然,采用其他的方法也是可以实现的。无论是实际中使用电路、还是使用电路仿真乃至于使用电子表格等其他工具都可以设计并模拟实现计算机运算器的功能。
五、思考问题
在本实验中,实验思考问题“单总线,双总线和三总线结构在设计上的异同”。
答: 单总线结构:对这种结构的运算器来说,在同一时间内,只能有一个操作数放在单总线上。为了把两个操作数输入到 ALU,需要分两次来做,而且还需要A,B两个缓冲寄存器。这种结构的主要缺点是操作速度较慢。虽然在这种结构中输入数据和操作结果需要三次串行的选通操作,但它并不会对每种指令都增加很多执行时间。只有在对全都是CPU寄存器中的两个操作数进行操作时,单总线结构的运算器才会造成一定的时间损失。但是由于它只控制一条总线,故控制电路比较简单。
双总线结构:在这种结构中,两个操作数同时加到ALU进行运算,只需一次操作控制,而马上就可以得到运算结果。两条总线各自把其数据送至ALU的输入端因而必须在ALU输出端设置缓冲寄存器。为此,操作的控制要分两步完成:(1)在ALU的两个输入端输入操作数,形成结果并送入缓冲寄存器;(2)把结果送入目的寄存器。
三总线结构:在三总线结构中,ALU的两个输入端分别由两条总线供给,而ALU的输出则与第三条总线相连。这样,算术逻辑操作就可以在一步的控制之内完成。另外,设置了一个总线旁路器。如果一个操作数不需要修改,而直接从总线2传送到总线3,那么可以通过控制总线旁路器把数据传出;如需要修改,那么就借助于ALU。
总结
文章就到这里啦,181芯片需要参照上面的功能表会更好理解。拜拜啦:)!
计算机组成原理——运算器实验相关推荐
- 计算机运算器实验原理,计算机组成原理运算器实验—算术逻辑运算实验
<计算机组成原理运算器实验-算术逻辑运算实验>由会员分享,可在线阅读,更多相关<计算机组成原理运算器实验-算术逻辑运算实验(7页珍藏版)>请在人人文库网上搜索. 1.实验报告1 ...
- 计算机组成原理AB什么运算,计算机组成原理运算器实验.doc
文档介绍: 计算机组成原理运算器实验--------------------------------作者:--------------------------------日期: 成绩: 计算机原理实验 ...
- 计算机组成运算器原理实验报告,计算机组成原理运算器实验报告
计算机组成原理运算器实验报告 计算机组成原理实验一 运算器实验 一.实验目的:1.掌握简单运算器的数据传输方式.2.验证运算功能发生器(74LS181)及进位控制的组合功能. 二.实验要求: 完成不带 ...
- 计算机组成原理脱机运算器实验数据,计算机组成原理运算器实验.doc
<计算机组成原理运算器实验.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<计算机组成原理运算器实验.doc>文档请在天天文库搜索. 1.科 技 ...
- 计算机组成原理运算器数据,计算机组成原理-运算器实验
(一) 算术逻辑运算器 一.实验目的与要求 目的:1.掌握算术逻辑运算器单元ALU(74LS181)的工作原理 2.掌握简单运算器的数据传送通道 3.验算由74LS181等组合逻辑电路的运算功能发生器 ...
- 计算机组成原理实验基本运算器,计算机组成原理运算器实验-20210611075033.docx-原创力文档...
精选文库 成绩: 计算机原理实验室实验报告 课 程 : 计算机组成原理 姓 名 : 袁通 专 业 : 软件工程 学 号 : 152056136 日 期 : 2017年6月 太原工业学院 -- 精选文库 ...
- 计算机组成原理 运算器实验
运算器实验 实验环境 计算机组成原理实验环境 实验目的 掌握算术逻辑运算单元的工作原理. 熟悉简单运算器的电路组成. 熟悉 4 位运算功能发生器(74LS181)的算术.逻辑运算功能. 实验要求 做好 ...
- 计算机组成原理74hc273,计算机组成原理——运算器实验.doc
计算机组成原理实验报告 实验一 运算器实验 实验目的 掌握简单运算器的数据传输方式. 验证运算功能发生器(74LS181)及进位控制的组合功能. 实验要求 完成不带进位及带进位算术运算实验.逻辑运算实 ...
- 计算机组成原理运算器实验6,计算机组成原理运算器实验.doc
文档介绍: 成绩: 计算机原理实验室实验报告 课程: 计算机组成原理 姓名: 袁通 专业: 软件工程 学号: 152056136 日期: 2017年6月 太原工业学院 计算机工程系 实验一:运算器实验 ...
最新文章
- The substring() Method in JDK 6 and JDK 7
- Swift标识符和keyword
- ubuntu没有interfaces文件_ubuntu里终端中eth0为何没有显示IP地址
- 字节增强java_提高byte的效率
- 让NVIDIA Jetson AGX Xavier火力全开的秘密
- matplotlib库绘图基础
- 前台如何解析json格式 以及后台如何生成json格式
- 千亿企业的真实业务思考,名校大厂高手同台 PK,“马栏山杯”国际音视频算法大赛来袭!...
- 如果我是推荐算法面试官,我会问哪些问题?
- FPGA实现VGA显示(六)——————多字符显示及基于fpga的“打字机”实现
- 正则表达式校验特殊格式
- start()和run()方法的区别
- ipa文件安装到ios系统
- qt 使用msvc 打断点无反应解决办法
- C++小数该用什么数据类型
- 20191207-CHKDSK命令修复磁盘教程
- kubernetes Pod Lifecycle生命周期与livenessProbe、 readinessProbe探测方法
- A2B车载音频总线-车机音频麦克风阵列测试
- Use history mode for router? Vue-router 中hash模式和history模式的区别
- 华为鸿蒙系统p50,华为p50自带鸿蒙是什么意思_华为p50是鸿蒙系统吗
热门文章
- CS230学习笔记(一)
- 在直播软件开发过程中,常用的几种视频封装格式
- oracle 11g安装时,执行先决条件检查提示environment variable:“PATH“ 失败
- 对“芝诺悖论”的思考
- Dozer-Mapping
- 步进电机与伺服电机使用心得
- 糯米团—重制“iPhone团购信息客户端”(零)源代码与跳的那些坑和思考
- 计算机音乐实验报告,电脑音乐制作实验报告.doc
- No module named '_sqlite3'
- 行业模式_平安好医生