复杂模型机的设计与实现Word文档下载推荐.docx

上传人:b****6 文档编号:8397316 上传时间:2023-05-11 格式:DOCX 页数:16 大小:1.42MB
下载 相关 举报
复杂模型机的设计与实现Word文档下载推荐.docx_第1页
第1页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第2页
第2页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第3页
第3页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第4页
第4页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第5页
第5页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第6页
第6页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第7页
第7页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第8页
第8页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第9页
第9页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第10页
第10页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第11页
第11页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第12页
第12页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第13页
第13页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第14页
第14页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第15页
第15页 / 共16页
复杂模型机的设计与实现Word文档下载推荐.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

复杂模型机的设计与实现Word文档下载推荐.docx

《复杂模型机的设计与实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《复杂模型机的设计与实现Word文档下载推荐.docx(16页珍藏版)》请在冰点文库上搜索。

复杂模型机的设计与实现Word文档下载推荐.docx

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

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

-128≤X≤127(定点整数),-1≤X<

1(定点小数)。

2.指令格式

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

⑴算术逻辑指令

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

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

⑵访存指令和转移指令

模型机设计2条访存指令、即存数指令(STA)、取数指令(LDA);

2条转移指令,即无条件转移指令(JMP)、结果为零或有进位转移指令(BZC),指令格式为:

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

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

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

⑶I/O指令

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

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

⑷停机指令

HALT指令,用于实现停机操作,指令格式如下:

3.指令系统

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

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

表1指令格式

4.微指令格式

微指令字长32位,格式如下所示:

A字段

B字段

说明:

DDR1表示LDDR1DDR2表示LDDR2

5.模型计算机数据通路框图

模型计算机数据通路框图如图1所示:

图1模型机数据通路框图

6.微程序设计

按照系统建议的微指令格式和模型计算机数据通路框图,分析指令流程,为每条机器指令编制微程序,并和系统自带的微程序比较(在复位后,输入“3”,按“装载”,可将系统微程序装入)。

编制微程序实现新指令的功能。

四、设计内容

4.1、基本内容

1.试验箱系统图

2.程序流程图

3.分析微指令执行序列

首先通过代码在指令流程图中找到对应项,然后再在系统控存内容找出对应的32位指令程序,然后再根据拟定好的数据格式和指令系统对微指令进行分析。

表1系统控存内容

地址

代码

功能

00

00000080

空操作

01

20006040

PC→AR,PC+1

02

00801006

RAM→IR按B转

03

00800420

RAM→DR1

04

0080C038

RAM→AR按B转

05

008040C0

RAM→AR

06

008004E0

07

C0000810

RI→DR2

08

40294090

DR1+DR2→AR

09

40298438

DR1+DR2→DR1按B转

0A

008004D0

0B

20000810

PC→DR2

0C

A00008B0

RD→DR2

0D

40290280

DR1+DR2→RD?

0E

0F

A0000408

RD→DR1

10

50200488/400F0488

DR1→DR1

11

50300448/40100548

DR1变反→DR1

12

500004C8/

DR1+1→DR1

13

502004B0/400F04B0

14

00000000

15

40000280/50

DR1+1→RD

16

A00008E8

17

403D0280/50

DR1^DR2→RD

18

40300280

DR1变反→RD

19

601400D8

299带进位右移

1A

601800D8

299带进位左移

1B

60000280

299→RD

1C

40200280/00800280

DR1→RD/RAM→RD

1D

A0800180

RD→RAM

1E

40602080/405F2080

DR1→PC

1F

00008072

BZC按条件转

20

200060C0

21

80000280

RS→RD

22

200060A0

PC→AR,PC+1

23

80000430

RS→DR1

24

20006060

25

800008F0

RS→DR2

26

20006050

27

A00004A8

RD+1→RD

28

01000281

SW→RD

29

80000468

2A

A2000080

RD→LED

2B

A0000418

2C

00000034

HALT微地址不变

2D

800C0098

RS→299移位器

2E

401C0280

0→RD

2F

800C0058

30

40140280

4.设计内容

(1)运行几条指令,按照系统的微指令格式和模型计算机数据通路框图分析其流程,写出所分析机器指令的微程序。

(2)增加一条新指令,为其编制微程序。

(3)编制程序,完成连加运算。

5.设计思路

(1)修改微指令:

修改微指令,首先要弄懂其每一位代表什么意思有什么功能,参照74LS181的功能表,我们所修改的是把AND指令修改为异或指令XOR,只需控制74LS181上的M,S0,SI,S2,S3,将算数运算改为相应的逻辑运算,即M17403D0280修改为M17403E0280,只需修改21-17位即可,然后对照及其软件验证其正确性。

(2)连加运算设计:

先输入一个数作为控制连加的次数,然后每次输入一个数作为要加的数,把结果放到内存的某个空间里,实现连加,直到次数达到控制值。

4.2、运行程序

1.单步运行微程序

键入数字键00(PC地址从00H开始),然后每按动一次“单步”命令键,运行一条微指令。

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

2.单步运行机器程序

键入数字键03H(PC地址),然后每按动一次“宏步”命令键,运行一条机器指令。

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

3.程序连续运行与暂停程序

键入数字键00H(PC地址)按动“运行”命令键使模型机进入实时运行状态。

在实时运行状态按“宏单”键执行的暂停命令,使模型机进入停机状态,参照机器指令及微程序流程图,将实验现象与理论分析比较。

4.3、运行结果

上图所示,实现功能为输入循环次数R0的数值03H。

上图所示,实现功能为P01B0;

COMR0

上图所示,实现功能为P0270;

INCR0

上图所示,实现功能P0636;

ADCR1,R2

上图所示,实现功能为输出运算结果R2的值,具体如下图所示:

83H

第一次连加运算之后的结果显示:

86H

第二次连加运算之后的结果显示:

89H

第三次连加运算之后的结果显示:

8CH

程序终止运行。

五、程序代码

1.修改微指令

P0084;

INR0

P0185;

inR1

P0294;

YIHUOr0,r1

P0AC0;

HALT

2.连加运算

 

总结与心得

硬件课程设计历时两周时间,综合了计算机组成原理和接口技术相关的学科知识和技能。

在实验设计期间,小组成员能够团队协作,共同攻克难关。

最终课程设计顺利完成,为大三最后的时刻。

画上了一个圆满的句号。

由于是上学期学过,忘掉不少。

这次实验时候,预先一起复习了一下相关的知识点。

在理论有所了解的基础上,再进行实验的实际操作。

借助软件平台和已经连接好电路的试验箱,首先验证了实验所附带的第三个程序代码的显示结果。

在此基础上,进行修改微指令的任务。

但在设计连加运算时候,碰到了阻碍。

对汇编语言的陌生,也是一个不小的阻扰。

分工合作,两人研究汇编语言修改指令代码,一人设计总体程序架构。

后来又请教老师同学,参观或“偷师”别人的经验。

最终能够成功实现连加运算的结果输出。

通过这次课程设计,即是对旧知识的回顾和复习,又是一种对新知识的自主学习和探索。

课程设计的目的并不在于上交一份报告,而是对这种学习能力和解决问题能力的培养。

课程设计也是对理论知识的进一步消化和吸收,因为只有实践才是检验知识的唯一道路。

感谢这次参与课程设计的小组成员们,一个好的团队是成功的保证。

还有帮助我们共同进步的老师和同学们,他们在理论和实际操作的经验使我们少走了曲径,一并致谢。

这是一次很成功的课程设计。

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

当前位置:首页 > 医药卫生 > 基础医学

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

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