计算机组成原理实验报告

更新时间:2023-11-26 11:33:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验1 通用寄存器实验

一、实验目的

1. 熟悉通用寄存器的数据通路。 2. 了解通用寄存器的构成和运用。

二、实验要求

掌握通用寄存器R3~R0的读写操作。

三、实验原理

实验中所用的通用寄存器数据通路如下图所示。由四片8位字长的74LS574组成R1 R0(CX)、R3 R2(DX)通用寄存器组。图中X2 X1 X0定义输出选通使能,SI、XP控制位为源选通控制。RWR为寄存器数据写入使能,DI、OP为目的寄存器写选通。DRCK信号为寄存器组打入脉冲,上升沿有效。准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。

图2-3-3 通用寄存器数据通路

四、实验内容

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

连线 1 2 3 4 5 6 7 8 9 信号孔 DRCK X2 X1 X0 XP SI RWR DI OP 接入孔 CLOCK 作用 单元手动实验状态的时钟来源 有效电平 上升沿打入 三八译码 八中选一 低电平有效 低电平有效 K10(M10) 源部件译码输入端X2 K9(M9) K8(M8) K7(M7) 源部件译码输入端X1 源部件译码输入端X0 源部件奇偶标志:0=偶寻址,1=奇寻址 K20(M20) 源寄存器地址:0=CX,1=DX K18(M18) 通用寄存器写使能 K17(M17) 目标寄存器地址:0=CX,1=DX K16(M16) 目标部件奇偶标志:0=偶寻址,1=奇寻址 2. 寄存器的读写操作 ① 目的通路

当RWR=0时,由DI、OP编码产生目的寄存器地址,详见下表。

通用寄存器“手动/搭接”目的编码

目标使能 通用寄存器目的编址 功能说明 R0写 R1写 R2写 R3写 RW(K18) DI(K17) OP(K16) T 0 0 0 0 0 0 1 1 0 1 0 1 ↑ ↑ ↑ ↑ ② 通用寄存器的写入

通过“I/O输入输出单元”向R0、R1寄存器分别置数11h、22h,操作步骤如下:

数据来源 I/O单元 K10~K7=1000 置数 I/O=XX11h K18~K16=000 寄存器 R0=11h 按【单拍】按钮

置数 I/O=XX22h K18~K16=001 寄存器 R1=22h 按【单拍】按钮

通过“I/O输入输出单元”向R2、R3寄存器分别置数33h、44h,操作步骤如下:

数据来源 I/O单元 K10~K7=1000 置数 I/O=XX33h K18~K16=010 寄存器 R2=33h 按【单拍】按钮

置数 I/O=XX44h K18~K16=011 寄存器 R3=44h 按【单拍】按钮

③ 源通路

当X2~X0=001时,由SI、XP编码产生源寄存器,详见下表。

通用寄存器“手动/搭接”源编码 源使能 K10 K9 K8 X2 X1 X0 通用寄存器源编址 K20 SI K7 XP 功能说明 0 0 0 1 0 1 1 0 1 0 1 R0送总线 R1送总线 R2送总线 R3送总线 ④ 通用寄存器的读出

关闭写使能,令K18(RWR)=1,按下流程分别读R0、R1、R2、R3。

数据来源 通用寄存器 K10~K8=001 读R0 K20 K7=00 数据总线 显示R0值 读R1 K20 K7=01 数据总线 显示R1值 数据总线 显示R3值

数据来源 通用寄存器 K10~K8=001 读R2 K20 K7=10 数据总线 显示R2值 读R3 K20 K7=11

五、实验心得

通过这个实验让我清晰的了解了通用寄存器的构成以及通用寄存器是如何运用的,并且熟悉了通用寄存器的数据通路,而且还深刻的掌握了通用寄存器R3~R0的读写操作。

实验2 运算器实验

一、实验目的

掌握八位运算器的数据传输格式,验证运算功能发生器及进位控制的组合功能。

二、实验要求

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

三、实验原理

实验中所用的运算器数据通路如图2-3-1所示。ALU运算器由CPLD描述。运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输入端分别由2个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。

图2-3-1 运算器数据通路

图中AWR、BWR在“搭接态”由实验连接对应的二进制开关控制,“0”有效,通过【单拍】按钮产生的脉冲把总线上的数据打入,实现运算源寄存器A、暂存器B的写入操作。

四、实验内容

1. 运算器功能编码

表2.3.1 ALU运算器编码表

算术运算

K15 K13 K12 K11 M 0 0 0 0 S2 0 0 0 0 S1 0 0 1 1 S0 0 1 0 1 功能 A+B+C A—B—C RLC RRC K15 M 1 1 1 1 逻辑运算 K13 S2 0 0 0 0 K12 S1 0 0 1 1 K11 S0 0 1 0 1 功能 B /A A-1 A=0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 A+B A—B RL RR 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 A#B A&B A+1 A

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

表2.3.2 运算实验电路搭接表

连线 1 2 3 4 5 6 7 8 9 10 11 信号孔 DRCK X2 X1 X0 XP M S2 S1 S0 AWR BWR 接入孔 CLOCK 作用 单元手动实验状态的时钟源 有效电平 上升沿打入 三八译码 八中选一 低电平有效 低电平有效 低电平有效 K10(M10) 源部件译码输入端X2 K9(M9) K8(M8) K7(M7) 源部件译码输入端X1 源部件译码输入端X0 源部件奇偶标志:0=偶寻址,1=奇寻址 K15(M15) 运算控制位:0=算术运算,1=逻辑运算 K13(M13) 运算状态位S2 K12(M12) 运算状态位S1 K11(M11) 运算状态位S0 K17(M17) A运算源寄存器写使能 K18(M18) B运算源暂存器写使能

示例1 算术运算

1. 运算源寄存器写流程

通过I/O单元“S7~S0”开关向累加器A和暂存器B置数,具体操作步骤如下:

数据来源 I/O单元 K10~K7=1000 置数 I/O=XX44h K18 K17=10 累加器 置数 暂存器 B=22 按【单拍】按钮

A=44 I/O=XX22h 按【单拍】按钮 K18 K17=01 2. 运算源寄存器读流程

关闭A、B写使能,令K18=K17=“1”,按下流程分别读A、B。

数据来源 FUN K10~K7=1100 读A K15=1 K13~K11=111 数据总线 DBUS=A 读B K15=1 K13~K11=000 数据总线 DBUS=B 3. 加法与减法运算

令M S2 S1 S0(K15 K13~K11=0100),为算术加,FUN及总线单元显示A+B的结果 令M S2 S1 S0(K15 K13~K11=0101),为算术减,FUN及总线单元显示A-B的结果。

示例2 逻辑运算

1. 运算源寄存器写流程

通过“I/O输入输出单元”开关向寄存器A和B置数,具体操作步骤如下:

本文来源:https://www.bwwdw.com/article/0pnt.html

Top