模型机的设计与实现课程设计.docx

上传人:b****8 文档编号:11133380 上传时间:2023-02-25 格式:DOCX 页数:29 大小:425.84KB
下载 相关 举报
模型机的设计与实现课程设计.docx_第1页
第1页 / 共29页
模型机的设计与实现课程设计.docx_第2页
第2页 / 共29页
模型机的设计与实现课程设计.docx_第3页
第3页 / 共29页
模型机的设计与实现课程设计.docx_第4页
第4页 / 共29页
模型机的设计与实现课程设计.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

模型机的设计与实现课程设计.docx

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

模型机的设计与实现课程设计.docx

模型机的设计与实现课程设计

 

课程设计说明书

 

设计名称:

计算机组成原理

题目:

模型机的设计与实现

学生姓名:

专业:

班级:

学号:

指导教师:

日期:

年月日

 

课程设计任务书

专业级班

一、课程设计题目

1.基本模型机设计

2.复杂模型机设计

二、课程设计目的

1.在掌握“TDN-CM++计算机组成原理教学实验系统”部件单元电路的基础上,通过对一个简单计算机的设计,以达到对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。

2.通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整机概念,加深计算机“时空”概念的理解。

3.培养独立工作和创新思维的能力,取得设计与调试的实践经验。

三、主要内容

综合运用所学计算机原理知识,利用TDN-CM++教学实验系统设计并实现简单的模型机。

设计总体结构及机器指令、微指令。

根据设计的接线图搭好模型机电路,利用设计的指令编写程序并在机器上运行。

四、设计要求

在掌握“TDN-CM++计算机组成原理教学实验系统”原理的基础上,以此实验系统为平台,设计一台微程序控制的模型计算机。

1.设计模型机硬件(需含计算机基本组成,即CPU、内存、I/O接口、输入设备、输出设备、总线等,CPU为微程序控制器类型),设计总体结构及数据通路框图。

2.设计模型机指令系统(含设计机器指令、微指令格式、每条指令所对应的微程序等)。

基本模型机要求实现5条机器指令。

复杂模型机要求实现16条机器指令。

3.利用模型机指令系统,编写汇编语言程序,分别完成下列功能:

(1)将数据输入开关上的数据在LED上显示出来。

(2)编程序完成功能:

LED上的数从1以步长1往上递增。

(3)编程序完成功能:

S=1+2+3+4+5+……,要求在LED上循环显示结果1、3、6、0A、……。

调试、运行通过后将程序写在下面。

4.根据以上软硬件设计,在“TDN-CM++计算机组成原理教学实验系统”上调试,检测实现的功能是否达到设计要求。

5.撰写课程设计报告(文件名:

学号姓名.doc),课程设计报告中所规定的图文齐全、符合要求、结构合理、文章通顺;能对实验中出现的问题提出改进意见并加以分析说明。

四、进度安排

本学期第15-16周。

5月25日-5月26日:

资料查找、设计总体结构及数据通路框图。

5月27日-5月29日:

设计模型机指令系统。

6月1日-6月3日:

搭建模型机、整机调试。

6月4日-6月5日:

资料整理、课程设计说明书编写。

五、完成后应上交的材料

课程设计说明书

六、总评成绩

 

指导教师签名日期年月日

系主任审核日期年月日

一、实验一基本模型机设计与实现···························6

1.1实验目的·····································6

1.2实验设备·····································6

1.3实验原理·····································6

1.4实验步骤·····································12

1.5实验内容·····································16

 

二、实验二复杂模型机的设计与实现·····················18

2.1实验目的····································18

2.2实验设备····································18

2.3数据格式及指令系统··························18

2.4总体设计····································20

2.5实验步骤····································23

2.6实验内容····································27

三、实验心得··········································28

 

一、实验一基本模型机设计与实现

1.1、实验目的

1.在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。

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

1.2、实验设备

1.TDN-CM++计算机组成原理教学实验系统1台

2.排线若干

1.3、实验原理

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

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

本实验采用5条机器指令:

IN——输入

ADD——二进制加法

STA——存数

OUT——输出

JMP——无条件跳转

 

其指令格式如下(前4位为操作码):

助记符

机器指令码

说明

IN

00000000

InputDevice中的开关状态→R0

ADDaddr

00010000××××××××

R0+[addr]→R0

STAaddr

00100000××××××××

R0→[addr]

OUTaddr

00110000××××××××

[addr]→LED

JMPaddr

01000000××××××××

addr→PC

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

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。

1.存储器读操作(KRD):

拨动清零开关CLR后,控制台开关SWB、SWA置为“00”时,按START微动开关,可对RAM连续手动读操作。

2.存储器写操作(KWE):

拨动清零开关CLR后,控制台开关SWB、SWA置为“01”时,按START微动开关,可对RAM进行连续手动写入。

3.启动程序(RP):

拨动清零开关CLR后,控制台开关SWB、SWA置为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。

 

上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:

SWB

SWA

控制台指令

0

0

读内存(KRD)

0

1

写内存(KWE)

1

1

启动程序(RP)

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

微代码定义如表1所示。

图1数据通路框图

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

uA5

uA4

uA3

uA2

uA1

uA0

 

15

14

13

选择

12

11

10

选择

9

8

7

选择

0

0

0

0

0

0

0

0

0

0

0

1

LDRi

0

0

1

RS-B

0

0

1

P

(1)

0

1

0

LDDR1

0

1

0

RD-B

0

1

0

P

(2)

0

1

1

LDDR2

0

1

1

RI-B

0

1

1

P(3)

1

0

0

LDIR

1

0

0

299-B

1

0

0

P(4)

1

0

1

LOAD

1

0

1

ALU-B

1

0

1

AR

1

1

0

LDAR

1

1

0

PC-B

1

1

0

LDPC

A字段B字段C字段

表1

系统涉及到的微程序流程见图5-2,当拟定“取指”微指令时,该微指令的判别测试字段P

(1)测试。

由于“取指”微指令是所有微程序都使用的公用微指令,因此P

(1)的测试结果出现多路分支。

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

控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。

当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。

(注意:

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

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

图2

表2二进制代码表

微地址

S3S2S1S0MCnWEA9A8

A

B

C

UA5-UA0

00

000000011

000

000

100

010

000

01

000000011

110

110

110

000

010

02

000000001

100

000

001

001

000

03

000000001

110

000

000

000

100

04

000000001

011

000

000

000

101

05

000000011

010

001

000

000

110

06

100101011

001

101

000

000

001

07

000000001

110

000

000

001

101

10

000000000

001

000

000

000

001

11

000000011

110

110

110

000

011

12

000000011

110

110

110

000

111

13

000000011

110

110

110

001

110

14

000000011

110

110

110

010

110

15

000000101

000

001

000

000

001

16

000000001

110

000

000

001

111

17

000000001

010

000

000

010

101

20

000000011

110

110

110

010

010

21

000000011

110

110

110

010

100

22

000000001

010

000

000

010

111

23

000000011

000

000

000

000

001

24

000000000

010

000

000

011

000

25

000001110

000

101

000

000

001

26

000000001

101

000

110

000

001

27

000001110

000

101

000

010

000

30

000001101

000

101

000

010

001

 

下面介绍指令寄存器IR:

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

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

指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P

(1)],通过节拍脉冲T4的控制以便识别所要求的操作。

“指令译码器”(实验板上标有“INSDECODE”的芯片)根据指令中的操作码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。

本系统有两种外部I/O设备:

一种是二进制代码开关,它作为输入设备(InputDevice)。

另一种是数码块,它作为输出设备(OutputDevice)。

例如:

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

输出时,将输出数据送到数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码块显示。

1.4、实验步骤

1.按图3连接实验线路。

图3

2.在计算机上编写程序,并下载到下位机。

程序功能:

将数据开关的数据与OAH单元的数据相加,将结果在数码管上显示出来。

本实验设计机器指令程序如下

地址(二进制)

内容(二进制)

程序

助记符

说明

00000000

00000000

$P0000

INR0

“InputDevice”→R0

00000001

00010000

$P0110

ADD[OAH],R0

R0+[OAH]→R0

00000010

00001010

$P020A

00000011

00100000

$P0320

STAR0,[0BH]

R0→[OBH]

00000100

00001011

$P040B

00000101

00110000

$P0530

OUT[OBH]

[OBH]→LED

00000110

00001011

$P060B

00000111

01000000

$P0740

JMPOOH

OOH→PC

00001000

00000000

$P0800

00001010

00000001

$P0A01

01H→[0A]

按照规定格式,将机器指令及表2微指令二进制表编辑成十六进制的如下格式文件。

微指令格式中的微指令代码为将表2中的24位微代码按从左到右分成3个8位,将此三个8位二进制代码化为相应的十六进制数即可。

程序

$P0000机器指令格式说明:

$P0110$P××××

$P020A前两位为十六进制地址

$P0320后两位为机器指令代码

$P040B

$P0530

$P060B

$P0740

$P0800

$P0A01

微程序

$M00018110微指令格式说明:

$M0101ED82$M××××××××

$M0200C048前两位为十六进制地址

$M0300E004后六位为微指令代码

$M0400B005

$M0501A206

$M06959A01

$M0700E00D

$M08001001

$M0901ED83

$M0A01ED87

$M0B01ED8E

$M0C01ED96

$M0D028201

$M0E00E00F

$M0F00A015

$M1001ED92

$M1101ED94

$M1200A017

$M13018001

$M14002018

$M15070A01

$M1600D181

$M17070A10

$M18068A11

用联机软件的装载功能将该文件(C:

\TangDu\CMPP\Sample\Ex1.txt)传入实验系统即可。

3.运行程序

①将实验板上“STATEUNIT”中的“STEP”开关置为“EXEC”状态,“STOP”开关置为“RUN”状态。

编程开关置为“RUN”状态。

②SWB、SWA开关设置为“11”。

③拨动CLR开关(1→0→1),清微地址及程序记数器。

然后按动START,系统连续运行程序,观察结果是否正确。

1.5、实验内容

1.将存储单元0A中写入数据3BH,并在LED上显示出来。

序号

机器指令

助记符

说明

01

$P0030

OUT[0AH]

[0AH]→LED

$P010A

02

$P0240

JMP00H

00H→PC

$P0300

03

$P0A3B

3BH存入[0AH]单元

2.将数据输入开关上的数据在LED上显示出来。

序号

机器指令

助记符

说明

01

$P0000

INR0

数据开关数据→R0

02

$P0120

STAR0,[0AH]

R0→[0AH]

$P020A

03

$P0330

OUT[0AH]

[0AH]→LED

$P040A

04

$P0540

JMP00H

00H→PC

$P0600

注意:

程序运行过程中不断改变数据输入开关的数据,LED上显示的数据也随之改变。

3.编程序完成功能:

LED上的数从1以步长1往上递增。

序号

机器指令

助记符

说明

01

$P0000

INR0

数据开关数据→R0

02

$P0120

STAR0,[0BH]

R0→[0BH]

$P020B

03

$P0330

OUT[0BH]

[0BH]→LED

$P040B

05

$P0510

ADD[OC],R0

R0+[OCH]→R0

$P060C

06

$P0740

JMP01H

01H→PC

$P0801

07

$P0C01

01H→[0C]

4.编程序完成功能:

S=1+2+3+4+5+……,要求在LED上循环显示结果1、3、6、0A、……。

调试、运行通过后将程序写在下面。

序号

机器指令

助记符

说明

01

$P0000

INR0

数据开关数据→R0

02

$P0110

ADD[OC],R0

R0+[ODH]→R0

$P020D

03

$P0320

STAR0,[0DH]

R0→[0DH]

$P040D

04

$P0510

ADD[OE],R0

R0+[OEH]→R0

$P060E

05

$P0730

STAR0,[0EH]

R0→[0EH]

$P080E

06

$P0940

JMP00H

00H→PC

$P0A00

07

$P0D00

00H→[0D]

08

$P0E00

00H→[0E]

二、实验二、复杂模型机的设计与实现

2.1、实验目的

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

2.2、实验设备

TDN-CM++计算机组成原理教学实验系统一台,排线若干。

2.3、数据格式及指令系统

1)数据格式

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

7

6543210

符号

数据

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

-1≤X<1。

2)指令格式

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

(A)算术逻辑指令

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

7654

32

10

OP-CODE

Rs

Rd

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

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

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

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

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

76

54

32

10

00

M

OP-CODE

Rd

D

其中,OP-CODE为操作码,Rd为目的寄存器,D为位移量(正负均可),M为寻址方式,其定义如下:

寻址方式

有效地址

说明

00

01

10

11

E=D

E=(D)

E=(R2)+D

E=(PC)+D

直接寻址

间接寻址

R2为变址寻址

相对寻址

(C)输入输出指令

7654

32

10

OP-CODE

addr

Rd

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

(D)停机指令

格式如下:

7654

32

10

OP-CODE

00

00

这类指令只有1条,即停机指令HALT。

3)指令系统

本模型机共有16条基本指令。

其中,算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其他它指令1条。

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

2.4、总体设计

本模型机的数据通路如图4所示。

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

按照图18所示的微指令格式参照指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码转换为联机操作时的十六进制格式文件。

表3指令系统编码

序号

汇编符号

指令格式

功能说明

1

CLRRd

011100Rd

0→Rd

2

MOVRS,Rd

1000RSRd

RS→Rd

3

ADCRS,Rd

1001RSRd

Rs+Rd+Cy→Rd

4

ABCRS,Rd

1010RSRd

Rs-Rd-Cy→Rd

5

INCRd

1011--Rd

Rd+1→Rd

6

ANDRS,Rd

1100RSRd

Rs∧Rd →Rd

7

COMRd

110100Rd

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

当前位置:首页 > 工程科技 > 机械仪表

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

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