130511 何彬实验四 模型机的设计与实现.docx

上传人:b****1 文档编号:23146053 上传时间:2023-05-08 格式:DOCX 页数:32 大小:62.07KB
下载 相关 举报
130511 何彬实验四 模型机的设计与实现.docx_第1页
第1页 / 共32页
130511 何彬实验四 模型机的设计与实现.docx_第2页
第2页 / 共32页
130511 何彬实验四 模型机的设计与实现.docx_第3页
第3页 / 共32页
130511 何彬实验四 模型机的设计与实现.docx_第4页
第4页 / 共32页
130511 何彬实验四 模型机的设计与实现.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

130511 何彬实验四 模型机的设计与实现.docx

《130511 何彬实验四 模型机的设计与实现.docx》由会员分享,可在线阅读,更多相关《130511 何彬实验四 模型机的设计与实现.docx(32页珍藏版)》请在冰豆网上搜索。

130511 何彬实验四 模型机的设计与实现.docx

130511何彬实验四模型机的设计与实现

武汉工程大学

计算机科学与工程学院

《计算机组成原理》实验报告

专业班级

网络工程

(1)班

实验时间

2015年5月27日

姓名学号

实验地点

机电大楼322实验室

何彬1305120411

指导教师

韩晓民

实验项目

实验四模型机的设计与实现

实验类别

综合性

实验学时

4

实验目的及要求

实验目的:

理解CMX08系统中模型机的设计方法;

掌握模型机的基本组成,熟悉数据通路的设计;

掌握指令系统的设计思想,能够根据系统需求设计指令系统;

理解微控制器的设计方法,掌握微控制器的组成,掌握微程序、微指令、微命令间的关系。

实验内容和要求:

1.完成实验指导书上3.1基本模型机的设计与实现及3.4复杂模型机的设计与实现。

2.综合应用本课程所学知识,分析模型机设计与实现的步骤、方法。

按计算机的设计步骤,组织设计方案,并写入实验报告。

3.在设计的计算机上运行一段程序,分析运行过程及结果。

4.对本次实验进行总结。

成绩评定表

类别

评分标准

分值

得分

合计

实验表现

按时出勤、遵守纪律

认真完成各项实验内容

30分

报告质量

填写内容完整、体现设计过程和结果;实验总结能体现问题和收获;认真地完成实验思考题

70分

说明:

评阅教师:

韩晓民

日期:

年月日

实验内容

3.1 基本模型机的设计与实现

一、实验目的

1.在掌握部件单元电路实验的基础上,构造一台基本模型计算机。

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

二、实验设备

Dais-CMX08+计算器组成原理教学实验系统一台。

三、实验原理

手动控制实验过程中,各部件单元的控制信号是以人为模拟产生为主,而本次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。

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

四、指令系统

1.指令格式

765

4

32

10

OP-CODE

0

Rs

Rd

Addr

其中OP-CODE为操作码段,位于指令字节高三位(IR7~IR5);第四位IR4是保留位,指定为零;低四位为源与目的寄存器地址,它们的编码见下表;Addr定义操作数或操作地址。

Rs或Rd

选定的寄存器

00

01

10

11

R0

R1

R2

R3

2.指令系统

设计五条机器指令:

IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移)。

助记符

机器指令码

说明

INRd,IOL

00100000

i/o(数据开关)偶字节→rd

ADDRd,[addr]

01000000XXXXXXXX

Rd+[addr]→Rd

STA[addr],Rd

01100000XXXXXXXX

Rd→[addr]

OUT[addr],IOH

10000000XXXXXXXX

[addr]→i/o(奇字节)

JMP000H

10100000XXXXXXXX

addr→PC

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

根据以上要求设计数据通路框图,如图3-1-1所示。

系统涉及到的微程序流程见图3-1-2,当拟定“取指”微指令时,该微指令的判别测试字段为IR(M2)=0。

由于“取指”微指令是所有微程序公用的微入口,因此IR(M2)的测试结果出现多路分支。

本机用指令寄存器的前3位(IR7~IR5)作为测试条件,出现8路分支,占用8个固定微地址单元。

当全部微程序设计完毕后,应将每条微指令代码化,表3-1-1就是按照图3-1-2的微程序流程定义的微指令格式转化而成的“二进制微代码表”。

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

执行时通过IBus总线打入指令寄存器。

指令划分为操作码和操作数段,为了执行任何给定的指令,必须对操作码进行测试并打入指令译码器ID。

在下一微周期的T1节拍完成操作码段的转移,μPC指向与指令相对应的微入口。

图3-1-1 基本模星级数据通路

本系统提供十六位准双向的I/O设备,由S15~S8组成I/O的奇字节,由S7~S0组成I/O的偶字节。

形成按字节寻址的十六位字操作体系。

其输入/输出特性定义到“位”,当该位为“1”时可作为输入源用。

也就是说它最多能容入十六位输入或十六位输出。

例如:

输入时,二进制数据开关经过三态门送到数据总线,只要开关状态不变,输入的信息也不变。

输出时,将输出数据送到数据总线上,当IOW有效时,将数据打入输出锁存器,驱动发光管显示。

图3-1-2 基本模型机微程序流程图

按“在线态”规定的微控制格式,参照微指令流程,编制十六进制格式的微指令代码文件。

M23

M22

M21

M20

M19

M18

M17

M16

M15

M14

M13

M12

M11

M10

M9

M8

M7

M6

M5

M4

M3

M2

M1

M0

E/M

IP

MWR

R/M

目的编码

OP

M

CN

S2

S1

S0

源编码

XP

W

ALU

Iu

IE

IR

Icz

Ids

源编码

目的编码

M10

M9

M8

功能

M19

M18

M17

功能

X2

X1

X0

O2

O1

O0

1

1

1

禁止

1

1

1

禁止

1

1

0

ALU

1

1

0

MAR

1

0

1

SP

1

0

1

BX

1

0

0

IOR

1

0

0

AX

0

1

1

MRD

0

1

1

SP

0

1

0

XRD

0

1

0

IOW

0

0

1

RRD

0

0

1

XWR

0

0

0

PC

0

0

0

RWR

其中IR为取指控制位,当IR=0时由Ids指定操作码长度。

Ids=0时,指令字节的高四位定义为操作码段;遇Ids=1时,操作码段以字节为单位,可容纳256条指令的微操作。

实验所用的机器指令程序:

地址

指令代码

助记符

功能

000

20

inr0,io偶

i/o(数据开关)偶字节→r0

001

4060

addr0,[addr]

r0+[RM]→r0

003

6061

sta[addr],r0

r0→[RM]

005

8061

out[addr],io奇

[RM]→i/o(奇字节)

007

a000

jmp00h

[RM]→pc

五、实验环境判断与设置

在进入实验操作之前对实验环境作如下判别

1、若处“搭接”态,必须卸去实验连接,然后参阅本书P124页5.2.2小节,把实验环境设为“微控”、“在线”。

2、若处非“微控”态,参阅本书P124页5.2.2小节,把实验环境设为“微控”、“在线”。

六、实验方法

㈠键盘操作

⑴机器程序与对应的微控制程序的写入:

在待令状态下,键入数字键“1”,然后再键入【减址】命令键,实验装置装载基本模型机代码程序及对应的微程序。

⑵运行程序

①单拍运行:

每按一次【单拍】按钮模型机运行一拍,系统提供可变时序,非“取指”微周期它的节拍按

次序循环,在取指微周期按

次序循环。

②微单步:

每按一次【单步】命令键运行一条微指令,对照微程序流程,观察微址是否和流程一致。

对照微指令表,观察执行结果是否和理论值一致。

③宏运行(指令单步或宏调用):

每按动一次【宏运】命令键,运行一条机器指令。

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

④程序运行与暂停:

按动【运行】命令键使模型机进入实时运行状态;在实时运行状态按左下方任一数字键即可暂停模型机程序的运行,以便实验者查看模型机现场。

㈡联机运行

若在联机状态下,首先应打开mxj1.asm(基本模型机机器指令及对应微指令代码文件),然后点击工具栏“装载”按钮开始装载,如源程序无语法错误即可完成装载,进入调试状态。

可点击工具栏快捷按钮(具体操作请参阅本书第六章6.5节):

单拍:

单节拍运行微指令微单步:

单周期运行微指令

单步:

单步跟踪机器指令宏单步:

单步跨越机器指令

运行:

以全速方式运行模型机程序暂停:

暂停正在运行的模型机程序

表3.1.1 基本模型机微指令表

微址00002)1)________________________________________________________________________________________________________________________

M23

M22

M21

M20

M19

M18

M17

M16

代码

M15

M14

M13

M12

M11

M10

M9

M8

代码

M7

M6

M5

M4

M3

M2

M1

M0

代码

后续

微址

说明

E/M

IP

MWR

R/M

o2

o1

o0

OP

M

CN

S2

S2

S0

X2

X1

X0

XP

W

ALU

Iu

IE

IR

Icz

Ids

000

1

1

1

1

1

1

1

1

ff

1

1

1

1

1

1

1

1

ff

1

1

1

1

1

1

1

1

ff

+1

空操作

001

1

1

1

1

1

1

0

0

fc

1

1

1

1

1

0

0

0

f8

1

1

1

1

1

1

1

1

ff

+1

Pc→ar

002

0

1

1

1

1

1

1

1

7f

1

1

1

1

1

0

1

1

fb

1

1

1

1

1

0

1

0

fa

操作码

[RM]→IR

640

1

0

1

1

0

0

0

1

b1

1

1

1

1

1

1

0

0

fc

0

1

1

0

1

1

0

1

6d

001

io偶→rd

680

1

0

1

1

1

1

0

0

bc

1

1

1

1

1

0

0

0

f8

1

1

1

1

1

1

1

1

ff

+1

PC+1→ar

681

0

1

1

1

1

0

1

0

7a

1

1

1

1

1

0

1

1

fb

1

1

1

1

1

1

1

1

ff

+1

[RM]→b

682

1

0

1

1

1

1

0

0

bc

1

1

0

0

0

1

1

0

c6

1

1

1

1

1

1

1

1

ff

+1

b→ar

683

0

1

1

1

1

0

1

0

7a

1

1

1

1

1

0

1

1

fb

1

1

1

1

1

1

1

1

ff

+1

[RM]→b

684

1

1

1

1

1

0

0

0

f8

1

1

1

1

1

0

0

1

f9

1

1

1

1

1

1

1

1

ff

+1

rd→a

685

1

1

1

1

0

0

0

1

f1

0

1

1

0

0

1

1

0

66

0

1

1

0

1

1

0

1

6d

001

a+b→rd

6c0

1

0

1

1

1

1

0

0

bc

1

1

1

1

1

0

0

0

f8

1

1

1

1

1

1

1

1

ff

+1

PC+1→ar

6C1

0

1

1

1

1

0

1

0

7a

1

1

1

1

1

0

1

1

fb

1

1

1

1

1

1

1

1

ff

+1

[RM]→b

6C2

1

0

1

1

1

1

0

0

bc

1

1

0

0

0

1

1

0

c6

1

1

1

1

1

1

1

1

ff

+1

b→ar

6C3

0

1

0

1

1

1

1

1

5f

1

1

1

1

1

0

0

1

f9

1

1

1

0

1

1

0

1

ed

001

rd→[RM]

700

1

0

1

1

1

1

0

0

bc

1

1

1

1

1

0

0

0

f8

1

1

1

1

1

1

1

1

ff

+1

PC+1→ar

701

0

1

1

1

1

0

1

0

7a

1

1

1

1

1

0

1

1

fb

1

1

1

1

1

1

1

1

ff

+1

[RM]→b

702

1

0

1

1

1

1

0

0

bc

1

1

0

0

0

1

1

0

c6

1

1

1

1

1

1

1

1

ff

+1

b→ar

703

0

1

1

1

0

1

0

1

75

1

1

1

1

1

0

1

1

fb

1

1

1

0

1

1

0

1

ed

001

[RM]→io奇

740

1

0

1

1

1

1

0

0

bc

1

1

1

1

1

0

0

0

f8

1

1

1

1

1

1

1

1

ff

+1

PC+1→ar

741

0

0

1

1

1

1

1

1

3f

1

1

1

1

1

0

1

1

fb

1

1

1

0

1

1

0

1

ed

001

[RM]→pc

实验结果:

3.4 复杂模型机的设计与实现

一、实验目的

综合运用所学计算机原理知识,设计并实现较为完整的模型计算机。

二、实验设备

Dais-CMX08+计算机组成原理教学实验系统一台,实验用导线若干。

三、数据格式及指令系统

1.数据格式

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

7

6543210

符号

尾  数

2.指令格式

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

⑴算术逻辑运算指令

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

7654

32

10

OP-CODE

Rs

Rd

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

Rs或Rd

选定的寄存器

00

01

10

11

R0

R1

R2

R3

⑵访问指令及转移指令

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

7

6

54

32

10

0

0

M

2OP-CODE

Rd

D(低八)

⑶停机指令

7654

32

10

OP-CODE

00

00

其中“00M”为源码段,2OP-CODE为目的码段(LDA、STA指令使用)。

D为十六位地址段(低八在前,高八随后),M为源寻址模式,其定义如下:

寻址模式M

有效地址E

说明

00

01

10

11

E=D

E=(D)

E=(SP)+D

E=(PC)+D

直接寻址

间接寻址

SP变址寻址

相对寻址

⑷I/O指令

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

7654

32

10

110M

2OP-CODE

Rd

格式中“110M”为源码段,其中M=0为IN指令,M=1为OUT指令,Rd为源与目的寄存器。

2OP-CODE为字与字节操作段。

它的定义如下:

32

说明

00

偶递偶(字节)

01

奇递奇(字节)

1X

字操作

3.指令系统

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

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

助记符

指令格式

功 能

LDAM,D,Rd

0

0

M

00

Rd

E→Rd

STAM,D,Rd

0

0

M

01

Rd

Rd→E

JMPM,D

0

0

M

10

00

E→PC

BZCM,D

0

0

M

11

00

当CY=1或Z=1时,E→PC

MOVRd,Rs

0

1

0

0

Rs

Rd

Rs→Rd

ADCRd,Rs

0

1

0

1

Rs

Rd

Rs+Rd+CY→Rd

SBCRd,Rs

0

1

1

0

Rs

Rd

Rs-Rd-CY→Rd

ANDRd,Rs

0

1

1

1

Rs

Rd

Rs∧Rd→Rd

CLRRd

1

0

0

0

00

Rd

0→Rd

INCRd

1

0

0

1

00

Rd

Rd+1→Rd

CPLRd

1

0

1

0

00

Rd

Rd→Rd

RRCRd

1

0

1

1

00

Rd

CY→Rd

RLCRd

1

1

0

0

00

Rd

CY→Rd

INRd,I/O

1

1

0

1

00

Rd

I/O→Rd

OUTRd,I/O

1

1

1

0

00

Rd

Rd→I/O

HALT

1

1

1

1

00

00

停机

图3-4-1 复杂模型机微程序流程图

按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码,并将二进制代码表转换成十六进制格式文件。

M23

M22

M21

M20

M19

M18

M17

M16

M15

M14

M13

M12

M11

M10

M9

M8

M7

M6

M5

M4

M3

M2

M1

M0

E/M

IP

MWR

R/M

目的编码

OP

M

CN

S2

S1

S0

源编码

XP

W

ALU

Iu

IE

IR

Icz

Ids

源编码

目的编码

M10

M9

M8

功能

M19

M18

M17

功能

X2

X1

X0

O2

O1

O0

1

1

1

禁止

1

1

1

禁止

1

1

0

ALU

1

1

0

MAR

1

0

1

SP

1

0

1

BX

1

0

0

IOR

1

0

0

AX

0

1

1

MRD

0

1

1

SP

0

1

0

XRD

0

1

0

IOW

0

0

1

RRD

0

0

1

XWR

0

0

0

PC

0

0

0

RWR

实验列举的机器指令程序:

地址

指令代码

助记符

功能

000

D0

INRX0

i/o→r0

001

D6

INR2

io奇→r2

002

58

ADCR0,R2

rS+rD→rD

003

41

MOVR1,R0

rS→rD

004

C0

RLCR0

rlcrD

005

0C00

BZC00H

bzc00h

007

F0

HALT

停机

四、实验环境判断与设置

在进入实验操作之前对实验环境作如下判别

1、若处“搭接”态,必须卸去实验连接,然后参阅本书P124页5.2.2小节,把实验环境设为“微控”、“在线”。

2、若处非“微控”态,参阅本书P124页5.2.2小节,把实验环境设为“微控”、“在线”。

五、实验方法

㈠键盘操作

⑴机器程序与对应的微控制程序的写入:

在待令状态下,键入数字键“4”,然后再键入【减址】命令键,实验装置自动装载复杂模型机代码程序及对应的微程序。

⑵运行程序

①单拍运行:

每按一次【单拍】按钮模型机运行一拍,系统提供可变时序,非“取指”微周期它的节拍按

次序循环,在取指微周期按

次序循环。

②微单步:

每按一次【单步】命令键运行一条微指令,对照微程序流程,观察微址是否和流程一致。

对照微指令表,观察执行结果是否和理论值一致。

③宏运行(指令单步或宏调用):

每按动一次【宏运】命令键,运行一条机器指令。

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

④程序运行与暂停:

按动【运行】命令键使模型机进入实时运行状态;在实时运行状态按左下方任一数字键即可暂停模型机程序的运行,以便实验者查看模型机现场。

㈡联机运行

若在联机状态下,首先应打开mxj4.asm(复杂模型机机器指令及对应微指令代码文件),然后点击工具栏“装载”按钮开始装载,如源程序无语法错误即可完成装载,进入调试状态。

可点击工具栏快捷按钮(具体操作请参阅本书第六章6.5节):

单拍:

单节拍运行微指令微单步:

单周期运行微指令

单步:

单步跟踪机器指令宏单步:

单步跨越机器指令

运行:

以全速方式运行模型机程序暂停:

暂停正在运行的模型机程序

 

表3.4.1 复杂模型机微指令表

微址00002)1)________________________________________________________________________________________________________________________

M23

M22

M21

M20

M19

M18

M17

M16

代码

M15

M14

M13

M12

M11

M10

M9

M8

代码

M7

M6

M5

M4

M3

M2

M1

M0

代码

后续

微址

说明

E/M

IP

MWR

R/M

o2

o1

o0

OP

M

CN

S2

S2

S0

X2

X1

X0

XP

W

ALU

Iu

IE

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

当前位置:首页 > 高等教育 > 工学

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

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