计算机组成原理课设计.docx
《计算机组成原理课设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课设计.docx(36页珍藏版)》请在冰豆网上搜索。
计算机组成原理课设计
计算机组成原理课程设计报告
——16位机微程序控制器指令系统的设计与实现
院(系、部):
信息工程学院
小组成员姓名:
x
x
x
x
班级:
x
指导教师:
x
2013年1月16日·北京
目录
一、设计题目..............................................................2
二、设计目的..............................................................2
三、设计说明..............................................................2
四、设计内容..............................................................3
五、任务分工..............................................................4
六、课程设计环境..........................................................4
七、基本指令和扩展指令的执行流程框图......................................4
1.基本指令流程框图.....................................................5
2.扩展指令流程框图.....................................................6
八、基本指令和扩展指令的微程序编码表......................................7
九、基本、扩展指令映射表..................................................10
基本指令入口地址映射表.................................................10
扩展指令入口地址映射表.................................................12
十、指令设计方案及微码写入................................................12
十一、测试程序...........................................................18
在单步方式下,通过指示灯观察各类扩展指令的微码........................18
测试基本指令及ASR扩展指令的程序......................................22
十二、自评................................................................28
十三、遇到的问题及解决方案................................................29
十四、总结................................................................29
一、设计题目
16位机微程序控制器指令系统的设计与实现
二、设计目的
通过看懂教学计算机组合逻辑控制器中已经设计好并正常运行的几条基本指令(例如ADD、MVRR、OUT、MVRD、JR、RET等指令)的功能、格式和执行流程,然后自己设计微程序控制器中的29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确,达到以下目的:
1、深入理解计算机控制器的功能、组成知识和各类典型指令的执行过程;
2、对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;
3、学习微程序控制器的设计过程和相关技术。
三、设计说明
控制器设计是学习计算机总体组成和设计的重要的部分。
要在TEC—2000教学计
算机上完成这项设计,必须清楚懂得:
1、TEC—2000教学机的微程序控制器主要由作为选件的微程序控制器小板和教
学机大板上的7片GAL20V8组成。
2、TEC—2000教学机微程序控制器上要实现的全部基本指令和扩展指令的控制信号
都是由微程序小板上的7片控制存储器给出的。
3、应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写
入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行
扩展指令。
4、要明白TEC—2000教学机支持的指令格式及指令执行流程分组情况;理解TEC
—2000教学机中已经设计好并正常运行的各类指令的功能、格式、执行流程和控制
信号的组成。
5、明确自己要实现的指令格式、功能、执行流程设计中必须遵从的约束条件。
6、为了完成扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正
确的实验内容,具体过程包括:
1)确定指令格式和功能,要受教学机已有硬件的约束,应尽量与已实现指令的格
式和分类办法保持一致;
2)划分指令执行步骤并设计每一步的执行功能,设计节拍状态的取值,应参照已
实现指令的处理办法来完成,特别要注意的是,读取指令的节拍只能用原来已实
现的,其他节拍的节拍状态也应尽可能的与原用节拍的状态保持一致和相近;
3)在指令微程序表中填写每一个控制信号的状态值,注意要特别仔细,并有意识
地体会这些信号的控制作用;
4)将设计好的微码,装入控制存储器的相应单元;
5)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来
初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续
调试,直到完全正确。
四、设计内容
1、完成微程序控制器指令系统设计,主要内容是由学生自己设计29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、运行、调试正确。
2、首先看懂TEC—2000教学计算机的功能部件组成和线路逻辑关系,然后分析教学计算机组合逻辑控制器中已经设计好并正常运行的几条典型指令(例如ADD、MVRR、OUT、MVRD、JRC、RET等指令)的功能、格式和执行流程。
3、设计微程序控制器指令系统中各条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确,例如ADC、STC、JRS、JRNS、LDRX、STRX、JMPR、CALR、LDRA等19条扩展指令。
4、单条运行指令,查看指令的功能、格式和执行流程。
5、用监控程序的A、E(扩展指令必须用E命令置入)命令编写一段小程序,观察运行结果。
五、任务分工
1、x负责设计基本指令的执行流程,画出29条基本指令的执行流程框图和微程序
编码表。
2、x负责设计扩展指令的执行流程,画出1条扩展指令的执行流程框图和微程序
编码表。
3、x负责确定微码各字段与控制存储器各个芯片之间的关系,列表写出各控制存
储器芯片中存储单元的内容,将设计好的微码装入芯片。
4、x负责编写包含所有指令的测试程序,通过运行这些程序检查指令设计是否正确。
六、课程设计环境
1、硬件环境:
PC机一台、TEC—2000实验机一台、微程序控制器实验板一块。
2、软件环境:
(1)Win2000、DOS
(2)TEC—2000仿真终端程序PCEC
(3)TEC—2000监控程序。
七、基本指令和扩展指令的执行流程框图
1、基本指令流程框图
2、扩展指令流程框图
八、基本指令和扩展指令的微程序编码表
基本指令和扩展指令的微程序编码表(十六进制)
指令名
微址
下址
CI3-0
SCC3-0
0MEW
0I2-0
SAI8-6
SBI5-3
B
A
SST
SSHSCI
DC2
DC1
ALL
00FF
00
E
0
4
1
3
1
5
5
0
1
7
0
01FF
00
E
0
4
3
2
0
5
5
0
1
B
0
02FF
00
E
0
1
0
1
0
0
0
0
0
1
0
03FF
00
2
0
4
0
1
0
0
0
0
0
0
0
1AFF
30
3
0
0
4
9
0
0
0
0
0
0
1
1CFF
30
3
0
1
7
3
8
0
0
0
0
0
0
30FF
3A
3
2
4
7
0
0
0
0
0
0
0
3
31FF
02
3
0
4
3
2
0
5
5
0
1
B
0
中断隐指令
3AFF
00
E
0
4
0
1
0
0
0
0
0
7
0
3BFF
00
E
0
4
3
3
1
4
0
0
0
3
0
3CFF
00
E
0
0
4
1
0
0
5
0
0
5
1
3DFF
00
E
0
4
3
3
1
4
0
0
0
3
0
3EFF
00
E
0
0
2
1
0
0
0
0
0
0
1
3FFF
31
3
0
4
7
3
0
5
0
0
0
0
5
ADD
4000
04FF
30
3
0
4
1
B
8
0
0
1
0
0
0
SUB
4001
05FF
30
3
0
4
1
B
9
0
0
1
1
0
0
AND
4002
06FF
30
3
0
4
1
B
C
0
0
1
0
0
0
CMP
4003
09FF
30
3
0
4
1
9
9
0
0
1
1
0
0
XOR
4004
08FF
30
3
0
4
1
B
E
0
0
1
0
0
0
TEST
4005
0AFF
30
3
0
4
1
9
C
0
0
1
0
0
0
OR
4006
07FF
30
3
0
4
1
B
B
0
0
1
0
0
0
MVRR
4007
0BFF
30
3
0
4
4
B
8
0
0
1
0
0
0
DEC
4008
0DFF
30
3
0
4
3
3
9
0
0
1
0
0
0
INC
4009
0CFF
30
3
0
4
3
3
8
0
0
1
1
0
0
SHL
400A
0EFF
30
3
0
4
3
7
8
0
0
6
0
0
0
SHR
400B
0FFF
30
3
0
4
3
5
8
0
0
5
0
0
0
JR
4041
11FF
30
3
0
4
5
3
0
5
5
0
0
0
2
JRC
4044
10FF
30
3
4
4
0
1
0
0
0
0
0
0
0
JRNC
4045
10FF
30
3
4
4
0
1
0
0
0
0
0
0
0
JRZ
4046
10FF
30
3
4
4
0
1
0
0
0
0
0
0
0
JRNZ
4047
10FF
30
3
4
4
0
1
0
0
0
0
0
0
0
JMPA
4080
1EFF
24
3
0
4
3
2
0
5
5
0
1
3
0
LORR
4081
1BFF
00
E
0
4
4
9
0
0
0
0
0
3
0
IN
4082
12FF
14
3
6
4
7
1
0
0
0
0
0
3
2
OUT
4086
12FF
14
3
6
4
7
1
0
0
0
0
0
3
2
13FF
30
3
0
2
3
1
0
0
0
0
0
0
1
14FF
30
3
0
3
7
3
0
0
0
0
0
0
0
STRR
4083
19FF
00
E
0
4
3
1
8
0
0
0
0
3
0
PSH/F
4084
15FF
1A
3
7
4
3
3
1
4
0
0
0
3
0
4085
15FF
1A
3
7
4
3
3
1
4
0
0
0
3
0
16FF
30
3
0
0
0
1
0
0
0
0
0
0
3
POP/F
4087
17FF
1C
3
7
4
3
2
0
4
4
0
1
3
0
408C
17FF
1C
3
7
4
3
2
0
4
4
0
1
3
0
18FF
30
3
0
1
0
1
0
0
0
2
0
0
0
MVRD
4088
1DFF
1C
3
0
4
3
2
0
5
5
0
1
3
0
RET
408F
23FF
00
E
0
4
3
2
0
4
4
0
1
3
0
24FF
30
3
0
1
7
3
0
5
0
0
0
0
0
CALA
40CE
1FFF
00
E
0
4
3
2
0
5
5
0
1
3
0
20FF
00
E
0
1
7
0
0
0
0
0
0
0
0
21FF
00
E
0
4
3
3
1
4
0
0
0
3
0
22FF
30
3
0
0
2
2
0
5
5
0
0
0
1
ADC
4020
50FF
30
3
0
4
1
B
8
0
0
1
2
0
0
SBB
4021
51FF
30
3
0
4
1
B
9
0
0
1
2
0
0
RCL
402A
54FF
30
3
0
4
3
7
8
0
0
6
4
0
0
RCR
402B
55FF
30
3
0
4
3
5
8
0
0
5
4
0
0
ASR
402C
53FF
30
3
0
4
3
5
8
0
0
5
C
0
0
NOT
402D
52FF
30
3
0
4
3
3
F
0
0
1
0
0
0
JMPR
4060
5AFF
30
3
0
4
4
B
0
5
0
0
0
0
0
JRS
4064
69FF
30
3
5
4
0
1
0
0
0
0
0
0
0
JRNS
4065
69FF
30
3
5
4
0
1
0
0
0
0
0
0
0
6AFF
30
3
0
4
5
3
0
5
5
0
0
0
2
CLC
406C
56FF
30
3
0
4
0
1
0
0
0
3
0
0
0
STC
406D
57FF
30
3
0
4
0
1
0
0
0
4
0
0
0
EI
406E
58FF
30
3
0
4
0
1
0
0
0
0
0
6
0
DI
406F
59FF
30
3
0
4
0
1
0
0
0
0
0
7
0
CALR
40E0
64FF
00
E
0
4
3
3
1
4
0
0
0
3
0
65FF
00
E
0
0
4
1
0
0
5
0
0
0
1
66FF
30
3
0
4
4
B
0
5
0
0
0
0
0
LDRA
40E4
5BFF
00
E
0
4
3
2
0
5
5
0
1
3
0
5CFF
1C
3
0
1
7
1
0
0
0
0
0
3
0
LDRX
40E5
5DFF
00
E
0
4
3
2
0
5
5
0
1
3
0
5EFF
1C
3
0
1
5
9
0
0
0
0
0
3
0
STRX
40E6
61FF
00
E
0
4
3
2
0
5
5
0
1
3
0
62FF
00
E
0
1
5
B
0
0
0
0
0
3
0
63FF
30
3
0
0
3
9
0
0
0
0
0
0
1
STRA
40E7
5FFF
00
E
0
4
3
2
0
5
5
0
1
3
0
60FF
1A
3
0
1
7
1
0
0
0
0
0
3
0
IRET
40EF
67FF
00
E
0
4
3
2
0
4
4
0
1
3
0
68FF
23
3
0
1
0
1
0
0
0
2
0
4
0
基本指令和扩展指令的微程序编码表(二进制)
指令名
微址
下址
CI3-0
SCC3-0
0MEW
0I2-0
SAI8-6
SBI5-3
B
A
SST
SSHSCI
DC2
DC1
ALL
00FF
00
1110
0000
0100
0001
0011
0001
0101
0101
0000
0001
0111
0000
01FF
00
1110
0000
0100
0011
0010
0000
0101
0101
0000
0001
1011
0000
02FF
00
1110
0000
0001
0000
0001
0000
0000
0000
0000
0000
0001
0000
03FF
00
0010
0000
0100
0000
0001
0000
0000
0000
0000
0000
0000
0000
1AFF
30
0011
0000
0000
0100
1001
0000
0000
0000
0000
0000
0000
0001
1CFF
30
0011
0000
0001
0111
0011
1000
0000
0000
0000
0000
0000
0000
30FF
3A
0011
0010
0100
0111
0000
0000
0000
0000
0000
0000
0000
0011
31FF
02
0011
0000
0100
0011
0010
0000
0101
0101
0000
0001
1011
0000
中断隐指令
3AFF
00
1110
0000
0100
0000
0001
0000
0000
0000
0000
0000
0111
0000
3BFF
00
1110
0000
0100
0011
0011
0001
0100
0000
0000
0000
0011
0000
3CFF
00
1110
0000
0000
0100
0001
0000
0000
0101
0000
0000
0101
0001
3DFF
00
1110
0000
0100
0011
0011
0001
0100
0000
0000
0000
0011
0000
3EFF
00
1110
0000
0000
0010
0001
0000
0000
0000
0000
0000
0000
0001
3FFF
31
0011
0000
0100
0111
0011
0000
0101
0000
0000
0000
0000
0101
ADD
4000
04FF
30
0011
0000
0100
0001
1011
1000
0000
0000
0001
0000
0000
0000
SUB
4001
05FF
30
0011
0000
0100
0001
1011
1001
0000
0000
0001
0001
0000
0000
AND
4002
06FF
30
0011
0000
0100
0001
1011
1100
0000
0000
0001
0000
0000
0000
CMP
4003
09FF
30
0011
0000
0100
0001
1001
1001
0000
0000
0001
0001
0000
0000
XOR
4004
08FF
30
0011
0000
0100
0001
1011
1110
0000
0000
0001
0000
0000
0000
TEST
4005
0AFF
30
0011
0000
0100
0001
1001
1100
0000
0000
0001
0000
0000
0000
OR
4006
07FF
30
0011
0000
0100
0001
1011
1011
0000
0000
0001
0000
0000
0000
MVRR
4007
0BFF
30
0011
0000
0100
0100
1011
1000
0000
0000
0001
0000
0000
0000
DEC
4008
0DFF
30
0011
0000
0100
0011
0011
1001
0000
0000
0001
0000
0000
0000
INC
4009