复杂试验计算机组成及加法右移指令程序设计.docx

上传人:b****6 文档编号:7301425 上传时间:2023-01-22 格式:DOCX 页数:27 大小:557.48KB
下载 相关 举报
复杂试验计算机组成及加法右移指令程序设计.docx_第1页
第1页 / 共27页
复杂试验计算机组成及加法右移指令程序设计.docx_第2页
第2页 / 共27页
复杂试验计算机组成及加法右移指令程序设计.docx_第3页
第3页 / 共27页
复杂试验计算机组成及加法右移指令程序设计.docx_第4页
第4页 / 共27页
复杂试验计算机组成及加法右移指令程序设计.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

复杂试验计算机组成及加法右移指令程序设计.docx

《复杂试验计算机组成及加法右移指令程序设计.docx》由会员分享,可在线阅读,更多相关《复杂试验计算机组成及加法右移指令程序设计.docx(27页珍藏版)》请在冰豆网上搜索。

复杂试验计算机组成及加法右移指令程序设计.docx

复杂试验计算机组成及加法右移指令程序设计

课程设计任务书

学院

信息学院

专业

计算机科学与技术

课程设计题目

复杂试验计算机组成及加法,右移指令程序设计

实践教学要求与任务:

利用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

1.1整机逻辑框图1

1.2指令系统的设计1

1.3微指令的格式设计及微操作控制部件的组成原理3

1.3.1微指令编码的格式设计3

1.3.2微操作控制信号设计4

1.3.3微程序顺序控制方式设计6

1.4微程序设计10

1.4.1每条指令对应的微程序流程图10

1.4.2每段微程序中各微指令的二进制编码、16进制编码13

1.4.3每段微程序在控存中的存放位置14

1.5编写调试程序16

3调试部分18

3.1调试前准备18

3.2程序调试过程19

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)一级功能转移

如果机器指令操作码字段的位数和位置固定,可以直接使操作码与入口地址码的部分位相对应。

例如,某计算机有16条机器指令,指令操作码用4位二进制数表示,分别为0000、0001、…、1111。

现以字母Q表示操作码,令微程序的入口地址为Q11B,例如000011B为MOV指令的入口地址,000111B为ADD指令的入口地址,001011B为SUB指令的入口地址……。

(2)二级功能转移

若各类指令的操作码的位数和位置不固定时,需采用分级转移,第一次先按指令类型标志转移,以区分出指令属于哪一类,如单操作数指令、双操作数指令等。

在每一类机器指令中的操作码的位数和位置应当是固定的,第二次即可按操作码区分出具体是哪条指令,以便转移到相应微程序入口。

(3)通过PLA电路实现功能转移

可编程逻辑阵列PLA实质上是一种译码-编码阵列,具有多个输入和多个输出,PLA的输入是机器操作码和其他判别条件,PLA的输出就是相应微程序的入口地址,这种方法对于变长度、变位置的操作码的处理更为有效而且转移速度较快。

控存的下地址确定方法

(1)计数增量方式

这种方式的特点是微程序控制部件中的微地址中的微地址产生线路主要是微地址计数器MPC。

MPC的初值由微程序首址形成线路根据指令操作码编码形成。

在微程序执行过程中该计数器增量

计数,产生下一条微指令地址。

这使得微指令格式中可以不设置“下地址场”。

缩短了微指令长度

,也使微程序控制部件结构较简单。

但微程序必须存放在控存若干连续单元中。

微操作控制信号

指令操作码

图1.3计数增量方式

(2)断定方式

微指令中设有“下地址场”,它指出下条微指令的地址,这使一条指令的微程序中的微指令在

控存中不一定要连续存放。

在微程序执行过程中,微程序控制部件中的微地址形成电路直接接受

微指令下地址场信息来产生下条微指令地址,微程序的首址也由此微地址形成线路根据指令操作

码产生。

图1.4断定方式

1.4微程序设计

1.4.1每条指令对应的微程序流程图

 

控制开关

00

P(4)测试

MWE(01)MRD(00)RUN(11)

PCAR,PC+111PCAR,PC+11013

(D_INPUT)D_BUSLT114RAMD_BUSLT11201

LT1RAM74LT1LED73

图1.5微程序流程图

图1.6微程序流程图

表1.3据本实验程序流程图设计的二进制微代码表

1.4.2每段微程序中各微指令的二进制编码、16进制编码

微地址

S3S2S1S0MCNWE1A1B

F1

F2

F3

UA5--UA0

000000

000000000

111

111

110

001000

000001

000000000

101

101

101

000010

000010

000000010

110

111

111

111101

000110

000000010

101

111

111

100101

000111

000000010

101

111

111

100101

001000

000000000

101

101

101

001010

001001

000000000

101

101

101

001100

001010

000000010

100

111

111

111011

001011

000000000

111

111

111

000001

001100

000000011

100

111

111

111100

010000

000000000

101

101

101

100101

010010

000000000

101

101

101

000111

010011

000000000

101

101

101

000110

010100

000000000

111

111

100

010101

010101

000000101

111

010

111

000001

010111

000000011

000

111

111

000001

011000

000000000

000

000

111

000001

011001

000000000

100

000

111

101010

011010

000000000

100

000

111

101100

011011

000000000

100

000

111

110010

011100

000000000

100

000

111

110011

011101

000000000

100

000

111

110110

011110

001100000

111

000

111

110111

011111

001100000

000

000

111

111001

100000

000000110

111

100

111

000001

100001

000000010

000

111

111

000001

100010

000000010

001

111

101

000001

100101

000000000

111

111

100

100000

101010

000000000

010

010

111

101011

101011

100101000

000

001

111

000001

101100

000000000

010

100

111

101101

101101

011000000

000

001

111

000001

110010

000000000

000

001

111

000001

110011

000000000

010

010

111

110101

110101

101110000

000

001

111

000001

110110

000011000

000

001

111

000001

110111

001000000

111

110

111

111000

111000

000000000

000

110

111

000001

111001

000100000

111

110

111

111010

111010

000000000

000

110

111

000001

111011

000001101

111

001

111

001000

111100

111111110

111

001

111

001001

111101

000000010

110

111

000

010000

表1.4二进制代码表

1.4.3每段微程序在控存中的存放位置

微地址(八进制)

微地址(二进制)

微代码(十六进制)

00

000000

007F88

01

000001

005B42

02

000010

016FFD

03

000011

014FC4

04

000100

015F20

05

000101

015FC6

06

000110

014FC7

07

000111

015F20

10

001000

005B4A

11

001001

005B4C

12

001010

014FFB

13

001011

007FC1

14

001100

01CFFC

15

001101

014FCE

16

001110

0025CF

17

001111

9453E5

20

010000

005B43

21

010001

005B45

22

010010

005B4D

23

010011

005B66

24

010100

018FC1

25

010101

02F5C1

26

010110

007FD6

27

010111

3C03C1

30

011000

0001C1

31

011001

0041EA

32

011010

0021EC

33

011011

0041F2

34

011100

0041F3

35

011101

0041F6

36

011110

3001F7

37

011111

3001F9

40

100000

010FC1

41

100001

0379C1

42

100010

011F41

43

100011

007EA4

44

100100

007FC1

45

100101

844920

46

100110

014FE7

47

100111

002BE8

50

10100

9459E9

51

101001

944920

52

101010

0025EB

53

101011

9403FE

54

101100

0049ED

55

101101

0449EE

56

101110

0C49EF

57

101111

0049F0

60

110000

0C7F31

61

110001

9403C1

62

110010

0003C1

63

110011

0025F5

64

110100

041341

65

110101

B803C1

66

110110

0C03C1

67

110111

287DF8

70

111000

000DC1

71

111001

187DFA

72

111010

000DC1

73

111011

06F3C8

74

111100

FF73C9

75

111101

016E10

76

111110

0041C1

1.5编写调试程序

设计如下几条机器指令的格式,指令格式可以采用单字长或双字长设计。

算术加法运算指令:

ADDrs,rd(功能rs+rd->rd)

输入输出指令:

IN#DATA,rd(功能DATA->rd)

OUTRi(功能Ri的值->LED输出)

右移位运算指令:

RRCrs,rd(功能rs的值带进位循环右移一位->rd)

转移指令:

JMPADDR(功能ADDR->PC)

通过如下程序的编写调试,验收机器指令、微指令、微程序的设计结果。

IN#data,R0

IN#dataR1

IN#data,R2

ADDR0,R1

ADDR1,R2

RRCR2,R1

O

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1