实验(一):运算器实验

news2025/1/11 6:30:47

一、实验内容与目的

        实验要求:

        利用 CP226 实验仪的 K16..K23开关做为DBUS数据,其它开关做为控制信号,将数据写累加器A和工作寄存器W,并用开关控制ALU的运算方式,实现运算器的功能,将结果送入OUT寄存器。

        实验目的:

        了解模型机中算术、逻辑运算单元的控制方法。

二、实验步骤

2.1 实验一::A,W 寄存器实验

将 55H 写入 A 寄存器

        二进制开关 K23-K16 用于 DBUS[7:0]的数据输入,置数据 55 H。

K23K22K21K20K19K18K17K16
01010101

        置控制信号为(未给出的控制信号置为“1”):

X2X1X0AEN
0000

        按住 STEP 脉冲键,按键按下时,输入端口 IN 的红色选择指示灯亮,表明数据源端是 IN,寄存器 A 的黄色选择指示灯亮,表明数据的目标端是 A 寄存器。放开 STEP 键,电路产生一个上升沿,数据 55H 被写入 A 寄存器。

        X2X1X0=000,输入端口 IN 打开,二进制开关 K23-K16 的数据输出到 DBUS 上

        AEN=0,使得累加器 A 的写使能有效,数据写入 A,一次数据通路完成。注意:一次操作完成后,所有的控制信号复位至无效状态“1”。

将66H 写入 W 寄存器

        二进制开关 K23-K16 用于 DBUS[7:0]的数据输入,置数据 66H

K23K22K21K20K19K18K17K16
01100110

        置控制信号为(未给出的控制信号置为“1”):

X2X1X0WEN
0000

        按住 STEP 脉冲键,按键按下时,输入端口 IN 的红色选择指示灯亮,表明数据源端是 IN,寄存器 W 的黄色选择指示灯亮,表明选择 W 寄存器。放开 STEP 键,电路产生一个上升沿,数据 66H 被写入 W 寄存器。

2.2 实验二:ALU 实验

        模型机中的 ALU 由一片 CPLD 实现,有8种运算,通过 S2,S1,S0 来选择,运算数据由寄存器 A 及寄存器 W 给出,运算结果输出到直通门 D。运算功能表如下:

S2S1S0功能
000A+W
001A-W
010A|W
011A&W
100A+W+C带进位加
101A-W-C带进位减
110~AA 取反
111A输出 A

        将 55H 写入A 寄存器,将 33H 写入W 寄存器,置下表的控制信号,检验运算器的运算结果(X 表示任意)。

Cy INS2S1S0结果(直通门 D)注释
X00088H加运算
X00122H减运算
X01077H或运算
X01111H与运算
010088H带进位加运算
110089H带进位加运算
010122H带进位减运算
110121H带进位减运算
X110AAH取反运算
X11155H输出 A

2.3 实验三:状态寄存器实验

        模型机运算器的状态寄存器有两个状态位 Rz 和 RCy,当 FEN 有效时,每次运算完毕后运算结果的特征会被打入状态寄存器的状态位。如果运算结果为零时 Rz 灯亮起,如果加法运算最高位有进位时或减法运算最高位有借位时 RCy 亮起。

        将 55H 写入A 寄存器,将 33H 写入W 寄存器,ALU 做减法,查看状态位 Rz 和 RCy。

        将 55H 分别写入 A 寄存器和 W 寄存器,ALU 做减法,查看状态位 Rz。

        将 33H 写入A 寄存器,将 55H 写入W 寄存器,ALU 做减法,查看状态位 RCy。

实验习题

        将两位实验者学号的最后两位写入分别写入 A 寄存器和 W 寄存器,与运算之后结果送到 OUT 寄存器输出(注意学号本身是 10 进制)。

三、实验过程分析

2.1 实验一

        将 55H 写入 A 寄存器,实验现象如图1所示。

图1 55H写入寄存器A

        将66H 写入 W 寄存器,实验现象如图2所示。

图2 66H写入寄存器A

3.2 实验二

        ALU 实现8种运算,如图3-12所示。

图3 加运算

图4 减运算

图5 或运算

图6 与运算

图7 带进位加运算

图8 带进位加运算

图9 带进位减运算

图10 带进位减运算

图11 取反运算

图12 输出A

3.3 实验三

        将 55H 写入A 寄存器,将 33H 写入W 寄存器,ALU 做减法,查看状态位 Rz 和 Rcy,如图13所示。

图13 55H-33H

        将 55H 分别写入 A 寄存器和 W 寄存器,ALU 做减法,查看状态位 Rz,如图14所示。

图14 55H-55H

        将 33H 写入A 寄存器,将 55H 写入W 寄存器,ALU 做减法,查看状态位 RCy,如图15所示。

图15 33H-55H

实验习题

        学号相加,如图16所示

图16 学号相加

四、实验总结

本次实验旨在通过利用 CP226 实验仪的开关,结合累加器 A、工作寄存器 W 和 ALU 运算器,实现运算器的功能,并了解模型机中算术、逻辑运算单元的控制方法。通过实验的设计和操作,我们深入了解了计算机组成原理中运算器的工作原理、数据传输方式、运算方式以及状态寄存器的作用。以下是对实验过程和结果的详细总结。

在实验一中,我们进行了 A、W 寄存器实验。通过将 55H 写入 A 寄存器和将 66H 写入 W 寄存器,我们成功将指定的数据存入对应的寄存器中。这一步骤验证了 CP226 实验仪的开关作为数据输入的功能,并确保了寄存器的准备工作。这个实验使我们对寄存器的数据存储和读取操作有了更深入的理解。

在实验二中,我们进行了 ALU 实验。ALU 是模型机中的算术、逻辑运算单元,通过选择 S2、S1、S0 控制信号来决定具体的运算方式。在这个实验中,我们将 55H 写入 A 寄存器,将 33H 写入 W 寄存器,并根据控制信号的不同选择进行运算。通过观察 ALU 输出端的直通门 D,我们可以验证运算器的运算结果。通过实验,我们学会了通过控制信号来选择运算方式,并能够观察和分析运算结果。

在实验三中,我们进行了状态寄存器实验。状态寄存器包含 Rz 和 RCy 两个状态位,用于记录运算结果的特征,如结果是否为零、是否产生进位或借位等。在本次实验中,我们打开 FEN(特征使能)信号,进行运算,并观察状态寄存器的状态位。通过观察 Rz 灯和 RCy 灯的亮灭情况,我们可以判断运算结果的特征。这个实验让我们更好地理解了状态寄存器在运算过程中的作用和重要性。

通过以上实验,我们对模型机中的运算器功能和控制方法有了更深入的理解。实验过程中,我们成功地利用 CP226 实验仪的开关作为数据输入,并将数据写入累加器 A 和工作寄存器 W。我们还通过选择不同的控制信号,控制 ALU 的运算方式,观察了运算结果。同时,通过打开 FEN 信号,我们了解了状态寄存器的功能和运算结果的特征。

通过本次实验,我们认识到计算机组成原理中运算器的重要性,它是计算机实现算术和逻辑运算的核心组件。掌握运算器的功能和控制方法对于理解计算机的工作原理以及进行计算机系统设计和优化具有重要意义。

本次实验不仅帮助我们巩固了理论知识,还让我们实际操作了模型机,加深了对计算机硬件的认识。我们学会了如何利用开关控制数据和信号的输入,观察和分析运算结果,了解状态寄存器的作用。这些实践操作提高了我们对计算机系统的理解和能力,并为今后的学习和研究打下了坚实的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1184442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件工程第十周

测试过程 单元测试 注意出错处理!单元测试的数据处理部分请见Junit 单元测试之错误和异常处理-CSDN博客 单元测试准则 白盒:对系统结构非常清楚!就像大题注重过程。 单元测试的测试环境 一定要保证整个环境是完整的,尽管可能没…

读写锁ReentrantReadWriteLock

读写锁ReentrantReadWriteLock是JDK1.5提供的一个工具锁,适用于读多写少的场景,将读写分离,从而提高并发性。读写锁允许的情况:一个资源可以被多个读操作访问,或者被一个写操作访问,但两者不能同时进行。 R…

IP地址会暴露我们的隐私吗?

IP地址在某种程度上可能会暴露个人或组织的隐私。以下是一些关于IP地址可能影响隐私的情况: 地理位置信息: IP地址的一部分信息是与地理位置相关的,因此可以用于确定用户或组织的大致地理位置。这可能泄露用户的身份或活动的地理背景。 互联…

Doris:Binlog Load导入数据

Binlog Load提供了一种使Doris增量同步用户在Mysql数据库的对数据更新操作的CDC(Change Data Capture)功能。Binlog Load需要依赖canal作为中间媒介,让canal伪造成一个从节点去获取Mysql主节点上的Binlog并解析,再由Doris去获取Canal上解析好的数据。 1…

centos k8s安装dapr

文章目录 安装helm更新helm库初始化dapr高可用方式安装 卸载dapr验证k8s的dapr安装rocketmq总结 安装helm 三个包放到一个目录下 chmod x get ./get helm version更新helm库 helm repo add dapr https://dapr.github.io/helm-charts/ helm repo update helm search repo dapr …

C/C++轻量级并发TCP服务器框架Zinx-游戏服务器开发004:游戏核心消息处理 - 玩家类的实现

文章目录 0 代码仓库1 需求2 AOI设计2.1 AOI算法简介2.2 AOI数据结构及实现2.2.1 玩家2.2.2 网格对象2.2.3 游戏世界矩形2.2.4 获取周围玩家的实现2.2.5 代码测试 2.3 GameRole结合AOI创建玩家2.3.1 创建游戏世界全局对象-GameRole继承AOIWorld的Player2.3.2 把玩家到游戏世界的…

Qt OpenMP使用

1、概念 OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C、C和Fortran。OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的并行程序设计。编译器根据程序中添加的pragma指令,自动将程序并行处理&…

匿名类型与元组(ValueTuple)

匿名类型与元组(ValueTuple) 匿名类型 简介:匿名类型提供了一种方便的方法,可用来将一组相关的属性封装到单个对象中。匿名对象由编译器在编译时动态生成,它是只读的,且只在当前作用域中可见。它可以方便…

CDN加速技术:降低企业云服务成本的有效利用

在当今数字化时代,云服务已经成为企业运营的不可或缺的一部分。然而,与此同时,云服务的需求也在不断增长,使企业不得不应对更大的数据传输和负载。这就引出了一个关键问题:如何有效降低企业云服务成本,同时…

kubernetes-调度

目录 一、k8s调度简介 二、影响kubernetes调度的因素 1、nodename 2、nodeselector 3、亲和与反亲和 (1)nodeaffinity (2)podaffinity(亲和) (3)podantiaffinity&#xff0…

易点易动固定资产管理系统:提升固定资产领用效率的解决方案

在企业运营中,固定资产的领用和管理是一个重要的环节。然而,对于许多企业来说,固定资产领用的过程往往存在效率低下、信息不透明等问题。为了帮助企业提升固定资产领用效率并实现用量控制管理,我们引入了易点易动固定资产管理系统…

小知识:无源无线测温传感器可以安装在哪些部位?

无源无线测温传感器采用超低功耗设计:主芯片采用美国TI公司,功耗低,低可至0.03mw,区别于传统的感应供电,不存在发热现象。测温元件采用耐高温、高精度热敏电阻,测温范围宽至-40℃~200℃&#xf…

WebGL主要接口功能

WebGL(Web Graphics Library)提供了一组用于在Web浏览器中呈现3D和2D图形的接口类型和功能。下面是一些主要的WebGL接口类型和它们的功能,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交…

复盘一个诡异的Bug

该Bug的诡异之处在于这是一个由多种因素综合碰撞之后形成的综合体。纵观整个排查过程,一度被错误的目标误导,花费大量功夫后才找到问题点所在,成熟的组件在没有确凿证据之前不能随意怀疑其稳定性。 前言 此前在接入两台粒径谱仪(…

tingpng 批量压缩工具

无聊的时候写的 自用 还行 https://ttkeji.lanzoul.com/iPCfY1e5wwwh

虹科示波器 | 汽车免拆检测 | 2017款路虎发现车行驶中发动机抖动且加速无力

一、故障现象 一辆2017款路虎发现车,搭载3.0L发动机,累计行驶里程约为3.8万km。车主反映,车辆在行驶过程中突然出现发动机抖动且加速无力的现象,于是请求拖车救援。 二、故障诊断 拖车到店后首先试车,发动机怠速轻微抖…

盈科视控荣获创响中国大赛第四名

近日,随着2023“创响中国”安徽省创新创业大赛省内赛区复赛的举办完成,60个项目从6个专项组中脱颖而出。 盈科视控凭借其【IC 载板及先进 PCB 智慧工厂服务商】参赛项目,荣获大赛第四名。 本次大赛由安徽省发改委、安徽省财政厅、合肥市人民…

图形学及图形学进展

有段时间没有来CSDN了,最近一直忙于工作,最近图形学方面,特别是重建图形学方面有了比较大的进展,然后NeRF-SLAM向也有不少进展,但由于ChatGPT风光无限,光芒都没有发出来,后续还是继续创作&#…

【已解决】ChatGPT报错“Unable to load history Retry“等问题

解决ChatGPT历史加载错误:“Unable to load history Retry”问题指南 引言 在使用ChatGPT时,您可能遇到过一个常见的错误提示:“Unable to load history Retry”。这可能会阻止您查看以前的对话历史。本文将为您提供一个详细的教程&#xf…

nodejs express vue 酒店预订系统源码

开发环境及工具: nodejs,vscode(webstorm),大于mysql5.5 技术说明: nodejs express vue elementui 功能介绍: 用户端: 用户登录注册 首页显示轮播图,客房分类&…