组成原理实验指导书 下载本文

内容发布更新时间 : 2024/5/17 11:17:10星期一 下面是文章的全部内容请认真阅读。

实验一 通用寄存器传送实验

一、实验目的

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

二、实验要求

在掌握了AX、BX运算寄存器的读写操作后,继续完成CX、DX通用寄存器的数据写入与读出。

三、实验原理

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

图1 通用寄存器数据通路

表1 源与目的寻址编码表 总线源编码 M10 M9 M8 功能 X2 X1 X0 0 0 0 禁止 0 0 1 ALU 0 1 0 SP 0 1 1 IOR 1 0 0 MRD 1 0 1 XRD 1 1 0 RRD 1 1 1 PC 表2 IR指令寄存器写入 IR写 IR 1 1 1 MWR 1 1 1 微控制位 OP 1 1 0 W 1 0 X 功能说明 DRCK下降沿打入 IR字写 IRL偶字节写 IRH奇字节写

在线态目的编码 M19 M18 M17 功能 O2 O1 O0 0 0 0 禁止 0 0 1 MAR 0 1 0 BX 0 1 1 AX 1 0 0 SP 1 0 1 IOW 1 1 0 XWR 1 1 1 RWR

表3 IR指令寄存器取指

取指 按钮 功能说明 IR MWR DRCK 1 0 ↓ 打操作码,散转

说明:“↓”表示下降沿有效

W XP OP

总线字长:1=16位字操作,0=8位字节操作 源部件奇偶标志:1=偶寻址,0=奇寻址 目标部件奇偶标志:1=偶寻址,0=奇寻址

四、实验内容

1. 寄存器组写操作 (1) 目的寄存器写编码

目标使能 K19~K17 o2~o0 通用寄存器目标编址 IR IR1 0 0 111 0 1 1 1 K16 OP 1 1 0 1 1 0 K6 W 1 0 X 1 0 X T4 ↑ 功能说明 CX字写 ↑ CL偶字节写(R0) ↑ CH奇字节写(R1) ↑ DX字写 ↑ DL偶字节写(R2) ↑ DH奇字节写(R2)

(2) 寄存器组的字写入

通过“I/O单元”把CX的地址00打入IR,然后向CX写入2211h,操作步骤如下:

数据来源I/O单元X2 X1 X0=011XP W=11置地址I/O=XX00h打地址IR=XX00hMWR IR=11OP=1,按[单拍]MWR IR=00置数据I/O=2211h写数据CX=2211ho2 o1 o0=111OP=1,按[单拍]

通过“I/O单元”把DX的地址02打入IR,然后向DX写入4433h,操作步骤如下:

数据来源I/O单元X2 X1 X0=011XP W=11置地址I/O=XX02h打地址IR=XX02hMWR IR=11OP=1,按[单拍]MWR IR=00置数据I/O=4433h写数据DX=4433ho2 o1 o0=111OP=1,按[单拍]

(3) 寄存器组的字节写入

通过“I/O单元”把CX的地址00打入IR,然后向CL写入55h,操作步骤如下:

数据来源I/O单元X2 X1 X0=011XP W=11置地址I/O=XX00h打地址IR=XX00hMWR IR=11OP=1,按[单拍]MWR IR=00置数据I/O=XX55hW=0写数据CL=55ho2 o1 o0=111OP=0,按[单拍]

在IR保持为“XX00”的条件下,可省略打地址环节,按下流程向CH写入AAh。

置数据I/O=XXAAhX2 X1 X0=011XP W=10写数据CL=55ho2 o1 o0=111OP=0,按[单拍]关闭写选通o2 o1 o0=000

2. 寄存器读操作 (1) 源寄存器读编码 源编码 K10~K8 X2~X0 通用寄存器源编址 IR IR1 0 0 110 0 1 1 1 K7 XP 1 1 0 1 1 0 K6 W 1 0 X 1 0 X CX字读(R1R0) CL偶字节读(R0) CH奇字节读(R1) DX字读(R3R2) DL偶字节读(R2) DH奇字节读(R3) 功能说明

(2) 寄存器组字读

通过“I/O单元”把CX地址打入IR,然后CX送总线,操作步骤如下:

数据来源I/O单元X2 X1 X0=011XP W=11置地址I/O=XX00h打地址IR=XX00hMWR IR=11OP=1,按[单拍]MWR IR=00数据来源CXX2 X1 X0=110XP W=11

通过“I/O单元”把DX地址打入IR,然后DX送总线,操作步骤如下:

数据来源I/O单元X2 X1 X0=011XP W=11置地址I/O=XX02h打地址IR=XX02hMWR IR=11OP=1,按[单拍]MWR IR=00数据来源DXX2 X1 X0=110XP W=11

(3) 寄存器组字节读

通过“I/O单元”把CX地址打入IR,然后按字节方式分别读出CL、CH。