计算机组成原理课程设计.docx
- 文档编号:24319688
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:39
- 大小:351.73KB
计算机组成原理课程设计.docx
《计算机组成原理课程设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计.docx(39页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计
课程设计
项目名称:
TEC2000十六位机微程序设计
课程名称:
计算机组成原理
班级:
姓名:
学号:
教师:
马莉秦彩云杜天苍
信息工程学院计算机系
一、设计题目
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)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。
四、设计内容
完成微程序控制器指令系统的设计,设计29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、运行、调试正确。
五、设计步骤
1.确定指令功能与格式,受教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致
2.划分指令执行步骤并设计每一步的执行功能,画出指令执行流程框图
3.分配微指令地址
4.设计微指令内容,填写指令微程序表中每一个控制信号的状态值,注意要特别仔细,并有意识地体会这些信号的控制作用;
5.把新微指令写入控存
6.需要时修改MAPROM
7.编写包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。
六、组分工及任务分配
每组四名同学,任务分配或分工为:
1、魏佳负责设计15条基本指令的执行流程,画出15条基本指令的执行流程框图和微程序编码表。
2、郑智慧负责设计14条基本指令和2条扩展指令的执行流程,画出14条基本指令和2条扩展指令的执行流程框图和微程序编码表。
3、张明璐负责确定微码各字段与控制存储器各个芯片之间
的关系,列表写出各控制存储器芯片中存储单元的内容,将设计好的微码装入芯片。
4、武昊负责编写包含所有指令的测试程序,通过运行这些程序检查指令设计是否正确。
七、度安排
第17周周一上午课程设计动员
周一下午~周五
(1)熟悉汇编及软硬件环境
(2)基本指令设计
(3)扩展指令设计
(4)编写测试程序。
第18周
(1)微指令写入芯片,运行
周一~周四
(2)测试程序,调试指令。
(3)编写课程设计报告。
第18周周五上午验收和答辩总结。
八、程设计环境
1、硬件环境:
PC机一台、TEC—2000实验机一台、微程序控制器实验板一块。
2、软件环境:
(1)Win2000、DOS
(2)TEC—2000仿真终端程序PCEC
(3)TEC—2000监控程序。
九、件设计方案
1.将设计好的微码写入控制存储器。
一次只对一片28C64控制存储器芯片进行读写,该芯片可插在扩展芯片的高位或低位,若插在高位,输入时信号编码为高八位,低八位补零;若插在低位,输入时信号编码为低八位,高位补零。
若一次扩展两片28C64控制器芯片,要注意信号要与产生该信号的芯片相对。
将扩展新片的内存单元地址置为4000~5FFF,将MAPROM插入扩展芯片的位置,微程序入口地址对应的内存单元的地址为芯片的起始地址和该指令的编码值之和。
具体操作如下:
E4000
400000FF:
0400FF:
0500FF:
0600FF:
0900FF:
08
00FF:
0A00FF:
0700FF:
0B00FF:
0D00FF:
0C
00FF:
0E00FF:
0F
E4020
402000FF:
50
E4041
404100FF:
11
E4044
404400FF:
1000FF:
1000FF:
1000FF:
10
E4080
408000FF:
1E00FF:
1B00FF:
1200FF:
1900FF:
15
00FF:
1500FF:
1200FF:
1700FF:
1D
E408C
408C00FF:
1700FF:
00FF:
00FF:
23
E40CE
40CE00FF:
1F
将MPROM1~MPROM7依次插入扩展芯片的位置对其编程,内存单元的地址为芯片的起始地址和该指令操作功能所对应的微址之和,操作如下:
MPROM1产生下址信号,MPROM2产生CI3~0、SCC3~0信号
对MPROM1-2的操作为:
MPROM1在高位MPROM2在低位
E4000
400000FF:
00E000FF:
00E000FF:
00E000FF:
0020
00FF:
303000FF:
303000FF:
303000FF:
3030
00FF:
303000FF:
303000FF:
303000FF:
3030
00FF:
303000FF:
303000FF:
303000FF:
3030
00FF:
303400FF:
303000FF:
143600FF:
3030
00FF:
303000FF:
1A3700FF:
303000FF:
1C37
00FF:
303000FF:
00E000FF:
303000FF:
00E0
00FF:
303000FF:
1C3000FF:
243000FF:
00E0
00FF:
00E000FF:
00E000FF:
303000FF:
00E0
00FF:
3030
E4030
403000FF:
3A3200FF:
0230
E4050
405000FF:
3030
MPROM3产生0MRW、0I2~0信号,MPROM4产生SAI8~I6、SBI5~I3信号,
对MPROM3-4的操作为:
MPROM3在高位MPROM4在低位
E4000
400000FF:
413100FF:
432000FF:
101000FF:
4010
00FF:
41B800FF:
41B900FF:
41BC00FF:
41BB
00FF:
41BE00FF:
419900FF:
419C00FF:
44B8
00FF:
433800FF:
433900FF:
437800FF:
4358
00FF:
401000FF:
453000FF:
471000FF:
2310
00FF:
373000FF:
433100FF:
001000FF:
4320
00FF:
101000FF:
431800FF:
049000FF:
4490
00FF:
173800FF:
432000FF:
432000FF:
4320
00FF:
170000FF:
433100FF:
022000FF:
4320
00FF:
1730
E4030
403000FF:
470000FF:
4320
E4050
00FF:
41B8
MPROM5产生B口、A口信号,MPROM6产生0SST、SSHSCI信号,
对MPROM5-6的操作为:
MPROM5在高位MPROM6在低位
E4000
400000FF:
550100FF:
550100FF:
000000FF:
0000
00FF:
001000FF:
001100FF:
001000FF:
0010
00FF:
001000FF:
001100FF:
001000FF:
0010
00FF:
001100FF:
001000FF:
006000FF:
0050
00FF:
000000FF:
550000FF:
000000FF:
0000
00FF:
000000FF:
400000FF:
000000FF:
4401
00FF:
002000FF:
000000FF:
000000FF:
0000
00FF:
000000FF:
550100FF:
550100FF:
5501
00FF:
000000FF:
400000FF:
550000FF:
4401
00FF:
5000
E4030
403000FF:
000000FF:
5501
E4050
405000FF:
0012
MPROM7产生DC2、DC1信号,对MPROM7的操作为:
E4000
400000FF:
7000FF:
B000FF:
1000FF:
00
00FF:
0000FF:
0000FF:
0000FF:
00
00FF:
0000FF:
0000FF:
0000FF:
00
00FF:
0000FF:
0000FF:
0000FF:
00
00FF:
0000FF:
0200FF:
3200FF:
01
00FF:
0000FF:
3000FF:
0300FF:
30
00FF:
0000FF:
3000FF:
0100FF:
30
00FF:
0000FF:
3000FF:
3000FF:
30
00FF:
0000FF:
3000FF:
0100FF:
30
00FF:
00
E4030
403000FF:
0300FF:
0B
E4050
405000FF:
00
十、本指令和扩展指令的执行流程框图
1.基本指令流程框图
2.扩展指令流程框图
3.TEC-200016位机扩展指令系统
4.微指令格式分析
下地址
CI3~CI0
SCC
0MRW
0I2~I0
SAI8~I6
SBI5~I3
B口
A口
0SST
SSHSCI
DC2
DC1
8
4
4
4
4
4
4
4
4
4
4
4
4
(1)下址字段
8位的微下址
用于给出下一条将要执行的微指令的地址。
微程序顺序执行,即把已增1后的微指令地址作为下地址
4位的测试控制码CI3~0
用于决定微程序中的微指令寻址方式(顺序寻址、跳跃寻址)。
本实验中只使用到0000(初始化,使微下址=0)、0010(指令功能分支,做MAPROM映射)、0011(条件转移,由SCC决定是否转移)、1110(顺序寻址,将当前微地址加1作为微下址)这四个命令码。
4位的转移条件编码SCC3~0
当CI3~0=0011时,由这四位编码决定转移判断测试的条件,若选中条件满足,则使用微下址寻址下一条微指令,否则做顺序寻址,同CI3~0=1110。
CI3~0
SCC3~0
判断条件
微下址
0000
0000(无效)
00H
0010
0000(无效)
MAP映射
映射获得
0011
0000
必转
微下址字段值
0010
有中断请求时转移
微下址字段值/顺序寻址
0100
JRC、JRNC、JRZ、JRNZ指令测试
微下址字段值/顺序寻址
0101
JRS、JRNS指令测试
微下址字段值/顺序寻址
0110
IN指令测试
微下址字段值/顺序寻址
0111
入出栈指令测试
微下址字段值/顺序寻址
1110
0000(无效)
顺序寻址
(2)操作控制字段
MIQ、REQ、WE
/MIO(0:
有内存和串口读写,1:
无)
REQ(0:
读写内存,1:
读写串行口)
/WE(0:
写操作,1:
读操作)
MRW
功能
000
内存写
001
内存读
010
I/O写
011
I/O读
1XX
无读写
I8-I6、I5-I3、I2-I0、A口和B口、SST2-0:
数据来源(I2-I0)、运算功能(I5-I3)、数据处理方式(I8-I6)
编码
I8~6
I5~3
I2~0
REG
Q
Y
功能
R
S
000
F→Q
F
R+S
A
Q
001
F
S–R
A
B
010
F→B
A
R–S
0
Q
011
F→B
F
R∨S
0
B
100
F/2→B
Q/2→Q
F
R∧S
0
A
101
F/2→B
F
/R∧S
D
A
110
2F→B
2Q→Q
F
R⊕S
D
Q
111
2F→B
F
/(R⊕S)
D
0
SST2-0:
用于控制状态标志位的状态变化
SSH:
用于控制产生运算器最高、低位的移位输入信号
SST
C
Z
V
S
000
C
Z
V
S
001
CY
F=0
OVR
F15
010
内部总线
011
0
Z
V
S
100
1
Z
V
S
101
RAM0
Z
V
S
110
RAM15
Z
V
S
111
Q0
Z
V
S
SSH
左移
右移
RAM0
Q0
RAM15
Q15
00
0
X
0
X
01
C
X
C
X
10
Q15
/F15
CY
RAM0
11
X
X
F15
RAM0
SCI1-0:
用于控制产生运算器最低位的SA(A口)和SB(B口):
进位输入信号
SCI
Cin
00
0
01
1
10
C
11
TCLK
编码
SA(A口)
SB(B口)
0
微指令A口
微指令B口
16
1
IR的SR字段
IR的DR字段
8
0
IR的SR字段
IR的DR字段
1
微指令A口
微指令B口
DC1:
用于对CPU内部总线数据来源的控制,选择把哪一组数据发送到CPU内部总线上
用于选择把哪一组数据发送到CPU的内部总线(IB)上。
在微指令执行过程中,若不使用内部总线,则通常将其设置为000,可认为是无效状态。
DC1
译码信号
操作
000
/SWTOIB
开关到内部总线
001
/RTOIB
ALU输出到内部总线
010
/ETOIB
16扩展符号到内部总线
011
/FTOIB
状态到内部总线
100
/STOIB
8扩展符号到内部总线
101
/INTVH
中断向量高位到内部总线
110
/INTVL
中断向量低位到内部总线
111
NC
NC
DC2:
用于对几个特定的寄存器接受输入的控制,选择允许哪一个寄存器接收送给它的一组数据
用于控制数据接收及相关的内部功能。
DC2
译码信号
操作
000
NC
NC
001
/GIR
指令寄存器接收
010
/GARL
AR低位接收
011
/GARH
AR高位接收
100
/INTR
恢复中断优先级
101
/INTN
新中断优先级
110
/EI
开中断,置INTE为1
111
/DI
关中断,清INTE为0
十、本指令和扩展指令的微程序编码表
基本指令的微程序编码表(二进制)
指令名
微址
下址
CI3-0
SCC3-0
0MEW
0I2-0
SAI8-6
SBI5-3
B
A
SST
SSHSCI
DC2
DC1
ALL
00
00
1110
0000
0100
0001
0011
0001
0101
0101
0000
0001
0111
0000
ALL
01
00
1110
0000
0100
0011
0010
0000
0101
0101
0000
0001
1011
0000
ALL
02
00
1110
0000
0001
0000
0001
0000
0000
0000
0000
0000
0001
0000
ALL
03
00
0010
0000
0100
0000
0001
0000
0000
0000
0000
0000
0000
0000
ADD
00
04
30
0011
0000
0100
0001
1011
1000
0000
0000
0001
0000
0000
0000
SUB
01
05
30
0011
0000
0100
0001
1011
1001
0000
0000
0001
0001
0000
0000
AND
02
06
30
0011
0000
0100
0001
1011
1100
0000
0000
0001
0000
0000
0000
CMP
03
09
30
0011
0000
0100
0001
1001
1001
0000
0000
0001
0001
0000
0000
XOR
04
08
30
0011
0000
0100
0001
1011
1110
0000
0000
0001
0000
0000
0000
TEST
05
0A
30
0011
0000
0100
0001
1001
1100
0000
0000
0001
0000
0000
0000
OR
06
07
30
0011
0000
0100
0001
1011
1011
0000
0000
0001
0000
0000
0000
MVRR
07
0B
30
0011
0000
0100
0100
1011
1000
0000
0000
0001
0000
0000
0000
DEC
08
0D
30
0011
0000
0100
0011
0011
1001
0000
0000
0001
0000
0000
0000
INC
09
0C
30
0011
0000
0100
0011
0011
1000
0000
0000
0001
0001
0000
0000
SHL
0A
0E
30
0011
0000
0100
0011
0111
1000
0000
0000
0110
0000
0000
0000
SHR
0B
0F
30
0011
0000
0100
0011
0101
1000
0000
0000
0101
0000
0000
0000
JR
41
11
30
0011
0000
0100
0101
0011
0000
0101
0101
0000
0000
0000
0010
JRC
44
10
30
0011
0100
0100
0000
0001
0000
0000
0000
0000
0000
0000
0000
JRNC
45
10
30
0011
0100
0100
0000
0001
0000
0000
0000
0000
0000
0000
0000
JRZ
46
10
30
0011
0100
0100
0000
0001
0000
0000
0000
0000
0000
0000
0000
JRNZ
47
10
30
0011
0100
0100
0000
0001
0000
0000
0000
0000
0000
0000
0000
JMPA
80
1E
24
0011
0000
0100
0011
0010
0000
0101
0101
0000
0001
0011
0000
LORR
81
1B
00
1110
0000
0100
0100
1001
0000
0000
0000
0000
0000
0011
0000
IN
82
12
14
0011
0110
0100
0111
0001
0000
0000
0000
0000
0000
0011
0010
OUT
86
12
14
0011
0110
0100
0111
0001
0000
0000
0000
0000
0000
0011
0010
13
30
0011
0000
0010
0011
0001
0000
0000
0000
0000
0000
0000
0001
14
30
0011
0000
0011
0111
0011
0000
0000
0000
0000
0000
0000
0000
STRR
83
19
00
1110
0000
0100
0011
0001
1000
0000
0000
0000
0000
0011
0000
PSH/F
84
15
1A
0011
0111
0100
0011
0011
0001
0100
0000
0000
0000
0011
0000
85
15
1A
0011
0111
0100
0011
0011
0001
0100
0000
0000
0000
0011
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计