计算机组成原理实验【数据交换】【R0~R3寄存器】
默沫沫沫沫
编辑于 2023年05月27日 07:35

实验题目

2.1寄存器实验

2.2运算器实验

2.3数据输出实验/移位门实验

综合实验:

任选两个操作数分别输入R0~R3寄存器中,要求完成这两个数的交换(若第一个数在R0寄存器中,第二个数在R1寄存器中,那么操作后第二个数应该在R0寄存器中,第一个数在R1寄存器中,寄存器的编号任选)。

具体题目:

将34H写入R0寄存器、43H写入R1寄存器,完成这两个数的交换。

实验器材

CP-TH计算机组成原理实验系统

 

实验目的

了解模型机中各种寄存器结构、工作原理及其控制方法。

了解模型机中算术、逻辑运算单元的控制方法。

了解模型机中多寄存器接数据总线的实现原理。

了解运算器中移位功能的实现方法。

了解R0~R3寄存器的使用原理,并能实现寄存器内数的交换。

 

实验原理

初步设想:

(1)通过累加器A、工作寄存器W与直通门的关系,将R0寄存器内数据向数据总线输出,再存入R2寄存器。

(2)随后再R1寄存器内数据存入R0寄存器,最后将R2寄存器内数据存入R1寄存器。

(3)完成R0、R1寄存器间数据的交换。

完成

 

具体实现:

(1)34H、43H分别存入R0、R1寄存器。

此时R0、R1、R2、R3内数据分别为:43H、43H、FF、FF。

(2)将R0寄存器内数据(34H)写入累加器A(工作寄存器W内初始状态默认为0),用开关控制ALU做加运算得到运算结果(34H),并将结果输出到直通门D。

(3)通过直通门输出数据(34H),将数据写入R3,完成R0内数据(34H)写入R2。

此时R0、R1、R2、R3内数据分别为:34H、43H、34H、FF。

(4)重复上述操作,将R1内数据(43H)写入R0。

此时R0、R1、R2、R3内数据分别为:43H、43H、34H、FF。

(5)重复操作,将R2内数据(34H)写入R1。

(6)完成R0、R1寄存器内数据的交换。

此时R0、R1、R2、R3内数据分别为:43H、34H、34H、FF。

 实验原理图:

SA、SB的选择决定寄存器的选择。

AEN、WEN决定累加器A、工作寄存器W的写入。

RRD、RWR的决定R0~R3寄存器进行读出/写入操作。

X2,X1,X0决定输出路径。

实验内容

(1)J1与J2相连。K14、K13与AEN、WEN相连,决定累加器A、工作寄存器W的写入是否有效(低电平有效);K7~K6与X2~X0相连,决定数据输出路线;K3、K2与SA、SB相连,决定R0~R3寄存器的选择;K1、K0与RRD、RWR相连,决定R0~R3寄存器进行读出/写入操作(低电平有效);K23~K16用于数据输入。

Tips:

AEN、WEN、RRD、RWR皆为低电平有效(0),控制台上默认初始状态为低电平(0),注意实验开始后先全部置为高电平(1),便于理解实验。

表一中RRD、RWD用于控制R0~R3寄存器的读出和写入,低电平有效(0),则RRD下拨(即置为0时),表示R0~R3寄存器的读出;RWR下拨(即置为0时),表示R0~R3寄存器的写入。

AEN、WEN同理。

 

(2)K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......&#​34;手动状态。

  此时K23~K16皆为0;K14、K13置为11;K7~K6置为000;K3、K2置为00;K1、K2置为11;K1、K0置为11。

(3)K23~K16置00110100(34H),K3、K2置00(R0寄存器),K1、K0置10(RWR低电平有效),K7~K6置000(外部输入门),按STEP脉冲键,完成34H写入R0。

Tips:

K7~K6表X2~X0,决定数据输出路线,初始默认000,无需如AEN、WEN、RRD、RWR置为1,若置为111表没有输出。

(4)K23~K16置01000011(43H),K3、K2置01(R1寄存器),K1、K0置10(RWR低电平有效),K7~K6置000(外部输入门),按STEP脉冲键,完成43H写入R1。

(5)K23~K1置00000000,K14、K13置01(A累加器可写入),K1、K0置01(RRD低电平有效),K3、K2置00(R0寄存器),按STEP脉冲键,R0内数据读出并写入A累加器。

(6)此时直通门显示34H,K7~K6置100(直通门),K1、K0置10(RWR低电平有效),K3、K2置10(R2寄存器),按STEP脉冲键,直通门数据读出并写入R2。

此时R0、R1、R2、R3内数据分别为:34H、43H、34H、FF。

(7)K1、K0置01(RRD低电平有效),K3、K2置01(R1寄存器),按STEP脉冲键,R1内数据读出并写入A累加器。

(8)K1、K0置10(RWR低电平有效),K3、K2置00(R0寄存器),按STEP脉冲键,直通门数据读出并写入R0。

此时R0、R1、R2、R3内数据分别为:43H、43H、34H、FF。

(9)K1、K0置01(RRD低电平有效),K3、K2置10(R2寄存器),按STEP脉冲键,R2内数据读出并写入A累加器。

(10)K1、K0置10(RWR低电平有效),K3、K2置0(R1寄存器),按STEP脉冲键,直通门数据读出并写入R1。

(11)R0、R1内数据交换完成。

此时R0、R1、R2、R3内数据分别为:43H、34H、34H、FF。

 

 

实验结果与讨论

2.1实验一

数据是在放开STEP键后改变的;WEN,AEN为高时,即使CK有上升沿,寄存器的数据也不会改变。

2.1实验二

寄存器R0-R3的红色输出指示灯亮时,R0-R3寄存器的数据送上数据总线。

2.2

运算器在加上控制信号及数据(A,W)后,立刻给出结果,不须时钟。

2.3

移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。结果由X2X1X0输出选择决定。CN为0,不带进位移位,CN为1,带进位移位;CyIN为进位的值,为1或0。

综合实验:

AEN、WEN、RRD、RWR皆为低电平有效(0),控制台上默认初始状态为低电平(0),注意实验开始后先全部置为高电平(1),便于理解实验。

RRD、RWD用于控制R0~R3寄存器的读出和写入,低电平有效(0),则RRD下拨(即置为0时),表示R0~R3寄存器的读出;RWR下拨(即置为0时),表示R0~R3寄存器的写入。AEN、WEN同理。

但K7~K6表X2~X0,决定数据输出路线,初始默认000,无需如AEN、WEN、RRD、RWR一样置为1,若置为111表没有输出,后续输入无法进行。