计算机系统综合设计 实验四 整机
一、实验目的
1、充分理解模型计算机的设计原理,熟悉各个模块的功能,熟悉图上各信号的意义。
2、掌握计算机主要单元模块的工作原理,将它们组成完整的系统构成一台模型计算机。
3、掌握整机概念。
二、实验原理
1、面板开关
(1)D0-D7 ;数据/地址输入开关。
(2)K8 ;面板指令选择开关。用来选择机器的三种面板指令:“1”运行程序;“ 2” 输入地址或程序;“3”检查内存。
(3)K7-K6 ;单微指令、单指令、连续运行开关。
K7 置“1”,K6 置“0”,单微指令,机器每执行一条微指令就临时停机。
K7 置“0”,K6 置“1”,单指令,机器每执行一条指令就临时停机。
K7,K6 均置“0”,程序连续运行。
(4)A1 ;运行键,按 A1 键,可使机器执行程序。与 K8 配合,还能执行“输入程序”和“检查内存这两条面板指令的功能。
(5)A2 ;地址输入键,与 K8 开关配合,还能执行“输入地址”这条面板指令的功能。
(6)A3 ;总清键,按 A3 键,能立即停止机器指令的执行,清除各有关寄存器,使机器转入初始状态。
2、显示灯
(1)时序灯:M01,M02,M1,M2,M3,M4 ;每闪亮一个循环执行一个机器指令。
(2)总线灯 ;8 位,运行和调试时,显示总线的内容。因为是三态门输出,总线空闲时输出浮空,显示灯全亮。
(3)地址灯 ;8 位,运行和调试时,显示程序的地址。
(4)SA 数据灯 ;8 位,运行和调试时,显示数据 A;运行结束时显示计算的结果。
(5)SB 数据灯 ;8 位,运行和调试时,显示数据 B。
(6)微地址灯 ;11 位,运行和调试时,显示微程序的地址。其中的 A9-A6 还显示指令寄
存器 IR7,IR6,IR5,IR4 的内容。
(7)微指令灯 ;23 位,运行和调试时,显示微指令的位状态。
三、实验步骤
1、预置地址操作
(1)K8 置于 “2”位置,合上 K6,按总清 A3
(2)将地址值置于 D7-D0 数据开关上
(3)按 A2
2、输入程序操作
(1)在完成预置地址的基础上,保持 K8、K6 的状态不变。
(2)将要输入的程序字节置于数据开关上。
(3)按 A1 键,这时输入的内容和单元的地址同时由数据灯和地址灯显示。
(4)如果下一个字节紧接上一单元存放,则回到第(2)步,输入程序的第二个数据,
直到程序全部输入完毕。否则回到“预置地址操作”的第(2)步。重新置地址,再输入程
序。
3、检查内存操作
上面两条指令调试成功后,就可以输入初始地址,用“检查内存”指令对刚才存入的单
元内容进行检查。
(1)将地址值置于 D7-D0 数据开关上。
(2)K8 置于位置“3”,K6 合上。
(3)按 A1,这时被检查单元地址和内容分别由地址灯和数据灯显示。
(4)若顺序检查下一单元内容,重复第(3)步,观察地址灯和数据灯,直到检查完毕。 否则回到第(1)步,重置地址。
4、运行操作
在输入程序、检查内存后,就可以根据以下步骤运行程序。
(1)将要执行的程序入口地址值置于 D7-D0 数据开关上。
(2)置 K8 于位置“1”。根据需要,可合上单微指开关 K7 或合上单指开关 K6,进行单步调试,也可以 K7、K6 全打开,连续运行。
(3)按 A1 键,机器开始执行程序。
(4)如果机器处于单指或单微指运行,则执行一条机器指令或一条微指令后,机器都会自动停机;这时需再次按 A1,每按一次 A1,机器都只执行一条指令或一条微指令。在任何时候按 A3 总清键,机器立即回到初始状态。停机时,地址灯内容为最末执行指令的内存单元地址。
五、验收程序
取反 SA 表演程序操作:
1、预置地址
1) K8 置位置“2” ;置 K8 于“输入”状态。
2) 1K6 ;合 K6,使机器处于单指令运行状态。
3) 按 A3 键 ; A3信号清除相应寄存器,称为“总清”。
4) 01HD7~D0 ;在数据开关上置地址。
5) 按 A2 键 ;A2 信号完成“输入地址”功能。此时,BUS 灯会显示 输入的地址 00000001。
2、输入程序
保持 K8、K6 状态不变
1)01000000 D7~D0 ;在数据开关上置好 IN 指令码。
2)按 A1 键 ;输入 IN 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000001,数据灯显示 IN 指令码 01000000。
3)01000011 D7~D0 ;在数据开关上置好 OUT 指令码。
3)按 A1 键 ;输入 OUT 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000010,数据灯显示 OUT 指令码 01000011。
5)01010000 D7~D0 ;在数据开关上置好 CMA 指令码。
6)按 A1 键 ;输入 CMA 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000011,数据灯显示 CMA 指令码 01010000。
7)01000011 D7~D0 ;在数据开关上置好 OUT 指令码。
8)按 A1 键 ;输入 OUT 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000100,数据灯显示 OUT 指令码 01000011。
9)11010000 D7~D0 ;在数据开关上置好 JMP 指令码。
10)按 A1 键 ;输入 JMP 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000101,数据灯显示 JMP 指令码 11010000。
11)00000001 D7~D0 ;在数据开关上置好 JMP 指令的操作数。
11)按 A1 键 ;输入 JMP 指令操作数到程序存储器。此时,地址灯显示该数据存放的地址 00000110,数据灯显示 JMP 指令码跳转地址 00000001。
3、检查内存
保持 K8、K6 状态不变
1)01HD7~D0 ;在数据开关上置好要查看的地址。
2)按 A2 键 ; A2 信号完成“输入地址”功能。此时,BUS 灯会显示输入的地址 00000001。
3)K8 置位置“3” ;置 K8 于“检查”内存状态。微地灯 A10-A0显示“检查”内存指令微地址100 0011 0000。
4)按 A1 键 ;检查 01H 地址上的数据。此时,地址灯显示该数据存放的地址 00000001。数据灯显示数据 01000000。
4)按 A1 键 ;检查 02H 地址上的数据。此时,地址灯显示该数据存放的地址 00000010,数据灯显示数据 01000011。
5)按 A1 键 ;检查 03H 地址上的数据。此时,地址灯显示该数据存放的地址 00000011,数据灯显示数据 01010000。
6)按 A1 键 ;检查 04H 地址上的数据。此时,地址灯显示该数据存放的地址00000100,数据灯显示数据 01000011。
7)按 A1 键 ;检查 05H 地址上的数据。此时,地址灯显示该数据存放的地址 00000101,数据灯显示数据 11010000。
8)按 A1 键 ;检查 06H 地址上的数据。此时,地址灯显示该数据存放的地址{00000110},数据灯显示数据 00000001。;因为本程序只用到了 01~06,共 6 个存储单元,此时全部检查完毕。
4、运行程序
1) K8 置位置“2” ;置 K8 于“输入”状态。微地灯 A10-A0显示“输入”面 板指令微地址 100 0010 0000。
2)1K6 ;合上 K6,为单指令运行状态。
3)按 A3 键 ;总清,清除地址灯和数据灯和其它寄存器。
4)01HD7~D0 ;在数据开关上置好地址。
5)按 A2 键 ;完成“输入地址”功能。BUS 灯显示输入的地址 00000001,微地灯 A10-A0显示“输入”面 板指令微地址 100 0001 0000。
6)K8 置位置“1” ;K8 拨到“运行”程序状态。微地灯 A10-A0显示“运行”面板指令微地址000 0000 0000。
7)00011010 D7~D0 ;在数据开关上置好表演数据 00011010。(可以自行设定)
9)按 A1 键 ;执行“IN”指令。读入数据 00011010,此时, 地址灯显示 00000001。
10)按 A1 键 ;执行“OUT”指令。此时,地址灯显示 00000010,SA 灯显示 00011010。
11)按 A1 键 ;执行“CMA”指令。此时,AD 灯显示 00000011,SA 灯显示00011010。
12)按 A1 键 ;执行“OUT”指令。此时,地址灯显示 00000100,SA 灯显示 11100101。
13)按 A1 键 ;执行“JMP 1”指令。 继续按 A1 键,循环执行程序,数据 00011010 不断反复取反
左移 SA 表演程序操作:
1、预置地址
1) K8 置位置“2” ;置 K8 于“输入”状态。
2) 1K6 ;合 K6,使机器处于单指令运行状态。
3) 按 A3 键 ; A3信号清除相应寄存器,称为“总清”。
4) 00HD7~D0 ;在数据开关上置地址。
5) 按 A2 键 ;A2 信号完成“输入地址”功能。此时,BUS 灯会显示 输入的地址 00000000。
2、输入程序
保持 K8、K6 状态不变
1)01000000 D7~D0 ;在数据开关上置好 IN 指令码。
2)按 A1 键 ;输入 IN 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000000,数据灯显示 IN 指令码 01000000。
3)01000011 D7~D0 ;在数据开关上置好 OUT 指令码。
3)按 A1 键 ;输入 OUT 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000001,数据灯显示 OUT 指令码 01000011。
5)11000000 D7~D0 ;在数据开关上置好 SHL 指令码。
6)按 A1 键 ;输入 SHL 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000010,数据灯显示 SHL 指令码 11000000。
7)11011100 D7~D0 ;在数据开关上置好 JCN 指令码。
7)按 A1 键 ;输入 JCN 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000011,数据灯显示 JCN 指令码 11011100。
9)00000111 D7~D0 ;在数据开关上置好 JCN 指令的操作数。
10)按 A1 键 ;输入 JCN 指令操作数到程序存储器。此时,地址灯显示该数据存放的地址00000100,数据灯显示 JCN 指令码 00000111。
11)11010000 D7~D0 ;在数据开关上置好 JMP 指令码。
11)按 A1 键 ;输入 JMP 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000101,数据灯显示 JMP 指令码 11010000。
13)00000001 D7~D0 ;在数据开关上置好 JMP 指令的操作数。
14)按 A1 键 ;输入 JMP 指令操作数到程序存储器。此时,地址灯显示该数据存放的地址 00000110,数据灯显示 JMP 指令码跳转地址 00000001。
15)00000011 D7~D0 ;在数据开关上置好 INR 指令码。
15)按 A1 键 ;输入 INR 指令码到程序存储器。此时,地址灯显示该数据存放的地址00000111,数据灯显示 INR 指令码 00000011。
17)11010000 D7~D0 ;在数据开关上置好 JMP 指令码。
18)按 A1 键 ;输入 JMP 指令码到程序存储器。此时,地址灯显示该数据存放的地址00001000,数据灯显示 JMP 指令码 11010000。
19)00000001 D7~D0 ;在数据开关上置好 JMP 指令的操作数。
19)按 A1 键 ;输入 JMP 指令操作数到程序存储器。此时,地址灯显示该数据存放的地址 00001001,数据灯显示 JMP 指令码跳转地址 00000001。
3、检查内存
保持 K8、K6 状态不变
1)00HD7~D0 ;在数据开关上置好要查看的地址。
2)按 A2 键 ; A2 信号完成“输入地址”功能。此时,BUS 灯会显示输入的地址 00000000。
3)K8 置位置“3” ;置 K8 于“检查”内存状态。微地灯 A10-A0显示“检查”内存指令微地址100 0011 0000。
4)按 A1 键 ;检查 01H 地址上的数据。此时,地址灯显示该数据存放的地址 00000000。数据灯显示数据 01000000。
4)按 A1 键 ;检查 02H 地址上的数据。此时,地址灯显示该数据存放的地址 00000001,数据灯显示数据 01000011。
5)按 A1 键 ;检查 03H 地址上的数据。此时,地址灯显示该数据存放的地址 00000010,数据灯显示数据 11000000。
6)按 A1 键 ;检查 04H 地址上的数据。此时,地址灯显示该数据存放的地址00000011,数据灯显示数据 11011100。
7)按 A1 键 ;检查 05H 地址上的数据。此时,地址灯显示该数据存放的地址 00000100,数据灯显示数据 00000111。
8)按 A1 键 ;检查 06H 地址上的数据。此时,地址灯显示该数据存放的地址00000101,数据灯显示数据 11010000。
9)按 A1 键 ;检查 04H 地址上的数据。此时,地址灯显示该数据存放的地址00000110,数据灯显示数据 00000001。
10)按 A1 键 ;检查 05H 地址上的数据。此时,地址灯显示该数据存放的地址 00000111,数据灯显示数据 00000011。
11)按 A1 键 ;检查 06H 地址上的数据。此时,地址灯显示该数据存放的地址00001000,数据灯显示数据 11010000。
12)按 A1 键 ;检查 04H 地址上的数据。此时,地址灯显示该数据存放的地址00001001,数据灯显示数据 00000001。
因为本程序只用到了 01~10,共 10 个存储单元,此时全部检查完毕。
4、运行程序
1) K8 置位置“2” ;置 K8 于“输入”状态。微地灯 A10-A0显示“输入”面 板指令微地址 100 0010 0000。
2)1K6 ;合上 K6,为单指令运行状态。
3)按 A3 键 ;总清,清除地址灯和数据灯和其它寄存器。
4)00HD7~D0 ;在数据开关上置好地址。
5)按 A2 键 ;完成“输入地址”功能。BUS 灯显示输入的地址 00000000,微地灯 A10-A0显示“输入”面 板指令微地址 100 0001 0000。
6)K8 置位置“1” ;K8 拨到“运行”程序状态。微地灯 A10-A0显示“运行”面板指令微地址000 0000 0000。
7)00011010 D7~D0 ;在数据开关上置好表演数据 00011010。
8)按 A1 键 ;执行“IN”指令。读入数据 00011010,此时, 地址灯显示 00000000。
9)按 A1 键 ;执行“OUT”指令。此时,地址灯显示 00000001,SA 灯显示 00011010。
10)按 A1 键 ;执行“SHL”指令。此时,AD 灯显示 00000010,SA 灯显示00011010。
11)按 A1 键 ;执行“JCN 7”指令。 此时,地址灯显示 00000100,SA 灯显示 00000101。
15)按 A1 键 ;执行“INR A”指令。此时,AD 灯显示 00000111,SA 灯显示00110100。
16)按 A1 键 ;执行“JMP 1”指令。此时,地址灯显示 00001000,SA 灯显示 00110100。
17)执行“JMP 1”指令。 此时,地址灯显示 00001001,SA 灯显示 00110100。