计算机组成原理胡祥坤 2675Word文档格式.docx
《计算机组成原理胡祥坤 2675Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理胡祥坤 2675Word文档格式.docx(19页珍藏版)》请在冰点文库上搜索。
![计算机组成原理胡祥坤 2675Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/1858dfda-95a4-4912-a6dc-eb20b150e19a/1858dfda-95a4-4912-a6dc-eb20b150e19a1.gif)
7
6543210
符号
尾数
其中第七位为符号位,数值范围是:
一128<
x<
一127。
2、指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、UO指令、访问及转移指令和停机指令。
3、算术逻辑指令
设计9条算术逻辑指令井用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7654
32
10
OP-CODE
Rs
Rd
五、实验设备
达爱思计算机组成原理教学实验系统一台,排线若干。
六、设计与调试任务
1.按给定的指令格式和指令系统功能要求,用所提供的器件设计一台微程序控制器控制的模型计算机。
2.根据设计图,在通用实验台上进行组装,并调试成功。
七、指令格式和指令系统
1)数据格式
模型机规定采用定点补码表示数据,且字长为8位,其格式如下:
尾 数
其中第7位为符号位,数值表示范围是:
-1≤X<1。
2)指令格式
模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
⑴算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:
Rs或Rd
选定的寄存器
00
01
10
11
R0
R1
R2
R3
9条算术逻辑指令的名称、功能和具体格式见表7-12-1。
⑵访问指令及转移指令
模型机设计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
E=(PC)+D
直接寻址
间接寻址
SP变址寻址
相对寻址
⑶I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
00
⑷停机指令
指令格式如下:
HALT指令,用于实现停机操作。
八、指令系统
本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。
下表列出了各条指令的格式、汇编符号、指令功能。
助记符
指令格式
功 能
LDAM,D,Rd
E→Rd
STAM,D,Rd
Rd→E
JMPM,D
E→PC
BZCM,D
当CY=1或Z=1时,E→PC
MOVRd,Rs
1
Rs→Rd
ADCRd,Rs
Rs+Rd+CY→Rd
SBCRd,Rs
Rs-Rd-CY→Rd
ANDRd,Rs
Rs∧Rd→Rd
CLRRd
0→Rd
INCRd
Rd+1→Rd
CPLRd
Rd→Rd
RRCRd
CY→Rd
RLCRd
INRd,I/O
I/O→Rd
OUTRd,I/O
Rd→I/O
HALT
停机
按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码,并将二进制代码表转换成十六进制格式文件。
M23
M22
M21
M20
M19
M18
M17
M16
M15
M14
M13
M12
M11
M10
M9
M8
M7
M6
M5
M4
M3
M2
M1
M0
E/M
IP
MWR
R/M
目的编码
OP
CN
S2
S1
S0
源编码
XP
W
ALU
Iu
IE
IR
Icz
Ids
功能
X2
X1
X0
O2
O1
O0
禁止
MAR
SP
BX
IOR
AX
MRD
XRD
IOW
RRD
XWR
PC
RWR
实验所用的机器指令程序:
地址
指令代码
000
D0
INR0
iol→r0
001
D2
INR2
ioh→r2
002
58
ADCR0,R2
r0+r2→r0
003
41
MOVR1,R0
r0→r1
004
C0
RLCR0
rlcr0
005
0C0000
BZC000H
bzc000h
008
F0
(3)微程序流程图
本模型机的数据通路如图1所示。
根据机器指令系统要求,设计微程序流程图及确定微地址,如图2所示.
九、实验步骤
(1)按图3连接实验线路,仔细查线无误后,接通电源。
(2)编程
A.将控制台单元的编程开关SP06设置为WRITE(编程)状态。
B.将控制台单元上的SP03置为STEP,SP04置为RUN状态。
C.用开关单元的二进制模拟开关设置微地址UA5~UA0。
D.在微控制器单元的开关LM24~LM01上设置微代码,24位开关对应24
位显示灯,开关量为1时灯亮,开关量为0时灯灭。
E.按动START键,启动时序电路,即将微代码写入到28C16的相应地址
单元中。
F.重复C~E步骤,将表3的微代码写入28C16中。
(3)校验
A.将编程开关SP06设置为READ(校验)状态。
B.将实验板的SP03开关置为STEP状态,SP04开关置为RUN状态。
C.用二进制开关置好微地址μA5~μA0。
D.按动START键,启动时序电路,读出微代码.观察显示灯LM24~LM01
的状态(灯亮为“1”,灭为“0”),检查读出的微代码是否与写入的相
同。
如果不同,则将开关置于WRITE编程状态,重新执行
(2)即可
(4)写程序/运行程序
A.将控制台单元上的SP03置为STEP状态,SP04置为RUN状态,SP05置为NORM状态,SP06置为RUN状态。
B.拨动开关单元的总情开关CLR(1→0→1),微地址寄存器清0,程序计数器清0。
然后使开关单元的SWB、SWA开关设置为“01”,按动一次START,微地址显示灯显示“001001”,再按动一次START,微地址灯显示“001100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。
若仔细阅读KWE的流程,就不难发现,机器指令的首地址总清后为00H,以后每个循环PC自动加1,所以,每次按动START,只有在微地址灯显示“001100”时,才设置内容,直到所有机器指令写完。
C.写完程序后须进行校验。
拨动总清开关CLR(1→0→1)后,微地址清零。
PC程序计数器清零,然后使控制台开关SWB,SWA为“00”,按动启动START,微地址灯将显示“001000”;
再按START,微地址灯显示为“001010”;
第3次按START,微地址灯显示为“111011”;
再按START后,此时输出单元的数码管显示为该首地址中的内容。
不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。
每次在微地址灯显示为“001000”时,是将当前地址中的机器指令写入到输出设备中显示。
(5)运行程序。
A.单步运行程序
①使编程开关SP06处于RUN状态,SP03为STEP状态,SP04为RUN
状态,SP05为NORM状态,开关单元的SWB,SWA为“11”。
②拨动总清开关CLR(1→0→1),微地址清零,程序计数器清零,程序首
址为00H。
③单步运行一条微指令,每按动一次START键,即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
④当运行结束后,可检查运行结果是否和理论值一致。
B.连续运行程序
①使编程开关SP06处于RUN状态,SP03为RUN状态,SP04为RUN
②拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续
运行程序,稍后将SP04拨至“STOP”时,系统停机。
③停机后,可检查运行结果是否和理论值一致。
十、微程序代码
将一条机器指令编写成一段微程序。
每一个微程序包含若干条微指令,每一条微指令对应一条或多条微操作。
复杂模型机程序
LOAD"
MXJ4.IS"
;
预调入指令系统/微程序
org0
start:
lda_dr0,0100h
lda_ir1,0102h
lda_xr2,0104h
lda_rr3,0106h
sta_d0100h,r0
sta_i0102h,r1
sta_x0104h,r2
sta_r0106h,r3
jmp_dstart
inr0,iol
inr2,iol
movr3,r2
andr0,r2
adcr0,r2
sbcr3,r0
clrr3
incr1,r0
cplr3
rlcr2,r0
rrcr3,r0
outioh,r3
bnzc_dstart
halt
end
十一、课程设计总结
本次实验大体上分为三步。
首先,是连接电路。
其次,装载课程设计指导书上设计的程序并测试运行,通过观察运行情况和数据在总线上的流动,了解各功能部件的工作原理和工作机制以及流程图各指令的含义。
最后,自己设计程序并装载运行并检验运行结果。
对于自己要设计的程序首先根据题目要求写出它的汇编格式,再根据这个汇编格式写出机器指令并设计出微程序流程图。
最后根据所设计的微程序流程图写出其微指令代码。
这些工作完成后把所设计的机器指令和微程序代码改写成指定的格式装载到实验系统上运行,观察运行过程和设计目的是否一致。
如果不一致,要进行适当的修改直到一致为止。
经过多次修改,最终实现设计要求。
通过这次实验设计是我加深了对机器指令和微指令的理解和计算机计算流程的了解。
本次课程设计我们要设计一台微程序控制的模型机,了解了一个比较成熟的模型机的实现,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用.作为一个计算机系学生这是必需掌握的。
使我们对数据选择器、移位器、加法器、运算器、存储器和微程序控制器,有了比较透彻的认识。
由于计算机设计的部件较多、结构原理较复杂,对于我们这样的初设计者来说感到无从下手。
在设计过程中,我们从开始的粗略的一个概念,到中间的疑惑与焦虑,到解决了问题的快乐。
这对于我们以后工作也有着很大的好处,培养了我们遇到问题,分析问题,解决问题各个方面上的能力。
设计结束了,从中我们也学到了不少知识.虽然计算机组成原理的课程设计与学习已经结束,可我们学习之路并没有结束,我们会继续努力学习其相关的知识,以适应社会的发展与需要.这样才能真正成为一名合格的大学生。
十二、附图及附表
1)复杂模型机的设计的数据通路图(图1)
2)微程序流程图(图2)
3)复杂模型机微指令表(图3)
微址00002)1)________________________________________________________________________________________________________________________
代码
后续微址
说明
o2
o1
o0
ff
+1
空操作
bf
fb
fa
可变
ibus→ir
400
71
ed
ROm→rd
408
5f
rd→ROm
410
3f
c6
2d
bx→pc
418
f4
420+cz
条件变址
420
421
600
ROm→bl
601
bb
ROm→bh
602
bc
26
400+op
bx→ar
620
621
622
fc
623
7a
2f
ROm→bx
640
641
642
f8
fd
663
SP→ax
643
FA
66
2F
A+B→BX