一、实验类型
本实验为原理型+分析型
二、实验目的
(1)熟悉TEC-8模型计算机的数据通路结构
(2)掌握数据通路中各控制信号的作用和用法
(3)掌握数据通路中数据流动的路径
三、实验设备
(1)TEC-8实验系统
四、实验电路
(1)数据通路实验电路框图
(2)数据通路控制信号和数据信号(包含两部分:运算器和存储器)
运算器的控制信号和数据信号如下所示:
运算功能 | 数据来源选择 | 运算结果处理 | 数据指示灯 | |||||||||
M | S3-S0 | RD1-0 | RS1-0 | CIN | SBUS | LDC | LDZ | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 |
1-逻辑运算 0-算术运算 | 算术加/减 逻辑与/或 | 选择送往A端口的寄存器 | 选择送往B端口的寄存器 | 低进位输入 | 开关数据送往DBUS | 保存C标志 | 保存Z标志 | 在T3上升沿写入RD1-RD0指定寄存器 | ALU运算结果送往DBUS | 数据总线DBUS上的数据 | ALU A端口数据 | ALU B端口数据 |
存储器的控制信号和数据信号如下所示:
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | D7-D0 | AR7-AR0 | PC7-PC0 | INS7-INS0 |
开关数据送往DBUS | =1时,RAM左端口数据送DBUS | =1时,DBUS数据写入RAM左端口 | =1时,DBUS数据写入AR | =1时,AR自 加1 | =1时,DBUS数据写入PC | =1时,PC自 加1 | =1时,PC+IR低4位 | =1时,右端口数据写入IR | 数据总线DBUS上的数据 | RAM左端口地址 | RAM右端口地址 | RAM右端口读出的数据 |
注意:上述两个表格中,SBUS是同一个控制信号。
(3)操作模式
操作模式 DP SWC SWB SWA | 实验功能 |
1 0 0 0 | 启动程序运行 |
1 0 0 1 | 写存储器 |
1 0 1 0 | 读存储器 |
1 0 1 1 | 读寄存器 |
1 1 0 0 | 写寄存器 |
1 1 0 1 | 运算器组成实验 |
1 1 1 0 | 双端口存储器实验 |
1 1 1 1 | 数据通路实验 |
五、实验要求
(1)熟悉TEC-8模型计算机的数据通路及各种操作下数据流动路径和流动方向。
(2)做好实验预习,按要求预先填写实验步骤中各表格。
六、实验任务
(1)给R0-R3赋值(比如75H、28H、89H和32H)
(2)将R0-R3依次写入存储器20H-23H单元中(也可以是其他地址)
(3)将存储器20H-23H单元中的数据依次从内存读出,并写入R3-R0
七、实验步骤(参见教材第十章相应实验)
A. 微程序控制器方式
(1)将控制器转换开关拨到下方微程序位置,将编程开关设置为正常位置,将开关DP拨到向上位置。打开电源。
(2)进行通用寄存器和存储器的读、写实验(操作模式设为1111)
在微程序控制器方式下,计算机的操作依次为:
复位 → 设置R0 → 设置R1 → 设置R2 → 设置R3 → 设置PC和AR → 将R0写入内存 → 将R1写入内存 →将R2写入内存 →将R3写入内存 → 重新设置PC和AR→读内存到R3 → 读内存到R2 → 读内存到R1 → 读内存到R0
a) 按下CLR复位键,注意此时uA5-uA0全灭,再按QD键。
b) 请预先填写下表内容,在实验箱上验证所写信号是否正确。如果不一致,请分析原因。按QD结束每个操作。(表中需写出每个操作步骤相关控制信号的0/1取值,并解释该步骤所执行的操作、实验现象,只需写出并解释与相应操作相关的控制信号和数据信号)
表1 微程序控制方式下数据通路实验(操作模式设为1111)
第一步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
开关设置R0 | 0FH | 0 | 0000 | 00 | 01 | 1 | 0 | 75H | 70H | 00H | 00H | 00H | 00H | 00H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 00H | 00H | ABH | |||
第二步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
开关设置R1 | 32H | 0 | 0000 | 01 | 00 | 1 | 0 | 28H | 00H | 75H | 75H | 00H | 00H | 00H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 00H | 00H | ABH | |||
第三步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
开关设置R2 | 33H | 0 | 0000 | 10 | 01 | 1 | 0 | 89H | 00H | 28H | 75H | 28H | 00H | 00H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 00H | 00H | ABH | |||
第四步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
开关设置R3 | 34H | 0 | 0000 | 11 | 10 | 1 | 0 | 32H | 0FH | 89H | 75H | 28H | 89H | 00H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 00H | 00H | ABH | |||
实验操作及现象解释: 实验操作:将数75H写到寄存器 R0,数28H写到 R1,数89H写到R2,数32H写到R3。指示灯uA5~uA0显示0FH。在数据开关SD7~SD0上设置数75H。在数据总线 DBUS 指示灯D7~ D0上可以看到数设置得正确不正确,发现错误需及时改正。数设置正确后,按一次 QD 按钮,将SD7~SD0上的数写入寄存器R0,进入下一步。 依照写 R0的方式,在指示灯 uAS ~uA0显示32H时,将数28H写入 R1,在指示灯B7~B0观测寄存器 R0的值;在指示灯 uA5 ~uA0显示33H时,将数89H写入R2,在指示灯B7~ B0上观测R1的值;在指示灯 uAS ~uA0显示34H时,将数32H写入R3,在指示灯B7~ B0上观测R2的值。 现象解释: ①M=0、S3-S0=0:设置R0-R3的值时不需要用到74181,所以它的信号灯都为0 ②DRW=1:表示可以将数据总线的值写入寄存器中 ③ABUS=0:禁止将运算结果送往DBUS ④D7-D0:显示数据总线的值 ⑤A7-A0:显示A端口的值 ⑥B7-B0:显示B端口的值 ⑦SBUS=1:表示数据开关打开,将数据送入DBUS ⑧MBUS=0 MEMW=0 LAR=0 ARINC=0 LPC=0 PCINC=0 PCADDR=0 LIR=0 AR7-0=00H PC7-0=00H INS7-0=~:还没用到存储器,属于它的信号都为0,INS7-0为任意值,无意义。 ⑨RD1-0:设置A端口要读取哪个寄存器 ⑩RS1-0:设置B端口要读取哪个寄存器 |
第五步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
开关设置PC和AR初值 | 35H | 0 | 0000 | 00 | 11 | 0 | 0 | 20H | 75H | 32H | 75H | 28H | 89H | 32H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 00H | 00H | ABH | |||
实验操作及现象解释: 实验操作:指示灯uA5~uA0显示35H。此时指示B7~B0显示奇仔器R3的值。在数据开关SD7~SD0上设置地址20H。在数据总线 DBUS 指示灯D7~D0上可以看到地址设置得正确不正确。地址设置正确后,按一次 QD 按钮,将SD7~SD0上的地址写入地址寄存器AR7~AR0,进入下一步。 现象解释: ①M=0、S3-S0=0:设置R0-R3的值时不需要用到74181,所以它的信号灯都为0; ②RD1-0:设置A端口要读取哪个寄存器 ③RS1-0:设置B端口要读取哪个寄存器 ④D7-D0:显示数据总线的值 ⑤A7-A0:显示A端口的值 ⑥B7-B0:显示B端口的值 ⑦ABUS=0:禁止将运算结果送往DBUS ⑧DRW=0: ⑨SBUS=1: ⑩MBUS=MEMW=0:RAW禁止读写
|
第六步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
将R0写入内存 | 36H | 1 | 1010 | 00 | 00 | 0 | 1 | 75H | 75H | 75H | 75H | 28H | 89H | 32H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 20H | 20H | 72H | |||
第七步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
将R1写入内存 | 37H | 1 | 1010 | 00 | 01 | 0 | 1 | 28H | 75H | 28H | 75H | 28H | 89H | 32H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 21H | 20H | 75H | |||
第八步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
将R2写入内存 | 38H | 1 | 1010 | 00 | 10 | 0 | 1 | 89H | 75H | 89H | 75H | 28H | 89H | 32H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 22H | 21H | 28H | |||
第九步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
将R3写入内存 | 39H | 1 | 1010 | 00 | 11 | 0 | 1 | 32H | 75H | 32H | 75H | 28H | 89H | 32H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 23H | 22H | 89H | |||
实验操作及现象解释: 实验操作:指示灯uA5~uA0显示36H。此时指ボ灯AR7~AR0和PC7~PC0分别显示出存储左、右两个端口的存储器地址。指示灯 A 7~A0、B7~B0和D7~D0都显示寄存器R0的值。按一次 QD 按钮,将R0中的数写入存储器20H单元,进入下一步。 依照此法,在指示灯uA5~uA0显示37H时,将R1中的数写入存储器21H单元,在NS7~ INS0上观测存储器20H单元的值;在指示灯uA5~LA0显示38H时,将R2中的数写入存储器22H单元,在NS7~INS0上观测存储器21H单元的值;在指示灯uA5~uA0显示39H时,将R3中的数写入存储器23H单元,在INS7~INS0上观测存储器22H单元的值。 现象解释: ①M=1、S3-S0=1010、ABUS=1:将B端口的数据送出ALU,进入DBUS ②RD1-0、RS1-0:分别设置A、B端口要读取哪个寄存器中的值 ③DRW=0、SBUS=0:禁止输入 ④D7-D0、A7-A0、B7-B0:分别显示数据总线的值、A端口的值、B端口的值 ⑤MBUS=0、MEMW=1:RAM接收DBUS中的数据 ⑥LAR=0、APINC=1,LPC=0、PCINC=1:AR和PC均不接受来自DBUS的数据,且当操作员按下QD按钮时两者都按+1自增 ⑦LIR=0:不用IR寄存器 ⑧AR0-AR7、PC7-PC0、INS7-INS0:分别显示RAW左端、右端地址和右端口读出的数据 |
第十步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
重新开关设置PC和AR初值 | 3AH | 0 | 0000 | 00 | 11 | 0 | 0 | 20H | 75H | 32H | 75H | 28H | 89H | 32H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 24H | 23H | 32H | |||
实验操作及现象解释: 实验操作:指示灯uA5~uA0显示3AH。此时指示灯PC7~PC0显示23H,INS7~INS0显示存储器23H单元中的数。在数据开关SD7~SD0上设置地址20H。按一次 QD 按钮,将地址20H写入地址寄存器 AR 和程序计数器 PC ,进入下一步。 现象解释: ①M=0、S3-S0=0:此时不需要用到74181,所以它的信号灯都为0; ②RD1-0、RS1-0:分别设置A、B端口要读取哪个寄存器 ③D7-D0、A7-A0、B7-B0:分别显示数据总线、A端口、B端口的值 ④ABUS=0:禁止将运算结果送往DBUS ⑤DRW=0:关闭R3-R0寄存器 ⑥SBUS=1:允许外界数据写入DBUS ⑦MBUS=MEMW=0:关闭RAM ⑧LAR=1、LPC=0、ARINC=PCINC=0:DBUS数据写入AR,AR和PC不自加1;这里PC写入数据失败,从而导致后继步骤的PC7-PC0和INS7-INS0的值都不变,可能是机子有点问题 ⑨LIR=0:IR寄存器不使用 ⑩AR0-AR7、PC7-PC0、INS7-INS0:分别显示RAW左端、右端地址和右端口读出的数据 |
第十一步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
读内存到R3 | 3BH | 0 | 0000 | 11 | 00 | 1 | 0 | 75H | 32H | 75H | 75H | 28H | 89H | 32H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 20H | 23H | 32H | |||
第十二步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
读内存到R2 | 3CH | 0 | 0000 | 10 | 11 | 1 | 0 | 28H | 89H | 75H | 75H | 28H | 89H | 75H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 21H | 23H | 32H | |||
第十三步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
读内存到R1 | 3DH | 0 | 0000 | 01 | 10 | 1 | 0 | 89H | 28H | 28H | 75H | 28H | 28H | 75H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 22H | 23H | 32H | |||
第十四步操作 | uA5-0 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 |
读内存到R0 | 3EH | 0 | 0000 | 00 | 01 | 1 | 0 | 32H | 75H | 89H | 75H | 89H | 28H | 75H |
SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCINC | PCADDR | LIR | AR7-0 | PC7-0 | INS7-0 | |||
0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 23H | 23H | 32H | |||
实验操作及现象解释: 实验操作(正常情况下):将存储器20H、21H、22H和23H单元中的数依次写入寄存器R3、R2、 RI 和R0。 指示灯uA5~uA0显示3BH。此时指示灯AR7~ AR0和PC7~ PC0 显示20H,指示灯D7~D0和INS7~INS0同时显示存储器20H中的数,按一次 QD 按钮,将存储器20H单元中的数写入寄存器R3,进入下一步。 依照此法,在指示灯uA5~uA0显示3CH时,将存储器2IH单元中的数写入寄存器R2,在指示灯B7~ BO 上观测R3的值;在指示uA5 ~uA0显示3DH时,将存储器22H单元中的数写入寄存器 R1,在指示灯B7~ BO 上观测R2的值;在指示灯uA5~uA0显示3EH时,将存储器23H单元中的树写入寄存器R0,在指示灯B7-B0上观测R1的值。 现象解释: ①M=0、S3-S0=0:此时不需要用到74181,所以它的信号灯都为0; ②RD1-0、RS1-0:分别设置A、B端口要读取哪个寄存器 ③D7-D0、A7-A0、B7-B0:分别显示数据总线、A端口、B端口的值 ④ABUS=0:禁止将运算结果送往DBUS ⑤DRW=1:打开R3-R0寄存器,允许写入 ⑥SBUS=0:不允许外界数据写入DBUS ⑦MBUS=1、MEMW=0:RAM向DBUS输出数据 ⑧LAR=0、LPC=0,ARINC=1、PCINC=0:不允许DBUS数据写入AR和PC,AR自加1、PC不自加1 ⑨LIR=0:IR寄存器不使用 ⑩AR0-AR7、PC7-PC0、INS7-INS0:分别显示RAW左端、右端地址和右端口读出的数据 |
B. 独立方式
(1)先将电平控制开关K15-K0与运算器、存储器的各控制信号连接好,若开关不够,可用实验箱上的GND/VCC提供低电平0/高电平1。
将控制器转换开关拨到中间“独立”位置,将编程开关设置为正常位置,将开关DP拨到向上位置。打开电源。
(2)在模型机上完成0FFH和01H相加,并把运算结果存入内存30H单元。请写出操作过程,并说明每个操作步骤所需的控制信号以及数据的流向。以下操作序列仅供参考。
请预先填写下表内容,在实验箱上验证所写信号是否正确。如果不一致,请分析原因。按QD结束每个操作。(只需写出并解释与相应操作相关的控制信号和数据信号)
第一步和第二步:设置两个操作数
操作 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCADDR | LIR |
所接开关 | K10-K9 | K8-K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | K14 | K13 | K12 | ||
开关设置R0值0FFH | 00 | 00 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 | AR7-0 | PC7-0 | INS7-0 | |||||
FFH | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | |||||
操作 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCADDR | LIR |
所接开关 | K10-K9 | K8-K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | K14 | K13 | K12 | ||
开关设置R1值01H | 01 | 00 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 | AR7-0 | PC7-0 | INS7-0 | |||||
01H | ~ | FFH | FFH | ~ | ~ | ~ | ~ | ~ | ~ | |||||
实验操作及现象解释: ABUS置0,则ALU等价于关闭,可以将74LS181的开关分配给存储器,否则不够用; 这时不需要存储器,则把与存储器相关的开关都置0; 设DRW=1、SBUS=1:允许将外界数据输入寄存器中; 设RD1-0=00:将数据写入R0寄存器。 |
第三步:执行加法
操作 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCADDR | LIR |
所接开关 | K15 | K14-K11 | K10-K9 | K8-K7 | K6 | K5 | K1 | K4 | K3 | K2 | K0 | |||
R1+R0→R1 | 0 | 1001 | 01 | 00 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 | AR7-0 | PC7-0 | INS7-0 | |||||
00H | FFH | 01H | FFH | 01H | ~ | ~ | ~ | ~ | ~ | |||||
实验操作及现象解释: 将ALU运算器设置为加法模式并允许将结果送入DBUS; 设置A端口取R1的值同时也设置了将加法运算结果放入R1中,B端口取R0的值; 设DRW=1、ABUS=1:将加法结果送往寄存器; 设SBUS=0:不接收外界数据; 与存储器相关的控制信号都置0。 |
第四步:设置内存地址
操作 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCADDR | LIR |
所接开关 | K15-K14 | K13-K12 | K11 | K12 | K10 | K9 | K8 | K7 | K6 | K5 | K4 | K3 | ||
开关设置AR初值30H | 10 | 00 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | ||
D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 | AR7-0 | PC7-0 | INS7-0 | |||||
30H | 00H | FFH | FFH | 00H | ~ | ~ | ~ | ~ | ~ | |||||
实验操作及现象解释: 与运算器有关的控制信号都可以设置为0;打开AR;关闭RAM。 |
第五步:写入内存
操作 | M | S3-S0 | RD1-0 | RS1-0 | DRW | ABUS | SBUS | MBUS | MEMW | LAR | ARINC | LPC | PCADDR | LIR |
所接开关 | K15 | K14-K11 | K10-K9 | K8 | K7 | K6 | K5 | K4 | K3 | K2 | K1 | K0 | ||
R1→(30H) | 1 | 1010 | ~ | 01 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | |
D7-D0 | A7-A0 | B7-B0 | R0 | R1 | R2 | R3 | AR7-0 | PC7-0 | INS7-0 | |||||
00H | ~ | 00H | FFH | 00H | ~ | ~ | 30H | ~ | ~ | |||||
实验操作及现象解释: 将ALU设置成将B端口数据送往DBUS;R3-R0设置禁止写入,SBUS=0禁止外界数据输入; MBUS=0、MEMW=1:RAM可写;AR禁止写入地址。 |
八、思考题
(1)TEC-8模型计算机的数据通路包含哪些部分?包含哪些控制信号?各控制信号的作用是什么?
答:数据通路包括:①运算器部分:SD7~SD0、DBUS、A7~A0、B7~B0
②存储器部分:AR7~AR0、PC7~PC0、INS7~INS7、IR3~IR0
控制器信号如下:
- M、S3、S2、S1、S0:控制74181的算术逻辑运算类型
- RD1-0:选择送往A端口的寄存器
- RS1-0:选择送往B端口的寄存器
- DRW:为1时,在T3上升沿对RD1、RD0选中的寄存器进行写操作,将数据总线 DBUS 上的数D7~D0写入选定的寄存器。
- ABUS:为1时,算结果送数据总线 DBUS,当它为0时,禁止运算结果送数据总线 DBUS。
- SBUS:当它为1时,将开关数据送数据总线DBUS,当它为0时,禁止开关数据送数据总线 DBUS
- MBUS:=1时,RAM左端口数据送DBUS
- MEMW:=1时,DBUS数据写入RAM左端口
- LPC:=1时,DBUS数据写入PC
- PCINC:=1时,PC自 加1
- LAR :=1时,DBUS数据写入AR
- ARINC: =1时,AR自 加1
- SBUS:开关数据送往DBUS
- SETCTL:当它为1时,TEC -8实验系统处于实验台状态;当它为0时,TEC-8实验系统处于运行程序状态。
- 在实现“在模型机上完成0FFH和01H相加,并把运算结果存入内存30H单元”时,上述方案用了5个步骤,能否只使用4个步骤来实现该要求?可如何实现?
答:我觉得能;实现方法如下:
在第三步,R1+R0—>R1时,同时R1+R0—>RAM。此时设置MBUS=0、MEMW=1,然后进行下一步即可,省略了第五步。