基本模型机的设计跳转转移指令的实现 熟悉微程序控制的原理.docx
- 文档编号:23364686
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:18
- 大小:843.49KB
基本模型机的设计跳转转移指令的实现 熟悉微程序控制的原理.docx
《基本模型机的设计跳转转移指令的实现 熟悉微程序控制的原理.docx》由会员分享,可在线阅读,更多相关《基本模型机的设计跳转转移指令的实现 熟悉微程序控制的原理.docx(18页珍藏版)》请在冰豆网上搜索。
基本模型机的设计跳转转移指令的实现熟悉微程序控制的原理
序号:
课程设计
课程名称
计算机组成原理课程设计
设计题目
基本模型机的设计
学院/专业
计算机科学与技术
班级
计算机0601
学号
姓名
指导教师
唐建雄
日期
2008年12月20日
课程设计任务书
学生姓名:
专业班级:
指导教师:
唐建雄工作单位:
计算机科学与技术学院
题目:
基本模型机的设计——跳转、转移指令的实现
初始条件:
理论:
学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。
实践:
计算机学院科学系实验中心提供计算机、实验的软硬件平台。
到实验中心硬件平台验证设计结果。
要求完成主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。
2、根据课程设计题目要求,编制实验所需的程序,上机测试并分析所设计的程序。
3、课程设计的书写报告应包括:
(1)课程设计的题目。
(2)设计的目的及设计原理。
(3)根据设计要求给出模型机的逻辑框图。
(4)设计指令系统,并分析指令格式。
(5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。
(6)模型机当中时序的设计安排。
(7)设计指令执行流程。
(8)给出编制的源程序,写出程序的指令代码及微程序。
(9)说明在使用软件HKCPT的联机方式与脱机方式的实现过程(包括编制程序中每指条令的时序分析,累加器A和有关寄存器、存储器的数据变化以及数据流程)。
(10)课程设计总结(设计的特点、不足、收获与体会)。
时间安排:
设计时间一周:
周1:
熟悉相关资料。
周2:
系统分析,设计。
周3周4:
编程并上实验平台调试
周5:
撰写课程设计报告。
设计报告书收取时间:
20周的星期五下午5:
00之前。
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
计算机组成原理课程设计
1实验目的
1.通过使用软件HKCPT,了解程序的编译、加载的过程,通过模型机了解计算机的执行指令的工作原理。
2.通过微单步、单拍调试,理解模型机中的数据流向。
3.熟悉微程序控制的原理,掌握微程序的编制、写入并观察运行状态。
明白每一条指令在内存、CPU中的存取和执行流程。
2设计原理
在模型机中,各部件单元的控制信号是人为模拟产生的,本次实验能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
在微程序控制单元,微指令采用全水平不编码的方式,每个微操作控制信号由一位微代码表示。
用增量的方式来控制微代码的运行顺序,每一条指令微程序连续存放在微指令存储器连续的单元中。
在微程序存储器的0单元存放取指指令,在启动时清零微地址寄存器,执行取指指令。
3实验仪器简介
本实验采用武汉恒科电子生产的计算机组成原理实验仪(HK-CPTⅣ型)和计算机实验软件相结合的方式,不仅可以减少手动连线给实验带来的复杂性,更使得整个实验趋于自动化,可以在电脑软件的辅助下观察到清晰的机器步骤,大大简化了实验过程。
计算机组成原理(HK-CPTⅣ型)实验仪本身就是一个可运行的系统。
整个系统采用功能模块的设计思路,实验者可单独设计和调试各个功能模块。
可实现边调试边与原有的系统进行比较,最终实现一个新的系统。
整个实验机提供了运算器模块、指令部件模块、寄存器堆栈模块、存储器模块、总线传输模块、微程序模块、启停和序模块,以及用于调试和观察数据的控制模块。
整个系统采用总线结构。
总线结构具有扩展能力强,结构简单清晰。
本实验机的总线分为:
内部、外部地址总线,内部、外部数据总线。
整个系统的各个总线都布有测试孔,以便于测试。
各模块的电源、地、地址数据总线已经按照标准连接完毕,控制信号都按各功能模块的布局引出,实验者可方便的定位各测试点。
软件是由武汉恒科电子计算机组成原理(HK-CPTⅣ型)实验仪自带的一套功能强大的图形界面的操作软件,可以在该软件中轻松实现汇编语言到机器码的转变,而且通过与PC机USB口相连,在PC机上图形界面的操作软件的帮助下,实验者可在PC机上进行编辑、加载、动态调试等操作。
其用户界面如上图所示。
整机设计根椐设计要求对实验仪器硬件资源进行逻辑组合,便可以得到该模型机的整机逻辑图,如右图所示。
4程序中的微指令设计
在本实验平台的硬件设计是采用的24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号,可由微代码直接实现。
若采用多组编码译码,那么24位的微代码通过二进制译码可实现2n个互斥的微操作控制信号。
由于模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式。
在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0-MD7。
这种方法称为“按操作码散转”(如下表所示)。
微程序首地址形成
MD7
MD6
MD5
MD4
MD3
MD2
MD1
MD0
0
0
17
16
15
14
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实验中的时序安排
为了更好地观察实验的各个中间过程中各寄存器的值,由监控单元产生一个PLS-O的信号来控制时序产生。
PLS-O信号经过时序单元的处理产生了4个脉冲信号。
4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。
PLS1:
微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。
PLS2:
PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器(如跳转指令)等功能。
PLS3:
把24位微指令打入3片微指令锁存器
PLS4:
把当前总线上的数据打入微指令选通的寄存器
6实验设计
实验平台用的是8位的数据总线和8位的地址总线,指令系统分为五大类:
算术/逻辑类指令、移位操作类指令、数据传送类指令、程序跳转指令和存储器操作类指令。
本次实验主要是用提供的实验仪器及软件来实现计算机的跳转指令,程序跳转指令可分为无条件跳转指令和有条件跳转指令。
可以根据寄存器内容为零来标志(ZD)、有无进位来标志(CY),也可根据用户自定义标志。
、
JMP
ADDR
无条件跳转
JZ
ADDR
ZD=0时跳转
JC
ADDR
CY=0时跳转
JN
ADDR
自定义跳转
在本次实验中,主要采用无条件转移JMP和条件转移指令JC来实现跳转、指令转移的功能。
具体汇编源码如下:
MOVA,#01
01->A
RRCA
A>>1(A带进位右移)
JC07
跳到第五行JMP
MOVA,#88
88->A(被跳过的指令)
JMP0B
跳到最后一行HALT
MOVA,#88
88->A(被跳过的指令)
HALT
停机
按照程序设计,当机器执行完第一条指令后,A中的数据为01H,第二条指令将A带进位右移,则标志位CY=1,机器顺序执行到JC时,由于条件满足,程序跳转到07H,即JMP指令,JMP无条件跳转,则程序再次跳到0BH,即停机,因此,整个过程中,两条MOV指令都将被跳过。
7实验中指令及微指令
汇编程序是的一条指令,是由多个微指令构成的。
具体的微指令如下表所示:
指令序列
微指令序列
微指令说明
MOVA,01
0000[4D][FF][FF]
0017[DD][FB][FF]
取指令
DBUS->A
RRCA
0018[4D][FF][FF]
0027[FF][F1][EF]
取指令
A>>1
JC07
0028[4D][FF][FF]
002F[D4][FF][FF]
取指令
DBUS->IR2
MOVA,#88
指令被跳过
JMP0B
0030[4D][FF][FF]
002F[D4][FF][FF]
(IR2)->ABUS,DBUS->PC
DUBS->IR2
MOVA,#88
指令被跳过
HALT
0030[4D][FF][FF]
003F[FF][FD][FF]
(IR2)->ABUS,DBUS->PC
停机
8源程序的机器代码
实验仪器自带的软件有强大的汇编功能,通过编译器的编译,可以得到实验汇编源程序通过编译后的机器码。
其具体的机器码如下所示:
5F019FB7075F88BF0B5F88FF
5F01的功能即为MOVA,#01,其中5F是MOV操作,01为操作数。
9F是RRCA的机器码。
B707的功能为JC07,其中,B7是JC操作,07是JC满足条件时跳转目的地址。
5F88与5F01相同,执行MOVA,#88。
BF0B为JMP0B,其中,BF为JMP操作码,0B是目的地址。
FF为停机指令。
9实验中程序流程及各部件的数据变化
在本次实验中,部件数据变化主要体现在A寄存器、IR寄存器、PC寄存器和IR2寄存器的数据变下。
跟据每个微单步的具体操作,数据变化如下所示:
开机初始状态
初始状态下,各寄存器和存储器中的数据被初始化。
0000[4D][FF][FF]取指令
机器从RAM内存中取出指令,并将指令放入IR指令寄存器中,为程序的下一步执行做好准备。
此步,将RAM中的指令5F取出并放入IR中,IR中的内容变为5F。
0017[DD][FB][FF]DBUS->A
程序执行指令5F(从RAM中取出通过数据总线放入A寄存器中),此时,A中的数据变为01H。
0018[4D][FF][FF]取指令
程序顺序执行,从RAM中取出指令通过总线传给IR,IR中内容变为9F。
为程序下一步执行做好准备。
0027[FF][F1][EF]A>>1
执行9F(将A中数据带符号右移一位)。
0028[4D][FF][FF]取指令
程序顺序执行,从RAM中取出指令通过总线传给IR,IR中内容变为B7。
为程序下一步执行做好准备。
002F[00][00][00]DBUS->IR2
程序执行B7(JC跳转指令),由于满足条件,程序开始发生跳转,将地址07符给IR2,为JC跳转做好准备。
0030[4D][FF][FF](IR2)->ABUS,DBUS->PC
执行B7指令,IR2中的内容传给ABUS,DBUS总线内容传给PC寄存器,实现程序的JC跳转功能。
IR寄存器中的内容变为BF。
002F[D4][FF][FF]DUBS->IR2
DBUS中的内容传递给IR2,为JMP跳转指令做好准备。
0030[4D][FF][FF](IR2)->ABUS,DBUS->PC
IR2中的内容传给ABUS,DBUS中的内容传给PC,从而实JMP无条件跳转功能,同时从内存中取出指令给IR,IR中的内容变为FF。
003F[FF][FD][FF]停机
程序执行FF(停机指令),机器停止工作。
10实验过程中的时序变化
通过实验,得到在整个实验过程中,PLS0、PLS1、PLS2、PLS3并没有变化具体的时序图如图所示:
11实验过程中微指令记录
在实验中,可以根据电路板上的二进制指示灯来判断微指令及其具体的电平情况,根据实验过程,其记录如下表所示:
指令助记符
微指令说明
23222120
19181716
15141312
111098
7654
3210
MLDWMRMRIR1
EIR2IR2-OPC-OELP
RRWRHALTX0
X1ERARA-OEDR1
EDR2ALU-OCNM
S3S2S1S0
0000
0000
000*
*000
00**
****
MOVA,#01
取指令
0100
1101
1111
1111
1111
1111
DBUS->A
1101
1101
1111
1011
1111
1111
RRCA
取指令
0100
1101
1111
1111
1111
1111
A>>1
1111
1111
1111
0001
1110
1111
JC07
取指令
0100
1101
1111
1111
1111
1111
DBUS->IR2
1101
0100
1111
1111
1111
1111
MOVA,#88
指令被跳过
JMP0B
(IR2)->ABUS,DBUS->PC
0100
1101
1111
1111
1111
1111
DUBS->IR2
1101
0100
1111
1110
1111
1111
MOVA,#88
指令被跳过
HALT
(IR2)->ABUS,DBUS->PC
0100
1101
1111
1111
1111
1111
停机
1111
1111
1110
0111
1100
0111
12实验结果分析
通过实验及其上述的记录数据,得到实验能够按照预期的步骤来进行。
即程序在执行过程中,跳过两个MOVA,#88指令,而跳到指定地址的指令继续执行,整个过程如下所示:
JMP0B
MOVA,#88
JC07
RRCA
开始
MOVA,#01
停机
HALT
MOVA,#88
所以,实验完成的要求的基本内容,实现了程序的跳转指令的功能,并且在实验仪器的帮助下,记录到每一步微指令的具体操作,得到每一个微指令的执行过程,实验顺利完成。
13小结
通过本次计算机组成原理的课程设计实验,利用所学的计算机组成原理、汇编语言以及数字逻辑运算的知识,完成了这次实验,使得我进一步熟悉了指令、微指令等等相关的一些基本知识以及与此次实验所连接到的其它科目的一些知识;其次,我体会到这次课程设计实验是不同与我们之前所做的一些小实验,它是前面这些小实验结合在一起的综合运用;再次,这次实验进一步加深了我对此实验平台的理解和运用,同时也使我了解到了它的漏洞和缺点;然后,此次实验告诉我,要善于运用所学的知识运用到实际操作中,加强自己动手动脑的能力,加强独立思考分析的能力并以此检验所学知识的牢固、扎实;最后,此次实验提醒我,知识的缺乏和漏洞以及运用知识实现真正需求的问题总是存在的,因此,我必需在以后进一步加强运用知识解决问题和实际动手的能力。
参考文献:
《计算机组成原理》(第二版)华中技大学出版社
《电子技术基础》高等教育出版社
《IBM-PC汇编语言程序设计》(第二版)清华大学出版社
《数字逻辑》机械工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本模型机的设计跳转转移指令的实现 熟悉微程序控制的原理 基本 模型 设计 跳转 转移 指令 实现 熟悉 微程序 控制 原理