计算机组成原理课程设计全.docx

上传人:b****5 文档编号:11528518 上传时间:2023-03-18 格式:DOCX 页数:25 大小:522.38KB
下载 相关 举报
计算机组成原理课程设计全.docx_第1页
第1页 / 共25页
计算机组成原理课程设计全.docx_第2页
第2页 / 共25页
计算机组成原理课程设计全.docx_第3页
第3页 / 共25页
计算机组成原理课程设计全.docx_第4页
第4页 / 共25页
计算机组成原理课程设计全.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

计算机组成原理课程设计全.docx

《计算机组成原理课程设计全.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计全.docx(25页珍藏版)》请在冰豆网上搜索。

计算机组成原理课程设计全.docx

计算机组成原理课程设计全

成绩评定表

学生姓名

刘建成

班级学号

1103050115

专业

计算机科学与技术

课程设计题目

多寄存器减法\右移位\输入输出等指令实验计算机设计

 

 

组长签字:

成绩

 

日期

2013年6月21日

课程设计任务书

学院

信息学院

专业

计算机科学与技术

学生姓名

刘建成

班级学号

1103050115

课程设计题目

多寄存器减法\右移位\输入输出等指令实验计算机设计

实践教学要求与任务:

利用EL-JY-II型计算机组成原理实验仪提供的硬件资源,通过设计(包括整机结构设计、指令设计、微程序设计、微指令设计、调试程序设计等)、组装、调试三个步骤完成一台微程序控制的复杂实验计算机的设计。

具体要求如下:

1、掌握实验计算机的整机结构。

熟悉实验计算机的组装和调试方法。

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

算术减法运算指令:

SUBrs,rd(功能rs-rd->rd)

输入输出指令:

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

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

转移指令:

JMPADDR(功能ADDR->PC)

右移位运算指令:

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

3、设计微指令的格式,编写上述每条机器指令所对应的微程序,并上机调试。

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

IN#data,R0

IN#data,R2

SUBR0,R2

RRCR2,R0

OUTR0

JMP00H

工作计划与进度安排:

第17周:

布置课程设计任务,查阅资料,分组设计,实验室组装与调试。

第20周:

调试,验收,答辩,编写课程设计报告。

指导教师:

2013年6月21日

专业负责人:

2013年6月22日

学院教学副院长:

2013年6月22日

目录

1.实验计算机的设计1

1.1整机逻辑框图设计及整机的逻辑框图1

1.2指令系统的设计3

1.3微操作控制部件的设计5

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

1.3.2微操作控制信号设计6

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

1.4编写调试程序15

2.实验计算机的组装15

3.实验计算机的调试16

3.1调试前准备16

3.2调试步骤和调试结果19

3.3心得体会19

4、参考文献20

1.实验计算机的设计

1.1整机逻辑框图设计及整机的逻辑框图

此模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。

 

图1.1模型机结构图

1.运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器R0,R2等组成。

2.控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。

3.存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。

4输入设备是由置数开关SW控制完成的。

5.输出设备有两位LED数码管和W/R控制完成的

图1-1中运算器ALU由U7--U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。

微控器部分控存由U13--U15三片2816构成。

除此之外,CPU的其他部分都由EP1K10集成。

存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H--FFH。

输出设备由底板上的四个LED数码管及其译码、驱动构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。

在开关方式下,输入设备由16位电平开关及两个三态缓冲芯片74LS244构成,当DIJ-G为低电平时将16位开关状态送上数据总线。

在键盘方式或联机方式下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。

本系统的数据总线为16位,指令、地址和程序计数器均为8位。

当数据总线上的数据打入指令寄存器、地址寄存器和程序计数器时,只有低八位有效。

1.2指令系统的设计

Rs或rd

选定寄存器

00

R0

01

R1

10

R2

规定:

表1.1寄存器表

 

(1)存储器访问及转移指令

设计的2条访问指令,即存数(STA),取数(LDA),2条转移指令,即无条件转移(JMP),结果为零或有进位转移指令(BZC),指令格式见表1.2存储器的访问表:

表1.2存储器的访问表

76

54

32

10

00

M

OP-CODE

rd

D

其中OP-CODE为操作码,rd为寄存器。

M为寻址模式,D为位移量,D随M的不同其定义也不相同

(2)寻址方式见表1.3寻址模式表:

表1.3寻址模式表

寻址模式M

有效地址E

说明

00

E=D

直接寻址

01

E=(D)

间接寻址

10

E=(R1)+D

R1变址寻址

11

E=(PC)+D

相对寻址

注:

本机规定变址寄存器R1指定为寄存器R2。

(3)I/O指令

输入(IN)和输出(OUT)指令采用单字节指令,格式见表1.4I/O操作码表:

7654

32

10

OP-CODE

addr

rd

表1.4I/O操作码表

其中,当OP-CODE=0100且addr=10时,从“数据输入电路”中的开关组输入数据;当OP-CODE=0100且addr=01时,将数据送到“输出显示电路”中的数码管显示。

(4)指令助记符,功能及格式见表1.5:

表1.5指令格式

汇编符号

指令的格式

功能

CLRrd

MOVrs,rd

ADCrs,rd

SBCrs,rd

011100rd

1000rsrd

1001rs rd

1010rsrd

0rd

rsrd

rs+rd+cyrd

rs-rd-cyrd

INCrd

ANDrs,rd

COMrd

RRCrs,rd

1011rsrd

1100rsrd

1101rsrd

1110rsrd

rd+1rd

rs∧rdrd

rdrd

cyrs

rsrd

RLCrs,rd

1111rsrd

cyrs

rsrd

LDAM,D,rd

00M00rd

D

Ers

STAM,D,rd

00M01rd

D

rdE

JMPM,D

00 M 10 00    

 D  

E  PC

BZCM,D

00M1100

 D 

当CY=1或Z=1时,

EPC

INaddr,rd

OUTaddr,rd

010001rd

010110rd

addrrd

rdaddr

HALT

01100000

停机

(5)指令编码:

表1.6指令编码表:

地址(二进制)

指令(二进制)

指令(十六进制)

助记符

00000000

01000100

44

IN#data,R0

00000001

01000110

46

IN#data,R2

00000010

10100010

A2

SUBR0,R2

00000011

11101000

E8

RRCR2,R0

cyR2

rsrd

00000100

01011000

58

OUT,R0

00000101

00001000

08

JMP00H

00000110

00000000

00

1.3微操作控制部件的设计

1.3.1微指令编码的格式设计

设计三个控制操作微程序:

存储器读操作(MRD):

拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。

存储器写操作(MWE):

拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。

启动程序(RUN):

拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“11”时,按“单步”键,即可转入到第01号“取指”微指令,启动程序运行

表1.7本系统的微程序字长共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

其中uA5-uA0为6位后续地址,F1,F2,F3为三个译码字段,分别由三个控制位译出多位,。

1.3.2微操作控制信号设计

微指令中个控制位的含义如下:

S3、S2、S1、S0、M、CN是控制运算器的逻辑和算术运算的微命令。

WE是写内存的微命令,状态“1”有效。

1A、1B是输入电路选通、内存RAM选通、输出LED选通控制微命令,分别对应状态“11”、“10”、“01”。

状态“00”为无效。

F1、F2、F3为三个译码字段,分别由三个控制位经指令译码电路74138译码输出8种状态,前7种状态分别对应一组互斥性微命令中的一个,状态“111”为无效。

F3字段包含P1-P4四个测试字位。

其功能是根据机器指令代码及相应微指令代码进行译码测试,使微程序转入相应的微地址入囗,从而实现微程序的顺序、分支、循环运行。

控制操作为P4测试,它以CA1、CA2作为测试条件,出现了写机器指令、读机器指令和运行机器指令3路分支,占用3个固定微地址单元。

当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。

机器指令的执行过程如下:

首先将指令在外存储器的地址送上地址总线,然后将该地址上的指令传送至指令寄存器,这就是“取指”过程。

之后必须对操作码进行P1测试,根据指令的译码将后续微地址中的某几位强制置位,使下一条微指令指向相应的微程序首地址,这就是“译码”过程。

然后才顺序执行该段微程序,这是真正的指令执行过程。

在所有机器指令的执行过程中,“取指”和“译码”是必不可少的,而且微指令执行的操作也是相同的,这些微指令称为公用微指令。

表1.8F1、F2、F3三个字段的编码方案

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

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

1.微程序控制部件组成原理

[1]运算器单元(ALUUINT)

运算器单元由以下部分构成:

两片74LS181构成了并-串型8位ALU;两个8位寄存器DR1和DR2为暂存工作寄存器,保存参数或中间运算结果。

ALU的S0~S3为运算控制端,Cn为最低进位输入,M为状态控制端。

ALU的输出通过三态门74LS245连到数据总线上,由ALU-B控制该三态门。

[2]寄存器堆单元(REGUNIT)

该部分由3片8位寄存器R0、R1、R2组成,它们用来保存操作数用中间运算结构等。

三个寄存器的输入输出均以连入数据总线,由LDRi和RS-B根据机器指令进行选通。

[3]指令寄存器单元(INSUNIT)

指令寄存器单元中指令寄存器(IR)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由LDIR控制其选通。

[4]时序电路单元(STATEUNIT)

用于输出连续或单个方波信号,来控制机器的运行。

[5]微控器电路单元(MICRO-CONTROLLERUNIT)

微控器主要用来完成接受机器指令译码器送来的代码,使控制转向相应机器指令对应的首条微代码程序,对该条机器指令的功能进行解释或执行的工作。

由输入的W/R信号控制微代码的输出锁存。

由程序计数器(PC)和地址寄存器(AR)实现程序的取指功能。

[6]逻辑译码单元(LOGUNIT)

用来根据机器指令及相应微代码进行译码使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,及工作寄存器R0、R1、R2的选通译码。

[7]主存储器单元(MAINMEM)

用于存储实验中的机器指令。

[8]输入输出单元(INPUT/OUTPUTDEVICE)

输入单元使用八个拨动开关作为输入设备,SW-B控制选通信号。

输出单元将输入数据置入锁存器后由两个数码管显示其值。

图1.2微程序控制原理图

2.微程序入口地址形成方法

由于每条机器指令都需要取指操作,所以将取指操作编制成一段公用微程序,通常安排在控存的0号或特定单元开始的一段控存空间内。

每一条机器指令对应着一段微程序,其入口就是初始微地址。

首先由“取指令”微程序取出一条机器指令到IR中,然后根据机器指令操作码转换成该指令对应的微程序入口地址。

这是一种多分支(或多路转移)的情况,常用三种方式形成微程序入口地址。

(1)一级功能转移

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

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

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

由此可见,相邻两段微程序的入口地址相差4个单元

(2)二级功能转移

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

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

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

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

3.控存的下地址确定方法

在转移到一条机器指令对应的微程序入口地址后,则开始执行微程序,每条微指令执行完毕时,需根据其中的顺序控制字段的要求形成后继微指令地址。

(1)增量方式(顺序-转移型微地址)

这种方式和机器指令的控制方式相类似,它也有顺序执行、转移和转子之分。

顺序执行时,后继微地址就是现行微地址加上一个增量(通常为“1”);转移或转子时,由微指令的顺序控制字段产生转移微地址。

因此,微程序控制器中应当有一个微程序计数器(μPC)。

为了降低成本,一般情况下部是将微地址寄存器μAR改为具有计数功能的寄存器以代替μPC。

在非顺序执行微指令时,用转移微指令实现转移。

转移微指令的顺序控制字段分成两部分:

转移控制字段(BCF)与转移地址字段(BAF)

“起始和转移地址发生器”的功能有两个:

其一是当一条新的机器指令装入IR时,它就形成机器指令的微程序段的起始地址且装入μPC,而且随着节拍电位信号的到来,μPC自动地增加一个增量,以便连续地从CM中读出微指令,相应的微操作控制信号按规定顺序发送到CPU的各个部分。

第二个功能是当微指令指示其测试状态标志、条件代码或机器指令的某些位时,它就对指定的条件进行测试,若满足转移条件,就把新的转移地址装入μPC,实现转移;否则不装入新地址,微程序就顺序执行。

所以,每次从CM中取出一条新的微指令时,μPC都增加,只有下列情况例外:

•遇到END微指令时,就把“取指”微程序的入口地址装入μPC,开始取指令周期;

•当一条新的指令装入IR时,就把该指令的微程序的入口地址装入μPC;

•遇到转移微指令且满足转移条件时,就把转移地址装入μPC。

增量方式的优点是简单,易于掌握,编制微程序容易,每条机器指令所对应的一段微程序一般安排在CM的连续单元中;其缺点是这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。

(2)断定方式

断定方式与增量方式不同,它不采用μPC,微指令地址由微地址寄存器μAR提供。

在微指令格式中,设置一个下地址字段,用于指明下一条要执行的微指令地址。

当一条微指令被取出时,下一条微指令的地址(即下地址字段)送μAR。

它相当于每条微指令都具有转移微指令的功能。

采用这种方法就不必设置专门的转移微指令,但增加了微指令字的长度。

(3)增量方式与断定方式的结合

这种控制方式中,微地址寄存器μAR有计数的功能(断定方式中的微地址寄存器μAR无计数功能),但在微指令中仍设置一个顺序控制字段,这是一种增量方式与断定方式相结合的方式。

其顺序控制字段一般由两部分组成:

顺序地址字段和测试字段。

①顺序地址字段。

可由设计者指定一般是微地址的高位部分,用来指定后继微地址在CM中的某个区域内。

②测试字段。

根据有关状态的测试结果确定其地址值,一般对应于微地址的低位部分,相当于在指定区域内确定具体的分支。

所依据的测试状态可能是指定的开关状态、指令操作码、状态字等。

测试字段如果只有一位,则微地址特产生两路分文;若有两位,则最多可产生四路分支;依此类推,测试字段为n位为最多可产生2n路分支。

③若无转移要求,则微地址寄存器计数得到后继微指令的地址。

1.3.4微程序设计:

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

 

 

 

图1.3总流程图

(1)输入指令IN

图1.4IN指令的微程序流程图

(2)输出指令OUT

图1.5OUT指令的微程序流程图

(3)转移指令JMP

图1.6JMP指令相对寻址的微程序流程图

(3)减法指令SUB

图1.7SUB指令相对寻址的微程序流程图

(4)移位指令RRC

 

图1.8移位指令相对寻址的微程序流程图

1.3.5微程序中各微指令的二进制编码、16进制编码

表5微指令代码

位地址(八进制)

位地址(二进制)

微代码(十六进制)

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.4编写调试程序

(1)具体代码以每条指令代码所对应的机器码(16进制编码)和地址码:

IN#data,R0

IN#data,R2

SUBR0-R2→R2

RRC

R2R0

OUTR0

JMP00H

(2)每条指令代码所对应的机器码和地址码:

地址(十六进制)机器码(十六进制)

0044

0146

02A2

03E8

0458

0508

0600

2.实验计算机的组装

连接硬件系统连接硬件系统,如图2.1连线图:

图2.1连线图

3.实验计算机的调试

3.1调试前准备

1、按照实验指导说明书连接硬件系统如图3.1

图3.1

2、启动实验软件,打开实验课题菜单,选中实验课题打开实验课题参数对话窗口:

微指令操作如图3.2微指令操作图:

启动实验软件,打开实验课题菜单,选中实验课题打开实验课题参数对话窗口:

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

当前位置:首页 > 医药卫生 > 基础医学

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

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