基本模型机方案加减法指令实现Word格式.docx

上传人:b****5 文档编号:20536831 上传时间:2023-01-23 格式:DOCX 页数:19 大小:144.47KB
下载 相关 举报
基本模型机方案加减法指令实现Word格式.docx_第1页
第1页 / 共19页
基本模型机方案加减法指令实现Word格式.docx_第2页
第2页 / 共19页
基本模型机方案加减法指令实现Word格式.docx_第3页
第3页 / 共19页
基本模型机方案加减法指令实现Word格式.docx_第4页
第4页 / 共19页
基本模型机方案加减法指令实现Word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

基本模型机方案加减法指令实现Word格式.docx

《基本模型机方案加减法指令实现Word格式.docx》由会员分享,可在线阅读,更多相关《基本模型机方案加减法指令实现Word格式.docx(19页珍藏版)》请在冰豆网上搜索。

基本模型机方案加减法指令实现Word格式.docx

5PCzVD7HxA

2.设计原理模型机的运行是在微程序的控制下,实现特定指令的功能,并且编写相应的

微程序,简单的模型机都是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成。

我们可以先设计模型机的逻辑框图,然后编制相应的指令系统,模型机组装好后就可以输入事先编好的程序检验模型机是否成功。

jLBHrnAILg

3.设计内容

3.1逻辑框图设计根据设计的要求,对实验硬件资源进行逻辑组合,便可设计出该模型机整体逻辑框图。

简单的模型机都是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成。

xHAQX74J0X在模型机中,我们将要实现RAM的读写指令,寄存器的读写指令,跳转指令,ALU的加、减、与、或指令。

把通用寄存器作为累加器A,进行左、

右移等指令,整体构成一个单累加器多寄存器的系统

LDAYtRyKfE

 

下图给出了本次实验的模型机整机逻辑框图:

3.2系统连线

1.总线和内存单元

BUS

RM

WM

EMCK

DJ1

DJ2

DJ3

DJ4

DJ5

DJ6

DJ7

AJ1

M21

M22

PLS4

ALU-

IN

OUT

R

RA

RA-OUT

PC-

PC-OUT

2.微程序控制单元

MLD

MCK

MOCK

MD0

MD1

MD2

MD3

MD4

MD5

MD6

MD7

M23

PLS1

PLS3

VCC

I4

I5

I6

I7

GND

3.寄存器单元

SA

SB

RR

WR

RCK

X0

X1

ERA

RA-O

RACK

I0

I1

M15

M14

M12

M11

M10

M9

4.算术逻辑单元

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

D2CK

D1CK

CCK

ZD

CY

M8

M7

M6

M5

M4

M3

M2

M1

M0

JZ

JC

5.指令寄存器

EIR1

EIR2

IR1CK

IR2CK

IR2-O

PC-O

ELP

PCCK

JS0

JS1

M20

M19

M18

M17

M16

PLS2

I2

I3

6.启停单元

HCK

HALT

M13

3.3指令系统设计

本次实验的平台HKZK-CPT内采用的是8位数据总线和8位地址总线方式,在设计指令系统时,应考虑有哪几种类型的指令,那几种寻址方式和编码方式。

Zzz6ZB2Ltk

3.3.1指令类型

算术/逻辑运算指令

如:

加法、减法、取反、逻辑运算等

ADDA,Ri,SUBA,Ri

移位操作类指令

带进位或不带进位的移位指令

RRCA,RRA

数据传送指令

CPU内部寄存器之间的数据传送

MOVA,Ri,MOVR,iA

程序跳转指令跳转指令分为无条件跳转指令和有条件跳转指令。

可根据寄存器内容为零来标志<

ZD)、有无进位来标志<

CY)。

dvzfvkwMI1

JMPaddr无条件跳转

JZaddrZD=0时跳转

JCaddrCY=0时跳转

寄存器操作类指令

存储器读/写指令。

把内存某单元内容写入寄存器中或把寄存器中的内容写入存储器。

LDAaddr<

addr)->

A

STAaddr(A>

->

addr

3.3.2操作数寻址方式及编码

1.直接地址寻址

LDAaddr<

addr)->

2.寄存器直接寻址指令字中含有寄存器选择码,决定选择哪个寄存器进行操作。

MOVA,Ri<

Ri)->

3.寄存器间接寻址如:

MOVA,@Ri

4.立即数寻址

MOVA,#data

MOVRi,#data

3.3.3指令系统

指令助记符

指令功能

指令编码

微周期

微操作

取指微指令

T0:

PC->

地址总线->

RAM

RAM->

数据总线->

IR1

ADDA,R0

<

A)+<

0C

T0:

A->

DR1

ADDA,R1

0D

T1:

Ri->

DR2

ADDA,R2

0E

T2:

ALU->

A、置CY

ADDA,R3

0F

T3:

SUBA,R0

(A>

-(Ri>

1C

SUBA,R1

1D

SUBA,R2

1E

SUBA,R3

1F

MOVA,@R0

(Ri>

2C

MOVA,@R1

2D

IR2->

MOVA,@R2

2E

MOVA,@R3

2F

MOVA,R0

3C

MOVA,R1

3D

MOVA,R2

3E

MOVA,R3

3F

MOVR0,A

Ri

4C

MOVR1,A

4D

T1

MOVR2,A

4E

MOVR3,A

4F

MOVA,#data

Data->

5F

A取指微指令

MOVR0,#data

MOVR1,#data

MOVR2,#data

MOVR3,#data

6C

6D

6E

6F

LDAaddr

(addr>

7F

IR2

地址总线,RAM->

STAaddr

8F

地址总线,A->

RAM取指微指令

RLCA

C、A左移一位

9F

A<

1、置CY取指微指令

RRCA

C、A右移一位

AF

A>

>

JZaddr

A=0

Addr->

PC

B3

条件成立:

RAM->

JCaddr

Cy=0

B7

JMPaddr

BF

PC取指微指令

ORLA,#data

或data->

CF

ANLA,#data

DF

ALU->数据总线->A取指微指令

停机

FF

3.4微程序设计及其实现方法

在本次实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号,可以由微代码直接实现。

如果采用多组编码译码、那么24位微代码可实现2n个互斥的微操作控制信号。

rqyn14ZNXI

由于模型机指令系统规模叫小,功能也不太复杂,所以采用全水平不编码纯控制场的格式。

在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0-MD,7这种方法称为“按操作码散转”<如下表所示)。

EmxvxOtOco

微程序首地址形成

17

16

15

14

1

按操作码散转

指令操作码

微程序首地址

MD7、MD6

MD1、MD0

MD7~MD6

003H

007H

00BH

00FH

013H

017H

01BH

01FH

023H

027H

02BH

02FH

033H

O37H

03BH

03FH

每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。

微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。

例如:

确定了一条程序的微程序入口地址为07H,那么当执行完07H这条微指令后微地址加1,指向08H微地址。

微地址寄存器由2片74LS161组成,当模型机在停止状态下,微地址被清零。

当实验平台开始运行时,微地址从00H开始运行。

且00H放置一条取值指令,根据程序开始地址从内存中读出第一条指令。

SixE2yXPq5

00

01

02

03

减法指令微程序<

1)

04

2)

05

06

07

MOV指令微程序<

08

09

3)

0A

0B

3.5模型机中的时序安排设计由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。

6ewMyirQFL在本实验中为了让实验者更好的观察实验的各个中间过程中个寄存器的值,由监控单元产生一个PLS-O的信号来控制时序产生<如图2-9-2)。

PLS-O信号经过时序单元的处理产生了4个脉冲信号。

4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。

这4个脉冲信号分别是:

kavU42VRUsPLS1:

微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。

PLS2:

PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器<跳转指令)等功能。

y6v3ALoS89

PLS3:

把24位微指令打入3片微指令锁存器。

PLS4:

把当前总线上的数据打入微指令选通的寄存器中。

3.6指令执行流程设计根据模型机整机逻辑框图和目前硬件条件来设计指令系统中每条指令的执行流程。

在每个系统中,一条指令从内存取出到执行完毕,需要若干个机器周期,任何指令中都必须有一个机器周期作为“取指令周期”,称为公操作周期。

而一条指令共需要几个机器周期取决于指令在机器内实现的复杂程度。

M2ub6vSTnP对于微程序控制的计算机,在设计指令执行流程时,要保证每条微指令所包含的微操作的必要性和合理性,还应知道总线IAO、IDB、OAB、ODB仅是传输信息的通路,没有寄存信息的功能,而且必须保证总线传输信息时信息的唯一性。

以下描述取指微指令执行过程:

0YujCfmUCw在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令琐存

器输出无效<为高)。

在处于停机状态时,脉冲PLS1对微地址寄存器<

74LS161)无效,微地址寄存器保持为零。

脉冲PLS2对PC计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器<

74LS74)中,把模型机置为运行状态,使微程序锁存器输出有效。

PLS3把微程序存储器00H单元<

00H单元存放着取指微指令)中的内容打入微指令锁存器中并且输出取指微指令。

PLS4把从程序存储器中读出的数据打入指令寄存器中。

eUts8ZQVRd

当模型机处于运行状态时,脉冲PLS1微地址寄存器<

74LS161)加1,脉冲PLS2对PC计数器加1,PLS3把微程序存储器中的微指令打入微指令锁存器并且输出。

PLS4把当前总线上的数据打入当前微指令所选通的寄存器。

sQsAEJkW5T

4.程序调试

源程序、程序的指令代码及相应的微程序如下表:

内存地

源程序

指令代

微程序

00H

MOVA,

5FH

位:

23

2221201918

⋯0

#55H

微指令:

MLDWMRMEIR1

IR2-O⋯

01H

55H

有效值:

1

11101

⋯1

02H

MOV

6CH

R0,#22H

03H

22H

S0有效值:

110111

04H

07H

111111

05H

1CH

R1,#11H

06H

11H

010011

ADDA,R1

08H

1DH

R2,#10H

09H

0AH

ADDA,R2

0BH

STA10

8FH

0CH

10H

110101

0DH

FFH

5.上机调试过程

本次实验用的软件是HKCP,T我将上面编好的程序输入电脑,在这个软件中进行调试并观看程序单步运行的结果,用截图工具将程序的微单步过程各个结构图以及时序截了下来,以下就是整个程序的运行过程:

GMsIasNXkA

6.总结

通过本次的课程设计,我进一步融会贯通了教材上的内容,掌握了计算机各功能模块的工作原理、相互联系和来龙去脉,完整地建立了计算机的整机概念。

自己的学习热情和主动性得到了空前提高,独力工作能力也得到了很大的提高。

培养成了严谨的科研作风,创造性地完成了模型机的部件及系统的分析、设计、组装和调试,加深了自己对计算机组成原理及系统结构课程的内容的理解和掌握。

TIrRGchYzg

当然,此次的模型机设计也有很大的不足之处,比如:

指令系统的规模太小,有很多有用的指令没有进行编码设计导致功能太简单,要编较难较复杂的程序还不太可能。

另外此次的课程设计也暴露了一个很大的问题,那就是:

我们的动手能力太差了,很多在书本上觉得很简单的问题等到自己动手去做时才发现原来还有很多知识我们并不太清楚,所以今后要加强我们的动手能力7EqZcWLZNX

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

当前位置:首页 > 农林牧渔 > 林学

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

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