計算機組成原理實驗考試樣題spa
1、設計任務 說明:如下藍色的部分要求考生填寫設計
(1)將計組實驗儀上模型機指令系統(8條指令)中的減法指令改成求反指令。調試
(2)在(1)的基礎上擴展兩條指令:減1指令和邏輯或指令。blog
2、 按照設計任務的要求,完成表1指令功能與格式(6分) 內存
表1 指令功能與格式it
名稱table |
助記符基礎 |
功能原理 |
指令格式擴展 |
||
IR7 IR6 IR5 IR4 |
IR3 IR2 |
IR1 IR0 |
|||
求反 |
NOT Rd |
Rd(———) → Rd |
0 0 0 1 |
× × |
Rd1 Rd0 |
減1 |
DEC |
Rd減1→Rd |
1 0 0 0 |
× × |
Rd1 Rd0 |
邏輯或 |
OR |
Rd 或 Rs→Rd |
1 0 0 1 |
Rs1 Rs0 |
Rd1 Rd0 |
注:「減1」和「邏輯或」的操做碼能夠在1000-1111之間。若「減1」使用過的操做碼,則「邏輯或」就不能再用,反之亦然。
3、根據要求完成圖1微程序流程圖,(14分)(注:TEC-5中原來的框圖在圖1中用紅色省略號表示,控制檯微程序流程圖與TEC-5相同,即保持不變)
圖1 微程序流程圖
4、根據圖1微程序流程圖編寫微程序代碼表(15分)
表2 微程序代碼表
微指令 |
ADD |
NOT |
DEC |
OR |
|
|
|
||||||
當前微地址 |
10 |
20 |
11 |
21 |
18 |
22 |
19 |
23 |
|
|
|
|
|
下一微地址 |
20 |
0F |
21 |
0F |
22 |
0F |
23 |
0F |
|
|
|
|
|
P0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
P1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
P2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
備用 |
|
|
|
|
|
|
|
|
|
|
|
|
|
TJ |
|
|
|
|
|
|
|
|
|
|
|
|
|
LDIR |
|
|
|
|
|
|
|
|
|
|
|
|
|
PC+1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
|
|
|
|
LDPC# |
|
|
|
|
|
|
|
|
|
|
|
|
|
AR+1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
LDAR# |
|
|
|
|
|
|
|
|
|
|
|
|
|
LDDR1 |
1 |
|
1 |
|
1 |
|
1 |
|
|
|
|
|
|
LDDR2 |
1 |
|
|
|
|
|
1 |
|
|
|
|
|
|
LDRi |
|
1 |
|
1 |
|
1 |
|
1 |
|
|
|
|
|
SW-BUS# |
|
|
|
|
|
|
|
|
|
|
|
|
|
RS-BUS# |
|
|
|
|
|
|
|
|
|
|
|
|
|
ALU-BUS# |
|
1 |
|
1 |
|
1 |
|
1 |
|
|
|
|
|
RAM-BUS# |
|
|
|
|
|
|
|
|
|
|
|
|
|
CER# |
|
|
|
|
|
|
|
|
|
|
|
|
|
CEL# |
|
|
|
|
|
|
|
|
|
|
|
|
|
LR/W# |
|
|
|
|
|
|
|
|
|
|
|
|
|
Cn# |
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
|
0 |
|
1 |
|
0 |
|
1 |
|
|
|
|
|
S0 |
|
1 |
|
0 |
|
1 |
|
0 |
|
|
|
|
|
S1 |
|
0 |
|
0 |
|
1 |
|
1 |
|
|
|
|
|
S2 |
|
0 |
|
0 |
|
1 |
|
1 |
|
|
|
|
|
S3 |
|
1 |
|
0 |
|
1 |
|
1 |
|
|
|
|
|
注:後綴爲#的信號都是低電平有效信號,爲了在控存EEPROM中用「1」表示有效,這些信號在控制器中通過反相後送往數據通路。
5、根據微指令代碼表編寫控存代碼(17分)
表3 控存代碼表
微地址 |
CM3 |
CM2 |
CM1 |
CM0 |
00 |
00 |
00 |
00 |
48 |
01 |
00 |
00 |
00 |
00 |
02 |
03 |
40 |
04 |
03 |
03 |
00 |
00 |
40 |
02 |
04 |
01 |
08 |
00 |
05 |
05 |
00 |
00 |
44 |
04 |
06 |
00 |
80 |
08 |
07 |
07 |
00 |
10 |
04 |
1E |
08 |
00 |
08 |
20 |
0F |
09 |
00 |
08 |
84 |
04 |
0A |
00 |
08 |
80 |
02 |
0B |
00 |
08 |
A4 |
1D |
0C |
00 |
08 |
A4 |
1E |
0D |
00 |
80 |
0C |
0E |
0E |
00 |
0C |
04 |
1D |
0F |
00 |
80 |
08 |
90 |
10 |
00 |
03 |
00 |
20 |
11 |
00 |
01 |
00 |
21 |
12 |
00 |
03 |
00 |
1A |
13 |
00 |
11 |
80 |
1B |
14 |
00 |
10 |
80 |
1C |
15 |
00 |
00 |
11 |
0F |
16 |
00 |
00 |
14 |
0F |
17 |
00 |
10 |
14 |
0F |
18 |
00 |
01 |
00 |
22 |
19 |
00 |
03 |
00 |
23 |
1A |
B8 |
24 |
10 |
0F |
1B |
01 |
20 |
10 |
0F |
1C |
03 |
44 |
10 |
0F |
1D |
01 |
08 |
00 |
0D |
1E |
01 |
08 |
00 |
06 |
1F |
00 |
10 |
20 |
0F |
20 |
90 |
24 |
10 |
0F |
21 |
08 |
24 |
10 |
0F |
22 |
F0 |
24 |
10 |
0F |
23 |
E8 |
24 |
10 |
0F |
填寫表3,根據表3的數據,用軟件UltraEdit-32編寫以下四個文件:
cm0.bin cm1.bin cm2.bin cm3.bin ,而後經過串口調試助手軟件,將以上四個文件下載到相應的控存芯片上。
6、對機器指令組成的簡單程序(驗證程序)進行手工譯碼(14分)
表4 機器代碼表
內存地址 |
機器指令 |
機器代碼 |
|
二進制 |
十六進制 |
||
00H |
ADD R3,R2 |
00001011B |
0BH |
01H |
OR R1, R0 |
10010001B |
91H |
02H |
NOT R1 |
00010001B |
11H |
03H |
STA R1, [R2] |
00111001B |
39H |
04H |
DEC R0 |
10000000B |
80H |
05H |
OUT R2 |
01111000B |
78H |
06H |
STP |
01100000B |
60H |
7、連線和設置通用寄存器R0、R1、R2、R3及內存單元(10H)的值(10分)
1、將微程序控制器與數據通路聯機,組成一臺模型機。
2、根據表5的數據在模型機上設置通用寄存器R0、R1、R2、R3及(10H)的值
表5 初始通用寄存器和內存單元數據表
R0 |
R1 |
R2 |
R3 |
(10H) |
55H |
AAH |
10H |
07H |
35H |
8、存儲驗證程序機器代碼(7分)
根據表4,將驗證程序的機器代碼存儲到模型機RAM相應的單元中。
9、運行結果(20分+1分)
用單拍方式或連續方式執行一遍程序。執行完程序後,查看通用寄存器R0、R1、R2、R3及(10H)的值並填入下表,最後分析運行結果。
表6 最終通用寄存器和內存單元數據表(實驗結果表)
寄存器號 |
R0 |
R1 |
R2 |
R3 |
(10H) |
理論值 |
54H |
00 H |
10 H |
17 H |
00H |
實驗值 |