基本模型机方案加减法指令实现Word格式.docx
- 文档编号:20536831
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:19
- 大小:144.47KB
基本模型机方案加减法指令实现Word格式.docx
《基本模型机方案加减法指令实现Word格式.docx》由会员分享,可在线阅读,更多相关《基本模型机方案加减法指令实现Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
5PCzVD7HxA
2.设计原理模型机的运行是在微程序的控制下,实现特定指令的功能,并且编写相应的
微程序,简单的模型机都是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成。
我们可以先设计模型机的逻辑框图,然后编制相应的指令系统,模型机组装好后就可以输入事先编好的程序检验模型机是否成功。
jLBHrnAILg
3.设计内容
3.1逻辑框图设计根据设计的要求,对实验硬件资源进行逻辑组合,便可设计出该模型机整体逻辑框图。
简单的模型机都是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成。
xHAQX74J0X在模型机中,我们将要实现RAM的读写指令,寄存器的读写指令,跳转指令,ALU的加、减、与、或指令。
把通用寄存器作为累加器A,进行左、
右移等指令,整体构成一个单累加器多寄存器的系统
LDAYtRyKfE
下图给出了本次实验的模型机整机逻辑框图:
3.2系统连线
1.总线和内存单元
BUS
RM
WM
EMCK
DJ1
DJ2
DJ3
DJ4
DJ5
DJ6
DJ7
AJ1
M21
M22
PLS4
ALU-
IN
OUT
R
RA
RA-OUT
PC-
PC-OUT
2.微程序控制单元
MLD
MCK
MOCK
MD0
MD1
MD2
MD3
MD4
MD5
MD6
MD7
M23
PLS1
PLS3
VCC
I4
I5
I6
I7
GND
3.寄存器单元
SA
SB
RR
WR
RCK
X0
X1
ERA
RA-O
RACK
I0
I1
M15
M14
M12
M11
M10
M9
4.算术逻辑单元
EDR1
EDR2
ALU-O
CN
M
S3
S2
S1
S0
D2CK
D1CK
CCK
ZD
CY
M8
M7
M6
M5
M4
M3
M2
M1
M0
JZ
JC
5.指令寄存器
EIR1
EIR2
IR1CK
IR2CK
IR2-O
PC-O
ELP
PCCK
JS0
JS1
M20
M19
M18
M17
M16
PLS2
I2
I3
6.启停单元
HCK
HALT
M13
3.3指令系统设计
本次实验的平台HKZK-CPT内采用的是8位数据总线和8位地址总线方式,在设计指令系统时,应考虑有哪几种类型的指令,那几种寻址方式和编码方式。
Zzz6ZB2Ltk
3.3.1指令类型
算术/逻辑运算指令
如:
加法、减法、取反、逻辑运算等
ADDA,Ri,SUBA,Ri
移位操作类指令
带进位或不带进位的移位指令
RRCA,RRA
数据传送指令
CPU内部寄存器之间的数据传送
MOVA,Ri,MOVR,iA
程序跳转指令跳转指令分为无条件跳转指令和有条件跳转指令。
可根据寄存器内容为零来标志<
ZD)、有无进位来标志<
CY)。
dvzfvkwMI1
JMPaddr无条件跳转
JZaddrZD=0时跳转
JCaddrCY=0时跳转
寄存器操作类指令
存储器读/写指令。
把内存某单元内容写入寄存器中或把寄存器中的内容写入存储器。
LDAaddr<
addr)->
A
STAaddr(A>
->
addr
3.3.2操作数寻址方式及编码
1.直接地址寻址
LDAaddr<
addr)->
2.寄存器直接寻址指令字中含有寄存器选择码,决定选择哪个寄存器进行操作。
MOVA,Ri<
Ri)->
3.寄存器间接寻址如:
MOVA,@Ri
4.立即数寻址
MOVA,#data
MOVRi,#data
3.3.3指令系统
指令助记符
指令功能
指令编码
微周期
微操作
取指微指令
T0:
PC->
地址总线->
RAM
RAM->
数据总线->
IR1
ADDA,R0
<
A)+<
0C
T0:
A->
DR1
ADDA,R1
0D
T1:
Ri->
DR2
ADDA,R2
0E
T2:
ALU->
A、置CY
ADDA,R3
0F
T3:
SUBA,R0
(A>
-(Ri>
1C
SUBA,R1
1D
SUBA,R2
1E
SUBA,R3
1F
MOVA,@R0
(Ri>
2C
MOVA,@R1
2D
IR2->
MOVA,@R2
2E
MOVA,@R3
2F
MOVA,R0
3C
MOVA,R1
3D
MOVA,R2
3E
MOVA,R3
3F
MOVR0,A
Ri
4C
MOVR1,A
4D
T1
MOVR2,A
4E
MOVR3,A
4F
MOVA,#data
Data->
5F
A取指微指令
MOVR0,#data
MOVR1,#data
MOVR2,#data
MOVR3,#data
6C
6D
6E
6F
LDAaddr
(addr>
7F
IR2
地址总线,RAM->
STAaddr
8F
地址总线,A->
RAM取指微指令
RLCA
C、A左移一位
9F
A<
1、置CY取指微指令
RRCA
C、A右移一位
AF
A>
>
JZaddr
A=0
Addr->
PC
B3
条件成立:
RAM->
JCaddr
Cy=0
B7
JMPaddr
BF
PC取指微指令
ORLA,#data
或data->
CF
ANLA,#data
DF
ALU->数据总线->A取指微指令
停机
FF
3.4微程序设计及其实现方法
在本次实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号,可以由微代码直接实现。
如果采用多组编码译码、那么24位微代码可实现2n个互斥的微操作控制信号。
rqyn14ZNXI
由于模型机指令系统规模叫小,功能也不太复杂,所以采用全水平不编码纯控制场的格式。
在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0-MD,7这种方法称为“按操作码散转”<如下表所示)。
EmxvxOtOco
微程序首地址形成
17
16
15
14
1
按操作码散转
指令操作码
微程序首地址
MD7、MD6
MD1、MD0
MD7~MD6
003H
007H
00BH
00FH
013H
017H
01BH
01FH
023H
027H
02BH
02FH
033H
O37H
03BH
03FH
每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。
微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。
例如:
确定了一条程序的微程序入口地址为07H,那么当执行完07H这条微指令后微地址加1,指向08H微地址。
微地址寄存器由2片74LS161组成,当模型机在停止状态下,微地址被清零。
当实验平台开始运行时,微地址从00H开始运行。
且00H放置一条取值指令,根据程序开始地址从内存中读出第一条指令。
SixE2yXPq5
00
01
02
03
减法指令微程序<
1)
04
2)
05
06
07
MOV指令微程序<
08
09
3)
0A
0B
。
3.5模型机中的时序安排设计由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。
6ewMyirQFL在本实验中为了让实验者更好的观察实验的各个中间过程中个寄存器的值,由监控单元产生一个PLS-O的信号来控制时序产生<如图2-9-2)。
PLS-O信号经过时序单元的处理产生了4个脉冲信号。
4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。
这4个脉冲信号分别是:
kavU42VRUsPLS1:
微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。
PLS2:
PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器<跳转指令)等功能。
y6v3ALoS89
PLS3:
把24位微指令打入3片微指令锁存器。
PLS4:
把当前总线上的数据打入微指令选通的寄存器中。
3.6指令执行流程设计根据模型机整机逻辑框图和目前硬件条件来设计指令系统中每条指令的执行流程。
在每个系统中,一条指令从内存取出到执行完毕,需要若干个机器周期,任何指令中都必须有一个机器周期作为“取指令周期”,称为公操作周期。
而一条指令共需要几个机器周期取决于指令在机器内实现的复杂程度。
M2ub6vSTnP对于微程序控制的计算机,在设计指令执行流程时,要保证每条微指令所包含的微操作的必要性和合理性,还应知道总线IAO、IDB、OAB、ODB仅是传输信息的通路,没有寄存信息的功能,而且必须保证总线传输信息时信息的唯一性。
以下描述取指微指令执行过程:
0YujCfmUCw在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令琐存
器输出无效<为高)。
在处于停机状态时,脉冲PLS1对微地址寄存器<
74LS161)无效,微地址寄存器保持为零。
脉冲PLS2对PC计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器<
74LS74)中,把模型机置为运行状态,使微程序锁存器输出有效。
PLS3把微程序存储器00H单元<
00H单元存放着取指微指令)中的内容打入微指令锁存器中并且输出取指微指令。
PLS4把从程序存储器中读出的数据打入指令寄存器中。
eUts8ZQVRd
当模型机处于运行状态时,脉冲PLS1微地址寄存器<
74LS161)加1,脉冲PLS2对PC计数器加1,PLS3把微程序存储器中的微指令打入微指令锁存器并且输出。
PLS4把当前总线上的数据打入当前微指令所选通的寄存器。
sQsAEJkW5T
4.程序调试
源程序、程序的指令代码及相应的微程序如下表:
内存地
址
源程序
指令代
码
微程序
00H
MOVA,
5FH
位:
23
2221201918
⋯0
#55H
微指令:
MLDWMRMEIR1
IR2-O⋯
01H
55H
有效值:
1
11101
⋯1
02H
MOV
6CH
R0,#22H
03H
22H
S0有效值:
110111
⋯
04H
07H
111111
05H
1CH
R1,#11H
06H
11H
010011
ADDA,R1
08H
1DH
R2,#10H
09H
0AH
ADDA,R2
0BH
STA10
8FH
0CH
10H
110101
0DH
FFH
5.上机调试过程
本次实验用的软件是HKCP,T我将上面编好的程序输入电脑,在这个软件中进行调试并观看程序单步运行的结果,用截图工具将程序的微单步过程各个结构图以及时序截了下来,以下就是整个程序的运行过程:
GMsIasNXkA
6.总结
通过本次的课程设计,我进一步融会贯通了教材上的内容,掌握了计算机各功能模块的工作原理、相互联系和来龙去脉,完整地建立了计算机的整机概念。
自己的学习热情和主动性得到了空前提高,独力工作能力也得到了很大的提高。
培养成了严谨的科研作风,创造性地完成了模型机的部件及系统的分析、设计、组装和调试,加深了自己对计算机组成原理及系统结构课程的内容的理解和掌握。
TIrRGchYzg
当然,此次的模型机设计也有很大的不足之处,比如:
指令系统的规模太小,有很多有用的指令没有进行编码设计导致功能太简单,要编较难较复杂的程序还不太可能。
另外此次的课程设计也暴露了一个很大的问题,那就是:
我们的动手能力太差了,很多在书本上觉得很简单的问题等到自己动手去做时才发现原来还有很多知识我们并不太清楚,所以今后要加强我们的动手能力7EqZcWLZNX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 模型 方案 加减法 指令 实现