组成原理课程设计报告.docx

上传人:b****5 文档编号:7525323 上传时间:2023-01-24 格式:DOCX 页数:35 大小:1.78MB
下载 相关 举报
组成原理课程设计报告.docx_第1页
第1页 / 共35页
组成原理课程设计报告.docx_第2页
第2页 / 共35页
组成原理课程设计报告.docx_第3页
第3页 / 共35页
组成原理课程设计报告.docx_第4页
第4页 / 共35页
组成原理课程设计报告.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

组成原理课程设计报告.docx

《组成原理课程设计报告.docx》由会员分享,可在线阅读,更多相关《组成原理课程设计报告.docx(35页珍藏版)》请在冰豆网上搜索。

组成原理课程设计报告.docx

组成原理课程设计报告

《计算机组成原理》

 

院系名称计算机科学与工程学院

班级

姓名

学号

指导教师

题目一

1.问题描述

设计一个具有加法和直接寻址方式的模型机

(1)设计内容:

设计一台具有输入、输出、加法、存储和跳转功能的模型计算机,并写出工作程序和测试数据验证有设计的指令系统。

(2)设计要求:

所设计模型计算机的指令系统共包含五条机器指令:

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

STA和JMP为直接寻址。

2.题目分析及设计原理

通过IN单元输入数据送R0寄存器,然后寄存器和自身相加,再将结果保存到存储器并送OUT单元显示出来,最后无条件跳转,又重复执行。

结合数据通路图设计指令。

数据通路图

注意读写逻辑控制信号的控制。

读写控制逻辑如下:

3.指令设计及编码

模型机的指令系统及指令格式如下:

助记符

机器指令码

说明

INRD,P

XXXX

XX

RD

p

IN->RD

ADDRD,RS,D

XXXX

RS

RD

RS+RD->RD

STAMD,RD

XXXX

M

RD

D

R0->E

OUTP,RS

XXXX

RS

XX

P

RS->LED

JMPMD

XXXX

M

XX

D

E->PC

指令格式为:

指令编码为:

;//************StartOfMainMemoryData******//

$P0020;START:

INR0从IN单元读入数据送R0

$P0100;ADDR0,RO和自身相加,结果送

$P0210;STA将结果存入主存

$P0380;OUTR0输出结果

$P04E0;JMPSTART跳转到00单元

$P0500

$P0650;HLT停机

;//************EndOfMainMemoryData******//

4.微指令设计及编码

微指令格式

23

22

21

20

10

18-15

14-12

11-9

8-6

5-0

M23

CN

WR

RD

IOM

S3-S0

A字段

B字段

C字段

MA5-MA0

 

微指令数据流程图

PC->AR

PC+1

NOP

01

00

MEM->IR

03

P<1>

30

32

OUT

38

IN

ADD

IN->R0

01

R0->A

01

IN->AR

30

34

STA

JMP

HLT

NOP

35

R0->OUT

01

IN->AR

R0->MEM

31

12

01

35

R0->B

A+B->R0

MEM->R0

33

04

05

PC->AR

PC+1

MEM->PC

3C

1D

01

二进制微代码表

地址

十六进制

高五位

S3-S0

A字段

B字段

C字段

MA5-MA0

00

000001

00000

0000

000

000

000

000001

01

006D43

00000

0000

110

110

101

000011

03

107070

00010

000

111

000

001

110000

32

183001

00011

0000

011

000

000

000001

30

001404

00000

0000

001

010

000

000100

04

002405

00000

0000

010

010

000

000101

05

04B201

00000

1001

011

001

000

000001

31

186012

00011

00000

110

000

000

010010

12

200401

00100

0000

000

010

000

000001

38

186033

00011

0000

110

000

000

110011

33

103034

00010

0000

011

000

000

110100

34

280401

00101

0000

000

010

000

000001

3C

006D5D

00000

0000

110

110

000

011101

1D

105141

00010

0000

101

000

101

000001

35

000035

00000

0000

000

000

000

110101

根据指令译码原理图将指令代码译码为微指令入口地址。

指令译码原理图如下:

微指令编码为:

;//************StartOfMicroControllerData*******//

$M00000001;NOP

$M01006D43;PC->AR,PC加1

$M03107070;MEM->IR,P<1>

$M32183001;IN->R0

$M30001404;R0->A

$M04002405;R0->B

$M0504B201;A加B->R0

$M31186012;IN->AR

$M12200401;R0->MEM

$M38186033;IN->AR

$M33103034;MEM->R0

$M34280401;R0->OUT

$M3C006D5D;PC->AR,PC加1

$M1D105141;MEM->PC

$M35000035;NOP

;//**************EndofMicroControllerData*******//

5.运行结果及分析

1、取指令

将PC当前的内容送地址寄存器,在主存中找到该地址处的指令,然后取出指令,送指令寄存器,截图如下:

2、从IN单元输入数据送R0寄存器

3、R0寄存器和自身相加,结果送R0

(1)将寄存器R0中的数据送暂存器A,截图如下:

(2)将R0寄存器中的数据送暂存器B,截图如下:

(3)寄存器R0和自身相加,结果送到R0寄存器,截图如下:

4、将结果存入主存

首先通过IN单元输入一个地址,并在主存中找到该地址,截图如下:

5、取数

(1)通过IN单元输入地址,找到数据在主存中的存储地址,截图如下:

(2)将该地址中的数送到R0寄存器

6、将数据送OUT单元显示出来

题目二

1.问题描述

设计一个具有循环右移功能的模型机

1、设计内容

设计一台具有输入、输出、数据传送、带进位加法,循环右移、停机等功能的模型机,并写出工作程序和测试程序验证所设计的指令系统。

2、设计要求

所设计模型计算机的指令系统共包含六条机器指令:

IN(输入)、OUT(输出)、ADC(带进位加法)、RR(循环右移)、MOV(数据传送)、HALT(停机),各条指令的寻址方式为寄存器寻址。

2.题目分析及设计原理

通过IN单元输入数据送R0寄存器,然后将寄存器中的数送暂存器A,再通过IN单元输入数据送寄存器R0,并将数据送暂存器B,对A和B中的数据进行带进位位的加法运算,将结果保存到存储器R0,再将结果循环右移一位,然后将结果送OUT单元显示出来,最后停机。

结合数据通路图设计指令。

数据通路图

3.指令设计及编码

模型机的指令系统及指令格式如下:

助记符

机器指令码

说明

MOVRD,RS

XXXX

RS

RD

RS--->RD

ADCRD,RS

XXXX

RS

RD

RS+RD+cy--->RD

RR

XXXX

RS

RD

RS循环右移--->RD

INRD,P

XXXX

XX

RD

P

IN---->RD

OUTP,RS

XXXX

RS

XX

P

RS--->LED

HALT

XXXX

00

00

停机

指令格式为:

指令编码为:

;//************StartOfMainMemoryData******//

$P0020;START:

INR0

$P0110;R0->A

$P0220;IN->R0

$P0300;ADD

$P0440;RR

$P0530;OUTR0

$P0650;HLT停机

;//************EndOfMainMemoryData******//

4、微指令设计及编码

微指令格式

23

22

21

20

10

18-15

14-12

11-9

8-6

5-0

M23

CN

WR

RD

IOM

S3-S0

A字段

B字段

C字段

MA5-MA0

微指令数据流程图

PC->AR

PC+1

NOP

01

00

MEM->IR

03

P<1>

30

32

ADD

30

IN

IN->R0

01

R0->A

01

R0->B

A+B+cy->R0

31

04

RR

OUT

HLT

R0->A

A右移移位

->R0

R0->OUT

NOP

35

01

34

33

05

01

01

35

二进制微代码表

地址

十六进制

高五位

S3-S0

A字段

B字段

C字段

MA5-MA0

00

000001

00000

0000

000

000

000

000001

01

006D43

00000

0000

110

110

101

000011

03

107070

00010

000

111

000

001

110000

32

183001

00011

0000

011

000

000

000001

31

001404

00000

0000

001

010

000

000100

30

002405

00000

0000

010

010

000

000100

04

053201

00000

1010

011

001

000

000001

30

001405

00000

0000

001

010

000

000101

05

033201

00000

0110

011

001

000

000001

33

280401

00101

0000

000

010

000

000001

35

000035

00000

0000

000

000

000

110101

根据指令译码原理图将指令代码译码为微指令入口地址。

指令译码原理图如下:

微指令编码为:

;//************StartOfMicroControllerData*******//

$M00000001;NOP

$M01006D43;PC->AR,PC+1

$M03107070;MEM->IR,P<1>

$M32183001;IN->R0

$M31001401;R0->A

$M32183001;IN->R0

$M30002404;R0->B

$M04053201;A+B+CY->R0

$M34001405;R0->A

$M05033201;RR

$M33280401;R0->OOUT

$M35000035;NOP

;//**************EndofMicroControllerData*******//

5.运行结果及分析

1、取指令

将PC当前的内容送地址寄存器,在主存中找到该地址处的指令,然后取出指令,送指令寄存器,截图如下:

2、从IN单元输入数据送R0寄存器

3、将寄存器R0中的数据送暂存器A中

4、对数据进行带进位位的加法运算,结果送寄存器R0

5、将结果循环右移

(1)、首先将结果送入暂存器A

(2)、将结果循环右移后送R0寄存器

6、将最终结果送OUT单元显示出来

题目三

1.问题描述

设计一个具有带借位减法和存储功能的模型机

1、设计内容

设计一台具有输入、输出、数据传送、带借位减法,存数、取数等功能的模型机,并写出工作程序和测试程序验证所设计的指令系统。

2、设计要求

所设计模型计算机的指令系统共包含六条机器指令:

IN(输入)、OUT(输出)、SBC(带借位减法)、LDA(取数)、STA(存数)、MOV(数据传送),其中存数、取数指令的寻址方式为间接寻址。

2.题目分析及设计原理

通过IN单元输入数据送R0寄存器,然后将寄存器中的数送暂存器A,再通过IN单元输入数据送寄存器R0,并将数据送暂存器B,对A和B中的数据进行带借位的减法运算,将结果送存储器R0,再将结果保存到存储器,然后从存储器中取出数据送OUT单元显示出来,最后停机。

结合数据通路图设计指令。

数据通路图如下

3.指令设计及编码

模型机的指令系统及指令格式如下:

助记符

机器指令码

说明

MOVRD,RS

XXXX

RS

RD

RSàRD

SBCRD,RS

XXXX

RS

RD

RS-RD+cyàRD

LADMD,RD

XXXX

RS

RD

D

(D)àRD

STAMD,RD

XXXX

M

RD

D

RDà(D)

INRD,P

XXXX

XX

RD

P

INàRD

OUTP,RS

XXXX

RS

XX

P

RSàLED

指令格式为:

指令编码为:

;//************StartOfMainMemoryData******//

$P0020;START:

INR0

$P0100;R0->A

$P0220;IN->R0

$P0300;SBC

$P0440;STA

$P0560;LDA

$P0630;OUTR0

$P0750;停机

;//************EndOfMainMemoryData******//

4.微指令设计及编码

微指令格式

23

22

21

20

10

18-15

14-12

11-9

8-6

5-0

M23

CN

WR

RD

IOM

S3-S0

A字段

B字段

C字段

MA5-MA0

微指令数据流程图

00

PC->AR

PC+1

NOP

01

MEM->IR

03

P<1>

30

32

SBC

30

IN

IN->R0

01

R0->A

01

R0->B

A-B->R0

31

04

STA

OUT

HLT

IN->AR

R0->MEM

R0->OUT

NOP

35

01

34

33

05

01

01

35

IN->AR

MEM->R0

36

06

01

LDA

二进制微代码表

地址

十六进制

高五位

S3-S0

A字段

B字段

C字段

MA5-MA0

00

000001

00000

0000

000

000

000

000001

01

006D43

00000

0000

110

110

101

000011

03

107070

00010

000

111

000

001

110000

32

183001

00011

0000

011

000

000

000001

31

001404

00000

0000

001

010

000

000001

30

002404

00000

0000

010

010

000

000100

04

05B201

00000

1011

011

001

000

000001

34

186005

00011

00000

110

000

000

000101

05

200401

00100

0000

000

010

000

000001

36

186006

00011

0000

110

000

000

000110

06

103001

00010

0000

011

000

000

000001

33

280401

00101

0000

000

010

000

000001

35

000035

00000

0000

000

000

000

110101

根据指令译码原理图将指令代码译码为微指令入口地址。

指令译码原理图如下:

微指令编码为:

;//************StartOfMicroControllerData*******//

$M00000001;NOP

$M01006D43;PC->AR,PC+1

$M03107070;MEM->IR,P<1>

$M32183001;IR->A

$M31001401;R0->A

$M32183001;IR->R0

$M30002404;R0->B

$M0405B201;A-B->R0

$M34186005;IN->AR

$M05200401;R0->MEM

$M36186006;IN->AR

$M06103001;MEM->R0

$M33280401;R0->OUT

$M35000035;NOP

;//**************EndofMicroControllerData*******//

6.运行结果及分析

1、取指令

将PC当前的内容送地址寄存器,在主存中找到该地址处的指令,然后取出指令,送指令寄存器,截图如下:

2、从IN单元输入数据送R0寄存器

3、将寄存器R0中的数据送暂存器A中

4、从IN单元输入数据送R0寄存器

5、将寄存器R0中的数据送暂存器B中

6、对数据进行带借位减法运算后结果送R0寄存器

7、将结果保存到存储器

从IN单元输入要存入的地址,再将数据保存如该地址中。

截图如下:

8、从存储器中将数据取出送R0寄存器

9、将结果送OUT单元显示出来

 

 

课程设计总结

本次课程设计我们小组一共做了三道题,分别是设计一个具有加法和直接寻址方式的模型机、设计一个具有循环右移功能的模型机和设计一个具有带借位减法和存储功能的模型机。

共实现了输入、输出、相加、相减、存数、取数、无条件跳转、循环右移和停机这9条机器指令。

指令设计方面,在设计机器指令前,要先画出微程序流程图,根据简单模型机的数据通路图知道每条指令的数据通路。

最关键的是要正确的将机器指令的代码经过强制译码成微指令的入口地址。

其次在将微指令转换成二进制代码时,要知道每一字段的含义,首先最好根据指令的数据通路来确定每组信号,然后参考微指令格式将指令转换成二进制代码。

尤其是涉及到读写逻辑控制信号IOM、WR、RD的设置时,要具体分析。

对于存数和取数的指令,首先要确定数据的地址,然后再进行操作。

跳转是无条件跳转,即又重新执行每条指令。

对于所执行的各种加减算术运算和循环右移逻辑运算,主要是对S3、S2、S1和S0进行控制。

指令设计完成后要正确的连接线路图,再装载文件。

因为我们小组是用简单模型机完成各功能,只用到R0寄存器,没有进行寄存器和寄存器之间的数据传送。

实验过程中一定要认真,要有耐心。

开始我们不知道如何将机器指令代码译码成微指令的入口地址,后经老师讲解和我们小组成员之间积极讨论,终于明白如何译码。

在涉及到对存储器读写操作时,不能正确理解,后经过我们的讨论终于明白。

做题之前画出流程图非常重要,然后根据流程图并结合每条指令的数据通路写出微指令。

经过我们小组成员的共同努力,我们完成了本次课程设计。

通过这次课程设计,我对机器指令和微指令有了一定的理解,也加强了我们团队合作的意识。

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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