计算机组成原理实验:基本运算器实验

news/2024/11/26 4:35:01/

学生实验报告

实验课名称:计算机组成原理
实验项目名称:基本运算器实验

一、实验名称:

基本运算器实验

二、实验目的:

(1)了解运算器的组成原理
(2)掌握运算器的工作原理

三、实验要求:

通过一个基本运算器实验,了解运算器的组成原理、工作原理,了解运算器的基本结构,设计一个加法器。

四、实验内容:

        运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,妥处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体素结构把移位运算器放于算术和逻镇运算部件之前,如ARM) ,各部伴对操作数进行何种运算由控制信号S3…S0和CN来决定,任何时候,多路选择开关只选择三部件中-一个部伴的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。ALU中所有块集成在- 片CPLD中。逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赞述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,通过分别对暂存器A和暂存器B所存数值,利用ALU单元进行加法运算,利用仿真软件,得到数据流程图,并判断FC、FZ的值。

五、实验设备及工具:

PC机一台,TD-CMA实验系统一套

六、实验过程详述:

(1) 按图1-1-5连接实验电路,并检查无误。图中将用户需要连接的信号用圆圈标明(其它实验相同)
在这里插入图片描述

(2)将时序与操作台单元的开关KK2置为‘单拍’档,开关KK1、KK3置为‘运行’档。
(3)打开电源开关,如果听到有‘嘀’ 报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。然后按动CON单元的CLR按钮,将运算器的A、B和FC、FZ清零。
(4)用输入开关向暂存器A置数。
①拨动CON单元的SD27… SD20数据开关,形成二进制数01100101 (或其它数值),数据显示亮为‘1’, 灭为‘0’。
②置LDA=1, LDB=0,连续按动时序单元的ST按钮,产生-一个T4上沿,则将二进制数01100101置入暂存器A中,暂存器A的值通过ALU单元的A7….A0八位LED灯显示。
(5)用输入开关向暂存器B置数。
①拨动CON单元的SD27…SD20数据开关,形成二进制数10100111 (或其它数值)。
②置LDA=0, LDB=1,连续按动时序单元的ST按钮,产生-一个T4上沿,则将二进制数10100111置入暂存器B中,暂存器B的值通过ALU单元的B7… BO八位LED灯显示。
(6)改变运算器的功能设置,观察运算器的输出。置ALU
B=0、LDA=0、LDB=0,然后按表1-1-1 .置S3、S2、S1、S0和Cn的数值,并观察数据总线LED显示灯显示的结果。如置S3、S2、S1、S0为0010,运算器作逻辑与运算,置S3、S2、S1、So为1001,运算器作加法运算。如果实验箱和PC联机操作,则可通过软件中的数据通路图来观测实验结果(软件使用说明请看附录- -),方法是:打开软件,选择联机软件的“[实验]一[运算器实验]",打开运算器实验的数据通路图,如图1-1-6所示。进行上面的手动操作,每按动一次ST按钮,数据通路图会有数据的流动,反映当前运算器所做的操作,或在软件中选择“[调试]一[单节拍]", 其作用相当于将时序单元的状态开关KK2置为‘单拍’档后按动了一次ST按钮,数据通路图也会反映当前运算器所做的操作。重复上述操作,并完成表1-1-2。然后改变A、B的值,验证FC、FZ的锁存功能。

在这里插入图片描述

七、实验结果与分析:

在这里插入图片描述

分析

        通过对A进行锁存01100101,对B进行锁存10100101,计算所得结果是10a,也就是000100001010,由于结果是8位二进制数,所以结果显示为00001010,FC是进位,这里有进位,所以FC=1,FZ是判断结果是否为0,这里结果不为0,所以FZ不为0。在这次实验中,通过对A、B分别锁存数值,这里采用的是利用时钟信号进行周期的进行,通过在工具箱上面手动按压clk按钮,模拟信号的传递,然后在仿真软件上看到数据流向及结果。

八、心得体会:

        在这次的实验中,使得自己对计算机内部组成有了更加深刻的了解。同时在连接电路的时候,也对计算机内部的一些的一些部件连接有了感性的认识,以往都是从书本上得知数据总线、地址总线等,但是其实还是会一些不明白,但是自己动手操作了一番,深有体会啊,原来计算机是这样工作的啊。工具箱中每个单元对于用户来说都是封闭的,但是给用户留出了接口,用户可以根据需要进行使用,这也体现的计算机的模块化思想,每个单元各司其职,这为硬件设计者带来了很大的遍历。利用仿真软件对数据流进行仿真,生动形象的描绘了数据各个时刻在CPU里面的流向以及各个变量值的情况。


http://www.ppmy.cn/news/781363.html

相关文章

Python3 - 深入学习Docker容器管理

文章目录 一、Docker简介1.1 为什么选择docker?1.1.1 docker更高效的利用系统资源1.1.2 更快的启动时间1.1.3 持续交付和部署1.1.4 更轻松的迁移 1.2 Docker能做什么?1.3 Docker最核心的组件 二、Docker安装部署2.1 基础环境配置2.2 安装docker2.2.1 docker必须安装在centos7…

Arm发布首款同步多线程架构Cortex A65AE,继续加力自动驾驶计算...

雷锋网(公众号:雷锋网)消息,早在今年9月,Arm就推出了新的Arm Safety Ready计划,旨在为自动驾驶汽车开发解决方案,还推出了第一款专为无人驾驶汽车设计的处理器架构Cortex A76AE。 先前宣布的Cortex A76AE是Arm首次采用…

解决K8S集群kubelet故障:Failed to update stats for container nable to determine device info for dir

在检查k8S节点系统日志时发现,有大量的kubelet组件报错,报错内容如下: Jun 16 09:51:37 master kubelet: W0616 09:51:37.076817 6997 container.go:549] Failed to update stats for container "/kubepods/besteffort/pod022cc533-…

ROS1Noetic在Win11中安装记录

和Win10类似,windows系统安装和使用ROS的好处,几乎主流版本的ROS全部可以用,还能用WSL使用Ubuntu下原生ROS,非常方便。 在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_zhangrelay的博客-CSDN博…

jeecg-boot中如何修改自定义主题颜色

大家好,我是雄雄。 前言 今天第一次上老丈人家,哈哈哈,有点猝不及防,本来没准备去,结果正好在小区门口碰到,人家让我去,我就把后备箱里面的东西拿下来带着去的。 聊了几个小时,也还…

STL 中给 vector 去重的三种方法

文章目录 背景去重思路解决方案『一』vector, sort unique『二』vector set(手动赋值)cmpSort() 定义在 Class 外cmpSort() 定义为 Class 成员变量 『三』vector set(构造函数)总结系列地址Ref 简 述: 对 std::vect…

智能服务机器人简介

文章大纲 简介服务机器人上升趋势明显服务机器人核心技术与应用场景目标跟踪人脸识别算法SLAM 即时定位与地图构建(Simultaneous Localization and Mapping,简称SLAM)老人看护手势识别机器人ROS多模态与机器人参考文献与学习路径简介 服务机器人已经在配送、医疗、导览、陪…

kind kubernetes 集群内如何通过 helm 部署定制化 Prometheus-Operator?

文章目录 1. Prometheus 简介2. Prometheus 优势3. Prometheus 架构图4. Prometheus-Operator 简介5. Prometheus-Operator 架构图6. 环境准备7. Kind 部署 Kubernetes7.1 安装 Ingress-nginx 组件7.2 安装 Metric Server 组件 8. helm 快速安装 Prometheus-Operator9. 定制 Pr…