【计算机组成原理】实验5:运算器实验

2023-05-16

实验内容

一、实验原理

实验中所用的运算器数据通路如下图所示。ALU运算器由CPLD描述。运算器的输出经过2片74LS245三态门与数据总线相连,2个运算寄存器AX、BX的数据输入端分别由4个74LS374锁存器锁存,锁存器的输入端与数据总线相连。准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。

image

在上图中,AXW、BXW在“搭接态”由实验连接对应的二进制开关控制,“0”有效,通过【单拍】按钮产生的负脉冲把总线上的数据打入,实现AXW、BXW写入操作。

二、运算器功能编码

ALU运算器编码表

image

三、实验连线

K23~K0置“1”,灭M23~M0控位显示灯。然后按下表要求“搭接”部件控制电路。

image

实验1:算术运算

1. 字算术运算

(1) 字写操作

通过I/O单元“S15~S0”开关向累加器AX和暂存器BX置数,操作步骤如下:

image

image

(2) 字读操作

关闭AX、BX写使能,令K18=K17=“1”,按下流程分别读AX、BX。Dbus:1122h;3344h

image

imageimage

(3) 字加法与减法运算

令M S2 S1 S0(K15 K13~K11=0100),FUN及总线单元显示AX+BX的结果。4466

令M S2 S1 S0(K15 K13~K11=0101),FUN及总线单元显示AX-BX的结果。ddde

imageimage

2. 字节算术运算

(1) 偶字节写(置数操作)k23-k0=1

通过I/O单元“S15~S0”开关向累加器AL(L:low低位)和暂存器BL置数,具体操作步骤如下:置0022h和0044h ax和bx显示

image

imageimage

(2) 偶字节读操作(运算寄存器AL和BL内容送总线)

关闭AL、BL写使能,令K18=K17=1,按下流程分别读AL、BL。
image
image

(3) 字节减法算术运算(不带进位加)

令M S2 S1 S0(K15 K13~K11=0100),FUN单元显示AL+BL的结果。0066

令M S2 S1 S0(K15 K13~K11=0101),FUN单元显示AL-BL的结果。

imageimage

实验2:逻辑运算

1. 字逻辑运算

(1) 字写操作(置数操作)

通过I/O单元“S15~S0”开关向累加器AX和暂存器BX置数,操作步骤如下:1122,3344
image
image

(2) 字读操作(运算寄存器AX和BX内容送总线)

关闭AX、BX写使能,令K18=K17=“1”,按下流程分别读AX、BX。1122,3344
image
image

(3) 字逻辑运算

令M S2 S1 S0(K15 K13~K11=1101),为逻辑与,FUN及总线显示AX逻辑与BX的结果1100。

令M S2 S1 S0(K15 K13~K11=1100),为逻辑或,FUN及总线显示AX逻辑或BX的结果3366。

imageimage

实验3:移位运算

移位运算时把累加器A视为移位的源寄存器,也就是说移位是通过累加器A实现的。

1. 移位控制编码
image

2. 移位执行过程

① 循环左移② 循环右移
imageimage
③ 带进位循环左移④ 带进位循环右移
imageimage

◆不带进位循环左移:各位按位左移,最高位移入最低位。

◆不带进位循环右移:各位按位右移,最低位移入最高位。

◆带进位循环左移:各位按位左移,最高位移入CY中,CY中内容移入最低位。

◆带进位循环右移:各位按位右移,最低位移入CY中,CY中内容移入最高位。

◆循环移位一般用于实现循环式控制、高低字节的互换,还可以用于实现多倍字长数据的算术移位或逻辑移位。

3. 字移位运算k23-k0全置1

(1) 向AX寄存器置数

拨动“I/O输入输出单元”开关向移位源寄存器AX置数,具体操作步骤如下:
image
image

(2) AX寄存器移位
image
image

令M=0 S1=1参照表2.3.2改变S2、S0的状态,再按动【单拍】按钮,观察AX移位变化。

0080-0040-0020-0010-0008-0004-0002-0001-8000-4000-2000-1000-0800-0400-0200-0100-0080

4. 字节移位运算

(1) AL寄存器置数

拨动“I/O输入输出单元”开关向移位源寄存器AL置数,具体操作步骤如下:
image
image
(2) AL寄存器移位
image
令M=0 S1=1参照表2.3.2改变S2、S0的状态,再按动【单拍】按钮,观察AL移位变化。

实验题

1、 将0008H写入AH寄存器,然后完成AH寄存器移位运算
image
image

2、在给定AX=6655h、BX=AA77h的情况下,改变运算器的功能设置,观察运算器的输出,填入下页表格中,并和理论分析进行比较、验证。

image

实验4:进位控制与零标志

1. 标志控制原理

image

(1) 进位标志CY

运算标志CY是带复位可预置的进位标志,在运算时由M信号控制,当M=0时,按【单拍】按钮,在DRCK上升沿把当前运算溢出位(进位或借位)打入CY的锁存输出端Q2。在M=1时,由CN位控制CY的“位操作”。当CN=0时,按【单拍】按钮,在DRCK上升沿执行CY的置“1”、清零、取反操作;遇M=1、CN=1时,CY保持原始状态。CY的复位端由CPU直接控制管理。

(2) 零标志Z

零标志Z是带复位端的运算结果判零标志,取源于运算器输出FUN。当FUN=00h时,zd为“1”,反之为“0”。;零标志由M信号控制,当M=0时,按【单拍】按钮,在DRCK上升沿把当前zd打入Z(零标志)的锁存输出端Q1。遇M=1,零标志Z保持原始状态。

(3) 标志位的初始化

标志位的清零端由系统掌控与控位无关,在手动实验中需要清标志时,通过按动【返回】键来实现标志位的初始化。
系统提供CY与Z的状态灯,其显示特征为:进位标志CY=1时,灯“亮”,反之灯“灭”;零标志Z=1时,灯“亮”,反之灯“灭”。

2. 实验连线

image

(3) 进位标志CY实验

(1) CY标志控制实验

① 进位控制流程

image

imageimage

② 按上流程建立控制状态,参照下表改变方式控制,按【单拍】观察CY灯的变化

image

(2) 进位运算实验

① 按【返回】键,通过I/O单元向AX、BX分别置数,操作如下:

image

② 带进位加减法运算流程(加:0001,减:FFEB)

image

imageimage

(3) 零标志实验(字识别)

① 向寄存器AX和BX置数

通过“I/O输入输出单元”向AX、BX均置数0001h,操作步骤如下:

image

image

② 验证零标志锁存功能

按【返回】键清Z标志,按下流程建立零标志运算控制状态。K11=1时减法运算FUN=0000,按【单拍】钮Z标志灯亮(Z=1);K11=0时加法运算FUN=0002按【单拍】钮Z标志灯灭(Z=0)。

image

imageimage

实验报告

学院、系:计算机学院
专业名称:软件工程
学生姓名:小何学长

一、实验题目

十六位机运算器

二、实验目的与要求

实验目的

掌握十六位机字与字节运算的数据传输格式,验证运算功能发生器及进位控制的组合功能。

实验要求

完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。

三、实验步骤

实验1:算术运算

1.字算术运算

(1)字写操作

通过I/O单元“S15~S0”开关向累加器AX和暂存器BX置数,操作步骤如下:

image

(2)字读操作

关闭AX、BX写使能,令K18=K17=“1”,按下流程分别读AX、BX。Dbus:1122h ;3344h

image

实验结果:

image

image

实验2:逻辑运算

2.字节逻辑运算

(1)奇字节写操作(置数操作) k23-k0=1

通过I/O单元“S15~S0”开关向累加器AH(H:high高位)和暂存器BH置数,具体操作步骤如下:

image

(2)奇字节读操作(运算寄存器AH和BH内容送数据总线)

关闭AH、BH写使能,令K18=K17=1,按下流程分别读AH、BH。

image

实验结果:

image

image

实验3:移位运算

4.字节移位运算

(1)AL寄存器置数

拨动“I/O输入输出单元”开关向移位源寄存器AL置数,具体操作步骤如下:

image

(2)AL寄存器移位

image

实验结果:

image

四、心得体会

本节课学习了并掌握十六位机字与字节运算的数据传输格式,验证运算功能发生器及进位控制的组合功能。同时完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。虽然操作有点麻烦,但还是坚持完成并验证了其原理,自己的动手能力有所增强,还学到了知识,真开心啊!

文档获取

完整版的实验内容+实验报告的Word文档

下载地址:https://download.csdn.net/download/HXBest/21561593?spm=1001.2014.3001.5503

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【计算机组成原理】实验5:运算器实验 的相关文章

  • 在windows上安装配置msys2

    在windows上安装配置msys2 msys2安装启动msys2msys2中文乱码问题MSYS2 目录映射问题MSYS2 ln s软连接会复制目录的问题fastab配置文件目录的方法 msys2配置国内镜像源更新msys2安装git和vi
  • msys2软件包管理工具pacman常用命令

    pacman是arclinux中的软件管理工具 xff0c 也是widows上msys2默认的软件管理工具 pacman可以直接从网络上的软件仓库下载安装及删除软件 xff0c 自动处理依赖关系 xff0c 类似ubuntu中的apt ge
  • conemu配置(让conemu和cmder一样好用)

    ConEmu是一个非常好用的终端 xff0c 支持标签切换功能 xff0c 可以在conemu中同时打开cmd powershell msys2 bash wsl等等 自定义选项多 xff0c 非常好用 但是默认的conemu相比cmder
  • [RN坑] ERROR Error watching file for changes: EMFILE 解决办法。

    遇到此问题 xff0c 重装watchman即可解决 xff0c 解决办法如下 可能需要root权限 xff0c 请相应添加sudo命令 xff1a 1 卸载所有已安装的watchman xff1a brew uninstall force
  • rust语言orbtk GUI基础(old2018)-1.orbtk入门

    orbtk的api在2019 2进行了修改 xff0c 该文章为2018版 新版请转 新版orbtk gui基础 rust语言GUI库简述 rust目前已经有非常多的GUI方案 xff0c 大多数是绑定的其他语言编写的库 xff0c 如gt
  • rust语言orbtk GUI基础(old2018)-2.HelloWorld

    orbtk的api在2019 2进行了修改 xff0c 该文章为2018版 新版请转 新版orbtk gui基础 orbtk helloworld 我们在上一节的代码中加入一个helloworld的label xff1a use orbtk
  • rust语言orbtk GUI基础(old2018)-3.1 orbtk基础控件

    orbtk的api在2019 2进行了修改 xff0c 该文章为2018版 新版请转 新版orbtk gui基础 rust orbtk基础widgets orbtk基础控件demoorbtk控件使用方法orbtk控件原理创建控件为控件添加子
  • rust语言Orbtk GUI库-3.orbtk 控件简介

    2019 9 updated orbtk支持的控件还不是很多 xff0c 目前orbtk内置的控件主要有 xff1a 基础控件 TextBlock xff1a 显示文本 xff0c 不可编辑 xff0c 不可交互TextBox xff1a
  • rust语言Orbtk GUI库-3.1 orbtk基础控件

    orbtk基础控件demo orbtk目前内置的基础控件包括 xff1a TextBlockTextBoxButtonToggleButtoncheck boxSwitchFontIconBlockImageWidgetWaterMarkT
  • SQL - 将查询结果插入到另一张表中

    一 INSERT INTO 注意 xff1a 字段必须一致 xff08 位置一致 xff0c 类型一致 xff09 xff0c 否则会出现数据转换错误 1 字段一致 INSERT INTO 目标表 SELECT FROM 来源表 WHERE
  • Ubuntu18.04设置在开机时自动链接蓝牙键盘

    简介 系统升级到Ubuntu18 04时 xff0c 启动后蓝牙键盘不能自动连接 xff0c 需要虚拟键盘登录后手动连接蓝牙键盘后 xff0c 才能正常使用 如何在开机时自动链接键盘 xff1f 查找蓝牙键盘的Address地址 在Sett
  • iOS scrollview touchbegin

    1 开篇 最近在项目中遇到一个 需求就是在一个可以左右拨动的页面上 xff0c 添加一些交互功能 xff0c 比如说点击某个页面会有文字变化 xff0c 图片变换 xff0c 最后有比较特殊的需求是做个像slider功能的可以拖动的按钮 x
  • 大数据毕业设计 - 选题推荐(一)

    文章目录 1 开题指导1 1 起因1 2 如何避坑 重中之重 1 3 为什么这么说呢 xff1f 1 4 难度把控1 5 题目名称1 6 最后 选题建议3 最后 毕设帮助 xff0c 开题指导 xff0c 资料分享 xff0c 疑问解答 见
  • 大数据毕设题目推荐 - 最新大数据毕设选题 - 毕业设计项目方向课题

    文章目录 0 前言1 如何选题1 1 选题技巧 xff1a 如何避坑 重中之重 1 2 为什么这么说呢 xff1f 1 3 难度把控1 4 题目名称1 5 最后 2 大数据 选题推荐2 1 大数据挖掘类2 2 大数据处理 云计算 区块链 毕
  • 解决OAth2.0的授权token放在header中,导致文件下载验证失效的问题

    1 项目背景 项目是采用微服务架构 xff0c 使用spring gateway作为网关 xff0c 统一做校验权限 2 问题 OAth2 0的授权token是放在请求头Authorization中的 xff0c 如果使用浏览器直接下载文件
  • 大数据毕业设计选题推荐(二)

    文章目录 0 前言1 大数据相关题目2 开题指导2 1 起因2 2 如何避坑 重中之重 2 3 为什么这么说呢 xff1f 2 4 难度把控2 5 题目名称 3 最后 0 前言 这是学长亲手整理的 xff0c 大数据毕设选题系列第二篇 xf
  • 【C语言程序设计】日期函数,日期处理函数!

    定义一个表示日期的结构体类型 xff0c 再分别定义函数完成下列功能 xff1a 计算某一天是对应年的第几天 xff0c 这一年一共多少天 xff1b 计算两个日期之间相隔的天数 两个日期由键盘输入 算法思想 设定结构体类型表示日期类型名为
  • 关于ArchLinux系统中某些软件无法输入中文的问题

    1 检查是否安装语言支持 P S 这个是可选操作 xff0c 可跳过 一般安装的时候都会选安装中文 xff0c 如果不确定 xff0c 最好检查一下 首先检查一下语言设置 span class token function sudo spa
  • Windows Python 命令行如何退出

    在使用 Python 命令行工具的时候 xff0c 我们发现通常使用的 Ctrl 43 C 没有办法退出界面 例如 xff0c 下图所示 xff0c 当我们从键盘上输出 Ctrl 43 C 还是没有办法退出 解决方法 可以通过键盘上输入 C
  • Node 的 cross-env 模块

    cross env 是运行跨平台设置的和使用环境变量 xff08 Node中的环境变量 xff09 的脚本 一句话来说明 cross env xff0c 就是针对相同的语句和命令 xff0c 我们希望这条语句能够同时在 Windows 和

随机推荐

  • 如何从 Java 的 List 中删除第一个元素

    概述 在这个实例中 xff0c 我们将会演示如何删除在 Java 中定义的 List 的第 1 个元素 我们将会针对这个问题使用 List 接口的 2 个实现 ArrayList 和 LinkedList 来进行演示 创建一个 List 首
  • 史上最详细----阿里云创建ECS实例教程(每一步图文结合)

    进入阿里云官网 xff0c 登录账号 进入控制台页面 打开侧边导航栏 xff0c 进入云服务器ECS页面 点击创建实例 进入到这个页面 xff08 我这里为了方便演示 xff0c 用的是旧版的页面 xff09 选择付费模式和可用区 选择配置
  • 使用python的opencv和tesseract库来识别图片中指定区域的中文

    使用python的opencv和tesseract库来识别图片中指定区域的中文 需求说明 图片中包含大量中文 xff0c tesseract全图识别是逐行识别的 xff0c 无法得出满意的结果 xff0c 需要识别指定区域的中文 实现方案
  • 7-5 判断回文 栈实现

    回文是指正读反读均相同的字符序列 xff0c 如 abba 和 abdba 均是回文 xff0c 但 good 不是回文 试写一个程序判定给定的字符向量是否为回文 xff0c 用栈实现 提示 xff1a 将一半字符入栈 输入格式 输入任意字
  • antd design国际化配置为中文时,日期组件中月与星期显示为英文,其他显示为中文

    antd design国际化具体配置见官网 https ant design components locale provider cn 主要代码 xff1a import LocaleProvider from 39 antd 39 im
  • SQL Server 2016新特性: 对JSON的支持

    SQL Server 2005开始支持XML数据类型 xff0c 提供原生的XML数据类型 XML索引及各种管理或输出XML格式的函数 随着JSON的流行 xff0c SQL Server2016开始支持JSON数据类型 xff0c 不仅可
  • vsftp 限制用户目录,不得改变目录到上级

    3 2 3 特定使用者peter john 不得变更目录 使用者的预设目录为 home username xff0c 若是我们不希望使用者在ftp 时能够 切换到上一层目录 home xff0c 则可参考以下步骤 Step1 修改 etc
  • Qt 使用 MPV 开源播放器

    前言 因为做的一个项目中需要用到 mpv 来实现播放视频流 暂停 录制等功能 xff0c 所以写篇博客简单总结下 MPV Player mpv 是基于 MPlayer 和 mplayer2 的媒体播放器 它支持多种视频文件格式 xff0c
  • NodeJS实现TCPSocket(套接字)服务器和客户端

    NodeJS实现TCPSocket xff08 套接字 xff09 服务器和客户端 TCP Socket xff08 套接字 xff09 客户端清单 TCP Socket xff08 套接字 xff09 服务器清单 结果服务器客户端 TCP
  • NodeJS控制台出现乱码

    NodeJS控制台出现乱码 问题复现问题显示 解决思路实现办法实现结果 问题复现 使用spawn xff08 xff09 执行一个系统命令时控制台出现乱码 span class token comment 64 description TO
  • Python 图像对比度增强的几种方法

    Python 图像对比度增强的几种方法 图像处理工具 灰度直方图python实现结果 线性变换线性变换python实现线性变换结果 直方图正规化直方图正规化python实现直方图正规化结果 伽马变换伽马变换python实现伽马变换结果 图像
  • Nodejs+AngularJS模块之Angular依赖注入

    Nodejs 43 AngularJS模块之Angular依赖注入 Angular模块需要的模块idea项目结构1 基本的nodejs静态Web服务器代码2 在控制器和模块定义中实现依赖注入代码injector jsinjector htm
  • Nodejs+AngularJS模块之把作用域实现为数据模型

    Nodejs 43 AngularJS模块之把作用域实现为数据模型 作用域实例1 作用与控制器之间的关系代码scope controller htmlscope controller js结果 实例2 作用域和模板之间的关系代码scope
  • Linux基础命令对应练习

    对应练习 路径练习新建目录 mkdir练习复制 cp练习移除文件或目录 rm练习移动文件与目录 xff0c 或更名 mv练习直接查看文件内容 cat练习修改文件时间或建新档 touch练习程序编辑器 vim练习vim练习答案 参考来源 路径
  • 实现回调(一)向回调函数传递额外的参数

    大部分回调函数都有传递给它们的自动参数 xff0c 如错误或结果缓冲区 使用回调时 xff0c 常见的一个问题时如何调用给它们传递额外的参数 做到这一点的方法是在一个匿名函数中实现该参数 xff0c 然后用来自匿名函数的参数调用回调函数 清
  • (node:3872) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issue

    NodeJS运行下列代码时报错 var numbers 61 Buffer 34 123456789 34 node 3872 DEP0005 DeprecationWarning Buffer is deprecated due to s
  • CentOS上搭建MPICH2开发环境的步骤

    本博客已迁往http coredumper cn 前提条件 共有 5 台机器 均安装有 CentOS6 4 系统 主机名分别为 node0 node1 node2 node3 node4 node0 作为主节点 这里的主节点是指将 node
  • 算法设计与分析5.11求解满足方程解问题

    编写一个实验程序 xff0c 求出a b c d e xff0c 满足ab cd e 61 1方程 xff0c 其中所有变量的取值为1 5并且均不相同 注 xff1a 原书上的方程为ab cd 43 e 61 1 xff0c 该方程无解 分
  • pip安装python第三方库的四种方法

    文章目录 一 无镜像安装二 镜像安装三 一劳永逸式镜像安装四 批量安装总结 一 无镜像安装 pip install 库名 打开命令提示符 win 43 r 输入cmd xff0c 在命令提示窗口输入pip install 库名 xff0c
  • 【计算机组成原理】实验5:运算器实验

    实验内容 一 实验原理 实验中所用的运算器数据通路如下图所示 ALU运算器由CPLD描述 运算器的输出经过2片74LS245三态门与数据总线相连 xff0c 2个运算寄存器AX BX的数据输入端分别由4个74LS374锁存器锁存 xff0c