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

上传人:b****2 文档编号:1579048 上传时间:2023-05-01 格式:DOCX 页数:17 大小:107.37KB
下载 相关 举报
计算机组成原理组成课程设计.docx_第1页
第1页 / 共17页
计算机组成原理组成课程设计.docx_第2页
第2页 / 共17页
计算机组成原理组成课程设计.docx_第3页
第3页 / 共17页
计算机组成原理组成课程设计.docx_第4页
第4页 / 共17页
计算机组成原理组成课程设计.docx_第5页
第5页 / 共17页
计算机组成原理组成课程设计.docx_第6页
第6页 / 共17页
计算机组成原理组成课程设计.docx_第7页
第7页 / 共17页
计算机组成原理组成课程设计.docx_第8页
第8页 / 共17页
计算机组成原理组成课程设计.docx_第9页
第9页 / 共17页
计算机组成原理组成课程设计.docx_第10页
第10页 / 共17页
计算机组成原理组成课程设计.docx_第11页
第11页 / 共17页
计算机组成原理组成课程设计.docx_第12页
第12页 / 共17页
计算机组成原理组成课程设计.docx_第13页
第13页 / 共17页
计算机组成原理组成课程设计.docx_第14页
第14页 / 共17页
计算机组成原理组成课程设计.docx_第15页
第15页 / 共17页
计算机组成原理组成课程设计.docx_第16页
第16页 / 共17页
计算机组成原理组成课程设计.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

计算机组成原理

课程设计报告

设计题目:

中央处理器--微程序控制器设计

院系:

计算机科学与技术学院

班级:

2012级4班

设计者:

指导教师:

吴戴明

设计时间:

2015.1.7

一、课题分析4

1.1、设计目的4

1.2、设计任务4

1.3.1课题设计准备4

1.3.2读/写操作的认识5

二、总体设计5

2.1、设计原理6

2.2功能设计6

三、方案比较7

四、分步设计8

4.1小组成员设计任务分配8

4.2微程序控制器的设计8

4.2.1设计要求8

4.2.2设计内容8

4.3、指令周期流程图9

4.4、机器指令设计9

4.5系统组成框图10

4.6、各部件功能11

4.7微指令格式12

4.8微程序流程图13

4.10数据连通图和接线图14

五、设计成果15

5.2课程设计的收获16

六、存在问题及改进建议16

七、参考文献及相关网址17

一、课题分析

通过计算机组成原理理论课和几次实验的学习,编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。

在设计基本模型机的实验基础上,完成这次的课程设计。

这次的课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。

这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序。

1.1、设计目的

计算机组成与结构课程设计是“计算机组成与结构”课程的后续设计性课程,通过设计一台模型计算机,使学生更好地理解计算机组成与结构课程的基本内容,掌握计算机设计与实现的基本方法,培养学生实验动手能力和创新意识,为以后进行计算机应用系统的设计与开发奠定基础。

1.2、设计任务

设计一个8位模型计算机系统,包括运算器,微程序控制器,存储器,简单输入/输出接口和设备。

在计算机组成原理与系统结构实验系统上搭建模型计算机系统,完成运算器、微程序控制器的设计调试任务,并用所设计的指令系统编写一个实现简单功能的程序,在搭建的模型机系统上输入、调试和运行程序。

最后总结实验结果,完善所设计的模型机系统方案和电路图,写出完整的设计报告。

1.3、课程设计题目分析

基于我们对简单和复杂模型机的理解和实验,我们对课程设计分析

1.3.1、课题设计准备

⑴、确定设计目标

确定所设计计算机的功能和用途。

⑵、确定指令系统

确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。

确定相对应指令所包含的微操作。

⑶、总体结构与数据通路

总体结构设计包括确定各部件设置以及它们之间的数据通路结构。

在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。

综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。

数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。

⑷、设计指令执行流程

数据通路确定后,就可以设计指令系统中每条指令所需要的机器周期数。

对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。

⑸、确定微程序地址

根据后续微地址的形成方法,确定每个微程序地址及分支转移地址。

⑹、微指令代码化

根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码写入到控制存储器中的相应单元中。

⑺、组装、调试

在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的正常运行。

1.3.2读/写操作的认识

机器指令码的前4位为操作码。

其中IN为单字长,其余为双字长指令,XXXXXXXX为addr对应的二进制地址码。

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。

存储器读操作(READ):

拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。

存储器写操作(WRITE):

拨动总清开关CLR后,控制台开关SWB、SWA设置为“01”时,按START微动开关可对RAM进行连续手动写入。

启动程序(RUN):

拨动总清开关CLR后,控制台开关SWB、SWA设置为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。

上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:

SWB

SWA

控制台命令

0

0

读内存(READ)

0

1

写内存(WRITE)

1

1

启动程序运行(RUN)

二、总体设计

2.1、设计原理

CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(RO)、指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图1所示。

这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。

图1基本CPU构成原理图

2.2功能设计

本模型机和前面微程序控制器实验相比,共有5条指令:

IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移)、HLT(停机),其指令格式如下:

助记符实现功能机器指令代码

IN0(R0)A->R000100000

IN1(R1)B->R100110000

ADD(R0,R1)A+B->R000000000

MUL(R0,R1)AvB->R001010000

AND(R0,R1)AB->R001100000

OUT(R0)A->OUT01110000

HLTNOP10000000

均为单字节指令,********为addr对应的二进制地址码。

微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。

三、方案比较

方案一:

(1)选定CPU中所使用的产要器件;

(2)根据指令系统、选用的器件和设计指标,设计指令流的数据通路;

(3)根据指令系统、选用的器件和设计指标,设计数据流的数据通路。

计算机的工作过程,实质上是不同的数据流在控制信号作用下在限定的数据通路中进行传送。

数据通路不同,指令所经过的操作过程也不同,机器的结构也就不—样,因此数据通路的设计是至关重要的。

所谓数据通路的设计,也就是确定机器各逻辑部件相对位置的总框图。

数据远路的设计,目前还没有非常标准的方法。

主要是依据设计者的经验,并参考现有机器的三种典型形式(单总线、双总线或三总线结构),根据指令系统的要求,可采用试探方法来完成。

其主要步骤如下:

(1)对指令系统中的各条指令进行分析,得出所需要的指令周期与操作序列,以便决定各器件的类型和数量。

(2)构成一个总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所包涵的数据通路都能实现,并满足技术指标的要求。

(3)检验全部指令周期的操作序列,确定所需要的控制点和控制信号。

(4)检查所设计的数据通路,尽可能降低成本,简化线路。

方案二:

⑴、用基本的五条机器指令编写实验程序。

程序如下:

(地址和内容都是十六进制,机器指令的前4位为操作码。

地址内容助记符说明

0000INR0,80H80HR0。

数据80H从实验仪左下方“INPUTDEVICE”中的8位数据开关D7~D0输入,存入R0寄存器。

0110ADDR0,(0A)(R0)+(0A)R0。

R0寄存器的内容与存储器0A地址单元的内容相加,结果存入R0寄存器。

020A

0320STA(0B),R0R0(0B)。

R0寄存器的内容与存入存储器0B地址单元。

040B

0530OUTBUS,(0B)(0B)BUS。

通过总线输出存储器0B地址单元的内容。

060B

0740JMP0000PC。

无条件转移到00地址。

0800

0A01存储器0A地址单元的数据,可自定。

0B求和结果保存在存储器0B地址单元。

微指令的微代码如下:

(内容是十六进制)

十六进制地址八进制地址内容十六进制地址八进制地址内容

00001081010D15018202

010182ED010E160FE000

020248C0000F1715A000

030304E000102092ED01

040405B000112194ED01

050506A201122217A000

0606019A951323018001

07070DE0001424182000

08100110001525010A07

091183ED01162681D100

0A1287ED011727100A07

0B138EED011830118A06

0C1496ED01

⑵、修改和编写实验仪RAM和ROM数据。

方案比较:

由于方案二更符合本次课程设计的内容,而且是基于我们平时做的基本模型机(包括简单模型机和复杂模型机两部分)的基础,所以做起来比较容易。

因此,我们选择了方案二。

四、分步设计

4.1小组成员设计任务分配

表一任务分配表

小组成员任务

李雪飞

曹项飞

卫妙珠

设计机器指令执行流程

微程序流程图

分配微地址

控制台操作编码

编写设计报告

指令周期流程图

数据通路图

实验电路连接

二进制代码表

微指令格式

微指令代码化

相关文档收集

总体调试运行

4.2微程序控制器的设计

4.2.1设计要求

1.将所编写的微程序存储到控制存储器中;

2.用单步执行微指令方式执行微程序并观测所发出的控制信号;

3.每组编写的程序必须有助记符表示的汇编语言源程序,并把源程序翻译成机器指令代码,并记录相关实验结果;

4.提交微程序流程图、对应的二进制微代码表

4.2.2设计内容

1.编写出实现自定义指令系统的微程序;

2.将所编写的微程序存储到控制存储器中;

3.在实验箱调试和完成微程序控制器的设计工作;

4.3、指令周期流程图

图2指令周期流程

4.4、机器指令设计

表二机器指令码设计:

助记符

实现功能

机器指令代码

IN0(R0)

A->R0

00100000

IN1(R1)

B->R1

00110000

ADD(R0,R1)

A+B->R0

00000000

MUL(R0,R1)

AvB->R0

01010000

AND(R0,R1)

AB->R0

01100000

OUT(R0)

A->OUT

01110000

HLT

NOP

10000000

表三机器指令程序

地址(二进制)

内容(二进制)

助记符

说明

00000000

00000000

INR0

"INPUTDEVICE"→R0

00000001

00010000

ADD[10H],R0

R0+[10H]→R0

00000010

00010000

00000011

00100000

STAR0,[11H]

R0→[11H]

00000100

00010001

00000101

00110000

OUT[11H]

[11H]→LED

00000110

00010001

00000111

00000000

INR0

"INPUTDEVICE"→R0

00001000

01010000

ADD[10H],R0

R0-[10H]→R0

00001001

00010000

00001010

00100000

STAR0,[12H]

R0→[12H]

00001011

00010010

00001100

00110000

OUT[12H]

[12H]→LED

00001101

00010010

00001110

01000000

JMP00H

00H→PC

00001111

00000000

00010000

00000001

自定

00010010

求和结果

00010011

求差结果

4.5系统组成框图

图3复杂模型机控制器

4.6、各部件功能

1.LDPC微程序控制器输出的PC加1信号。

2.LOAD微程序控制器的输出信号。

LOAD=0时,PC程序计数器处于并行置数状态;LOAD=1时,PC处于计数状态。

3.ALU-BUS微程序控制器的输出信号,控制运算器的运算结果是否送到总线BUS,低电平有效。

4.PC-BUS微程序控制器的输出信号,控制程序计数器的内容是否送到总线BUS,低电平有效。

5.R0-BUS微程序控制器的输出信号,控制寄存器R0的内容是否送到总线BUS,低电平有效。

6.SW-BUS微程序控制器的输出信号,控制8位数据开关SW7-SW0的开关量是否送到总线,低电平有效。

7.LDR0微程序控制器的输出信号,控制把总线上的数据打入寄存器R0。

8.LDDR1微程序控制器的输出信号,控制把总线上的数据打入运算暂存器DR1。

9.LDDR2微程序控制器的输出信号,控制把总线上的数据打入运算暂存器DR2。

10.LDIR微程序控制器的输出信号,控制把总线上的数据(指令)输入到指令寄存器IR中。

4.7微指令格式

表四微指令格式

23

22

21

20

19

18-15

14-12

11-9

8-6

5-0

M23

M22

WR

RD

IOM

S3-S0

A字段

B字段

C字段

MA5-MA0

A、B、C各字段功能说明:

A字段

B字段

C字段

14

13

12

选择

11

10

9

选择

8

7

6

选择

0

0

0

NOP

0

0

0

NOP

0

0

0

NOP

0

0

1

LDA

0

0

1

ALU_B

0

0

1

P<1>

0

1

0

LDB

0

1

0

R0_B

0

1

0

保留

0

1

1

LDR0

0

1

1

保留

0

1

1

保留

1

0

0

保留

1

0

0

保留

1

0

0

保留

1

0

1

保留

1

0

1

保留

1

0

1

保留

1

1

0

保留

1

1

0

保留

1

1

0

保留

1

1

1

LDIR

1

1

1

保留

1

1

1

保留

4.8微程序流程图

图4微程序流程图

4.9二进制代码表

表五二进制代码表

地址

十六进制

高五位

S3—S0

A字段

B字段

C字段

MA5—MA0

00

000001

00000

0000

000

000

000

000001

01

006D43

00000

0000

110

110

101

000011

03

107070

00010

0000

111

000

001

110000

04

002605

00000

0000

010

011

000

000101

05

04B201

00000

0001

011

001

000

000001

06

002607

00000

0000

010

011

000

000111

07

003201

00000

0000

011

001

000

000001

1D

105141

00010

0000

101

000

101

000001

11

002412

00000

0000

010

000

100

010010

12

023201

0000

0010

001

100

100

000001

30

001404

00000

0000

001

010

000

000100

31

184001

00011

0000

100

000

000

000001

32

183001

00011

0000

011

000

000

000001

33

280401

00101

0000

000

010

000

000001

34

001406

00000

0000

001

010

000

000110

35

000035

00000

0000

000

000

000

110101

36

280601

00101

0000

000

011

000

000001

3C

006D5D

00000

0000

110

110

101

011101

4.10数据连通图和接线图

图5数据通路图

五、设计成果

5.1运行结果

按照以下功能分别执行:

外设输入指令IN0R0、IN1R1

二进制加法指令addR0,R1

输出到外设指令OUT0R0、OUT1R1

停机指令HLT

5.2课程设计的收获

在此次课程设计中,通过华瑞老师的悉心教导,让我从中获得了很多,一开始,我们这学期学习的是理论知识,动手能力很差,在课程设计中,老师让我们理论联系实际,不仅加强了理论知识,还提高了我们的动手能力,并更加深入的了解了理论知识,特别是微程序控制器模型机的CPU设计相关知识的认识。

我从中学到的有设计指令流程和微程序控制器,以及他的具体操作和控制。

六、存在问题及改进建议

通过这次课程设计,加强了我们动手、思考和解决问题的能力。

我终于知道了只有亲自动手才能过学到知识的道理!

在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。

我沉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。

平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。

而且还可以记住很多东西。

比如一些芯片的功能,平时看课本,这次看了,下次就忘了,通过动手实践让我们对各个元件映像深刻。

认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。

所以这个期末测试之后的课程设计对我们的作用是非常大的。

此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。

在此,感谢曾老师的细心指导,也同样谢谢其他各组同学的无私帮助!

七、参考文献及相关网址

1.《计算机组成原理(第四版·立体化教材)》,白中英主编,08年1月第四版,科学出版社。

2.《计算机组成原理及系统结构实验指导书(V1.01)》,湖北众友科技实业股份有限公司。

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2