计算机组成原理课程设计报告及代码之复杂模型机设计.docx

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

计算机组成原理课程设计报告及代码之复杂模型机设计.docx

《计算机组成原理课程设计报告及代码之复杂模型机设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告及代码之复杂模型机设计.docx(15页珍藏版)》请在冰点文库上搜索。

计算机组成原理课程设计报告及代码之复杂模型机设计.docx

计算机组成原理课程设计报告及代码之复杂模型机设计

课程设计报告

课程名称:

计算机组成原理

题目名称:

复杂模型机设计

专业名称:

计算机科学与技术

班级:

03

学生姓名:

李俊

同组同学:

丰翔王兆宇

学号:

指导教师:

兰勇

完成时间:

2016年1月8日

5

一、课程设计概述

课程设计的教学目的

本课程设计的教学目的是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的方法,进一步加深对计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。

在设计实践中提高应用所学专业知识分析问题和解决问题的能力。

课程设计任务和基本要求

本课程设计以TD—CMA计算机组成原理教学实验系统为平台完成。

1.按给定的数据格式和指令系统,理解微程序控制器的设计原理。

2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的微指令代码。

3.连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程和结果。

4.将微程序控制器模块与运算器模块、存储器模块联机,组成一台模型计算机。

5.用微程序控制器控制模型机的数据通路。

6.通过在模型机上运行有机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。

7.按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序。

在PC机上编辑机器指令和微程序,装载代码到TD—CMA实验系统并运行,实现应用要求。

设计原理

在部件实验中,我们是人为用二进制开关来模拟一些控制信号完成数据通

路的控制。

而在本课程设计中,数据通路的控制由微程序控制器来完成。

计算机

从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令的列

来完成,即一条机器指令对应一个微程序。

二、规定项目的实验验证

设计原理

机器指令格式:

$PXXXX机器指令标志、十六进制地址、机器指令代码

微指令格式:

$MXXXXXXXX微指令标志、十六进制地址、微指令代码

微指令代码格式

23

22

21

20

19

18-15

14-12

11-9

8-6

5-0

M23

CN

WR

RD

IOM

S3-S0

A

B

C

M5-M0

0

进位

ALU

下一个地址

CN代表进位

WR、RD代表向MEM单元写和读

IOM代表向IN或OUT单元读写

S3-S0代表不同的运算

A指定目的地址

B指定原地址

C代表P测试或指定目的地址为PC指针

M5-M0代表下一个微指令的地址(一共6位,所以最大值为3F)

WR、RD、IOM的功能

WR

RD

IOM

功能

0

0

0

不涉及MEM、IN和OUT单元

0

1

0

从MEM单元读数据

0

1

1

从IN单元读数据

1

0

0

向MEM单元写数据

1

0

1

向OUT单元写数据

S3~S0以及CN的功能

运算类型

S3;S2;S1;S0

CN

功能

逻辑运算

0000

X

F=A

0001

X

F=B

0010

X

F=AB

0011

X

F=A+B

0100

X

F=~B

移位运算

循环移位

0101

X

F=A>>B

0110

0

F=A>>1

1

F=A>>1

0111

0

F=A<<1

1

F=A<<1

算数运算

1000

X

FC=CN

1001

X

F=A+B

1010

X

F=A+B+FC

1011

X

F=A-B

1100

X

F=A-1

1101

X

F=A+1

1110

X

1111

X

ABC字段以及功能

字段

内容

功能

A字段

目的操作数

000

NOP

001

存入A

010

存入B

011

存入寄存器Ri(R0~R3)

101

配合C字段的101,代表存入PC指针

110

存入地址寄存器AR

111

存入指令寄存器IR

B字段

源操作数

000

NOP

001

ALU写入总线

010

RS写入总线

011

RD写入总线

100

RI写入总线

110

配合C字段的101,代表PC写入总线

C字段

P测试

000

NOP

001

P

(1)

010

P

(2)

011

P(3)

101

指令涉及PC

寻址模式

寻址模式M

有效地址E

说明

00

E=D

直接寻址

01

E=(D)

间接寻址

10

E=(R2)+D

R2变址寻址

11

E=(PC)+D

相对寻址

RS、RD的表示

RS/RD

RI

00

R0

01

R1

10

R2

11

R3

一般D表示立即数;P表示地址

复杂模型机数据流图

微指令格式如表3所示,当微指令格式确定之后,下一步就是确定后续微指令地

当微指令格式确定之后,下一步就是确定后续微指令址通常的方法是先确定微程序分支处的微地址,因为微程序分支处需要进行判断测试,这些微地址确定以后,就可以在一个“微地址表”中将分支微地址填入相应的分支微地址单元,避免以后的设计中因重复使用而造成错误,对于其他位置按照数据通路可画出机器指令的微程序流程图如图2所示,当拟定“取值”微指令时,该微指令的判别测试字段为P

(1)测试,由于取值指令是所有微程序都是用的公用微序,因此P

(1)测试结果出现多路分支,本机使用指令寄存器的前四位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定的微地址单元。

控制台操作作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定的微地址单元,当分支地址单元固定后,其余每条微指令各占用控存一个微地址单元,随意填写即可。

注意:

微程序流程图上的单元地址为八进制。

指令寄存器(IR)用来保存当前正在执行的一条指令。

当执行一条指令时,先把它从内存中取到缓存,然后在传送到指令寄存器中。

微程序流程图

(用visio画的,电子版的可以放大查看,纸质版的另附一张图)

当全部微程序设计完毕后,应将每条微指令代码化,表4即为将图2微程流程图按微指令格式转化得到的“二进制微代码表”。

下图为表4:

地址

16进制表示

高五位

S3-S0

A

B

C

下一微地址

功能

00

000001

00000

0000

000

000

000

000001

NOP

01

006D43

00000

0000

110

110

101

000011

PC->AR,PC加1

02

03

107070

00010

0000

111

000

001

110000

MEM->IR,P<1>

04

002405

00000

0000

010

001

000

000101

RS->B

05

04B201

00000

1001

011

001

000

000001

A加B->RD

06

002407

00000

0000

010

001

000

000111

RS->B

07

013201

00000

0010

011

001

000

000001

A与B->RD

08

106009

00010

0000

110

000

000

001000

MEM->AR

09

183001

00011

0000

011

000

000

000001

IO->RD

0A

106010

00010

0000

110

000

000

010000

MEM->AR

0B

005341

00000

0000

101

001

101

000001

NOP

0C

103001

00010

0000

011

000

000

000001

MEM->RD

0D

200601

00100

0000

000

011

000

000001

RD->MEM

0E

005341

00000

0000

101

001

101

000001

A->PC

0F

0000CB

00000

0000

000

000

011

001011

NOP,P<3>

10

280401

00101

0000

000

010

000

000001

RS->IO

11

103001

00010

0000

011

000

000

000001

MEM->RD

12

063201

00000

1100

011

001

000

000001

A-1->RD

13

002414

00000

0000

010

010

000

010100

RS->B

14

05B201

00000

1011

011

001

000

000001

A减B->RD

15

002416

00000

0000

010

010

000

010110

RS->B

16

01B201

00000

0011

011

001

000

000001

A或B->RD

17

18

03B201

00000

0111

011

001

000

000001

A<<1->RD

19

1A

1B

000001

00000

0000

000

000

000

000001

A->PC

1C

10101D

00010

0000

001

000

000

011101

MEM->A

1D

10608C

00010

0000

110

000

010

001100

MEM->AR,P<2>

1E

10601F

00010

0000

110

000

000

011111

MEM->AR

1F

101020

00010

0000

001

000

000

100000

MEM->A

20

10608C

00010

0000

110

000

010

001100

MEM->AR,P<2>

21

006D62

00000

0000

110

110

001

100010

PC->AR,PC++

22

102023

00010

0000

010

000

000

100011

MEM->B

23

058201

00000

1011

000

001

000

000001

A-B

24

25

26

27

28

101029

00010

0000

001

000

000

101001

MEM->A

29

00282A

00000

0000

010

100

000

101010

RI->B

2A

04E22B

00000

1001

110

001

000

101011

A加B->AR

2B

04928C

00000

1001

001

001

010

001100

A加B->A,P<2>

2C

10102D

00010

0000

001

000

000

101101

MEM->A

2D

002C2E

00000

0000

010

110

000

101110

PC->B

2E

04E22F

00000

1001

110

001

000

101111

A加B->AR

2F

04928C

00000

1011

001

001

010

001100

A加B->A,P<2>

30

001604

00000

0000

001

011

000

000100

RD->A

31

001606

00000

0000

001

011

000

000110

RD->A

32

006D48

00000

0000

110

110

101

001000

PC->AR,PC加1

33

006D4A

00000

0000

110

110

101

001010

PC->AR,PC加1

34

001621

00000

0000

001

011

000

100001

RD->A

35

000035

00000

0000

000

000

000

110101

NOP

36

006D51

00000

0000

110

110

101

010001

PC->AR,PC加1

37

001612

00000

0000

001

011

000

010010

RD->A

38

001613

00000

0000

001

011

000

010011

RD->A

39

001615

00000

0000

001

011

000

010101

RD->A

3A

001618

00000

0000

001

011

000

011000

RD->A

3B

000001

00000

0000

000

000

000

000001

NOP

3C

006D5C

00000

0000

110

110

101

011100

PC->AR,PC加1

3D

006D5E

00000

0000

110

110

101

011110

PC->AR,PC加1

3E

006D68

00000

0000

110

110

101

101000

PC->AR,PC加1

3F

006D6C

00000

0000

110

110

101

101100

PC->AR,PC加1

表4二进制微代码表

本设计的机器指令程序及相应的汇编程序如下:

微指令

汇编

指令格式

指令功能

ADDRD,RS

0000

RS

RD

RD+RS->RD

ANDRD,RS

0001

RS

RD

RD&RS->RD

INRD,P

0010

**

RD

P

[P]->RD

OUTP,RS

0011

RS

**

P

RD->[P]

TESTRD,D

0100

RD

D

RD-D

HALT

0101

停机

LDIRD,D

0110

**

RD

D

D->RD

DECRD

0111

**

RD

RD-1✍RD

SUBRD,RS

1000

RS

RD

RD-RS->RD

ORRD,RS

1001

RS

RD

RS|RD->RD

ROLRD

1010

RD

RD<<1->RD

保留

LADMD,RD

1100

M

RD

D

E->RD

STAMD,RS

1101

M

RS

RD->E

JMPMD

1110

M

D

E->PC

JNZMD

1111

M

D

当ZF=0或CF=0跳转

操作步骤

实验连线图

1.连线:

按实验连线图进行连线。

2.测试:

在联机软件CMA中打开综合性实验的数据通路图,并进行测试

3.编写程序:

采用联机读/写程序

按下面规定格式,用联机软件在CMPP中建立将机器指令及微指令的二进制代码编辑成十六进制的*.TXT文档,并用联机软件的转储功能将该格式文件装载到实验系统中。

测试程序及微指令代码:

;

运行程序

联机运行:

联机运行程序时,进入CMA软件界面,装在机器指令及微指令后,选择【实验】→【综合性实验】功能菜单打开相应动态数据通路图,按相应功能键即可联机运行、监控、调试程序。

三、指定应用项目的设计与实现

1、基本模型机设计与实现;

2、在基本模型机设计的基础上设计一台复杂模型机

任务分析:

本实验完成了逻辑与、左移、算术加、减运算、直接寻址、间接寻址、变址寻址、test指令并用JNZ、JMP指令实现跳转。

同时涉及到输入输出数据和将寄存器中的内容输入到内存中等知识点。

解决方案:

1.从in单元读入一个数,读入R1。

2.立即数0FH送R0

3.R0&R1与运算得到R1的低四位,输出R1的值

4.通过变址寻址找到地址为64H单元的数据存入R3,且输出R3

5.R1=R1+R3,输出R1。

6.通过间接寻址找到67H单元的数据62H,将62H中的数据存入R3,输出R3

7.R1=R1-R3,输出R1

8.将R1左移一位

9.输出R1

10.R1--

12.跳转至START

四、收获和体会

李俊)

通过本次课程设计,对计算机的基本组成,部件的设计,部件间的连接,微程序控制器的设计,微指令和微程序的编制与调试等过程有更深的了解,加深了对组成原理理论课程的理解。

通过自己对一系列微程序的编写,对程序执行的流程以及指令之间的跳转有了更深的理解,能够根据流程图和机器指令写出相应的微程序,对简单模型机里的数据流向图也有了一定的理解,能看懂根据自己编写的微程序在模型机上的一步步流向,对各种指令的运用更加熟悉,对它们微程序的一步步流程也有了清晰的认识,通过对机器指令和微指令的分析和编写,理解了指令代码所对应的功能。

最后感谢老师和同组同学的帮助。

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

当前位置:首页 > 人文社科 > 法律资料

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

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