机组课设.docx

上传人:b****5 文档编号:24703987 上传时间:2023-05-31 格式:DOCX 页数:26 大小:371.53KB
下载 相关 举报
机组课设.docx_第1页
第1页 / 共26页
机组课设.docx_第2页
第2页 / 共26页
机组课设.docx_第3页
第3页 / 共26页
机组课设.docx_第4页
第4页 / 共26页
机组课设.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

机组课设.docx

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

机组课设.docx

机组课设

+

《计算机组成与系统结构》

课程设计报告

 

报告题目:

复杂模型机系统设计与运行

作者所在系部:

计算机科学与工程

作者所在专业:

作者所在班级:

作者姓名:

指导

完成时间:

 

北华航天工业学院教务处制

课程设计任务书

课题名称

复杂模型机系统设计及与运行

完成时间

指导教师

职称

讲师

学生姓名

班级

总体设计要求和技术要点

掌握计算机五大功能部件的组成及功能,熟悉完整的单台计算机基本组成原理,掌握计算机中数据表示方法、运算方法、运算器的组成、控制器的实现、存储器子系统的结构与功能、输入/输出系统的工作原理与功能。

(1)利用实验设备平台构造完整的模型机;

(2)利用运算器74LS181执行算术操作和逻辑操作;

(3)运用随机存储器RAM以及地址和数据在计算机总线的传送关系,实现运算器和存储器协同工作,读写数据,检查结果是否正确;

(4)应用微程序控制器,往EEPROM里任意写24位微代码,读出微代码并验证其正确性;

(5)构造指令系统,定义至少15条机器指令,实现具有计算四则运算及逻辑运算的功能;

(6)利用微程序控制器控制模型机运行,实现基于重叠和流水线技术的CPU技术。

工作内容及时间进度安排

总计2周:

1.6月17日:

资料查阅、选题、系统总体设计

2.6月18日-6月21日:

熟悉开发环境和工具,模块设计、代码编制

3.6月24日-28日:

系统调试与运行,现场成果验收

4.6月28日:

上交设计报告(打印稿及电子稿)

课程设计成果

1.课程设计硬件系统及配套软件

2.课程设计报告书

目录

摘要1

第1章绪论2

1.1课程设计地点2

1.2课程设计目的2

1.3课程设计的意义2

1.4课程设计的主要内容和要求2

1.5课程设计的环境2

第2章基础知识3

2.1概述3

2.2主要技术要点3

2.2.1ALU部件3

2.2.2.存储体4

2.2.3控制器4

第3章指令系统5

3.1数据格式5

3.2指令格式5

3.3指令系统6

第4章微代码设计与实验8

4.1微代码设计8

4.2实验微代码9

第5章设计内容11

5.1设计内容11

5.2程序代码11

第6章系统实现12

6.1硬件连线图12

6.2系统实现步骤12

6.3测试用例15

总结17

参考文献18

 

摘要

本实验利用EL-JY-Ⅱ型计算机组成原理实验系统组建电路,综合运用运算器、控制器、存储器、输入输出系统、总线等部件和辅助电路,完成一个较完整的模型计算机设计和实现,并构造一个指令系统,编写机器指令实现不同的具体功能,如实现数据的输入、输出、加法、减法、移位、乘法以及赋值等运算的功能。

关键词:

微代码机器指令数据输入/输出算术逻辑运算

第1章绪论

1.1课程设计地点

图书馆5楼西侧软件工程实验室。

1.2课程设计目的

本课程设计综合运用运算器、控制器、存储器、输入输出系统、总线等部件和辅助电路,完成一个较完整的模型计算机设计和实现(包括硬件和软件)。

通过课程设计对计算机组成和系统结构的基础知识进行全面的掌握,培养独立分析、研究、开发和综合设计能力。

1.3课程设计的意义

通过对复杂模型机组成的研究以及对微程序、微代码、机器指令的深入理解,进一步增强对计算机组成的学习,巩固以前所学知识,并对以后的学习打下坚实的基础。

1.4课程设计的主要内容和要求

掌握计算机五大功能部件的组成及功能,熟悉完整的单台计算机基本组成原理,掌握计算机中数据表示方法、运算方法、运算器的组成、控制器的实现、存储器子系统的结构与功能、输入/输出系统的工作原理与功能。

(1)利用实验设备平台构造完整的模型机;

(2)利用运算器74LS181执行算术操作和逻辑操作;

(3)运用随机存储器RAM以及地址和数据在计算机总线的传送关系,实现运算器和存储器协同工作,读写数据,检查结果是否正确;

(4)应用微程序控制器,往EEPROM里任意写24位微代码,读出微代码并验证其正确性;

(5)构造指令系统,定义至少10条机器指令,实现比较完整的模型机功能;

(6)利用微程序控制器控制模型机运行,实现基于重叠和流水线技术的CPU技术。

要求画出系统模块框图:

按从上到下的设计方法,将整个设计依功能划分成若干模块;并确定各个模块的输出、输入端口及要完成的功能。

检查模块逻辑功能是否正确;

(7)在EL-JY-Ⅱ型计算机组成原理实验系统上,编写机器指令,实现数据的输入,输出,移位以及加法等运算功能。

1.5课程设计的环境

EL-JY-Ⅱ型计算机组成原理实验系统。

 

第2章基础知识

2.1概述

计算机系统是包括计算机硬件和软件的一个整体,两者不可分割,但处于不同的层次上。

计算机系统的层次结构模型中,第0层是硬件内核(逻辑线路),第1、2层是指令系统和实现该指令系统所采用的技术(组合逻辑技术、微程序控制技术、PLA控制技术),第3、4层为系统软件,第5层为应用软件,第6层是系统分析。

计算机组成原理涉及到的是第0、1、2这3层。

计算机硬件主要由运算器、存储器、控制器和输入/输出五个部件组成。

 

图2.1微处理器结构

(1)运算器是进行算术运算和逻辑运算的部件,运算数据以二进制格式给出,同时也是计算机内部数据信息的重要通路。

运算器大体包括算术逻辑运算单元ALU、通用寄存器组、专用寄存器以及附加的控制线路。

(2)存储器是存放数据和程序的部件。

计算机中的存储器按功能分为主存、辅存和高速缓冲存储器CACHE,由这3类存储器构成存储系统的层次结构。

(3)控制器是计算机的核心部件,协调计算机系统的正常工作,主要包括指令寄存器、指令译码器和时序控制器等部件。

(4)输入输出部件包括各类输入输出设备和相应的接口。

2.2主要技术要点

2.2.1ALU部件

ALU部件是一种能进行多种算术运算和逻辑运算的组合逻辑电路。

它的基本逻辑结构是先行进位加法器。

74181是国际流行的4位ALU中规模集成电路,能对两个4位二进制代码进行16种算术运算和16种逻辑运算,这两类运算由M信号选择。

16种运算又由S3S2S1S0四位控制选择。

表示ALU的最低位进位输入,用

+4表示ALU的进位输出信号。

2.2.2.存储体

静态MOS存储器芯片由存储体、地址译码和控制电路等部分组成。

存储体是存储单元的集合。

地址译码器把二进制表示的地址转换为译码输入线上的高电位,驱动相应的读写电路。

控制器根据CPU给出的读或写命令,控制被选中的存储单元读出或写入。

2.2.3控制器

CPU的硬件完成的是读取指令,分析指令后产生相应的控制信号,用于指令的执行完成。

对指令的读取和译码分析就是控制器的功能。

控制器组成如下:

(1)指令计数器:

存放要执行的下一条指令的地址。

(2)指令寄存器:

存放现行指令。

(3)指令译码器:

对指令操作码进行分析解释,产生相应的控制信号给操作信号形成部件。

(4)脉冲源及启停控制电路:

脉冲源产生一定频率的脉冲信号,作为整个机器的时钟脉冲,启停线路可以开放或封锁时钟脉冲,控制时序信号的发生与停止,实现对机器的启动和停机。

(5)时序信号产生部件:

以时钟脉冲为基础,具体产生不同指令对应的周期、节拍、工作脉冲等时序信号。

(6)操作控制信号形成部件:

综合时序信号、指令译码信息、被控功能部件反馈的状态条件信号等,形成不同指令所需要的操作控制信号序列。

(7)中断机构:

对异常情况和外来请求处理。

(8)总线控制逻辑:

对总线信息传输控制。

操作控制信号形成部件产生指令所需要的操作控制信号序列,用以控制计算机各部分的操作,它是整个控制的核心。

该部件的组成可用微程序方式,也可用组合逻辑方式或可编程逻辑阵列PLA方式。

微程序控制方式的基本思想是把机器指令的每一操作控制步编成一条微指令。

微指令的格式可分为水平型微指令和垂直型微指令。

微指令的每一位代表一个微命令,也即代表了操作控制信号。

微指令序列称为微程序,每一条机器指令对应一段微程序。

计算机指令系统所对应的所有的微程序存放在微程序存储器中。

每条微指令具有唯一的微地址,执行微程序时,采用微指令地址生成技术产生下一条微指令的地址。

 

第3章指令系统

3.1数据格式

本实验计算机采用定点补码表示法表示数据,字长为16位,格式如下:

表3-1补码表示表

15

1413..................0

符号

尾数

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

-32768~32767。

3.2指令格式

(1)算术逻辑指令

设计9条单字长算术逻辑指令,寻址方式采用寄存器直接寻址。

其格式如下:

表3-2寻址方式表示表

7654

32

10

OP-CODE

rs

rd

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

表3-3操作码表

OP-CODE

0111

1000

1001

1010

1011

1100

1101

1110

1111

指令

CLR

MOV

ADD

SUB

INC

AND

NOT

ROR

ROL

表3-4寄存器表

rs或rd

选定寄存器

00

Ax

01

Bx

10

Cx

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

存储器的访问有两种,存数和取数。

它们都使用助记符MOV,但操作码不同。

转移指令只有一种,及无条件转移(JMP)。

指令格式如下:

 

表3-5存储器的访问表

76

54

32

10

00

M

OP-CODE

rd

D

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

M为寻址模式,D随M的不同其定义也不同,如下表所示:

表3-6操作码表

OP-CODE

00

01

10

指令说明

写存储器

读存储器

转移指令

表3-7寻址模式表

寻址模式M

有效地址E

D定义

说明

00

E=(PC)+1

立即数

立即寻址

10

E=D

直接地址

直接寻址

11

E=100H+D

直接地址

扩展直接寻址

(3)I/O指令

输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:

表3-8I/O操作码表

7654

32

10

OP-CODE

addr

rd

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

3.3指令系统

本实验共有十四条基本指令,其中算术逻辑指令8条,访问内存指令和程序控制指令4条,输入输出指令2条。

下表列出了各条指令的格式,汇编符号和指令功能。

 

表3-9指令格式表

汇编符号

指令的格式

功能

MOVrd,rs

ADDrd,rs

SUBrd,rs

INCrd

ANDrd,rs

NOTrd

RORrd

ROLrd

 

rs→rd

rs+rd→rd

rd-rs→rd

rd+1→rd

rs∧rd→rd

对rd求反

rd循环右移

rd循环左移

MOV[D],rd

MOVrd,[D]

rd→[D]

[D]→rd

MOVrd,D

JMPD

D→rd

D→PC

INrd,KIN

OUTDISP,rd

KIN→rd

rd→DISP

 

第4章微代码设计与实验

4.1微代码设计

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

(1)存储器读操作(MRD)

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

(2)存储器写操作(MWE)

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

(3)启动程序(RUN)

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

本系统设计的微程序字长共24位,其控制位顺序如表4-1所示。

表4-124位微代码表

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三个字段的编码方案如表4-2所示。

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

无操作

微程序流程图如图2所示。

 

4.2实验微代码

实验微代码如表4-3所示。

表4-3使用微代码表

微地址(8进制)

微地址(2进制)

微代码(16进制)

00

000000

007F88

01

000001

005B42

02

000010

016FFD

06

000110

015FE5

07

000111

015FE5

10

001000

005B4A

11

001001

005B4C

12

001010

014FFB

13

001011

007FC1

14

001100

01CFFC

20

010000

005B65

22

010010

005B47

23

010011

005B46

24

010100

007F15

25

010101

02F5C1

27

010111

018FC1

30

011000

0001C1

31

011001

0041EA

32

011010

0041EC

33

011011

0041F2

34

011100

0041F3

35

011101

0041F6

36

011110

3071F7

37

011111

3001F9

40

100000

0379C1

41

100001

010FC1

42

100010

011FC4

45

100101

007F20

52

101010

0029EB

53

101011

9403C1

54

101100

0029ED

55

101101

6003C1

62

110010

0003C1

63

110011

0025F5

65

110101

B803C1

66

110110

0C03C1

67

110111

207DF8

70

111000

000DC1

71

111001

107DFA

72

111010

000DC1

73

111011

06F3C8

74

111100

FF73C9

75

111101

016E10

第5章设计内容

5.1设计内容

本系统完成计算及验证实验结果。

计算公式(AX*2+2+BX+1)’/2+2

观察结果值与计算值是否相等

5.2程序代码

本实验的机器指令程序代码如表5-1所示。

表5-1指令输入表

地址(十六进制)

机器指令(十六进制)

助记符

说明

00H

01H

02H

03H

04H

05H

06H

07H

08H

09H

0AH

0BH

0CH

0DH

0EH

0FH

10H

0048H

0049H

00F0H

00B0H

00B0H

0082H

0046H

0094H

00B0H

00D0H

0082H

0046H

00E0H

00B0H

00B0H

0082H

0046H

INAX,KIN

INBX,KIN

AX*2

AX+1

AX+1

CX---->DISP

XXXXH---->PC

ADDAXBX

CX---->DISP

NOTAX

CX---->DISP

XXXXH---->PC

AX向右平移一位

AX+1

AX+1

CX---->DISP

XXXXH---->PC

输入AX

输入BX

AX*2→AX

AX+1→AX

AX+1→AX

AX→CX

输出CX

AX+BX=AX

AX→CX

(AX*2+2+BX+1)’->Ax

AX→CX

输出CX

AX/2

AX+1→AX

AX+1→AX

AX→CX

输出CX

第6章系统实现

6.1硬件连线图

连接硬件系统,电路如图6-1所示。

 

图6-1硬件连线图

6.2系统实现步骤

本系统在联机方式下进行。

步骤如下:

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

微指令操作:

写:

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

两位八进制微地址+空格+六位十六进制微代码),按“保存”按钮,将微程序代码保存在一给定文件(*.MSM)中;按“打开”按钮,打开已有的微程序文件,并显示在编辑框中;将实验箱上的K4K3K2K1拨到写状态即K1off、K2on、K3off、K4off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入及显示电路上,然后按"写入"按钮,微程序写入控制存储器电路。

读:

将实验箱上的K4K3K2K1拨到写状态即K1off、K2off、K3on、K4off,在“读出微地址”栏中填入两位八进制地址,按“读出”按钮,则相应的微代码显示在“读出微代码”栏中。

微指令操作界面如图6-2所示。

图6-2微指令操作

打开实验课题参数对话窗口:

机器指令操作。

写:

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

两位十六进制地址+空格+2位或4位十六进制代码),按“保存”按钮,将机器指令程序代码保存在一给定文件(*.ASM)中;按“打开”按钮,打开已有的机器指令程序文件,并显示在编辑框中;将实验箱上的K4K3K2K1拨到运行状态即K1on、K2off、K3on、K4off,拨动“CLR”开关对地址和微地址清零,将表13中的数据以图4形式写入,然后按“写入”按钮,机器指令写入存储器电路。

读:

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

(3)运行程序

单步:

在运行状态前提下,选择操作-单步,然后拨动“CLR”开关对地址和微地址清零,然后每按一次"单步"按钮,执行一条微指令。

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

连续:

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

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

停止:

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

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

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

 

图6-3机器指令操作

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

图6-4弹出窗口提示操作

图6-5输入数据Ax

 

图6-6输入数据Bx

 

6.3测试用例

以下为实验中使用的输入数据:

实验数据

Ax

Bx

第一组数据

2221H

1110H

 

以下为实验中显示结果:

图6-8显示Ax*2+2

图6-9显示(Ax*2+2+Bx+1)’

图6-10显示(Ax*2+2+Bx+1)’/2+2

图6-12实验连线

 

总结

本次实验经过两个星期的努力,终于得到了满意的结果,实验的过程中第一步是根据实验指导书所给信息,进行线路的连接,和测试,经过测试得到电路的正确状态.

之后进行微指令的写操作和读操作,最后输入机器指令,在机器指令输入后,先写出自己需要计算的式子,再根据实验8后面的机器指令集编写机器指令,最后在机器上进行验证,代入一组数值,最后验证结果是否和自己计算的一致即可.

本次实验更好的掌握了计算机组成原理的知识,知道了微指令机器指令的关系,懂得了一般式子如何转化为机器指令并进行验证,实验过程中遇到的问题和本组同学,老师一起研究解决,增强了团队合作的意识.以后遇到不懂的问题及时进行讨论和学习,本次实验收获巨大.

 

参考文献

[1]唐硕飞.计算机组成原理.北京:

高等教育出版社,2002

[2]白中英.计算机组织与结构.北京:

科学出版社,2003

[3]黄钦胜.计算机组成原理.北京:

电子工业出版社,2003

[4]蒋本珊.计算机组成原理.北京:

清华大学出版社,2004

[5]季福坤.计算机组织与系统结构.北京:

中国水利水电出版社,2010

 

指导教师评语及设计成绩

评语

 

 

课程设计成绩:

指导教师:

日期:

年月日

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

当前位置:首页 > 工程科技 > 纺织轻工业

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

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