计组课设基本模型机的设计DOC.docx
《计组课设基本模型机的设计DOC.docx》由会员分享,可在线阅读,更多相关《计组课设基本模型机的设计DOC.docx(25页珍藏版)》请在冰豆网上搜索。
计组课设基本模型机的设计DOC
学号:
课程设计
题目
基本模型机的设计
学院
计算机科学与技术
专业
班级
姓名
指导教师
2013
年
01
月
17
日
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
计算机科学与技术学院
题目:
基本模型机的设计——跳转指令的实现
初始条件:
理论:
学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。
实践:
计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。
2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。
3、课程设计的书写报告应包括:
(1)课程设计的题目。
(2)设计的目的及设计原理。
(3)根据设计要求给出模型机的逻辑框图。
(4)设计指令系统,并分析指令格式。
(5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。
(6)模型机当中时序的设计安排。
(7)设计指令执行流程。
(8)给出编制的源程序,写出程序的指令代码及微程序。
(9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中跳转指令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。
(10)课程设计总结(设计的特点、不足、收获与体会)。
时间安排:
周一:
熟悉相关资料。
周二:
系统分析,设计程序。
周三、四:
编程并上实验平台调试周五:
撰写课程设计报告。
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
基本模型机的设计
——跳转指令的实现
1设计的目的及设计的原理
1.1课程设计的题目
基本模型机的设计——跳转指令的实现
1.2设计的目的
1、掌握了各个单元模块的工作原理,进一步将其组成整的系统,构造成1台基本的模型计算机。
2、根据实验要求,规划读写内存、寄存器、数值计算等功能,并且编写相应的微程序。
用软件HKCPT的微单步功能观察指令运行状态,掌握微程序控制原理。
3、利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念,具体上机调试各个模块单元以便进一步掌握整机的概念。
1.3设计的原理
在各个模型实验中,各模块的控制信号都是由实验者手动模拟产生的。
而在真正的试验系统中,模型机的运行是在微程序的控制下,实现特定指令的功能。
在本实验平台中,模型机从内存中取出、解释、执行机器指令都由微指令和与之相配合的时序来完成,既1条机器指令对应1个微程序。
2模型机的总体设计
2.1基本模型机系统分析与设计
1、简单的模型计算机是由算术逻辑运算单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成。
2、在模型机中,我们将要实现RAM的读写指令,寄存器的读写指令,跳转指令,ALU的加、减指令。
把通用寄存器作为累加器A们进行左、右移等操作指令,整体构成一个单累加器多寄存器的系统。
3、根据设计要求,对实验仪硬件资源进行逻辑组合,便可设计出该模型机的整机逻辑框图。
2.2模型机的逻辑框图
3设计指令系统
本实验平台内采用的是8位数据总线和8位地址总线,在设计指令系统时考
虑有如下几种类型的指令和寻址方式及编码方式:
3.1指令类型
3.1.1算术/逻辑运算类指令
如:
加法、减法、取反、逻辑运算
ADDA,Ri,SUBA,Ri
3.1.2移位操作类指令
带进位或不带进位的移位指令
RRCA,RLCA,RRA
3.1.3数据传送类指令
CPU内部寄存器之间数据传递
MOVA,Ri
MOVRi,A
3.1.4程序跳转指令
跳转指令分为无条件跳转指令和有条件跳转指令。
可根据寄存器内容为零来标志(ZD)、有无进位来标志(CY),也可根据用户自定义标志。
JMPaddr无条件跳转
JZaddrZD=0时跳转
JCaddrCY=0时跳转
JNaddr自定义
3.1.5存储器操作类指令
存储器读/写指令。
把内存某单元内容写入寄存器中或把寄存器中的内容写入存储器。
如:
LDAaddr(addr)->A
STAaddr(A)->addr
3.2操作数寻址方式及编码
3.2.1直接地址寻址
如:
双字节指令
LDAaddr(addr)->A
STAaddr(A)->addr
第1字节
I7
I6
I5
I4
I3
I2
I1
I0
操作码
第2字节
A7
A6
A5
A4
A3
A2
A1
A0
操作数地址addr
3.2.2寄存器直接寻址
指令字节中含有寄存器选择码,决定选择哪个寄存器进行操作。
如:
单字节指令
MOVA,Ri(Ri)->A
单字节
I7
I6
I5
I4
I3
I2
I1
I0
操作码与Ri选择码
如:
双字节指令
MOVRi,#datadata->Ri
第1字节
I7
I6
I5
I4
I3
I2
I1
I0
操作码与Ri选择码
第2字节
D7
D6
D5
D4
D3
D2
D1
D0
Data
3.2.3寄存器间接寻址
如:
单字节指令
MOVA,@Ri(Ri)->A
Ri选择码
I7
I6
I5
I4
I3
I2
I1
I0
操作码
3.2.4立即数寻址
如:
单字节指令
MOVA,#datadata->A
MOVRi,#datadata->Ri
第1字节
I7
I6
I5
I4
I3
I2
I1
I0
操作码与Ri选择码
第2字节
D7
D6
D5
D4
D3
D2
D1
D0
Data
4设计微程序及其实现的方法
4.1微指令格式的设计
在本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号,可右微代码直接实现。
如果采用多组编码译码,那么24位微代码通过二进制译码可实现
个互斥的微操作控制信号。
由于模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式。
4.2后续微地址的产生方法
每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。
微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下下一条微指令地址。
例如:
确定了一条程序的微程序入口地址位07H,那么当执行完07H这条微指令后微地址加1,指向08H微地址。
微地址寄存器由2篇74LS161组成,当模型机在停机状态下,微地址被清零。
当实验平台开始运行时,微地址从00H开始运行。
且00H放置一条取指指令,根据程序开始地址从内存中读出第一条指令。
00
取指微指令
01
02
03
减法指令微程序
(1)
04
减法指令为程序
(2)
05
06
07
MOV指令微程序
(1)
08
MOV指令微程序
(2)
09
MOV指令微程序(3)
0A
0B
0C
0D
0E
0D
…
…
4.3微程序入口地址的形成
在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0~MD7,这种方法成为“按操作码散转”(如下表所示)。
微程序首地址形成
MD7
MD6
MD5
MD4
MD3
MD2
MD1
MD0
0
0
I7
I6
I5
I4
1
1
按操作码散转
指令操作码
微程序首地址
MD7、MD6
I7
I6
I5
I4
MD1、MD0
MD7~MD0
0
0
0
0
0
1
003H
0
0
0
0
1
1
007H
0
0
0
1
0
1
00BH
0
0
0
1
1
1
00FH
0
0
1
0
0
1
013H
0
0
1
0
1
1
017H
0
0
1
1
0
1
01BH
0
0
1
1
1
1
01FH
0
1
0
0
0
1
023H
0
1
0
0
1
1
027H
0
1
0
1
0
1
02BH
0
1
0
1
1
1
02FH
0
1
1
0
0
1
033H
0
1
1
0
1
1
037H
0
1
1
1
0
1
03BH
0
1
1
1
1
1
03FH
5模型机当中时序的设计安排
1、由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用技术增量方式,所以可确定模型机中时序单元中所产生的每一节拍的作用。
2、在本实验中,由监控单元产生了一个PLS-O的信号来控制时序产生(如下图所示)。
PLS-O信号经过时序单元的处理产生了4个脉冲信号。
4个脉冲信号组成一个为周期,为不同的寄存器提供工作脉冲。
它们分别实现的功能是:
(1)PLS1:
微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1.
(2)PLS2:
PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器(跳转指令)等功能。
(3)PLS3:
把24位微指令打入3片微指令锁存器。
(4)PLS4:
把当前总线上的数据打入微指令选通的寄存器中。
SIGN
PLS1
PLS2
PLS3
PLS4
6设计指令执行流程
在每个系统中,一条指令从内存取出到执行完毕,需要若干个机器周期,任何指令周期中都必须有一个机器周期作为“取指令周期”,成为公操作周期。
而一条指令共需要几个机器周期取决于指令在机器内实现的复杂程度。
对于微程序控制的计算机,在设计指令执行流程时,要保证每条指令所含有的微操作的必要性和合理性,还要知道总线IAB,IDB,OAB,ODB仅是传输信息的通路,没有寄存器信息的功能,而且必须包证总线传输信息时信息的唯一性。
例如本次课程设计中用到的取值微指令、ADD、JMP、RRC、MOVE等指令
6.1取值微指令的执行流程
在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令锁存器输出无效。
在处于停机状态时,脉冲PLS1对微地址寄存器无效,微地址寄存器保持为0。
脉冲PLS2对PC计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器中,把模型机置为运行状态,使微程序锁存器输出有效。
PLS3把微程序存储器00H单元中内容打入微指令锁存器中,并且输出取指微指令。
PLS4