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

该实验详细记录了十六位机运算器的操作过程,包括字与字节的算术运算、逻辑运算和移位运算。实验涉及AX、BX寄存器的读写,ALU的加减、逻辑与或操作,以及字节的循环移位。此外,还探讨了进位标志CY和零标志Z的控制与判断。实验旨在验证运算功能和进位控制的正确性,加深对十六位机运算的理解。
摘要由CSDN通过智能技术生成

实验内容

一、实验原理

实验中所用的运算器数据通路如下图所示。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

  • 18
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

满幕星何

你的鼓励是我创作的最佳动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值