【计算机组成原理】实验二
文章目录
- 实验二 运算器实验
- 一、实验目的
- 二、实验原理
- 三、运算器功能编码
- 四、实验内容
- 任务一 算术运算
- 任务二 逻辑运算
- 任务三 移位运算
实验二 运算器实验
一、实验目的
- 完成算术、逻辑、移位运算实验,熟悉ALU运算类型的控制位运用。
- 实验仪器:JTHS-A 计算机组成原理同步互动教学系统
二、实验原理
- 实验中所用的运算器数据通路如图2-4-1所示。
- ALU运算器由CPLD描述。运算器的输出经过2片74LS245三态门与数据总线相连,2个运算寄存器AX、BX的数据输入端分别由4个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。
图中AX、BX的写控制由O2~O0编码定义,通过按【单拍】钮完成运算源的数据打入。
三、运算器功能编码
- 表2.4.1 ALU运算器编码表
四、实验内容
K23 ~ K0置“0”,灭M23~M0控位显示灯。
任务一 算术运算
1.字算术运算
- (1)字写操作(置数操作)
- 通过“I/O单元”二进制开关向寄存器AX和BX置数,操作步骤如下:
- 通过“I/O单元”二进制开关向寄存器AX和BX置数,操作步骤如下:
- (2)字读操作(运算寄存器AX和BX内容送总线)其中FUN为运算器输出;M为运算控制位:1=算术运算,0=逻辑运算
- (3)字算术运算(不带进位加)
- 令M S2 S1 S0(K15 K13~K11=1011),FUN及总线单元显示AX+BX的结果。
- 令M S2 S1 S0(K15 K13~K11=1010),FUN及总线单元显示AX-BX的结果。
- 令M S2 S1 S0(K15 K13~K11=1011),FUN及总线单元显示AX+BX的结果。
2.字节算术运算
- (1)偶字节写(置数操作)
- 拨动“I/O输入输出单元”开关向寄存器AL和BL置数,操作步骤如下:
- 拨动“I/O输入输出单元”开关向寄存器AL和BL置数,操作步骤如下:
- (2)偶字节读操作(运算寄存器AL和BL内容送总线)
- (3)偶字节减法运算(不带进位加)
-
令M S2 S1 S0(K15 K13~K11=1011),FUN及总线单元显示AL+BL的结果。
-
令M S2 S1 S0(K15 K13~K11=1010),FUN及总线单元显示AL-BL的结果。
-
任务二 逻辑运算
1.字逻辑运算
- (1)字写操作(置数操作)
- 拨动“I/O输入输出单元”开关向寄存器AX和BX置数,操作步骤如下:
- 拨动“I/O输入输出单元”开关向寄存器AX和BX置数,操作步骤如下:
- (2)字读操作(运算寄存器AX和BX内容送总线)
- (3)字逻辑运算
-
令M S2 S1 S0(K15 K13~K11=0010),为逻辑与,FUN及总线显示AX逻辑与BX的结果。
-
令M S2 S1 S0(K15 K13~K11=0011),为逻辑或,FUN及总线显示AX逻辑或BX的结果。
-
2.字节逻辑运算
-
(1)偶字节写操作(置数操作)
- 拨动“I/O输入输出单元”开关向寄存器AL和BL置数,具体操作步骤如下:
- 拨动“I/O输入输出单元”开关向寄存器AL和BL置数,具体操作步骤如下:
-
(2)偶字节读操作(运算寄存器AL和BL内容送数据总线)
- ①若运算控制位设为(M S2 S1 S0=0000)则F=AL,即AL内容送到数据总线。
- ②若运算控制位设为(M S2 S1 S0=0111)则F=BL,即BL内容送到数据总线。
-
(3)偶字节逻辑运算
-
令M S2 S1 S0(K15 K13~K11=0010),为逻辑与,FUN及总线显示AL逻辑与BL的结果。
-
令M S2 S1 S0(K15 K13~K11=0011),为逻辑或,FUN及总线显示AL逻辑或BL的结果。
-
-
(4)奇字写操作(置数操作)
- 拨动“I/O输入输出单元”开关向寄存器AH和BH置数,操作步骤如下:
- 拨动“I/O输入输出单元”开关向寄存器AH和BH置数,操作步骤如下:
-
(5)奇字节读操作(运算寄存器AH和BH内容送总线)
- 关闭AH、BH写使能,令K17=K18=1,按下流程分别读AH、BH。
- ①若运算控制位设为(M S2 S1 S0=0000)则F=AH,即AH内容送到数据总线。
- ②若运算控制位设为(M S2 S1 S0=0111)则F=BH,即BH内容送到数据总线。
- 关闭AH、BH写使能,令K17=K18=1,按下流程分别读AH、BH。
-
(6)奇字节逻辑运算
-
令M S2 S1 S0(K15 K13~K11=0010),为逻辑与,FUN及总线显示AH逻辑与BH的结果。
-
令M S2 S1 S0(K15 K13~K11=0011),为逻辑或,FUN及总线显示AH逻辑或BH的结果。
-
任务三 移位运算
- 本示例以累加器AX为移位的源与目的寄存器,也就是说移位是通过累加器AX实现的,
- 这种规范的设计理念使我们的运算器能够与通用计算机指令系统相吻合。
1.移位执行过程
- 所谓循环移位,就是指移位时数据的首尾相连进行移位,即最高(最低)位的移出位又移入数据的最低(最高)位。
- 根据循环移位时进位位是否一起参加循环,可将循环移位分为不带进位循环和带进位循环两类。
- 其中不带进位循环是指进位“CY”的内容不与数据部分一起循环移位,也称小循环。
- 带进位循环是指进位 “CY”中的内容与数据部分一起循环移位,也称大循环。
◆不带进位循环左移:各位按位左移,最高位移入最低位。
◆不带进位循环右移:各位按位右移,最低位移入最高位。
◆带进位循环左移:各位按位左移,最高位移入C中,C中内容移入最低位。
◆带进位循环右:各位按位右移,最低位移入C中,C中内容移入最高位。 - 循环移位一般用于实现循环式控制、高低字节的互换,还可以用于实现多倍字长数据的算术移位或逻辑移位。
2.移位运算实例
-
①K23 ~ K0全置“0”,灭M23 ~ M0灯。
-
②累加器AX置数与移位流程
-
③字移位:完成上流程,按下表改变S2(K13)-S0(K11)的状态,再按【单拍】钮,观察AX的移位变化。
-
④字节移位:完成字移位后,改变字长宽度,令W(K6)=0,然后根据下表设置S2(K13)、S0(K11)的电位,再按【单拍】钮,AX进入字节移位状态,观察AL的移位变化。
相关文章:

【计算机组成原理】实验二
文章目录 实验二 运算器实验一、实验目的二、实验原理三、运算器功能编码四、实验内容任务一 算术运算任务二 逻辑运算任务三 移位运算 实验二 运算器实验 一、实验目的 完成算术、逻辑、移位运算实验,熟悉ALU运算类型的控制位运用。实验仪器:JTHS-A …...

hive数据库hql基础操作02
1.内部表和外部表 默认情况下创建的表就是内部表,Hive拥有该表的结构和文件。换句话说,Hive完全管理表(元数据和数据)的生命周期,类似于RDBMS中的表。当你删除内部表时,它会删除数据以及表的元数据。可以使…...

门电路OD门
漏极开路输出的门电路(OD门) 为了满足输出电平的变换,输出大负载电流,以及实现“线与”功能,将CMOS门电路的输出级做成漏极开路的形式,称为漏极开路输出的门电路,简称OD(Open&#x…...
没有域名,一个服务器Nginx怎么部署多个前端项目
因为没有域名,所以用路径来作区分, 主项目:直接根路由访问该项目,与正常配置无任何差别从项目:此处设置/new路径,为从项目,所有从项目访问路径均要加上/new ①修改Nginx配置文件 Nginx 配置文…...

城市内涝的原因和解决措施,内涝监测预警助力城市防涝度汛
城市内涝是城市化进程中最遇到的自然灾害,城市内涝不仅会对市民生活造成困扰,也会对城市基础设施和经济发展产生不利影响。因此,及时监测城市内涝现象,对于城市管理和城市安全具有重要意义。本文将深入探讨城市内涝的原因以及针对…...

8年测试总结,性能测试问题大全,这些问题你应该认清的...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 响应时间VS吞吐量…...

RabbitMQ集群安装
RabbitMQ集群安装 1.前言 OS: CentOS Linux release 7.9.2009 (Core) 机器: IPnodecpu内存存储10.106.1.241max-rabbitmg-018 核16 G100 G10.106.1.242max-rabbitmg-028 核16 G100 G10.106.1.243max-rabbitmg-038 核16 G100 G 因为操作系统版本是 centos7,所以…...
面试:link和@import的区别
1:link是XHTML标签,除了加载CSS外,还可以加载RSS;import只能加载CSS 2:link引入CSS时,在页面载入时同时加载;import需要页面完全载入后加载,可能会出行闪屏 3:link是XHTML标签,无兼容…...

图片隐写(一)
文件隐藏 binwalk binwalk -e filename foremost foremost filename steghide & stegseek Install sudo apt-get install steghidestegseek Use steghide extract -sf filename -p passwordtime stegseek secret.file aaa.txt dd 文本隐藏 二进制文件末尾 or 文…...

Vivado 下 IP核 之ROM 读写
目录 Vivado 下 IP核 之ROM 读写 1、实验简介 2、ROM IP 核简介 3、ROM IP 核配置 3.1、创建 ROM 初始化文件 3.2、单端口 ROM 的配置 3.3、双端口 ROM 的配置 3.4、ROM IP 核的调用 (1)ROM 顶层模块代码 (2)ROM IP 核仿…...
朗诵素材-《诵四季诗韵,咏师恩师德》
女:中华五千年的悠久历史,孕育了底蕴深厚的民族文化。 男:华夏源远流长的经典诗文, 女:是文化艺苑中经久不衰的瑰宝。 男:在那些脍炙人口的诗句里,凝聚着华光熠熠的民族精魂。 女࿱…...

CHB-麻省理工学院头皮脑电图数据库
数据库介绍 该数据库在波士顿儿童医院收集,包括患有顽固性癫痫发作的儿科受试者的脑电图记录。受试者在停用抗癫痫药物后被监测长达几天,以表征他们的癫痫发作并评估他们手术干预的候选资格。 数据库链接:https://physionet.org/content/chb…...

传输层协议
目录 传输层 端口号 端口号范围划分 认识知名端口号(Well-Know Port Number) netstat pidof UDP协议UDP协议端格式编辑 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 TCP协议 TCP协议段格式 确认应答(ACK)机制 超时重传机制 连…...

公司新招了个字节拿36K的人,让我见识到了什么才是测试扛把子......
5年测试,应该是能达到资深测试的水准,即不仅能熟练地开发业务,而且还能熟悉项目开发,测试,调试和发布的流程,而且还应该能全面掌握数据库等方面的技能,如果技能再高些的话,甚至熟悉分…...
pytorch rpc如何实现分物理机器的model parallel
因为业务需要,最近接到一项任务,是如何利用pytorch实现model parallel以及distributed training。搜罗了网上很多资料,以及阅读了pytorch官方的教程,都没有可参考的案例。讲的比较多的是data parallel,关于model paral…...

APP服务端架构的演变
大家好,我是易安! 早期2013年的时候,随着智能设备的普及和移动互联网的发展,移动端逐渐成为用户的新入口,各个电商平台都开始聚焦移动端App,如今经历了10年的发展,很多电商APP早已经没入历史的洪…...

EasyRecovery16适用于Windows和Mac的专业硬盘恢复软件
无论你对数据恢复了解多少, 我们将为您处理所有复杂的流程并简化恢复!适用于Windows和Mac的 专业硬盘恢复软件 硬盘数据无法保证绝对安全。有时会发生数据丢失,需要使用硬盘恢复工具。支持恢复不同存储介质数据:硬盘、光盘、U盘/移动硬盘、数…...

详解Jetpack Compose中的状态管理与使用
前言 引用一段官方描述,如下 由于 Compose 是声明式工具集,因此更新它的唯一方法是通过新参数调用同一可组合项。这些参数是界面状态的表现形式。每当状态更新时,都会发生重组。因此,TextField 不会像在基于 XML 的命令式视图中那…...

改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 | 涨点杀器
改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 论文地址:https://arxiv.org/abs/2107.08430 文章目录 改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv71. 解耦头原理2. 解耦头对收敛速度的影响3. 解耦头对精度的影响4. 代码改进方式第一步第二步第三步第四步第五步参…...

第七章 中断
中断是什么,为什么要有中断 并发是指单位时间内的累积工作量。 并行是指真正同时进行的工作量。 一个CPU在一个时间只能执行一个进程,任何瞬间任务只在一个核心上运行。 而CPU外的设备是独立于CPU的,它与CPU同步运行,CPU抽出一点…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...