计算机组成原理课程设计基本模型机的设计跳转指令的实现管理资料Word文档格式.docx

上传人:b****6 文档编号:17734852 上传时间:2022-12-09 格式:DOCX 页数:24 大小:140.95KB
下载 相关 举报
计算机组成原理课程设计基本模型机的设计跳转指令的实现管理资料Word文档格式.docx_第1页
第1页 / 共24页
计算机组成原理课程设计基本模型机的设计跳转指令的实现管理资料Word文档格式.docx_第2页
第2页 / 共24页
计算机组成原理课程设计基本模型机的设计跳转指令的实现管理资料Word文档格式.docx_第3页
第3页 / 共24页
计算机组成原理课程设计基本模型机的设计跳转指令的实现管理资料Word文档格式.docx_第4页
第4页 / 共24页
计算机组成原理课程设计基本模型机的设计跳转指令的实现管理资料Word文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

计算机组成原理课程设计基本模型机的设计跳转指令的实现管理资料Word文档格式.docx

《计算机组成原理课程设计基本模型机的设计跳转指令的实现管理资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计基本模型机的设计跳转指令的实现管理资料Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

计算机组成原理课程设计基本模型机的设计跳转指令的实现管理资料Word文档格式.docx

时间安排:

周一:

熟悉相关资料。

周二:

系统分析,设计程序。

周三、四:

编程并上实验平台调试周五:

撰写课程设计报告。

指导教师签名:

年月日

系主任(或责任教师)签名:

基本模型机的设计

——跳转指令的实现

1、课程设计的题目

2、设计的目的及设计原理。

此次课程设计的主要目的有:

在详细了解所发的资料内容后,根据书本的理论和之前的实践知识,掌握计算机组成原理实验平台的各个单元模块的工作的原理,并了解软件HKCPT的联机、使用方式,是学会规划读/写内存、寄存器、数值计算等功能,要会编写相应的微程序,并在软件HKCPT加以实现。

实验系统中模型机的运行是在微程序的控制下进行的,在实验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成,即1条机器指令对应一个微程序。

这次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。

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

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

SUB(减法)、ADD(二进制加法)、STA(存数)、MOV(赋值)、JMP(无条件转移)、JC、RRC(循环右移)。

3、根据设计要求给出模型机的逻辑框图

其中运算器由2片74L181构成8位字长的ALU单元。

2片74LS374作为2个数据锁存器(DR1、DR2),8芯插座ALU-IN作为数据输入端,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。

数据输入锁存器DR1的EDR1为低电平,并且D1CK有上升沿时,那来自数据总线的数据打入锁存器DR1。

同样使EDR2为低电平、D2CK有上升沿时把数据总线上的数据打入数据锁存器DR2。

4、设计指令系统,并分析指令格式

此次实验涉及的指令有以下几种:

MOVR1,#Data将立即数Data送到寄存器A中

MOVR0,#Data将立即数Data送到寄存器RI中

MOVA,#Data将立即数Data送到寄存器A中

JMPAddr跳转到Addr处开始执行

JCAddr如果有进位(借位)跳转到Addr处开始执行

RLCA带进循环左移一位

AddA,R0将寄存器R0中的数据加到累加器A中

SUBA,R1将累加器A中的数据减去寄存器R1中的数据

STAAddr将寄存器中内容写入存储器中

HALT停机指令

指令系统如下表:

指令格式

一般指令由操作码和操作码组成,如下所示:

操作码

地址码

此实验所涉及指令的格式如下:

MOV指令采用双字节指令,其格式如下:

I7

I6

I5

I4

I3

I2

I1

I0

第1字节:

操作码及Ri

D7

D6

D5

D4

D3

D2

D1

D0

第2字节:

Data

JMP指令采用双字节指令,其格式如下:

A7

A6

A5

A4

A3

A2

A1

A0

Addr

JC指令采用双字节指令,其格式如下:

RLC指令采用单字节指令,其格式如下:

ADD指令采用单字节指令,其格式如下:

SUB指令采用单字节指令,其格式如下:

STA取数据指令,其格式如下:

操作码Data

停机指令(HALT),其格式如下:

5设计微程序及其实现的方法

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

如果采用多组编码译码,那么24位微代码通过二进制译码可实现

个互斥的微操作控制信号。

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

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

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

例如:

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

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

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

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

00

取指微指令

01

02

03

减法指令微程序

(1)

04

减法指令为程序

(2)

05

06

07

MOV指令微程序

(1)

08

MOV指令微程序

(2)

09

MOV指令微程序(3)

0A

0B

0C

0D

0E

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

微程序首地址形成

MD7

MD6

MD5

MD4

MD3

MD2

MD1

MD0

0

按操作码散转

指令操作码

微程序首地址

MD7、MD6

MD1、MD0

MD7~MD0

003H

007H

00BH

00FH

013H

017H

01BH

01FH

023H

027H

02BH

02FH

033H

037H

03BH

03FH

6模型机当中时序的设计安排

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

2)、在本实验中,由监控单元产生了一个PLS-O的信号来控制时序产生(如下图所示)。

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

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

它们分别实现的功能是:

(1)PLS1:

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

(2)PLS2:

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

(3)PLS3:

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

(4)PLS4:

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

SIGN

PLS1

PLS2

PLS3

PLS4

微指令周期

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

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

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

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

时序变化

时序变化图

1)初始状态的时序图

2)执行JZ时的时序图

3)执行JC时的时序

4)执行JMP时的时序图

7设计指令执行流程

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

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

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

例如本次课程设计中用到的取值微指令、ADD、JMP、RRC、MOVE等指令

在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令锁存器输出无效。

在处于停机状态时,脉冲PLS1对微地址寄存器无效,微地址寄存器保持为0。

脉冲PLS2对PC计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器中,把模型机置为运行状态,使微程序锁存器输出有效。

PLS3把微程序存储器00H单元中内容打入微指令锁存器中,并且输出取指微指令。

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

在模型机处于运行状态时,脉冲PLS1将微地址寄存器加1,脉冲PLS2将PC计数器加1,PLS3把微程序存储器中的微指令打入微指令锁存器并且输出。

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

ADD指令的执行流程

ADDA,Ri,该指令功能为(A)+(Ri)->

A,需执行以下微操作:

(PC)+1

PC;

PC加1,为取下一条指令字节准备

(A)

DR1;

累加器A内容送ALU

(Ri)

DR2;

寄存器Ri内容送ALU

(A)+(Ri)

IDB

A;

使ALU执行加法,经IDB送入A

CY;

据加法结果置进位标志

(PC)

IAB

OAB;

PC计数器内容做访问内存地址

(RAM)

ODB

IR1;

从内存该地址单元读出指令寄存器IR1.

此程序由四个微指令周期:

+1为取下条字节准备,累加器A内容送ALU的DR1锁存器

1.寄存器Ri内容送ALU的DR2锁存器

2.ALU将计算结果送累加器A,据加法结果置进位标志CY

3.取指微指令,从内存读出指令送指令寄存器

JMP指令的执行流程

JMPaddr,该指令功能为addr->

PC,需执行如下操作:

IR2;

取本指令第二字节IR2

IR2

LAB

由IR2内容形成转移地址送PC

从内存该地址单元读出指令寄存器IR1

此程序由两个微指令周期:

1.PC+1从内存中取得指令第2个字节送入IR2.

2.IR2内容形成地址转移到PC,从内存中读出指令字节送指令寄存器。

RRC指令的执行流程

RRCA,该指令功能是将累加器A中的内容带进位CY循环右移一位,即->

CY->

A7->

A6->

…->

A1->

A0->

需执行如下微操作:

(A)、CY

A,CY;

控制累加器A带CY右环移一位

(PC)

(RAM)

1.PC加1,为取下一条指令字节准备,控制累加器A带CY右环移一位

2.取指微指令,从内存中读出指令送指令寄存器

MOV指令的执行流程

A,#data

该指令功能为data->

A,需执行如下操作:

PC加1,为取本指令下一字节备

A;

取出本指令第二字节

PC加1,为取下一条指令字节备

1.PC+1从内存中取得指令第2个字节送入累加器A。

2.PC+1执行取指微指令,从内存中读出指令送指令寄存器

双字节指令MOVRi,#data

该指令功能为data->

Ri;

+1从内存中取得指令第2个字节送入寄存器Ri。

+1执行取指微指令,从内存中读出指令送指令寄存器

8源程序以及程序的指令代码及微程序

、转移指令实现的源程序

MOVA,#82

RRCA

MOVA,#32

RLCA

MOVA,#18

JZ08

ADDA,R0

JC12

JMP0A

MOVR1,#42

ADDA,R1

STA40

HALT

程序的指令序列

00MOVA,#82

02RRCA;

03MOVA,#32;

05RLCA;

06MOVA,#18;

08RLCA;

09JZ08;

0BADDA,R0;

0CJC12;

0EJMP0A;

10MOVR1,#42;

12ADDA,R1;

13STA40;

15HALT;

16HALT;

17HALT;

18HALT;

19HALT;

1AHALT;

1BHALT;

1CHALT;

1DHALT;

1EHALT;

1FHALT;

微指令序列

M23-M0

00[00],[00],[00]取指指令

01[00],[00],[00]

02[00],[00],[00]

03[00],[00],[00]A->

Dbus->

DR1

04[00],[00],[00]Ri->

DR2

05[00],[00],[00]ALU->

A

06[00],[00],[00]取指指令

07[00],[00],[00]A->

08[00],[00],[00]Ri->

DR2

09[00],[00],[00]ALU->

0A[00],[00],[00]取指指令0B[00],[00],[00]Ri->

0C[00],[00],[00][IR2]->

Abus,Dbus->

0D[00],[00],[00]取指指令

0E[00],[00],[00]

0F[00],[00],[00]Ri->

10[00],[00],[00]取指指令

11[00],[00],[00]

12[00],[00],[00]

13[00],[00],[00]A->

Ri

14[00],[00],[00]取指指令

15[00],[00],[00]

16[00],[00],[00]

17[00],[00],[00]Dbus->

18[00],[00],[00]取指指令

19[00],[00],[00]

1A[00],[00],[00]

1B[00],[00],[00]Dbus->

1C[00],[00],[00]取指指令

1D[00],[00],[00]

1E[00],[00],[00]

1F[00],[00],[00]Dbus->

20[00],[00],[00][IR2]->

Abus,RAM->

21[00],[00],[00]取指指令

22[00],[00],[00]

23[00],[00],[00]Dbus->

24[00],[00],[00][IR2]->

Abus,A->

RAM

25[00],[00],[00]取指指令

26[00],[00],[00]

27[00],[00],[00]A>

>

28[00],[00],[00]取指指令

29[00],[00],[00]

2A[00],[00],[00]

2B[00],[00],[00]A<

<

2C[00],[00],[00]取指指令

2D[00],[00],[00]

2E[00],[00],[00]

2F[00],[00],[00]Dbus->

30[00],[00],[00][IR2]->

PC

31[00],[00],[00]

32[00],[00],[00]

33[00],[00],[00]A->

34[00],[00],[00]RAM->

35[00],[00],[00]ALU->

36[00],[00],[00]取指指令

37[00],[00],[00]A->

38[00],[00],[00]RAM->

39[00],[00],[00]ALU->

3A[00],[00],[00]取指指令

3B[00],[00],[00]

3C[00],[00],[00]

3D[00],[00],[00]

3E[00],[00],[00]

3F[00],[00],[00]停机

微地址

M23-M0

数据流程

数据总线

地址总线

操作寄存器

00H

4DFFFF

取指微指令RAM->

IR1

5FH

IR1=5FH

MOVA,#82由两个微指令周期组成

17H

DDFBFF

82H

01H

A=82H

18H

9FH

02H

IR1=9FH

RRCA由两个微指令周期组成

27H

FFF1FE

A>

41H

无效

A=41H

28H

03H

MOVA,#32由两个微指令周期组成

32H

04H

A=32H

AFH

05H

IR1=AFH

RLCA由两个微指令周期组成

2BH

FFE9EF

A<

64H

A=64H

2CH

06H

MOVA,#18由两个微指令周期组成

07H

A=18H

08H

30H

A=30H

B3H

09H

IR1=B3H

JZ08由两个微指令周期组成

2FH

D4FFFF

0AH

IR2=08H

[IR2]->

0CH

0BH

IR1=0CH

ADDA,R0由四个微指令周期组成

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

当前位置:首页 > 成人教育 > 电大

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

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