目录
ps:5月30日,还是希望你们自己去做一做,感受一下,和我的实验数据对比对比,我把每份报告的最后一题删掉啦,老师说,最后一题雷同的话将会打回。
ps:老师给的实验指导书有好多错,这不搞人心态吗
ps:内容有错评论或者qq找我,
(老师有云:讨论题嘛,大家讨论的,错了没关系的),
如果你有好的答案欢迎分享
实验一:
一、实验目的
1.掌握通用寄存器组的读、写方法。
2.掌握暂存器A、暂存器B的写入方法。
3.掌握模型机输入输出约定。
二、实验任务
1.给双端口寄存器堆RF中的几个寄存器分别写入数据:
寄存器R0=11H、寄存器R1=EEH、寄存器R2=33H、寄存器R3=CCH。
2.从双端口寄存器堆RF中分别读出寄存器R0、寄存器R1、寄存器R2、寄存器R3中的数据到暂存器A和B,验证写入的数据是否正确。
三、实验方式及硬件组成
实验方式:独立
实验电路:
四、实验连线
连接 | 信号孔 | 接入孔 | 作用 | 状态说明 |
1 | RD1(SEL3 | K6 | 选择送 ALU 的 A 端口的寄存器和被写入的寄存器。 | R0:00 R1:01 R2:10 R3:11 |
2 | RD0(SEL2) | K5 | ||
3 | RS1(SEL1) | K2 | 选择送往 ALU 的 B 端口的寄存器 | R0:00 R1:01 R2:10 R3:11 |
4 | RS0(SEL0) | K1 | ||
5 | ABUS | K7 | =1 时,将运算结果送数据总线 DBUS, =0 时,禁止运算结果送数据总线 DBUS。 | 允许:0 禁止:1 |
6 | SBUS | K3 | =1 时, 将 SD7-SD0 送数据总线 DBUS, =0 时,禁止 SD7-SD0 送数据总线 DBUS。 | 允许:1 禁止:0 |
7 | MBUS | K0 | =1 时,将双端口 RAM 的左端口数据送到数据总线 DBUS | 端口为1执行操作 |
8 | DRW | K4 | =1 时,在 T3 上升沿对 RD1 RD0 选中的寄存器进行写操作,将数据 总线 DBUS 上的数据 D7-D0 写入选定的寄存器。和读无关。 | 端口为1执行操作 |
五、实验内容及结果
1、寄存器组写入
1)寄存器R0写入11H:
操作模式 | DP=X、SWC=1、SWB=0、SWA=0 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
| 0 | 0 | 1 | 1 |
|
|
| 11H |
2)寄存器R1写入EEH:
操作模式 | DP=X、SWC=1、SWB=0、SWA=0 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
| 0 | 1 | 1 | 1 |
|
|
| EEH |
3)寄存器R2写入33H:
操作模式 | DP=X、SWC=1、SWB=0、SWA=0 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
| 1 | 0 | 1 | 1 |
|
|
| 33H |
4)寄存器R3写入CCH:
操作模式 | DP=X、SWC=1、SWB=0、SWA=0 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
| 1 | 1 | 1 | 1 |
|
|
| CCH |
2、寄存器组读出至暂存器A
1)寄存器R0读出至暂存器A:
操作模式 | DP=1、SWC=0、SWB=1、SWA=1 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
| 0 | 0 | X | 1 |
|
|
| 11H |
2)寄存器R1读出至暂存器A:
操作模式 | DP=1、SWC=0、SWB=1、SWA=1 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
| 0 | 1 | X | 1 |
|
|
| EEH |
3)寄存器R2读出至暂存器A:
操作模式 | DP=1、SWC=0、SWB=1、SWA=1 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 | 0 | 1 | 0 | X | 1 | 0 | 0 | 0 | 33H |
4)寄存器R3读出至暂存器A:
操作模式 | DP=1、SWC=0、SWB=1、SWA=1 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
| 1 | 1 | X | 1 |
|
|
| CCH |
3、寄存器组读出至暂存器B
1)寄存器R0读出至暂存器B:
操作模式 | DP=1、SWC=0、SWB=1、SWA=1 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
|
|
| X | 1 | 0 | 0 |
| 11H |
2)寄存器R1读出至暂存器B:
操作模式 | DP=1、SWC=0、SWB=1、SWA=1 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
|
|
| X | 1 | 0 | 1 |
| EEH |
3)寄存器R2读出至暂存器B:
操作模式 | DP=1、SWC=0、SWB=1、SWA=1 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
|
|
| X | 1 | 1 | 0 |
| 33H |
4)寄存器R3读出至暂存器B:
操作模式 | DP=1、SWC=0、SWB=1、SWA=1 | ||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | SD7-SD0 |
信号名称 | ABUS | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS |
|
信号值 |
|
|
| X | 1 | 1 | 1 |
| CCH |
六、实验讨论
为什么RD1RD0同时作为寄存器组的输入选号又作为暂存器A的4选1输入信号?
实验二:
一、实验目的
1. 掌握模型运算器的组成及控制方法。
2. 掌握ALU的算数运算功能、逻辑运算功能和传送功能。
3、掌握状态条件寄存器中零标记位Z和进位标记位Y的含义
二、实验要求
1. 利用实验仪的数据开关SD7~SD0作为DBUS 数据,其它开关作为控制信号,将数据写入通用寄存器,并用开关控制ALU的运算方式,实现验证运算器的算术运算功能、逻辑运算功能及直送功能,并将结果送数据总线。
2.通过运算器的运算将状态条件零标记位Z和进位标记位Y置位和复位。
三、实验方式及硬件组成
实验方式:独立
实验电路:
四、实验连线
连接 | 信号孔 | 接入孔 | 作用 | 状态说明 |
1 | S3-S0 | K14~K11 | 控制 74LS181 的运算类型 |
|
2 | CIN | K10 | 低位 74LS181 的进位输入 | 0 进位 1不进位 |
3 | RD1、RD0 | K6、K5 | 选择送 ALU 的 A 端口的寄存器(SEL3、SEL2) | 00 R0 01 R1 10 R2 11 R3 |
4 | RS1、RS0 | K2、K1 | 选择送 ALU 的 B 端口的寄存器(SEL1、SEL0) | 00 R0 01 R1 10 R2 11 R3 |
5 | DRW | K4 | 在 T3 上升沿对 RD1、RD0 选中的寄存器进行写操 作,将数据总线 DBUS 上的数 D7-D0 写入选定的寄存器 | 端口为1 执行操作 |
6 | SBUS | K3 | 控制是否将SD7-SD0送数据总线DBUS | 1允许;0 禁止 |
7 | ABUS | K9 | 控制运算结果是否送入总线DBUS | 0 允许;1禁止 |
8 | M | K15 | 运算模式 | 0 算术运算 1 逻辑运算 |
9 | LDZ | K7 | 如果运算结果为 0,在 T3 的上升沿,将 1 写入到 Z 标志寄存器;如果运算结果不为 0,将 0 保存到 Z 标志 寄存器。 | 端口为1 执行操作 |
10 | LDC | K8 | 在 T3 的上升沿将运算得到的进位保存到 C 标志 寄存器。 | 端口为1 执行操作 |
11 | A7-A0 |
| 送往 ALU 的 A 端口的数 |
|
12 | B7-B0 |
| 送往 ALU 的 B 端口的数 |
|
13 | D7-D0 |
| 数据总线 DBUS 上的 8 位数 |
|
14 | C |
| 进位标志 |
|
15 | Z |
| 结果为 0 标志 |
|
16 | MBUS | K0 | 将双端口的RAM的左端口数据送到数据总线 | 端口为1 执行操作 |
五、实验内容及结果
1、寄存器R0=55H,R1=AAH,完成R0加R1,R0减R1,RO与R1
1)寄存器R0写入55H
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 |
|
|
信号名称 | M | S3 | S2 | S1 | S0 | CIN | ABUS | LDC | SD7-SD0 | D7-D0 |
信号值 |
|
|
|
|
|
|
|
| 55H | 55H |
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 |
|
|
信号名称 | LDZ | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS | A7-A0 | B7-B0 |
信号值 |
|
|
| 1 | 1 |
|
|
|
|
|
2)寄存器R1写入AAH:
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 |
|
|
信号名称 | M | S3 | S2 | S1 | S0 | CIN | ABUS | LDC | SD7-SD0 | D7-D0 |
信号值 |
|
|
|
|
|
|
|
| AAH | AAH |
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 |
|
|
信号名称 | LDZ | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS | A7-A0 | B7-B0 |
信号值 |
|
| 1 | 1 | 1 |
|
|
| 55H | 55H |
3)R0加R1
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 |
|
|
信号名称 | M | S3 | S2 | S1 | S0 | CIN | ABUS | LDC | SD7-SD0 | D7-D0 |
信号值 |
| 1 |
|
| 1 | 1 | 1 | 1 |
| FFH |
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 |
|
|
信号名称 | LDZ | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS | A7-A0 | B7-B0 |
信号值 | 1 | 0 | 0 |
|
| 0 | 1 |
| 55H | AAH |
4)R0减R1
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 |
|
|
信号名称 | M | S3 | S2 | S1 | S0 | CIN | ABUS | LDC | SD7-SD0 | D7-D0 |
信号值 |
|
| 1 | 1 |
| 0 | 1 | 1 |
| ABH |
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 |
|
|
信号名称 | LDZ | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS | A7-A0 | B7-B0 |
信号值 | 1 | 0 | 0 |
|
| 0 | 1 |
| 55H | AAH |
5)R0与R1
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 |
|
|
信号名称 | M | S3 | S2 | S1 | S0 | CIN | ABUS | LDC | SD7-SD0 | D7-D0 |
信号值 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 |
| 00H |
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 |
|
|
信号名称 | LDZ | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS | A7-A0 | B7-B0 |
信号值 | 1 | 0 | 0 |
|
| 0 | 1 |
| 55H | AAH |
2、寄存器R2=80H,R3=80H,完成R2加R3,R2减R3,R2或R3
1)寄存器R2写入80H
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 |
|
|
信号名称 | M | S3 | S2 | S1 | S0 | CIN | ABUS | LDC | SD7-SD0 | D7-D0 |
信号值 |
|
|
|
|
|
|
|
| 80H | 80H |
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 |
|
|
信号名称 | LDZ | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS | A7-A0 | B7-B0 |
信号值 |
| 1 |
| 1 | 1 |
|
|
|
|
|
2)寄存器R3写入80H:
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 |
|
|
信号名称 | M | S3 | S2 | S1 | S0 | CIN | ABUS | LDC | SD7-SD0 | D7-D0 |
信号值 |
|
|
|
|
|
|
|
| 80H | 80H |
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 |
|
|
信号名称 | LDZ | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS | A7-A0 | B7-B0 |
信号值 |
| 1 | 1 | 1 | 1 |
|
|
| 80H | 80H |
3)R2加R3
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 |
|
|
信号名称 | M | S3 | S2 | S1 | S0 | CIN | ABUS | LDC | SD7-SD0 | D7-D0 |
信号值 |
| 1 |
|
| 1 | 1 | 1 | 1 |
| 00H |
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 |
|
|
信号名称 | LDZ | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS | A7-A0 | B7-B0 |
信号值 | 1 | 1 | 0 |
|
| 1 | 1 |
| 80H | 80H |
4)R2减R3
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 |
|
|
信号名称 | M | S3 | S2 | S1 | S0 | CIN | ABUS | LDC | SD7-SD0 | D7-D0 |
信号值 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 00H |
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 |
|
|
信号名称 | LDZ | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS | A7-A0 | B7-B0 |
信号值 | 1 | 1 | 0 |
|
| 1 | 1 |
| 80H | 80H |
5)R2或R3
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 |
|
|
信号名称 | M | S3 | S2 | S1 | S0 | CIN | ABUS | LDC | SD7-SD0 | D7-D0 |
信号值 |
| 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 80H |
操作模式 | DP=1、SWC=1、 SWB=0、SWA=1 | |||||||||
电平开关 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 |
|
|
信号名称 | LDZ | RD1 | RD0 | DRW | SBUS | RS1 | RS0 | MBUS | A7-A0 | B7-B0 |
信号值 | 1 | 1 | 0 |
|
| 1 | 1 |
| 80H | 80H |
六、实验讨论
为什么在ALU的A端口和B端口的数据确定后,在数据总线DBUS上能够直接观测运算的数据结果,而标志结果却在下一步才能观测到?
实验三:
一、实验目的
1、掌握双端口静态存储器IDT7132的组成及其工作方式;
2、掌握半导体存储器读写数据的过程;
3、掌握双端口存储器并行工作方式;
二、实验任务
1. 从存储器地址30H开始,通过左端口连续向存储器写入3个数:66H,77H,88H;在写入数据的同时,从右端口读出数据,检测数据是否正确。
2.从存储器地址30H开始,连续从存储器的左端口和右端口同时读出存储器的数据。
三、实验方式及硬件组成
实验方式:独立
实验电路:
四、实验连线
连接 | 信号孔 | 接入孔 | 作用 | 状态说明 |
1 | ABUS | K8 | =1 时,将运算结果送数据总线 DBUS, =0 时,禁止运算结果送数据总线 DBUS。 | 端口为1执行操作 |
2 | LPC | K9 | =1 时,在 T3 的上升沿,将数据总线上的数据写入程序计数器 PC | 端口为1执行操作 |
3 | PCINC | K10 | =1 时,在 T3 的上升沿程序计数器 PC 自动加 1。 | 端口为1执行操作 |
4 | MBUS | K11 | =1 时,将双端口 RAM 的左端口数据送到数据总线 DBUS。 | 端口为1执行操作 |
5 | MEMW | K12 | =1 时,在 T2 为 1 期间将数据总线 DBUS 上的 D7-D0 写入双端口 RAM 写入的存储器单元由 AR7-AR0 指定 | 端口为1执行操作 |
6 | LAR | K13 | =1,在 T3 的上升沿,将数据总线上的数据写入地址寄存器 AR。 | 端口为1执行操作 |
7 | ARINC | K14 | =1,在 T3 的上升沿,地址寄存器 AR 自动加 1。 | 端口为1执行操作 |
8 | SBUS | K15 | =1 时,数据开关 SD7-SD0 的数送数据总线 DBUS。 | 端口为1执行操作 |
五、实验内容及结果
1、左端口写入数据
1)地址寄存器AR写入30H:
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 |
| |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | SD7-SD0 | D7-D0 | |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
| |
信号值 | 1 |
| 1 |
|
|
| 1 |
| 30H | 30H | |
2)向30H单元写入第一个数66H:H
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | ||||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | AR7-AR0 | SD7-SD0 | D7-D0 |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
|
信号值 | 1 | 1 |
| 1 |
|
|
|
| 30H | 66H | 66H |
3)向31H单元写入第二个数77H::
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | ||||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | AR7-AR0 | SD7-SD0 | D7-D0 |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
|
信号值 | 1 | 1 |
| 1 |
|
|
|
| 31H | 77H | 77H |
4)向32H单元写入第三个数88H:
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | ||||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | AR7-AR0 | SD7-SD0 | D7-D0 |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
|
信号值 | 1 | 1 |
| 1 |
|
|
|
| 32H | 88H | 88H |
2、左端口读出数据
1)地址寄存器AR写入30H:
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | ||||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | AR7-AR0 | SD7-SD0 | D7-D0 |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
|
信号值 | 1 |
| 1 |
|
|
|
|
| 33H | 30H | 30H |
2)读出30H单元数据至数据总线:
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | AR7-AR0 | D7-D0 |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
信号值 |
| 1 |
| 1 | 1 |
|
|
| 30H | 66H |
3)读出31H单元数据至数据总线:
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | AR7-AR0 | D7-D0 |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
信号值 |
| 1 |
| 1 | 1 |
|
|
| 31H | 77H |
4)读出32H单元数据至数据总线:
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | AR7-AR0 | D7-D0 |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
信号值 |
| 1 |
| 1 | 1 |
|
|
| 32H | 88H |
3、左右端口并行读出数据
1)置地址寄存器AR=30H、PC=30H:
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | |||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | SD7-SD0 | D7-D0 |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
信号值 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 30H | 30H |
2)读出30H单元数据至数据总线和指令总线:
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | ||||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | PC | AR | INS |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
|
信号值 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 30H | 30H | 66H |
3)读出31H单元数据至数据总线和指令总线:
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | ||||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | PC | AR | INS |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
|
信号值 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 31H | 31H | 77H |
4)读出32H单元数据至数据总线和指令总线:
操作模式 | DP=1、SWC=1、SWB=1、SWA=0 | ||||||||||
电平开关 | K15 | K14 | K13 | K12 | K11 | K10 | K9 | K8 | PC | AR | INS |
信号名称 | SBUS | ARINC | LAR | MEMW | MBUS | PCINC | LPC | ABUS |
|
|
|
信号值 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 32H | 32H | 88H |
六、实验讨论
在通过左端口向双端口存储器写数时,在右端口可以同观测到左入的数据吗?为什么?
实验四:
一、实验目的
1、掌握微程序控制器的基本结构和运行原理;
2、掌握微指令字的结构以及地址转移逻辑;
3、掌握机器指令和微程序的关系以及机器指令的执行过程;
二、实验任务
1、根据指令格式说明,将指令翻译成对应的机器码。
2. 从存储器地址00H开始,向存储器写入指令对应的机器码和指令执行需要的数据。
3.单步执行机器指令,观察指令指令执行的过程,分析和记录机器指令对应的每一条微指令给出的控制信号以及后续直接地址。
三、实验方式及硬件组成
实验方式:微程序
实验电路:
四、实验准备
- 微指令格式
操作控制字段(29位) | P测试位(5位) | 后续地址字段(6位) |
- 操作控制各字段的含义:
PCADD:=1时,将当前的PC值加上相对转移量,生成新的PC
SELCTL:=1时,实验系统处于实验台状态;=0时,实验系统处于运行程序状态
SEL3-SEL2:选择送ALU的A端口的寄存器和被写入的寄存器
SEL1-SEL0:选择送往ALU的B端口的寄存器
INTEN:=1时,置允许中断标志为1,允许TEC-8模型计算机响应中断请求
INTDI:=1时,置允许中断标志为0,禁止TEC-8模型计算机响应中断请求
LIAR:=1时,在T3的上升沿,将PC7-PC0写入中断地址寄存器IAR。
IABUS:=1时,将中断地址寄存器中的地址送数据总线DBUS。
MBUS:=1时,将双端口RAM的左端口数据送到数据总线DBUS
SBUS:=1时,将运算结果送数据总线DBUS;=0时,禁止运算结果送数据总线DBUS
ABUS:=1时,将运算结果送数据总线DBUS;=0时,禁止运算结果送数据总线DBUS
M:运算模式:M=0为算数运算;M=1逻辑运算
S3-S0: 控制运算类型
CIN:低位74LS181的进位输入
LDC:=1时,在T3的上升沿将运算得到的进位保存到C标志寄存器
LDZ:=1时,如果运算结果为0,在T3的上升沿,将1写入到Z标志寄存器;如果运算结果不为0,将0保存到Z标志寄存器
LIR:=1时,在T3的上升沿将从双端口RAM的右端口读出的指令INS7-INS0写入指令寄存器IR,读出的存储器单元由PC7-PC0指定
STOP:=1 时,在 T3 结束后时序发生器停止输出节拍脉冲 T1、T2、T3
MEMW:=1时,在T2为1期间将数据总线DBUS上的D7-D0写入双端口RAM写入的存储器单元由AR7-AR0指定
LAR:=1,在T3的上升沿,将数据总线上的数据写入地址寄存器AR
ARINC:=1,在T3的上升沿,地址寄存器AR自动加1
LPC:=1时,在T3的上升沿,将数据总线上的数据写入程序计数器PC
PCINC:=1时,在T3的上升沿程序计数器PC自动加1
DRW:=1时,在T3上升沿对RD1、RD0选中的寄存器进行写操作,将数据总线DBUS上的数D7-D0写入选定的寄存器
2)P测试字段的含义:
P0 |
=1 时,根据后继微地址 NµA5-NµA0 和模式开关 SWC、SWB、SWA 确 定下一条微指令的地址。见图 2.6 微程序流程图 |
P1 | =1 时,根据后继微地址 NµA5-NµA0 和指令操作码 IR7-IR4 确定下 一条微指令的地址。见图 2.6 微程序流程图。 |
P2 | =1 时,根据后继微地址 NµA5-NµA0 和进位 C 确定下一条微指令的 地址。 |
P3 |
=1 时,根据后继微地址 NµA5-NµA0 和结果为 0 标志 Z 确定下一条 微指令的地址。 |
P4 | =1 时,根据后继微地址 NµA5-NµA0 和中断信号 INT 确定下一条微 指令的地址。模型计算机中,中断信号 INT 由时序发生器在接到 中断请求信号后产生。 |
五、实验内容及分析
1、源程序
指令 | 指令说明 |
LD R0,[R3] | 将R3指向的内存单元的数据送R0 |
INC R3 | 将寄存器 R3与 1 进行和运算,结果保存到寄存器 R3中 |
LD R1[R3] | 将R3指向的内存单元的数据送R1 |
SUB R0 R1 | 将R0内的值减去R1内的值 |
JZ 0BH | 为零转移 |
- 机器码
地址 | 操作码OP | Rd | Rs | 机器码 |
00H | 0101 | 00 | 11 | 53H |
01H | 0100 | 11 | 00 | 4CH |
02H | 0101 | 01 | 11 | 57H |
03H | 0010 | 00 | 01 | 21H |
04H | 1000 | 01 | 10 | 86H |
3.指令流程图
4微程序分析
1)LD R0,[R3]
LD指令是一条访存指令,取指令需要一个机器周期,对应控制存储器01H单元的微指令;执行周期需要两个机器周期,第一个机器周期将R3的有效地址送地址寄存器,对应控制存储器25H单元的微指令,第二个机器周期将内存数据送目标寄存器R0,对应控制存储器0EH单元的微指令。
微
程
序 | 微地址 | 微指令 | 控制信号 | 对应操作 | P测试位 | 后续地址 |
01H | 00000410A0 | LIR=1:指令寄存器输入控制 PCINC=1:程序计数器加1 | EM->IR PC+1->PC | P1测试 | 100000 | |
25H | 000E80800E | M=1,S3~S0=1010,运算器直送暂存器B数据 ABUS=1:运算器结果送数据总线 LAR=1:地址寄存器输入控制 | R3->ALU->AR | 无 | 001110 | |
0EH | 0020000C01 | MBUS=1:存储器内容送数据总线 DRW=1:寄存器写入信号 | EM-R0 | P4测试 | 000001 |
2)INC R3
INC指令可以使目标操作数+1,只有1个操作数,它将指定的操作数的内容加1,再将结果送回到该操作数。INC指令的操作数的类型可以是通用寄存器或存储单元,但不可以是段寄存器。字或字节操作均可。
微
程
序 | 微地址 | 微指令 | 控制信号 | 对应操作 | P测试位 | 后续地址 |
01H | 00000410A0 | LIR=1:指令寄存器输入控制 PCINC=1:程序计数器加1 | EM->IR PC+1->PC | P1测试 | 100000 | |
24H | 0008180C01 | ABUS=1: 将运算结果送数据总线 LDC=1:在T3的上升沿将运算得到的进位保存到标志寄存器 LDZ=1:如果运算结果为0,在T3的上升沿,将1写入到Z标志寄存器;如果运算结果不为0,将0保存到Z标志寄存器 DRW=1:在T3上升沿对选中的寄存器进行写操作,将数据总线上的数写入选定的寄存器 | R3+1->R3 | P4测试 | 000001 |
3)LD R1 [R3]
LD指令是一条访存指令,取指令需要一个机器周期,对应控制存储器01H单元的微指令;执行周期需要两个机器周期,第一个机器周期将R3的有效地址送地址寄存器,对应控制存储器25H单元的微指令,第二个机器周期将内存数据送目标寄存器R1,对应控制存储器0EH单元的微指令。
微
程
序 | 微地址 | 微指令 | 控制信号 | 对应操作 | P测试位 | 后续地址 |
01H | 00000410A0 | LIR=1:指令寄存器输入控制 PCINC=1:程序计数器加1 | EM->IR PC+1->PC | P1测试 | 100000 | |
25H | 000E80800E | M=1,S3~S0=1010,运算器直送暂存器B数据 ABUS=1:运算器结果送数据总线 LAR=1:地址寄存器输入控制 | R3->ALU->AR | 无 | 001110 | |
0EH | 0020000C01 | MBUS=1:存储器内容送数据总线 DRW=1:寄存器写入信号 | EM-R1 | P4测试 | 000001 |
4)SUB R0 R1
SUB指令是一条减法指令
微
程
序 | 微地址 | 微指令 | 控制信号 | 对应操作 | P测试位 | 后续地址 |
01H | 00000410A0 | LIR=1:指令寄存器输入控制 PCINC=1:程序计数器加1 | EM->IR PC+1->PC | P1测试 | 100000 | |
22H | 0009980C01 | ABUS=1 S3-S0=0110:相减 LDC=1:在T3的上升沿将运算得到的进位保存到标志寄存器 LDZ=1:如果运算结果为0,在T3的上升沿,将1写入到Z标志寄存器;如果运算结果不为0,将0保存到Z标志寄存器 DRW=1:在T3上升沿对选中的寄存器进行写操作,将数据总线上的数写入选定的寄存器 | R0-R1->R0 | P4测试 | 000001 |
5)JZ 0BH
JZ指令是一条为0则跳转指令
微
程
序 | 微地址 | 微指令 | 控制信号 | 对应操作 | P测试位 | 后续地址 |
01H | 00000410A0 | LIR=1:指令寄存器输入控制 PCINC=1:程序计数器加1 | EM->IR PC+1->PC | P1测试 | 100000 | |
28H | 0000000212 | 全0 | 无 | P3测试 | 010010 | |
12H | 0000000401 | 全0 | 无 | P4测试 | 000001 |
六、实验体会
自己干吧