计算机组成原理课设.docx

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

计算机组成原理课设.docx

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

计算机组成原理课设.docx

计算机组成原理课设

课程设计任务书

学院

信息学院

专业

计算机科学与技术

学生姓名

学号

设计题目

多寄存器算术减法\右移位\输入输出\转移指令实验计算机设计(第5组)

内容及要求:

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

设计总要求:

1.实验计算机整机应由如下几个模块组成:

运算器、寄存器、指令部件、微程序控制部件、内存、总线缓冲电路、输入和输出控制电路。

2.运算器采用双数据暂存器多寄存器结构,并带移位运算功能。

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

算术减法运算指令:

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

输入输出指令:

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

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

右移位运算指令:

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

转移指令:

JMPADDR(功能ADDR->PC)

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

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

IN#data,R0

IN#data,R2

SUBR0,R2

RRCR2,R0

OUTR0

JMP00H

进度安排:

第17周:

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

第18周:

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

指导教师(签字):

2011年12月10日

学院院长(签字):

2011年12月10日

一、实验目的2

二、实验内容2

三、实验计算机的设计2

1、整机逻辑框图设计并画出整机的逻辑框图2

2、指令系统的设计3

3、微操作控制部件设计4

3.1微指令编码格式设计4

3.1.1数据格式4

3.1.2指令格式4

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

3.3.1微程序控制部件组成原理6

3.3.2微程序入口地址形成方法7

3.3.3控存下地址确定方法8

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

3.4微程序设计9

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

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

5.编写调试程序11

5.1调试程序如下11

5.2每条指令所对应的机器码(16进制编码)12

5.3程序在内存中的存放位置12

四、实验计算机的组装13

五、实验计算机的调试13

1.调试前准备13

2.程序调试过程13

3.调试结果15

4.出错和故障分析17

4.1出错分析17

4.2故障分析查找17

4.3确认是否属故障17

4.4正确判断故障原因18

六、心得体会18

七、参考文献19

一、实验目的

1、组成一个复杂的计算机整机系统—模型机,输入程序并运行;

2、了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程;

3、定义几条机器指令,编写相应微程序并具体上机调试.

4、完成多寄存器算术减法\右移位\输入输出\转移指令实验计算机设计。

二、实验内容

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

完成多寄存器算术减法\右移位\输入输出\转移指令实验计算机设计。

三、实验计算机的设计

1、整机逻辑框图设计并画出整机的逻辑框图

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

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

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

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

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

(2)计算机由基板和CPU板两部分组成:

①基板:

本部分是8位机和16位机的公共部分,包括以下几个部分:

数据输入输出、显示及监控,脉冲源及时序电路,数据和地址总线,外设控制电路,单片机控制电路和键盘操作部分,与PC机通讯的接口,主存器和电源,CPLD实验板,自由实验区。

②CPU板:

本板分为8位机和16位机两种,除数据字长分为8位和16位外,都包括以下部分:

微程序控制器,运算器,寄存器堆,程序计数器,指令寄存器,

指令译码电路,地址寄存器,数据,地址和控制总线。

运算器部分:

由算术逻辑单元ALU74LS181(U29、U30)、暂存器74LS273(U27、U28)、三态门74LS244(U31)和进位控制电路GAL芯片(U32)等组成。

存储器部分:

由静态存储器1片6116(2K×8)构成。

其数据线D0~D7接到数据总线,地址线A0~A7由地址锁存器(74LS273)给出。

黄色地址显示灯MA7-MA0与地址总线相连,显示地址总线的内容。

数据经三态门(74LS245)连至数据总线,分时给出地址和数据。

图1模型机结构框图

2、指令系统的设计

指令格式、指令编码、指令助记符、指令功能、操作数的寻址方式如下:

表1指令系统的设计框图

指令格式

指令编码

指令助记符

指令功能

操作数的寻址方式

01000100

00H

IN#data,R0

AddrR0

寄存器寻址

10000110

01H

IN#data,R2

AddrR0

寄存器寻址

10100010

02H

SUBR0,R2

R0-R2R0

寄存器寻址

11101000

03H

RRCR2,R0

带进位的逻辑右移

R2R0

寄存器寻址

00001000

04H

OUTR0

R0Addr

寄存器寻址

00001000

05H

JMP[00]H

无条件跳转

Addr

PC

00000000

06H

[00]H

停机

3、微操作控制部件设计

3.1微指令编码格式设计

3.1.1数据格式

设计的计算机采用定点补码表示法表示数据,字长为8位,其格式如下:

7

654321

符号

尾数

图2数据表示

其中第7位符号位,数值表示范围是:

-1≤X≤1

3.1.2指令格式

(1)算术逻辑指令

用单字节表示,寻址方式采用寄存器直接寻址格式如下:

7654

32

10

OP-CODE

rs

rd

图3单字节寻址格式

其中OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:

rs或rd

选定寄存器

00

R0

01

R1

10

R2

图4寄存器

(2)访问机转移指令

本机设计有2条指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP),指令格式如下:

76

54

32

10

00

M

OP-CODE

rd

D

图5转移指令

其中OP-CODE为操作码,rd为目的寄存器地址。

D为位移量,M为寻址方式,其定义如下:

表2寻址方式

寻址方式M

有效地址E

说明

00

01

10

11

E=D

E=(D)

E=(RI)+D

E=(PC)+D

直接寻址

间接寻址

RI变址寻址

相对寻址

(3)I/O指令

输入输出指令采用单字节指令,其指令如下:

7654

32

10

OP-CODE

addr

rd

图6I/O指令图

其中,addr=01时,选中“数据输入电路”中的开关组作为输入设备,addr=10时,选中“输出显示电路”中的数码管作为输出设备。

3.2微操作控制信号设计

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

存储器读操作(MRD):

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

存储器写操作(MWE):

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

启动程序(RUN):

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

本系统设计的微指令采用水平型微指令格式,字长共24位,其控制位顺序如下:

表3微指令控制位

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位的后续地址,F1F2F3为三个译码字段,分别有三个控制位译码出多位。

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

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

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

表4F1,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

其中微命令LDRi表示写寄存器操作。

微命令LOAD表示程序计数器PC写操作。

微命令LDR2表示数据暂存器LT2写操作。

微命令LDR1表示数据暂存器LT1写操作。

微命令LAR表示地址寄存器AR写操作。

微命令LDIR表示指令寄存器写操作。

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

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控制选通信号。

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

3.3.2微程序入口地址形成方法

采用多路转移方式,根据判别测试条件,通过微地址形成电路使微程序转入相应的微地址入口。

本系统有3个判别测试位:

P4判别测试位是根据指令译码输入CA1、CA2的状态为测试条件,通过修改下地址字段微地址的A0、A1位产生3路分支转移,使微程序分别转移到写机器指令、读机器指令、和执行机器指令三种状态的微程序的入口。

P1判别测试位是根据指令中的前4位操作码IR7、IR6、IR5、IR4的状态为测试条件,通过修改下地址字段微地址的A3、A2、A1、A0位产生16路分支转移,使微程序分别转移到IN指令、ADD指令、MOV指令、OUT指令、RRC指令等16条机器指令执行阶段的微程序的入口。

P2判别测试位是根据指令中的2位操作码IR3、IR2的状态为测试条件,通过修改下地址字段微地址的A1、A0位产生4路分支转移,使微程序分别转移到LDA指令、STA指令、BZC指令和JMP指令4条机器指令执行阶段的微程序的入口。

3.3.3控存下地址确定方法

微程序顺序控制方式也即微程序执行过程中下一条微指令地址的确定方式。

常用的有两种方式:

计数增量方式和“下地址场”断定方式。

计数增量方式是指微程序在执行过程中,通过微程序控制部件中的微地址计数器MPC增量计数,来产生下一条微指令地址。

因此,采用这种方式的微指令格式中可以不设置“下地址场”字段,微程序存储在控存的若干个连续单元中。

“下地址场”断定方式是指微程序在执行过程中,通过微程序控制部件中的微地址形成电路,直接接受微指令中“下地址场”字段的信息,来产生下一条微指令地址。

因此,采用这种方式的微指令格式中设有“下地址场”字段,一条机器指令所对应的微程序在控存中可以不连续存放。

本实验计算机的顺序控制是采用“下地址场”断定方式。

无论是在微程序的顺序执行过程中,还是最后一条微指令执行结束之后进入下一条机器指令的取指过程,都是由微指令中“下地址场”字段的微地址,通过微程序控制部件中的微

地址形成电路,直接来产生下一条微指令地址。

微程序控制部件组成结构示意图如图。

图7微程序控制部件组成结构示意图

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

微程序在控存中按位地址顺序的存储在控制存储器中,其中微指令的设计顺序尤为的重要,它直接影响程序运行的正确性,及程序的运行效率。

3.4微程序设计

3.4.1指令对应的微程序流程图

JMPIN`SUBRRCOUT

图8微程序流程图

3.4.2每段微程序中各微指令的二进制编码、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

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

微程序在控存中按位地址顺序的存储在控制存储器中,其中微指令的设计顺序尤为的重要,它直接影响程序运行的正确性,及程序的运行效率。

5.编写调试程序

5.1调试程序如下

IN#data,R0

IN#data,R2

SUBR0,R2

RRCR2,R0

OUTR0

JMP00H

5.2每条指令所对应的机器码(16进制编码)

表6机器代码

地址(八进制)

地址(二进制)

机器指令(十六进制)

00

000000

44

01

000001

46

02

000010

A2

03

000011

E8

04

000100

58

05

000101

08

06

000110

00

5.3程序在内存中的存放位置

(1)IN#data,R0

提示输入数据的时候,数据被直接送入寄存器R0

(2)IN#data,R2

通过寄存器寻址将寄存器R2里的内容送到寄存器R2里面。

(3)SUBR0,R2

采用寄存器寻址将R0,R2里的数据送到ALU运算器进行算术减操作,进位输出,结果存到寄存器R2。

(4)RRCR2,R0

进行带进位的逻辑右移,寄存器寻址,将寄存器R2,R0里的内容送到ALU运算器,进位输出,结果存到寄存器R0。

(5)JMP[00]H

跳转指令,跳到地址[00]H

(6)[00]H

停机操作,取指结束。

四、实验计算机的组装

图9单片机键盘实验接线图

五、实验计算机的调试

1.调试前准备

首先,连接硬件系统,电路图如图所示。

其次,启动实验联机软件,打开实验课题菜单,选中实验课题,打开实验课题参数对话窗口。

2.程序调试过程

[1]微指令操作:

写(W):

在编辑框中输入微指令程序(格式:

两位八进制微地址+空格+六位十六进制微代码),按“保存”按钮,将微程序代码保存在一给定文件(*.MSM)中;按“打开”按钮,打开已有的微程序文件,并显示在编辑框中;将实验箱上

的K4K3K2K1拨到写状态即K1off、K2on、K3off、K4off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入及显示电路上,然后按"写入"按钮,微程序写入控制存储器电路。

读(R):

读微指令,开关读状态即K1off、K2off、K3on、K4off,验证正确。

微指令操作界面如下图所示:

图10微指令操作

[2]机器指令操作

汇编程序→机器码(P60)两位16进制,输入到机器指令操作窗口,保存文件。

写入机器指令(W):

在编辑框中输入实验用的机器指令程序(格式:

两位十六进制地址+空格+2位或4位十六进制代码),按“保存”按钮,将机器指令程序代码保存在一给定文件(*.ASM)中。

按“打开”按钮,打开已有的机器指令程序文件,并显示在编辑框中。

将实验箱上的K4K3K2K1拨到运行状态即K1on、K2off、K3on、K4off,拨动“CLR”开关对地址和微地址清零。

读机器指令(R):

将实验箱上的K4K3K2K1拨到运行状态即K1on、K2off、K3on、K4off,在“读出指令地址”栏中填入两位十六进制地址,拨动“CLR”开关对地址和微地址清零,然后按“读出”按钮,则相应的指令代码显示在“读出指令代码”栏中。

[3]可以执行(E)

3.调试结果

单步:

在运行状态前提下,选择操作→单步,点击弹出窗口如图,然后

拨动“CLR”开关对地址和微地址清零,然后每按一次"单步"按钮,执行一条微指令。

可从实验箱的指示灯和显示LED观察单步运行的结果。

连续:

在运行状态前提下,选择操作→连续,点击弹出窗口如图,先拨动“CLR”开关对地址和微地址清零,然后按"连续"按钮,可连续执行程序。

可从实验箱的指示灯和显示LED观察连续运行的结果。

停止:

在连续运行程序过程中,可按"停止”按钮暂停程序的执行。

此时地址和微地址并不复位,仍可以从暂停处单步或连续执行。

机器指令操作界面如图所示:

图11机器指令操作

程序运行过程中,遇到输入语句时,会出现如图所示对话框,要求输入数据:

图12弹出窗口提示操作

 图13输入第一个数据图14输入第二个数据

测试数据及结果:

LED管显示FF86H

图15电路板上输出结果

如图所示:

输入的数据是15H和8H。

IN#data,R0R0=15H

IN#data,R2R2=08H

SUBR0,R2R0=R0-R2=15H-08H=0DH

RRCR2,R0R2=R0>>1=0DH>>1=86H

OUTR0输入图15中的FF86H

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

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

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

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