复杂试验计算机组成及加法右移指令程序设计.docx
《复杂试验计算机组成及加法右移指令程序设计.docx》由会员分享,可在线阅读,更多相关《复杂试验计算机组成及加法右移指令程序设计.docx(27页珍藏版)》请在冰豆网上搜索。
![复杂试验计算机组成及加法右移指令程序设计.docx](https://file1.bdocx.com/fileroot1/2022-10/12/7e70dede-9eed-416b-8dbd-096cd4382aea/7e70dede-9eed-416b-8dbd-096cd4382aea1.gif)
复杂试验计算机组成及加法右移指令程序设计
课程设计任务书
学院
信息学院
专业
计算机科学与技术
学生姓名
付磊
班级学号
1003050424
课程设计题目
复杂试验计算机组成及加法,右移指令程序设计
实践教学要求与任务:
利用EL-JY-II型计算机组成原理实验仪提供的硬件资源,通过设计(包括整机结构设计、指令设计、微程序设计、微指令设计、调试程序设计等)、组装、调试三个步骤完成一台微程序控制的复杂实验计算机的设计。
具体要求如下:
1、掌握实验计算机的整机结构。
熟悉实验计算机的组装和调试方法。
2、设计如下几条机器指令的格式,指令格式可以采用单字长或双字长设计。
算术加法运算指令:
ADDrs,rd(功能rs+rd->rd)
输入输出指令:
IN#DATA,rd(功能DATA->rd)
OUTRi(功能Ri的值->LED输出)
右移位运算指令:
RRCrs,rd(功能rs的值带进位循环右移一位->rd)
转移指令:
JMPADDR(功能ADDR->PC)
3、设计微指令的格式,编写上述每条机器指令所对应的微程序,并上机调试。
4、通过如下程序的编写调试,验收机器指令、微指令、微程序的设计结果。
IN#data,R0
IN#dataR1
IN#data,R2
ADDR0,R1
ADDR1,R2
RRCR2,R1
OUTR0
JMP00H
工作计划与进度安排:
第19周:
布置课程设计任务,查阅资料,分组设计,实验室组装与调试。
第20周:
调试,验收,答辩,编写课程设计报告。
指导教师:
2012年月日
专业负责人:
2012年月日
学院教学副院长:
2012年月日
1实验计算机的设计1
3调试部分18
3.3结果分析20
4心得体会20
5参考文献20
1实验计算机的设计
1.1整机逻辑框图
图1.1逻辑框图
1.2指令系统的设计
本实验共有14条基本指令,其中算术逻辑指令8条,访问内存指令和程序控制指令4条。
输入输出指令2条。
表8-1列出了各条指令的格式、汇编符号和指令功能。
表1.1
汇编符号
指令的格式
功能
MOVrd,rs
ADDrd,rs
SUBrd,rs
1000rsrd
1001rs rd
1010rsrd
rsrd
rs+rdrd
rd-rsrd
INCrd
ANDrd,rs
NOTrd
RORrd
1011rdrd
1100rsrd
1101rdrd
1110rdrd
rd+1rd
rs∧rdrd
rdrd
rd
ROLrd
1111rdrd
rd
MOV[D],rd
001000rd
D
rd[D]
MOVrd,[D]
001001rd
D
[D]rd
MOVrd,D
000001rd
D
Drd
JMPD
0000 10 00
D
D PC
INrd,KIN
OUTDISP,rd
010010rd
010001rd
KINrd
rdDISP
1.3微指令的格式设计及微操作控制部件的组成原理
1.3.1微指令编码的格式设计
1、数据格式:
本实验计算机采用定点补码表示法表示数据,字长为16位,其格式如下:
15
1413……..0
符号
尾数
其中第16位为符号位,数值表示范围是:
-32768≤X<32767。
2、指令格式:
1)算术逻辑指令
设计9条单字长算术逻辑指令,寻址方式采用寄存器直接寻址。
其格式如下:
7654
32
10
OP-CODE
rs
rd
其中OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:
OP-CODE
0111
1000
1001
1010
1011
1100
1101
1110
1111
指令
CLR
MOV
ADD
SUB
INC
AND
NOT
ROR
ROL
Rs或rd
选定寄存器
00
Ax
01
Bx
10
Cx
9条算术逻辑指令的名称、功能和具体格式见表8-2。
2)存储器访问及转移指令
存储器的访问有两种,即存数和取数。
它们都使用助记符MOV,但其操作码不同。
转移指令只有一种,即无条件转移(JMP)。
指令格式如下:
76
54
32
10
00
M
OP-CODE
rd
D
其中OP-CODE为操作码,rd为寄存器。
M为寻址模式,D随M的不同其定义也不相同,如下表所示:
OP-CODE
00
01
10
指令说明
写存储器
读存储器
转移指令
寻址模式M
有效地址E
D定义
说明
00
E=(PC)+1
立即数
立即寻址
10
E=D
直接地址
直接寻址
11
E=100H+D
直接地址
扩展直接寻址
注:
扩展直接寻址用于面包板上扩展的存储器的寻址。
3)I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
7654
32
10
OP-CODE
addr
rd
其中,当OP-CODE=0100且addr=10时,从“数据输入电路”中的开关组输入数据;当OP-CODE=0100且addr=01时,将数据送到“输出显示电路”中的数码管显示。
本系统设计的微程序字长共24位,其控制位顺序如下:
24
23
22
21
20
19
18
17
16
151413
121110
987
6
5
4
3
2
1
S3
S2
S1
S0
M
Cn
WE
1A
1B
F1
F2
F3
uA5
uA4
uA3
uA2
uA1
uA0
F1、F2、F3三个字段的编码方案如表8-2:
F1字段
F2字段
F3字段
151413
选择
121110
选择
987
选择
000
LDRi
000
RAG
000
P1
001
LOAD
001
ALU-G
001
AR
010
LDR2
010
RCG
010
P3
011
自定义
011
自定义
011
自定义
100
LDR1
100
RBG
100
P2
101
LAR
101
PC-G
101
LPC
110
LDIR
110
299-G
110
P4
111
无操作
111
无操作
111
无操作
1.3.2微操作控制信号设计
设计三个控制操作微程序:
存储器读操作(MRD):
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。
存储器写操作(MWE):
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。
启动程序(RUN):
拨动开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“11”时,按“单步”键,即可转入到第01号“取指”微指令,启动程序运行。
注:
CA1、CA2由控制总线的E4、E5给出。
键盘操作方式时由监控程序直接对E4、E5赋值,无需接线。
开关方式时可将E4、E5接至控制开关CA1、CA2,由开关来控制。
表1.2
指令助记符
控制信号
取指
微指令
PCO,BI
RC,B2,B3,CI,GI
P+1,CK
MLD
ADDrd,rs
LDR1,LDR2,LT1,LT2
SUBrd,rs
LDR1,LDR2,LT1,LT2
ANDA,Ai
OB,CC,CG
RR,A,B,CT,OT,
Cn,M,,S3,S2,S1,S0,
X0,X1,CA,SA,SB,CP
ORA,Ai
OB,CC,CG
RR,A,B,CT,OT,
Cn,M,,S3,S2,S1,S0,
X0,X1,CA,
SA,SB,CP
XORA,Ai
OB,CC,CG
RR,A,B,CT,OT,
Cn,M,,S3,S2,S1,S0,
X0,X1,CA,
SA,SB,CP
NOTA
OB,CT,OT,
Cn,M,S3,S2,S1,S0,
X0,X1,CA
DECAi
A,B,RR,CT,OT
Cn,M,S3,S2,S1,S0
X0,X1,CA
OB,A,B,WR
INCAi
A,B,RR,CT,OT
Cn,M,S3,S2,S1,S0
X0,X1,CA
OB,A,B,WR
MOVAi,Aj
A,B,RR,CT,OT,
Cn,M,S3,S2,S1,S0
X0,X1,CA
OB,A,B,WR
NOTAi
A,B,RR,CT,OT
Cn,M,S3,S2,S1,S0
X0,X1,CA
OB,A,B,WR
1.3.3微程序顺序控制方式设计
微程序控制部件组成原理
三片EEPROM2816构成24位控制存储器,两片8D触发器74LS273和一片4D触发器74LS175
构成18位微命令寄存器,三片3线-8线译码器74LS138对微命令进行译码。
三片2D触发器
74LS74
构成6位微地址寄存器,它们带有清“0”端和预置端。
在不判别测试的情况下,T2时刻打入微
地址器的内
容即为下一条微指令地址。
当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过
强置端将某一触发器置为“1”状态,完成地址修改。
SA5~SA0为微控制器电路微地址锁存器的
强置端输出。
在该电路中有一组开关K1,K2,K3,K4,它们可以设成三种状态:
写入,读出和运行。
当处
于“写入”状态时,可以根据微地址和微指令二进制代码写入到2816中。
当处于“读出”状态
时,可以将写入的二进制代码读出,从而可以对写入控存的二进制代码的正确性进行验证。
当处
于“运行”状态时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。
图1.2程序控制部件组成
微程序入口地址形成方法
由于每条机器指令都需要取指操作,所以将取指操作编制成一段公用微程序,通常安排在控存的0号或特定单元开始的一段控存空间内。
每一条机器指令对应着一段微程序,其入口就是初始微地址。
首先由“取指令”微程序取出一条机器指令到IR中,然后根据机器指令操作码转换成该指令对应的微程序入口地址。
这是一种多分支(或多路转移)的情况,常用三种方式形成微程序入口地址。
(1)一级功能转移
如果机器指令操作码字段的位数和位置固定,可以直接使操作码与入口地址码的部分位相对应。
例如