计算机组织与体系结构课程设计报告文档格式.docx

上传人:b****6 文档编号:17219021 上传时间:2022-11-29 格式:DOCX 页数:18 大小:841.34KB
下载 相关 举报
计算机组织与体系结构课程设计报告文档格式.docx_第1页
第1页 / 共18页
计算机组织与体系结构课程设计报告文档格式.docx_第2页
第2页 / 共18页
计算机组织与体系结构课程设计报告文档格式.docx_第3页
第3页 / 共18页
计算机组织与体系结构课程设计报告文档格式.docx_第4页
第4页 / 共18页
计算机组织与体系结构课程设计报告文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

计算机组织与体系结构课程设计报告文档格式.docx

《计算机组织与体系结构课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组织与体系结构课程设计报告文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

计算机组织与体系结构课程设计报告文档格式.docx

2、设计目的:

(1)复杂模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。

(2)掌握各个单元模块的工作的原理,进一步将其组成完整的系统,构造一台基本的复杂模型机。

(3)学会规划读/写内存、寄存器、数值计算等功能,并且编写相应的机器指令和微程序,在具体上机的过程中,观察设计出的模型机的执行情况,根据输出的结果做出分析,从而更好的掌握计算机组成原理的知识。

二、机器指令的设计和微程序设计原理

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

1、数据格式

模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:

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

2、指令格式

模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。

(1)算术逻辑指令

设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:

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

9条算术逻辑指令的名称、功能和具体格式见表7.2-1。

(2)访问指令及转移指令

模型机设计2条访内指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:

其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。

D为位移量(正负均可),M为寻址模式,其定义如下:

本模型机规定变址寄存器RI指定为寄存器R2。

(3)I/O指令

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

其中,addr=01时,选中“INPUTDEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUTDEVICE”中的数码块作为输出设备。

(4)停机指令

指令指令格式如下:

HALT指令,用于实现停机操作。

3、指令系统

本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。

表7.2-1列出了各条指令的格式、汇编符号、指令功能。

4、总体设计

本模型机的数据通路框图如图7.2-1。

根据机器指令系统要求,设计微程序流程图及确定微地址,如图7.2-2。

按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件,见表7.2-2。

5.74LS181芯片的功能表

6.微程序设计

如下是机器指令格式说明和微指令格式说明

三.总体设计

1.机器指令的设计

(1)机器指令的助记符为:

START:

IN01,R0(R0)=15H

MOVR0,R1

INCR1

ANDR0,R1

RLCR1,R2

OUT10,R2

JMP00,START

HALT

(2)将助记符转换为指令

.IN01,R0对应的指令格式为01000100即16进制的44

.MOVR0,R1对应的指令格式为10000001即16进制的81

.INCR1对应的指令格式为10110101即16进制的B5

.ANDR0,R1对应的指令格式为11000001即16进制的C1

.RLCR1,R2对应的指令格式为11110110即16进制的F6

.OUT10,R2对应的指令格式为01011010即16进制的5A

.JMP00,START对应的指令格式为0000100000000000

即16进制的08和00

.HALT对应的指令格式为01100000即16进制的60

(3).根据机器指令的格式可以编成的机器指令为:

$P0044

$P0181

$P02B5

$P03C1

$P04F6

$P055A

$P0608

$P0700

$P0860

2.微程序流程图

根据机器指令可以画出微程序流程图如下(其中的地址为16进制):

3.微代码的设计

(1)微代码设计原理

按照课程设计中微指令格式,参照微程序流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件,见表7.2-2。

其中uA0-uA5为6位的后续微地址,即下地址字段,A、B、C为三个译码字段,分别由三-八译码器译码出多位。

C字段中的P1——P4是四个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的为地址入口,从而实现微程序的顺序、分支、循环运行。

在上述各测试下址中未用到的位均直接保留。

AR为算术运算是否影响进位及判零标志控制位,其为零有效。

B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号,目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。

三字段中的其他位类似与此,均是某芯片的控制信号,它们的功能都是根据机器指令来进行相应芯片的选择译码。

(2)二进制代码的转换

根据微程序流程图、微地址和程序执行时的控制信号可编成以下二进制代码:

微地址

S3S2S1S0MCN

WEA9A8

A

B

C

uA5…uA0

00

000000

011

000

100

001000

01

110

000010

02

001

010000

03

010

000100

04

100000

10

000011

14

000001

15

18

1B

110010

1C

110011

1F

001100

111001

20

22

101

32

33

110101

35

101110

39

000110

111010

3A

二进制代码表

(3)微程序

根据微指令格式及二进制代码表,将二进制代码表转换成16进制可得下面微程序:

$M00018108

$M0101ED82

$M0200C050

$M0300A004

$M0400E0A0

$M1001ED83

$M14001001

$M15030401

$M18019201

$M1B01A232

$M1C01A233

$M1F318239

$M20009001

$M2205DB81

$M32019A01

$M3301B435

$M35B99A01

$M3919883A

$M3A019801

4.接线并调试

(1)根据下面实验线路图在实验箱上接线

(2)调试

调试步骤:

写入微程序,与PC联机,将实验微程序装入实验装置中。

写程序,联机读/写程序。

选择联机软件的【转储】【装载】功能菜单将该实验对应的文件*.txt载入实验系统即可。

运行程序,使用联机运行。

联机运行程序时,进入软件界面,装载机器指令及微指令后,选择【运行】【通路图】【复杂模型机】功能菜单打开相应动态数据通路图,按相应功能键即可联机运行、监控、调试程序。

四.执行过程

1.指令执行过程的记录

本课程设计设置输入值为15H

(1)第一条机器指令是$P0044,一共有3拍:

①PC->

AR,PC+1第一拍是将PC中的地址放到AR中,PC指向下一条指令。

②ARM->

BUS,BUS->

IR第二拍是把RAM里面的内容放到指令寄存器IR里面。

③SW->

R0第三拍是把输入的数放到寄存器R0里面,此时

(R0)=15H。

(2)第二条机器指令是$P0181,一共有3拍:

③R0->

R1第三拍是把寄存器R0里面的数传送到寄存器R1里面,此时

(R1)=15H。

(3)第三条机器指令是$P02B5,一共有4拍:

③R1->

DR1第三拍是把寄存器R1里面的数传送到数据寄存器DR1里面,此时(DR1)=15H。

④DR1+1->

RD第四拍是把数据寄存器DR1送到运算器ALU当中,执行自加1操作之后,把所得数据送到寄存器R1里面,此时(R1)=16H。

(4)第四条机器指令是$P03C1,一共有5拍:

③RS->

DR1第三拍是把寄存器R0里面的数传送到数据寄存器DR1里面,此时(DR1)=15H。

④RD->

DR2第四拍是把寄存器R1里面的数传送到数据寄存器DR2里面,此时(DR1)=16H。

⑤DR1ˆDR2->

RD第五拍是把数据寄存器DR1、DR2里面的数据传送到ALU当中,进行逻辑“与”运算之后,把所得数据送到寄存器R1里面,此时(R1)=14H。

(5)第五条机器指令是$P04F6,一共有5拍:

299第三拍是把寄存器R1里面的数传送到299移位寄存器当中,也就是14H。

④带进位循环左移第四拍是将数14H进行带进位左循环移动一位,所得数为28H。

⑤299->

R0第五拍是将移位寄存器里的数28H传送到寄存器R2当中,此时(R2)=28H。

(6)第六条机器指令为$P055A,一共有3拍:

③R2->

LED第三拍是把寄存器R2里面的数输出,此时数码显示管显示28。

(7)第七、八条机器指令是$P0608、$P0700,一共有6拍:

③PC->

AR,PC+1第三拍是将PC中的地址放到AR中,PC指向下一条指令。

④RAM->

DR1第四拍是把RAM里面的内容放到数据寄存器DR1里面。

⑤RAM->

AR第五拍是把RAM里面的内容放到地址寄存器AR里面,之后进行P

(2)测试,进入JMP。

⑥DR1->

PC第六拍是把数据寄存器DR1里的内容送回程序计数器PC当中,之后跳转到第一条机器指令重复执行。

2.指令执行过程的部分截图

五.课程设计结论

在做课程设计的过程中,我们遇到了许多的难题。

一开始写指令和程序的时候,因为不懂得里面那些信号的意思,所以无从下手,后来查阅了一些资料和问了一些人之后终于知道了那些信号的意思和如何写出机器指令和微程序。

写出来微程序后,就进行接线,一开始接好线后,在联机测试过程中通过了,那时感觉很开心,因为很少可以一次接线就通过的,但是后来运行了几次之后,实验箱的接线又出现问题了,检测了好久找不出原因,只能重新接线,这次接好线后连测试都不通过,虽然按着实验箱上显示的那几条线路去检查,但是还是找不出原因,只能再重新接线,最后接线终于通过了测试。

然后就开始联机写入程序,加载后运行,但是出来的结果却总是不对,根据我们输入的数15H,经过一系列的运行之后出来的结果应该是28H的,但是每次运行过后出来的程序却都是29H。

后来经过多次的观察,发现在执行指令的过程中,执行到R0和R1进行逻辑与时就会产生进位,这个进位导致了后面的带进位循环左移时多加了一位,所以出来的结果就总是多了1。

后来在查询了书中的程序时,发现改动了地址为35的微程序时可以得到结果为28H,但是与指导老师讨论过后得知不能改动35的指令,虽然现在还没有找到为何会进位的原因,但是通过对这次结果的讨论,让我学到了很多的东西,也许你的课本理论知识学得再好,但是没有通过实践的理论知识永远都只是纸上谈兵,只有将你所学的知识运用到实践中,才能改好的理解所学的知识。

六.心得体会

通过这次的课程设计,我学会了如何更好的与他人进行合作,与他人进行交流。

我们组的课程设计是由我们组共同完成的,从一开始的写程序到后来的接线、调试,都是我们一起共同奋斗的结果。

和同组人在实验室里奋斗,每天晚上都很晚才回去,虽然有点累,但是却很快乐,因为在这次的课程设计中我学到了很多知识,以前一些课本里不太懂的地方,我也弄懂了。

特别是在与别人讨论问题的过程中,觉得自己收获了更多。

只有经历过课程设计,才可以算是真正的把那些书本里的知识转化成自己的知识。

我也更加明白了实践出真理,理论永远不比实践学的多,学的好,学的快。

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

当前位置:首页 > 初中教育 > 理化生

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

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