计算机组成原理课程设计复杂模型机的设计与实现Word格式.docx
《计算机组成原理课程设计复杂模型机的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计复杂模型机的设计与实现Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
7
6543210
符号
尾数
其中第7位为符号位,
X<
lo
2、指令格式
模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
(1)算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7654
32
10
OP-CODE
Rs
Rd
其中,OPCODE为操作码,Rs为源寄存器,
Rd为目的寄存器,并规定:
Rs或Rd
选定的寄存器
00
R0
01
R1
10
R2
11
R3
9条算术逻辑指令的名称、功能和具体格式见
7-12-1o
⑵访问指令及转移指令
模型机设计2条访问指令,即存数(STA)、
取数(LDA),2条转移指令,即无条件转移
(JMP)、结果为零或有进
位转移指令(BZC),指令格式为:
6
54
M
2OP-CODE
D(低八〉
D(高八)
其中“00M”为源码段,2OP-CODE为目的码段(LDA、STA指令使用)。
D为十六位地址段(低八在前,高八随后),M为源寻址模
式,其定义如下:
寻址模式M
有效地址E
说明
E=D
直接寻址
E=(D)
间接寻址
E=(SP)+D
SP变址寻址
E=(PC)+D
相对寻址
⑶I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
00
⑷停机指令
指令格式如下:
HALT指令,用于实现停机操作。
(二)、指令系统
本模型机共有16条基本指令,其中算术逻辑
指令7条,访问内存指令和程序控制指令4条,
输入输出指令2条,其它指令1条。
下表列出了
各条指令的格式、汇编符号、指令功能。
助记符
指令格式
功能
LDAM,D,Rd
E—Rd
STAM,D,Rd
Rd—E
JMPMZD
E->
PC
BZCMZD
当CY=1或Z=1时,EtPC
MOVRd,Rs
1
Rs->
ADCRd,Rs
Rs+Rd+CY—Rd
SBCRd,Rs
Rs-Rd-CY—Rd
ANDRd,Rs
RsARd->
CLRRd
0—Rd
INCRd
Rd+l-*Rd
CPLRd
Rd—Rd
RRCRd
CY->
RLCRd
INRd,I/O
l/O-*Rd
OUTRdzI/O
Rd^I/O
HALT
停机
按照系统建议的微指令格式,参照微指令流
程图,将每条微指令代码化,译成二进制代码,
并将二进制代码表转换成十六进制格式文件。
M23
M22
M21
M20
M19|m18|m17
Ml6
Ml5
Ml4
Ml3
M12
Mil
M10|m9Im8
M7
M6
M5
M4
M3
M2
Ml
M0
E/M
IP
MWR
R/M
目的编码
OP
CN
S2
SI
SO
源编码
XP
W
ALU
Iu
IE
IR
Icz
Ids
四、微程序控制器原理、设计方法及步骤。
(一)、微指令格式
W20
M19
M18
M17
M16
M15
M14
M13
M1(^M9
M8
M5A
VM
S1
ALUI
(二人复杂模型机微程序流程
(见下页图示)
、
‘6AG
\6C0
BUSBUS->
BL
I6A1
J6C
Rd->
AL
I6A2
J6C2
A+B+C->
A-B-C->
‘720
-6EC
、,740
•76C
i780
BL6BUS->
BUS
BUS-冶L
Fd->
BJSEUS->
flL
‘721
J6E1
I741
•76
、•781
EUS^)Rd|
AL->
BUS1
BUS->
Rd|
RRCA->
RLCR->
J6E2
A$3->
Rd皆
+
z801
皆
道接)
‘69©
ROM->
BUS
BU5->
‘601
FC+i
BH|
X
变址〕U
〔相对)IN
\
・646
‘66G
-7A0
ROM・〉BUS8US->
RCM->
BUSBJS->
&
L
I/0->
‘641
‘661
PC+iROM->
BH
8H
‘642
‘662
SP-)AX
flX
‘66c
AX+1
■
f
,642
602
AX+BX->
BX
HQLTCLR
PP-Xav6->
J7E1,I/
AX-1->
PCz001
BX->
BLS
fR
RQM->
3US|
BUSTIR|
(三人十六进制格式微程序文件。
$M00018110
$M0101ED82
$M0200C060
$M0300E004$M04028201
$M0500E006
$M0600B007
$M0701A20F
$M0800E00C
$M0900E00A
$MOAOOAOOB
$M0B070A01
$M0C028201
$MODOOEOOA
$M0F959A01
$M1001ED92
$M1100ED94
$M1200A017
$M13018001
$M14002018
$M16099A01
$M17070A10$M18O68A11$M1900E01A$M1AOOBO1B$M1BO1A21C$M1C959AO1$M1EF59AO1$MlF00E008$M20001001$M2101ED83$M2201ED85$M2301A216$M2401ED99$M2501A21E$M2601ED7F$M2701ED89$M28018028
五、调试情况。
;
复杂模型机程序
#LOADnMXJ4.ISn
预调入指令系统/微程序
org0
start:
IdaJrO,OOOOhinr2,iolsta_x0030H,r2andr0,r2outioh,rOmovr39r2clrrlsbcr2,r0incrl,rOcplrOrrr2,r0rlrl,rOadcrO,rlbnzc_dstartjmp_r-4haltend
运行无误。
六、课程设计收获。
本次实验大体上分为三步。
首先,是连接调试。
其次,装载课程设计指导书上设计的程序并测试运行,通过观察运行情况和数据在总线上的流动,了解各功能部件的工作原理和工作机制以及流程图各指令的含义。
最后,自己设计程序并装载运行并检验运行结果。
对于自己要设计的程序首先根据题目要求写出它的汇编格式,再根据这个汇编格式写出机器指令并设计出微程序流程图。
最后根据所设计的微程序流程图写出其微指令代码。
这些工作完成后把所设计的机器指令和微程序代码改写成指定的格式装载到实验系统上运行,观察运行过程和设计目的是否一致。
如果不一致,要进行适当的修改直到一致为止。
经过多次修改,最终实现设计要求。
通过这次实验设计是我加深了对机器指令和微指令的理解和计算机计算流程的了解。
本次课程设计我们要设计一台微程序控制的模型机,了解了一个比较成熟的模型机的实现,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用.作为一个计算机系学生这是必需掌握的。
使我们对数据选择器、移位器、加法器、运算器、存储器和微程序控制器,有了比较透彻的认识。
由于计算机设计的部件较多、结构原理较复杂,对于我们这样的初设计者来说感到无从下手。
在设计过程中,我们从开始的粗略的一个概念,到中间的疑惑与焦虑,到解决了问题的快乐。
这对于我们以后工作也有着很大的好处,培养了我们遇到问题,分析问题,解决问题各个方面上的能力。