实验2通用寄存器实验概述:不同计算机的CPU可能不同,但CPU至少有六种寄存器。 指令寄存器(IR )、程序计数器(PC )、数据地址寄存器(AR )、数据缓冲寄存器(DR )、通用寄存器(R0~R3 )、状态字寄存器(PSW )。 各寄存器在CPU内分别具有不同的功能。
一、实验目的
1、熟悉通用寄存器的概念。
2、熟悉通用寄存器的结构和硬件电路。
二、实验要求
完成三个通用寄存器的数据写入和读出,利用运算器完成R0、R1、R2三个寄存器的加法运算。
三.实验原理
实验中使用的通用寄存器的数据路径如图2-1所示。 由3个8位字长的通用寄存器(74LS374 )组成的R0、R1、R2组成。 3个寄存器的输入端D0~D7与BUS总线接口连接,3个寄存器的输出端与BUS总线接口连接,R0、R1、R2通过CBA二进制控制开关解码,数据输出门信号R0 (LDR0、LDR1、LDR2为数据写入允许信号,由二进制控制开关(图2.3 )模拟,均为高电平有效,点击对应的指拨开关使其成为对应状态,操作完成。
图2.1通用寄存器单元电路图
图2.2缓冲区输入区域
图2.3二进制开关单元
表2.1通用寄存器单元的选通真值表
C B A选择
1 0 0 R0-BUS
1 0 1 R1-BUS
1 1 0 R2-BUS
四.实验内容
1、通用寄存器的写入
切换二进制数据开关分别在R0、R1、R2寄存器中放置数量,数据分别为11H、12H、13H
2、通用寄存器的读取
二进制控制开关CBA经由74LS138的解码输出R0、R1、R2的数据读取到数据总线上,验证结果。
控制开关输出值
CBA=100 11
CBA=101 12
CBA=110 13
3、用寄存器和运算器计算F=A、b和c,并将运算结果输出到总线上。 (其中,a、b、c、的值分别是存储在寄存器R0、R1、R2中的数据)通过总线数据传输来完成实验项目)详细列举各实验步骤中的开关的状态和完成的功能,要求记录运算结果
用DSW1分别将11H 12H 13H发送到R0 R1 R2
先运算F=A B
(R0bus(CBA=100,R0-BUS ) busdr1 ) lddR1=1,T4 ) ) ) ) ) ) )
(R1bus(CBA=101,R1-BUS ) busdr2 ) lddr2=1,T4 ) ) ) ) ) ) )
DR1 DR2BUSR0
步骤1:m=0,CN=1,S3-S0=1001
步骤CBA=010,ALU-BUS
步骤LDR0=1,T4
3 .当前A B之和在R0的情况下,计算当前F=(A B ) c
(R0bus(CBA=100,R0-BUS ) busdr1 ) lddR1=1,T4 ) ) ) ) ) ) )
(R3bus(CBA=110,R3-BUS ) busdr3 ) lddr3=1,T4 ) ) ) ) ) ) )
DR1 DR2 M=0,CN=1,S3-S0=1001
2.4运算器通用寄存器电路
五.实验性思考
在实验内容3中,能否将a和b的和直接存储在DR1而不是R0中,如果可能的话该怎么办
可以直接放入R0
DR1 DR2BUSDR1
1.M=0,CN=1,S3-S0=1001
2. CBA=010,ALU-BUS
3.LDDR1=1,T4,S3-S0=0000