运算器组成实验

1.实验目的及要求

实验目的

1、熟悉双端口通用寄存器的读写操作

2、熟悉运算器的数据传送通路

3、验证运算器74LS181的算术逻辑功能

4、按给定数据完成指定的算术逻辑运算

实验要求

1、做好实验预习掌握运算器的数据传送通路和ALU的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。

2、认真细致完成实验,根据实验结果填写实验一表1、实验一表2。

3写出实验报告,分析实验结果并简述心得体会。

2.实验步骤

1、开电源前接线

参考接线表:

存储器

DRW

SBUS

ABUS

MBUS

LDC

LDZ

CIN 

电平开关

K4

K5

K6

K7

K8

K9

K10

运算器

RD0

RD1

RS0

RS1

S0

S1

S2

S3

M

电平开关

K0

K1

K2

K3

K11

K12

K13

K14

K15

完成实验任务前两项只需K0-K7,此时K8-K15的状态不影响实验结果。

2、打开电源,将控制转换区开关拨到中间位置,即“独立”,此时黄灯亮。将微程序控制器区中编程开关拨到下方,即“正常”。

3、设置操作模式:DP和SW开关为“1100”,即单步,写寄存器方式。将SBUS,DRW拨至1;ABUS,MBUS拨至0。再将数据开关拨至34H;RD0,RD1拨至00。按下QD,即把34H写入寄存器R0中。再将21H、52H、65H写入R1、R2、R3中。

4、将ABUS,MBUS,SBUS,DRW都拨成0。再将RD0,RD1拨至00;RS0,RS1拨至11,此时指示灯A7~A0显示的是ALU的A端口的数(R0存的数),指示灯B7~B0显示的是ALU的B端口的数(R3存的数)。再用A、B端口分别读出其他寄存器中的值。

5、设置操作模式:DP和SW为“1101”,含义为单步,运算器实验。用前面的方法输入数据至寄存器中,令R0=55H,R1=AAH。再将CIN,LDC,LDZ,ABUS ,RS0拨成1;RD1,RD0,RS1,MBUS,SBUS,DRW拨成0。再根据74LS181运算功能表,调整S3~S0与M的值来进行运算,每次运算按下QD后在指示灯D7~D0上观察运算结果并通过C、Z指示灯来观察是否进位与是否结果为0。

说明:M=0为算术运算,M=1为逻辑运算;S3~S0为运算功能;CIN为1,正逻辑;ABUS=1允许运算结果送数据总线;LDC、LDZ为1,允许保存结果状态;RD1、RD0用00选择R0;RS1、RS0用01选择R1;(DRW、SBUS、MBUS命令为0)。

3.实验内容

1、通过8个二进制数据开关SD7~SD0来输入数据,当控制信号SBUS为1时,数据开关上的数被送到数据总线上。注意SD7为高位,SD0为低位。

2、运算器中的双端口寄存器组有4个8位的寄存器R0、R1、R2、R3。当把数据总线上的值送往寄存器或把寄存器中的值送往ALU的A端口时,通过地址信号RD1、RD0来选中输入或输出数值的寄存器。当把值送往ALU的B端口时,通过地址信号RS1、RS0选中输出数值的寄存器。(地址信号RD1、RD0与RS1、RS0都是取值为00时选中寄存器R0,01时选中R1,10时选中R2,11时选中R3)

3、写入数据到寄存器需要命令DRW,且需要在时钟T3的上升沿写入。故写入数据到寄存器需要DRW为1,并按下QD来给出一组节拍脉冲信号T1~T3。

4、把寄存器中的数据送往ALU的A端口、B端口时无需控制信号,ALU的A端口、B端口的值可通过指示灯A7~A0、B7~B0来查看。

5、ALU运算功能通过控制信号M、S3~S0控制,M用于区分算术运算还是逻辑运算,S3~S0选择具体的运算功能。具体内容可查阅本实验后面给出的74LS181运算功能表。

6、CIN是提供给ALU的最低位进位信号,CIN取1表示最低位无进位。运算产生进位标志C和结果为0标志Z,控制命令LDC和LDZ取1时,把相应标志的状态保存进状态触发器中。

7、ALU的运算结果要送往数据总线DBUS,需要控制命令ABUS取1。送到数据总线DBUS上的值可通过指示灯D7~D0来查看。注意SBUS和ABUS不能同时为1。

8. 注意SBUS,ABUS,MBUS同时只能有一个为1,故本实验虽然没有用到MBUS信号,但也必须接MBUS到电平开关,使MBUS恒取0。

本实验线路与信号原理图如下:

 

本实验用到的信号归纳如下:

序号

信号名

功能说明

1

S3、S2、S1、S0

控制74LS181的运算类型

2

CIN

低位74LS181的进位输入,取1时无进位

3

SEL3、SEL2(RD1、RD0)

选择送ALU的A端口的寄存器与写入的寄存器

4

SEL1、SEL0(RS1、RS0)

选择送ALU的B端口的寄存器

5

DRW

=1时,在T3上升沿对RD1、RD0选中的寄存器进行写操作,将数据总线DBUS上的数D7~D0写入选定的寄存器

6

SBUS

=1时,将数据开关的值送数据总线DBUS

=0时,禁止数据开关的值送数据总线DBUS

7

ABUS

=1时,将运算结果送数据总线DBUS

=0时,禁止运算结果送数据总线DBUS

8

M

运算模式:M=0为算术运算;M=1逻辑运算;

9

LDZ

=1时,如果运算结果为0,在T3的上升沿,将1写入到Z标志寄存器;如果运算结果不为0,将0保存到Z标志寄存器。

10

LDC

=1时,在T3的上升沿将运算得到的进位保存到C标志寄存器。

11

指示灯A7~A0

显示送往ALU的A端口的数

12

指示灯B7~B0

显示送往ALU的B端口的数

13

指示灯D7~D0

显示数据总线DBUS上的数

14

C

进位标志

15

Z

结果为0标志

 4.实验结果

表1:将34H、21H、52H、65H分别写入通用寄存器R0-R3;再读出R0-R3的内容

 

表2:控制转换开关拨到独立位置;编程开关拨到正常位置;

        1)操作模式:1100。按表1所学,向R0写入0AAH,向R1写入55H;

        2)操作模式:1101。ABUS=1;LDC、LDZ为1;RD1、RD0为00选择R0;RS1、RS0用01选择R1;DRW、SBUS、MBUS为0;其余如下表。验证运算器的算术运算和逻辑运算功能。

 实验报告:【免费】计算机组成原理-运算器组成实验资源-CSDN文库

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CAP理论与MongoDB一致性,可用性的一些思考

正文 大约在五六年前,第一次接触到了当时已经是hot topic的NoSql。不过那个时候学的用的都是mysql,Nosql对于我而言还是新事物,并没有真正使用,只是不明觉厉。但是印象深刻的是这么一张图片(后来google到图片来自这里&…

工博士与纷享销客达成战略合作,开启人工智能领域合作新篇章

近日&#xff0c;工博士与纷享销客在上海正式签署了战略合作协议&#xff0c;正式拉开了双方在人工智能与数字营销领域的合作序幕。这次合作将为双方带来更多机遇和发展空间&#xff0c;并为全球人工智能领域的客户提供更高效、智能的CRM解决方案。 < 双方项目人员合影 >…

uniapp项目如何运行在微信小程序模拟器上

在HbuilderX中的小程序写完后自己一定要保存&#xff0c;否则会出不来效果 那么怎么让uniapp项目运行在微信小程序开发工具中呢 1 在hbuilderx中点击运行到小程序模拟器 2 然后在项目目录中会生成一个文件夹 在微信小程序开发软件中的工具>安全设置>打开端口 或者在微…

gitee linux免密/SSH 方式连接免登录

目录 账号密码方式免登录&#xff08;不推荐&#xff09;添加git配置新建保存密码文件git clone SSH 方式连接免登录&#xff08;推荐&#xff09;生成SSH公钥通过 ssh-keygen 程序创建找到SSH公钥 在gitee中添加公钥git clone 参考 账号密码方式免登录&#xff08;不推荐&…

云原生K8S------Yaml文件详解

目录 一&#xff1a;K8S支持的文件格式 1&#xff0c;yaml和json的主要区别 2&#xff0c;YAML语言格式 二&#xff1a;yuml 1、查看 api 资源版本标签 2、写一个yaml文件demo 3、创建service服务对外提供访问并测试 4、详解k8s中的port 三&#xff1a;文件生成 1、kubec…

一篇打通,pytest自动化测试框架详细,从0到1精通实战(一)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 pytest单元测试框…

在CMamke生成的VS项目中插入程序

在主文件夹的CMakeLists.tex中加入SET(COMPILE_WITH_LSVM OFF CACHE BOOL "Compile with LSVM") 再添加IF(COMPILE_WITH_LSVM) MESSAGE("Compiling with: LSVM") ADD_DEFINITIONS(-DCOMPILE_WITH_LSVM) ADD_SUBDIRECTORY(LSVM) LIST(APPEND SRC LSVM_wrap…

烘焙光照贴图,模型小部分发黑

1.首先确定创建了光照贴图UV&#xff0c;其次确定不是溢色&#xff0c;这个最简单&#xff0c;所有模型材质设置为双面就可以&#xff0c;URP材质球的话这里就是设置双面 在scence界面Texel Validity模式里查看溢色&#xff0c;红色表示有溢色&#xff0c;绿色表示正常 2. 光照…

模拟实现定时器

前言 定时器的功能&#xff0c;就是一个类似于闹钟的到点运行的功能。 目录 前言 一、Timer 类 二、分析 Timer 类 三、完整代码实现 结语 一、Timer 类 Java库提供 Timer 类&#xff0c;实现 schedule 方法&#xff0c;给方法提供任务和时间&#xff0c;到时间就运行任务…

C++ 循环

有的时候&#xff0c;可能需要多次执行同一块代码。一般情况下&#xff0c;语句是顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。 编程语言提供了允许更为复杂的执行路径的多种控制结构。 循环语句允许我们多次执行一个…

设计模式行为型——访问者模式

目录 访问者模式的定义 访问者模式的实现 访问者模式角色 访问者模式类图 访问者模式举例 访问者模式代码实现 访问者模式的特点 优点 缺点 使用场景 注意事项 实际应用 访问者模式的定义 访问者模式&#xff08;Visitor Pattern&#xff09;属于行为型设计模式&am…

docker 安装mongodb 虚拟机安装mongodb

生产环境直接安装比较好&#xff0c;以及使用集群环境&#xff0c;本文仅测试交流使用&#xff0c;我用来写分布式im测试使用&#xff1a; nami-im: 分布式im, 集群 zookeeper netty kafka nacos rpc主要为gate&#xff08;长连接服务&#xff09; logic &#xff08;业务&…

Java-运算符和控制语句(下)(基于c语言的补充)

输出到控制台 System.out.println(msg); // 输出一个字符串, 带换行 System.out.print(msg); // 输出一个字符串, 不带换行 System.out.printf(format, msg); // 格式化输出 从键盘输入 使用 Scanner 读取字符串/整数/浮点数 首先需要导入util包 自动导入util包 这里把回车看…

企业服务器数据库遭到malox勒索病毒攻击后如何解决,勒索病毒解密

网络技术的发展不仅为企业带来了更高的效率&#xff0c;还为企业带来信息安全威胁&#xff0c;其中较为常见的就是勒索病毒攻击。近期&#xff0c;我们公司收到很多企业的求助&#xff0c;企业的服务器数据库遭到了malox勒索病毒攻击&#xff0c;导致系统内部的许多重要数据被加…

简单线性回归:预测事物间简单关系的利器

文章目录 &#x1f340;简介&#x1f340;什么是简单线性回归&#xff1f;&#x1f340;简单线性回归的应用场景使用步骤&#xff1a;注意事项&#xff1a; &#x1f340;代码演示&#x1f340;结论 &#x1f340;简介 在数据科学领域&#xff0c;线性回归是一种基本而强大的统…

Grounding dino + segment anything + stable diffusion 实现图片编辑

目录 总体介绍总体流程 模块介绍目标检测&#xff1a; grounding dino目标分割&#xff1a;Segment Anything Model (SAM)整体思路模型结构&#xff1a;数据引擎 图片绘制 集成样例 其他问题附录 总体介绍 总体流程 本方案用到了三个步骤&#xff0c;按顺序依次为&#xff1a…

前端处理后端返回的数据中有\n\n字样的换行符标识

后端返回的数据&#xff1a; 上面圈着的部分就是\n&#xff0c;前端需要将数据进行换行&#xff0c;对于这类型的数据&#xff0c;在前端页面是需要进行稍微处理才能正常显示。如果没有经过处理&#xff0c;那么内容是不会在有换行符的位置进行换行显示的 解决办法1&#xff1…

微服务07-分布式缓存

前提: 单机的Redis存在四大问题: 解决办法:基于Redis集群解决单机Redis存在的问题 1、Redis持久化 Redis 具有持久化功能,其会按照设置以 快照 或 操作日志 的形式将数据持久化到磁盘。 Redis有两种持久化方案: RDB持久化AOF持久化注意: RDB 是默认持久化方式,但 Red…

【MySQL】并发执行事务可能存在的问题, 事务的四种隔离级别

文章目录 前言一、并发执行事务可能存在的问题1, 脏读问题2, 不可重复读3, 幻读 二、MySQL 的四种隔离级别1, READ UNCOMMITTED 读未提交2, READ COMMITTED 读已提交3, REPEATABLE READ 可重复读 (MySQL 的默认事务隔离级别)4, SERIALIZABLE 串行化 总结 前言 各位读者好, 我是…

Easy Rules规则引擎(1-基础篇)

目录 一、序言二、Easy Rules介绍三、定义规则(Rules)1、规则介绍2、编程式规则定义3、声明式规则定义 四、定义事实(Facts)五、定义规则引擎(Rules Engine)1、规则引擎介绍2、InferenceRulesEngine规则引擎示例(1) 定义触发条件(2) 定义规则触发后的执行行为(3) 测试用例 一、…