带移位基本模型计算机的设计课程设计报告doc.docx

上传人:b****1 文档编号:13242054 上传时间:2023-06-12 格式:DOCX 页数:25 大小:724.50KB
下载 相关 举报
带移位基本模型计算机的设计课程设计报告doc.docx_第1页
第1页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第2页
第2页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第3页
第3页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第4页
第4页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第5页
第5页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第6页
第6页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第7页
第7页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第8页
第8页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第9页
第9页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第10页
第10页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第11页
第11页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第12页
第12页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第13页
第13页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第14页
第14页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第15页
第15页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第16页
第16页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第17页
第17页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第18页
第18页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第19页
第19页 / 共25页
带移位基本模型计算机的设计课程设计报告doc.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

带移位基本模型计算机的设计课程设计报告doc.docx

《带移位基本模型计算机的设计课程设计报告doc.docx》由会员分享,可在线阅读,更多相关《带移位基本模型计算机的设计课程设计报告doc.docx(25页珍藏版)》请在冰点文库上搜索。

带移位基本模型计算机的设计课程设计报告doc.docx

带移位基本模型计算机的设计课程设计报告doc

 

课程设计报告

课程名称计算机组成原理

课题名称带移位基本模型计算机的设计

专业

班级

学号

姓名

指导教师

2014年9月14日

xxx工程学院

课程设计任务书

 

课程名称计算机组成原理

课题带移位基本模型计算机的设计

 

专业班级

学生姓名

学号

指导老师

审批

 

任务书下达日期2014年9月3日

任务完成日期2014年9月14日

 

一、设计内容与设计要求

1.设计内容

模型机是由五个部分组成的计算机,通过它可以理解计算机整机的结构及功能,理解CPU、存储器、中断控制器、总线的结构及实现逻辑和各部件之间的接口关系。

本次课程设计的主要内容是利用西安唐都公司的TDN-CM++的内部可编程资源,设计一个模型计算机。

本课程设计的主要目的是通过部件级的模型机的设计和调试,使学生理解计算机由5部分组成,掌握计算机的工作过程,从“指令—微指令—微操作”概念的理解,从而清晰地建立计算机的整机概念,并培养学生分析和解决实际问题的能力,同时增强学生的动手能力。

2.设计要求

(1)借助于TDN-CM++的内部可编程资源,运算器单元,控制存储器,微命令寄存器,地址转移逻辑,微地址寄存器,控制时序信号单元,寄存器组,总线,输入\输出单元等,用微程序的方式设计一台的模型计算机。

设计包括模型计算机组成的设计,指令系统的设计,并用汇编语言完成设计并调试成功。

(2)基本模型机的设计要求(P98)复习

定义五条机器指令:

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

助记符机器指令码说明

IN()00000000“INPUTDEVICE”R0

ADDaddr00010000××××R0+[addr]R0

STAaddr00100000××××R0[addr]

OUTaddr00110000××××[addr]LED

JMPaddr01000000××××addrPC

其中IN为单字长(8位),其余为双字长指令,××××××××为addr对应的二进制地址码。

参考程序(实验已做过)

地址(二进制)内容(二进制)助记符说明

0000000000000000INR0INPUTDEVICE-〉R0

0000000100010000ADD[0AH],R0R0+[0AH]-〉R0

0000001000001010

0000001100100000STAR0,[0BH]R0-〉[0BH]

0000010000001011

0000010100110000OUT[0BH][0BH]-〉LED

0000011000001011

0000011101000000JMP00H00H-〉PC

0000100000000000

00001001

(3)课程设计内容及要求:

以下是带移位运算的模型机的设计与实现:

移位运算的模型机的设计和实现:

(1)IN输入“INPUTDEVICE”->R0,

(2)ADD[13H]R0+[13H]->R0,

(3)RLC带进位左移

(4)IN“INPUTDEVICE”->R0,

(5)RRC带进位右移

(6)RL左环移

(7)STA[0EH]R0->[0EH]

(8)OUT[0EH][0EH]->BUS

(9)JMP[00H]00H->PC

(4)在规定的时间内以小组为单位完成相关的系统功能实现、数据测试和记录并进行适当的分析。

要求,同一小组的每个同学必须分析一条不同的机器指令的微程序的组成,说明组成该机器指令的每一条微指令的微命令(不同的控制信号的组成)。

(5)按本任务书的要求,编写《课程设计报告》(Word文档格式)。

并用A4的复印纸打印并装订。

(6)在规定的时间内,请各班学习委员收齐课程设计报告在星期五交陈华光老师。

3.分组及安排

分4组,学号除以4取余数,余数为0的同学做带移位基本模型机1、余数为1的同学做复杂模型机1,余数为2的同学做复杂模型机2,余数为3的同学做复杂模型机3,每个组必须独立完成指定的题目,每个同学按要求独立完成课程设计报告。

4.成绩评定

程序设计方案是否合理;程序设计是否正确;调试结果;设计说明书的质量高低;答辩时回答问题情况;课程设计周表现情况;总评成绩记入“课程设计成绩评分表”。

二、进度安排

第周周,具体安排如下:

星期

时间

班级

内容

地点

任务安排

E-510

接线

E-510

调试

E-510

系统调试实现

E-510

接线

E-510

调试

E-510

系统调试实现

E-510

附:

课程设计报告装订顺序:

封面、任务书、目录、正文、评分表、附件(A4大小的图纸及程序清单)。

正文总字数要求在5000字以上(不含程序源代码)。

一、课题的主要功能

二、总体设计方案

1、模型机的逻辑框图

2、用框图语言表示模型机的指令执行流程

三、数据格式和寻址方式的设计

1、数据格式

2、指令格式

四、指令和微程序的设计

七、课程设计的收获及体会

八、参考资料

 

一、课题的主要功能

本课题设计的主要目的是通过对复杂模型机的建立和通过部件级的模型机的设计和调试,使学生理解计算机由5部分组成,掌握计算机的工作过程,让学生去了解首控制器是如何去工作,是怎么样一步一步完成所给的指令。

从取指令,编译指令,输出等一系列的工作是如何在控制器里运行的。

让大家清晰地了解计算机的整机概念,并培养学生分析和解决实际问题的能力。

二、总体设计方案

(1)带移位运算模型机的逻辑框图

以控制器为中心,首控制器从指令寄存器取得指令,编译指令,再输出微控制信号,控制ALU的运算,PC加一,并且从RAM中取出数据运算,运算后再把结果通过数据总线存到RAM,在指令寄存器读去下一条指令,依次循环。

本实验是在实验

(一)基本模型机的基础上搭接移位控制电路(74LS299芯片),实现移位控制运算,原理图如图1所示。

图1带移位运算的模型计算机逻辑框图

2、用框图语言表示模型机的指令执行流程

用框图语言表示模型机的指令执行流程

图2基本模型机的指令执行流程

实现移位控制运算。

因此实验中新增4条移位运算指令:

RL(左环移);RLC带进位左环移);RR(右环移);RRC(带进位右环移),其指令格式如下:

操作码

RR01010000

RRC01100000

RL01110000

RLC10000000

以上4条指令都为单字长指令(8位)。

RR为将R0寄存器中的内容循环右移一位。

RRC为将R0寄存器中的内容带进位右移一位,它将R0寄存器中数据右边第一位移入进位,同时将进位寄存器的数移至R0寄存器的最左位。

RL为将R0寄存器中的数据循环左移一位。

RLC为将R0寄存器中的数据带进位循环左移一位。

环移的信号如下

299_BS1S0M功能

0100循环右移

0101带进位循环右移

0110循环左移

0011带进位循环左移

同样,本实验为了向RAM中装入程序和数据,设置了三个控制台操作微程序,同基本模型机完全一致(图2的右边部分)。

设计带移位控制的微程序流程图如图3所示:

图3带移位控制的模型机的指令执行流程

三、数据格式和寻址方式的设计

1、数据格式

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

6543210

符号

尾数

其中第7位为符号位,相对于十进制数值表示范围是:

-27X27-1。

2、模型机的寻址方式

操作数的寻址就是寻找形成操作数在主存中的地址的方法。

设指令格式如下:

形式地址(D):

指令地址字段中给出的地址。

有效地址(EA):

形式地址经过一定计算而得到的操作数的实际地址。

常用寻址方式如下:

(1)隐含寻址:

指令中不指出操作数的地址,而是隐含在累加器或堆栈等,由它们给出操作数。

(2)立即寻址:

指令的地址字段指出的不是操作数的地址,而是操作数本身。

即数据data=D。

(3)直接寻址:

操作数的地址直接在指令中给出,即操作数的有效地址为

EA=D。

(4)间接寻址:

指令的形成地址D在主存相应单元中的内容是操作数的地址,即操作数的有效地址为

EA=(D)。

(5)寄存器寻址:

指令中给出的是寄存器号R,操作数就是寄存器中的内容,即data=(R)。

(6)寄存器间接寻址:

指令中给出的是寄存器号R,而操作数的地址就是寄存器中的内容,

即EA=(R)。

(7)相对寻址:

操作数地址为程序计数器PC中的内容与指令中给出的地址偏移量D之和,位移量D通常以补码形式给出,可正可负。

即EA=(PC)+D。

(8)基址寻址:

操作数地址为基址寄存器中的内容与指令中给出的地址偏移量D之和,即EA=(R)基址+D

(9)变址寻址:

操作数地址为变址寄存器中的内容与指令中给出的地址偏移量D之和,

3、指令格式

由于本模型机机器字长只有8位二进制长度,故使用单字长指令和双字长指令。

根据要求,设计该模型机能执行的不同指令,例指令格式及功能如下:

(1)算术逻辑运算指令

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

7654

32

10

OP-CODE

rs

rd

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

Rs或rd

选定的寄存器

00

01

10

R0

R1

R2

 

5条算术逻辑指令的名称、功能和具体格式见图2

为了实现移位控制运算。

因此实验中新增4条移位运算指令:

RL(左环移);RLC带进位左环移);RR(右环移);RRC(带进位右环移),其指令格式如下:

操作码

RR01010000

RRC01100000

RL01110000

RLC10000000

 

(带进位的左环移)(带进位的右环移)

以上4条指令都为单字长指令(8位)。

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

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

76

54

32

10

00

M

OP-CODE

RD

D

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

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

寻址模式M

有效地址E

说明

00

01

10

11

E=D

E=(D)

E=(RI)+D

E=(PC)+D

直接寻址

间接寻址

RI变址寻址

相对寻址

 

四、指令和和微程序的设计

1.指令系统

以下是带移位运算的模型机的设计与实现:

1.移位运算的模型机的设计和实现:

(1)IN输入“INPUTDEVICE”->R0,

(2)ADD[13H]R0+[13H]->R0,

(3)RLC带进位左移

(4)IN“INPUTDEVICE”->R0,

(5)RRC带进位右移

(6)RL左环移

(7)STA[0EH]R0->[0EH]

(8)OUT[0EH][0EH]->BUS

(9)JMP[00H]00H->PC

2.移位运算的模型机的设计和实现:

地址(二进制)内容(二进制)助记符说明

0000000000000000IN输入“INPUTDEVICE”->R0,

//任意输入数据

0000000100010000ADD[13H]R0+[13H]->R0

0000001000000011

0000001110000000RLC带进位左移

0000010000000000IN“INPUTDEVICE”->R0,

0000010101100000RRC带进位右移

0000011001110000RL左环移

0000011100100000STA[0EH]R0->[0EH]

0000100000001l10

0000100100110000OUT[0EH][0EH]->BUS

0000101000001110

0000101l01000000JMP00H00H->PC

0000110000000000

0000001100100000自定,20H(32D)

00001110

0001001100010001

 

机器指令程序微指令程序

$P0000

$P0110

$P0203

$P0380

$P0400

$P0560

$P0670

$P0720

$P080E

$P0930

$P0A0E

$P0B40

$P0C00

$P1320

$M10011000

$M1183ED01

$M00088101

$M0182ED01

将微程序流程图按微指令格式转化而成的“二进制微代码表”。

二进制代码表

微地址

S3S2S1S0MCNWEA9A8

A

B

C

UA5…UA0

00

000000011

000

000

100

010000

01

000000011

110

110

110

000010

02

000000001

100

000

001

001000

03

000000001

110

000

000

000100

04

000000001

011

000

000

000101

05

000000011

010

001

000

000110

06

100101011

001

101

000

000001

07

000000001

110

000

000

001101

10

000000000

001

000

000

000001

11

000000011

110

110

110

000011

12

000000011

110

110

110

000111

13

000000011

110

110

110

001110

14

000000011

110

110

110

010110

15

000000101

000

001

000

000001

16

000000001

110

000

000

001111

17

000000001

010

000

000

010101

20

000000011

110

110

110

010010

21

000000011

110

110

110

010100

22

000000001

010

000

000

010111

23

000000011

000

000

000

000001

24

000000000

010

000

000

011000

25

000001110

000

101

000

000001

26

000000001

101

000

110

000001

27

000001110

000

101

000

010000

30

000001101

000

101

000

010001

 

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

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

按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,表3即为将图X的微程序流程图按微指令格式转化而成的“二进制微代码表”。

并将二进制代码表转换为联机操作时的十六进制格式文件,见下表2。

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

A9

A8

A

B

C

μA5

μA5

μA5

μA5

μA5

μA5

 

五、线路连接图

 

六、微程序流程及说明

1、以下是基本模型机和带移位运算的设计和实现的调试的基本步骤:

①连续运行

A、将编程开关置为RUN(运行)状态,“STEP”置为“STEP”,“STOP”置为“RUN”。

B、使CLR1→0→1,微地址寄存器清零,程序计数器清零。

按动START键,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。

C、停机后,可检查存数单元(0B)中的结果是否和理论值一致。

D、在联机运行程序时,进入DEBUG调试界面,使CLR1→0→1,序的首地址为00H,按相应功能键即可联机运行、调试程序。

②单步运行程序

1、运用联机软件的传送文件功能(F4)将该格式文件传入实验系统。

2、使编程开关处于“RUN”状态,STEP处于“STEP”状态,STOP处于(STOP)状态。

3、拨动总清开关CLR(0->1),微地址清零,PC计数器清零,程序首地址为00H。

4、按F6进入DEBUG界面,再按相应的功能键可以进入分步调试。

2、调试程序步骤如下

(1)从实验电路中装入第一个加数10H(00010000)到R0中,如图1

图1

 

(2)将R0中的装入加数10H(00010000)装入如寄存器DR1中,并将从[16H]中读取的另一个加数10H(0001000)装入寄存器DR2中,然后通过ALU预算器进行两个寄存器的数据相加得20H(00100000),然后将结构送入R0中,如图2。

图2

 

(3)进行带进位左移操作,的结构40H(01000000),并将结果送入R0中,如图3。

图3

 

(4)将结果40H(01000000)左移,的80H(10000000),并且将结果送入R0中,如图4。

图4

(5)将结果80H通过ALU输出,如图5。

图5

 

分析:

从实验电路中装入第一个加数10H(0001000),并且从内存中读取另一个加数10H(00010000),10H+10H=20H(00100000)。

然后再将结果20H(00100000)进行RRC带进位的左移操作,OF=0,得结果为40H(010000000)。

最后将结果40H(00100000)进行RL左移,得结果为80H(10000000),从而可得理论值与实验值相符合。

七、课程设计的收获及体会

经过一周的课程设计收获很多,这次的课程设计题目是基本模型机的设计与实现,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。

并为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。

我们是两人一组,接线接了两三次,同样的问题,我认为是高低电平没有对好,所以总是错误。

CPU就像是人的大脑,我们手中的线就像是一根一根的神经,错了一丁点就走不通了。

在陈老师的指导下,同组队员的共同合作下在一周时间基本实现了课程设计的基本要求和功能,完成测试后,单步运行一条微指令,每按动一次START键即单步运行一条微指令。

对照微程序流程图,观察微地址显示灯是否和流程一致。

运行结束后,可检查存数单元(0B)中的结果是否和理论值一致。

这样就是完成了实验了。

另外就是通过这次的计算机组成原理的课程设计,我对计算机内部元件的工作原理有了进一步的了解与认识。

许多在课堂上没有听懂,没有学会的知识在课程设计的过程中暴露无遗,不过积极的方面是通过课程设计,我把这些知识上的明显漏洞给补上了。

我对机器指令及微指令的的编码方法不了解,对计算机各部件的组成和工作原理也不是很理解。

为了弄清楚这些问题,我又把课本拿出来重新学习相关的章节。

虽然理论知识很重要,但是像我们这种工学类的课程,更重要的还是实践。

理论联系实际,才能更好的掌握所学的知识。

在机房上机的时候也遇到了一些问题,不过在请教了同学和老师之后,这些问题也都一个个迎刃而解。

 

八、参考资料

[1]陈华光.计算机组成原理[M].北京:

机械工业出版社,2004

[2]杨小龙.计算机组成原理与系统结构实验教程[M],西安:

西安电子科技大学出版社,2004

 

附录

组号:

25号

 

源代码

机器指令程序

$P0000

$P0110

$P0216

$P0320

$P040B

$P0530

 

微指令程序

$M00108101

$M0182ED01

$M0248C000

$M0304E000

$M0405B000

$M0506A201

$M06019A61

$M070DE000

$M08011000

$M0983ED01

$M0A87ED01

$M0B8EED01

$M0C96ED01

$M0D018202

$M0E0FE000

$M0F15A000

$M1092ED01

$M1194ED01

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

当前位置:首页 > 自然科学 > 物理

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

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