计算机组成原理部分-指令_第1页
计算机组成原理部分-指令_第2页
计算机组成原理部分-指令_第3页
计算机组成原理部分-指令_第4页
计算机组成原理部分-指令_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理部分

北航计算机学院刘旭东

第三部分指令系统

一.指令格式

二.寻址方式

三.指令编码

L1指令格式

。机器指令的要素

A操作码(OperationCode):指明进行的何种操作(如ADD,I/O)

»源操作数地址(SourceOperandReference):参加操作的操作数的地址

,可能有多个。

>目的操作数地址(DestinationOperandReference):保存操作结果的地

±Lto

A下一条指令的地址(NextInstructionReference):指明下一条要运行的

指令的位置,一般指令是按顺序依次执行的,所以绝大多数指令中

并不显示的指明下一条指令的地址,也就是说,指令格式中并不包

含这部分信息。只有少数指令需要显示指明下一条指令的地址。

。操作数的来源

A存储器(存储器地址)

A寄存器(寄存器地址)

A输入输出端口(输入输出端口地址)

L1指令格式

♦:♦操作数的类型

A地址(操作数地址,指令地址)

A数值(整型数或定点数,浮点数,十进制数)

A字符

A逻辑型数

♦:♦指令的表示

A机器表示:二进制代码

OpCodeS.OperandRetD.OperandRef.

A符号化表示:助记符

MOVAX,BX

♦:♦指令编码

A指令长度

A指令在内存中的表示

L2寻址方式______________________________________

♦:♦形式地址与有效地址

A形式地址:指令中直接给出的地址编码。

A有效地址:根据形式地址和寻址方式计算出来的操作数在内存单元中

的地址。

。寻址:根据形式地址查找到操作数的过程。内存

L2寻址方式

。寻址方式

A定义:指令代码中地址字段的一部分,指明操作数的获取方式或操作

数地址的计算方式。

A指令中每一个地址字段均有其寻址方式编码(或隐含寻址方式)

源操作数寻址方式Add

L2寻址方式_______________________________________

。指令代码和寻址描述中有关缩写的约定

>0P:操作码

>Des:目的操作数地址

>Sur:源操作数地址

AA或Add:形式地址(内存地址)

>Mod:寻址方式

>Rn:通用寄存器

>Rx:变址寄存器

>Rb:基址寄存器

>SP:堆栈指针(寄存器)

>EA:有效地址

>Data:操作数

>Operand:操作数

>(X):表示对象X的内容(值),如(Rn)表示寄存器Rn的内容(值)

,(A):内存本地址为A的单元的内容。

Data:立即数

>XXH:16进制数XX

L2寻址方式

。立即寻址

»操作数直接在指令代码中给出。

OPDesModImme.Data

源操作数

。说明

A立即寻址只能作为双操作数指令的源操作数。

>Operand=Imme.Data

A例:MOVAX,1000H

♦思考

A立即寻址的操作数在什么地方,存储器or寄存器?

A立即数的地址?

L2寻址方式

。寄存器直接寻址

A操作数在寄存器中,指令地址字段给出寄存器的地址(编码)

>EA=Rn,Operand=(Rn)

A例:MOV[BX],AX

L2寻址方式

♦:♦存储器直接寻址

A操作数在存储器中,指令地址字段直接给出操作数在存储器中的地址

>EA=A,Operand=(A)

A例:MOVAX,[1000H]

L2寻址方式

。寄存器间接寻址

A操作数在存储器中,指令地址字段中给出的寄存器的内容是操作数在

存储器中的地址。

>EA=(Rn),Operand=((Rn))

A例:MOVAX,[BX]

A寄存器Rn

L2寻址方式

♦:♦存储器间接寻址

A操作数在存储器中,指令地址字段中给出的存储器地址的单元内容是

操作数在存储器中的地址。

>EA=(A1),Operand=((A1))

A例:MOVR1,@(1000H)PDP-11的指令

L2寻址方式

。基址寻址

»操作数在存储器中,指令地址字段给出一基址寄存器和一形式地址,

基变址寄存器的内容与形式地址之和是操作数的内存地址。

>EA=(Rb)+A,Operand=((Rb)+A)

A例:MOVAX,1000H[BX]

基址寻址的作用:较短的形式地址长度可以实现较大的

存储空间的寻址。

L2寻址方式_____________________________________

♦:♦变址寻址

A操作数在存储器中,指令地址字段给出一变址寄存器和一形式地址,

变址寄存器的内容与形式地址之和是操作数的内存地址。

>EA=(Rx)+A,Operand=((Rx)+A)

A有的系统中,变址寻址完成后,变址寄存器的内容将自动进行调整。

RxQ(Rx)+??操作薮Data的字节数?

»例:MOVAX,1000H[DI]

A

A+1

A+N

A变址寻址的作用:数组操作,串操作

L2寻址方式______________________________________

。相对寻址

A基址寻址的特例,由程序计数器PC作为基址寄存器,指令中给出的形

式地址作为位移量,二者之和是操作数的内存地址。

>EA=(PC)+A,Operand=((PC)+A)

A例:JNEA

L3指令编码

。如何确定指令的长度

A16位定长指令系统,指令编码长度一般为16位,

如:MOVR15R2

»如果指令中出现了立即数、变址值,指令长度是32

位.如:MOVR1,1000或MOV1000(R1),R2

L3指令编码

♦:*8086指令(直接寻址)

>MOVAX,BX(指令代码:89D8H)

存储器

CS:IP89H

D8H

L3指令编码

♦:*8086指令(基址变址寻址)

>MOVAX,1000H[BX](指令代码:8B870001H)

»等价于MOVAX,DS:[BX+1000H]

>EA=DS:(BX)+1000H存储器

CS:IP8BH

87H

OOH

01H

L3指令编码

。如何确定CPU读取指令所需要的读取周期

»计算机字长16位,读取16位指令需要一个读指

令周小

»计算加字长16位,读取32位指令需要两个读周

期。重际上,第二个读周期读取了指令的法心部分(

操隹码,寄存器缄号,寻址方式部分),第二个读周

期隹取指令的附属部分(立即数,变址值)。

试题讲解

1.某计算机主存大小64KB,CPU内部有8个16位通用寄存

器,8个8位通用寄存器,1个16位变址寄存器。该机

指令系统有64条指令,全部为寄存器寄存器型或寄存

器存储器型指令,同时支持8位和16位运算。当操作数

不在寄存器中是,采用下列寻址方式:

(1)寄存器间接寻址(用16位寄存器)

(2)存储器直接寻址

(3)基址变址寻址(任意16位寄存器做基址寄存器,

位移量16位)。

设计适合该计算机的指令格式,使指令长度最短。

61132316

Reg1MODReg2MemAddorDisp

第四部分中央处理器一运算器

、加法与乘法运算

、运算器结构

L1加减法运算

♦:♦加法单元(全加器)

Si

E-G

AiBi

S=A5/C.+AB.G+AB/G+A.B.C

1/1/V1/1/V

G「A4+G(aB)

L1加减法运算

♦:♦并行加法器一一串行进位

L1加减法运算

♦:♦并行加法器一一并行进位(或先行进位)

令Gi=A4«=ABj

G=G0+与c°

。2=。+。£=。+5片+4用品

C3=G2+。2鸟=G2+。鸟+G0々巴+4片《。0

C4=G3+C34=G3^G2P3+GM心如陋+玲々鸟鸟C°

♦:♦并行进位的特点

»同时产生进位

A加法延时缩短

»实现相对复杂

L1加减法运算

♦:♦并行进位链

L2补码乘法

♦:♦补码乘法规则

»乘积的补码=被乘数的补码X乘数的真值

[尸]补二X。]补二[M]补xQ

L2补码乘法

♦:♦算法规则

A比较乘数相邻的两位:Qi和QM

■QiQM=OO或11,上一次部分积直接右移一位形

成新的部分积

■QiQ=01,上一次部分积加上被乘数补码后右移

一位姓H成新的部分积

-Q.QM=10,上一次部分积减去被乘数补码后右移

一位形成新的部分积

»重复n次。

»对于n位数的一位比较法,需要执行n次加法运算

和n次移位运算。

L2补码乘法

L3浮点数的运算

。浮点数的加减法运算

A规格化

A对阶(小阶向大阶对齐)

A尾数加减运算

A结果规格化

A结果溢出问题

♦:♦浮点数的乘除法运算

A乘法:阶码相加,尾数相乘,结果规格化。

A除法:阶码相减,尾数相除,结果规格化。

L4运算器的简单结构

总线

PC

AC:累加器

ALU:算术逻辑运算单元

A,B:缓冲器

GR:通用寄存器

IR:指令寄存器

ID:指令译码器

PCt程序计数器

MAR:地址寄存器

MBR:数据寄存器

第五部分中央处理器一控制器

一、模型机结构

二、控制方式与时序系统

三、执行执行微操作流程

四、微程序控制器

返回

L1模型机结构

L1模型机结构

♦:♦简化的8086/8088结构

A16位系统

A通用寄存器部件

»主存地址寄存器MAR

»主存数据寄存器MDR

A暂存器C,D,Z

A程序计数器PC

»指令寄存器IR

>ALU

A存储器部件

»控制部件

A数据通路与控制信号

A微操作控制信号与控制脉冲

L2模型机的指令系统____________________________

。双操作数指令格式

A16位定长指令系统

A指令中不包含立即数和变址值:16位,如MOVAX,BX

»指令中只包含立即数或变址值:32位,如MOVAX,1000H;

MOVAX,1000H[BX];

A指令中包含立即数和变址值:48位,如MOV2000H[BX],1000H;

6112338888

M

OpcodedW0REGR/MData_LowData-HighDisp_LowDisp_High

D

L3捽制方式与时序系统__________

。控制方式

A同步控制方式

A异步控制方式

♦:♦时序系统

»脉冲时序信号:主时钟脉冲

A节拍信号:T1,T2,T3,T4

A机器周期信号:M1,M2,M3,M4

。指令周期

»指令周期、机器周期、节拍周期

»指令周期:取指周期、取数周期、执行周期

»指令周期与机器周期的关系

»机器周期与节拍周期的关系

L3捽制方式与时序系统

♦:♦时序系统

L3捽制方式与时序系统

♦:♦时序部件

Ml

=M2

机器周期

主振AM3

触发器AM4

A

AT1

CLKAT2

主时钟发生器节拍发生器AT3

T4

T4T3T2T1

L4指令执行微操作流程______________________________

♦:♦指令的执行过程

A取指:从存取器读取当前指令送到指令寄存器(IR),要根据指令编码的

长度才能确定读取指令的详细流程。

A取数:计算操作数地址,读取操作数,要根据操作数的来源与寻址方式才

能确定具体的操作过程。

»执行:执行并送结果。

♦:♦取指周期

A指令的核心部分占16Bits,机器字长16Bits,每一次从存储器能读取16Bits

A指令编码长度有2个字节(16位),4个字节(32位),甚至6个字节,但指

令核心就分长诲为16位。

A取指周期特指读取指令核心部分(16Bits)的周期,所以在这种前提下,

所有指令的取指周期是完全一样的。

结构图

L4指令执行微操作流程

♦:♦取指周期的微操作流程

A取指流程需要4个节拍

A每条指令执行过程的第一个机器周期M1都是取指周期(取到指令核心部分)

时间节拍完成功能得要的微操作信号需要的控制脉冲

M1.T1指令地址送MARIBRPCCPMAR

M1.T2ReadMemoryABRMAR,RD

指令送MDRMDR6DBCPMDR

M1.T3

调整PCPC+1CPPC

M1.T4MDR(指令)送IRIB6MDRCPIR

结构图

L4指令执行微操作流程_________________

❖MOVAX,BX指令执行的微操作流程

»指令长度:16位,一次可读取完毕(指令代码:89DBH)

A读取指令周期:机器周期M1内完成

»执行周期:机器周期M2内完成

时间节拍完成功能需要的微操作信弓需要的控制脉冲

M1.T1指令地址送MARIBSPCCPMAR

指M1.T2ReadMemoryABRMAR,RD

期指令送MDRMDRGDBCPMDR

M1.T3

调整PCPC+1CPPC

M1.T4MDR(指令)送IRIBGMDRCPIR

执M2.T1BX送暂存器CIBVGR,RDGRCPC,BX地址

周M2.T2暂存器C送AXIBGC,WRGRAX地址

M2.T3无操作

M2.T4无操作

结构图

L4指令执行微操作流程___________

❖ADDAX,BX指令执行的微操作流程

»指令长度:16位,一次读取

A读取指令周期:机器周期M1内完成

»执行周期:机器周期M2内完成

时间节拍完成功能需要的微操作信号需要的控制脉冲

M1.T1指令地址送MARIB6PCCPMAR

指M1.T2ReadMemoryABJMAR,RD

期指令送MDRMDRGDBCPMDR

M1.T3

调整PCPC+1CPPC

M1.T4MDR(指令)送旧IB6MDRCPIR

执M2.T1BX送暂存器DIBGGR,RDGRCPD,BX地址

周M2.T2AX送ALU,完成加法IB6GR,ADDCPZ,AX地址

结果送AX旧GZ,WRGRAX地址

M2.T4无操作

结构图

L4指令执行微操作流程__________________

❖MOVAX,1000H[BX]指令执行的微操作流程

»指令长度:32位,分两次读取(指令代码:8B870010H)

A读取指令周期:机器周期M1内完成(读第一个16位)

A读变址值周期:机器周期M2内完成

A取操作数周期:机器周期M3内完成

A执行周期:机器周期M4内完成

时间节拍完成功能需要的微操作信号需要的控制脉冲

<

M1.T1指令地址送MARIBVPCCPMAR

指M1.T2ReadMemoryAB6MAR,RD

周X

期I指令送MDRMDRVDBCPMDR

M1.T3

调整PCPC+1CPPC

M1.T4MDR(指令)送旧IB6MDRCPIR

结构图

L4指令执行微操作流程

时间节拍完成功能需要的微操作信号需要的控制脉冲

M2.T1PC送MARIBRPCCPMAR

变M2.T2从存储器读取1000HABRMAR,RD

值1000H送MDRMDR6DBCPMDR

M2.T3

调整PCPC+1CPPC

M2.T4MDR(1000H)送DIB6MDRCPD

取送IBGGR,RDGR,地址,

M3.T1(BX)+1000HZADDBXCPZ

周M3.T2源操作数地址Z送MARIBVZCPMAR

M3.T3读取源操作数ABRMAR,RD

M3.T4源操作数送MDRMDR6DBCPMDR

结构图

L4指令执行微操作流程

时间节拍完成功能需要的微操作信号需要的控制脉冲

M4.T1源操作数送AXIBRMDR,WRGRAX的地址

执)

行<M4.T2

周i

期M4.T3

M4.T4

L5微操作信号的综合

A译码与微操作控制信号部分逻辑图

ToControlBus

微操作信号

部微操作信号生成部件

A▲A▲▲

MAsJR

,

oDuNF

VDBET

:寻址方式寻址方式

指令译码器(in)

AAMAAAAUI-

操作眄IIB/WI用四方足

指令寄存器(IR)

1.6微程序原理___________________________________

♦:♦基本概念

A指令的执行特点:按顺序执行一系列的微操作,每一个时钟周

期(节拍)完成一个或多个微操作。

»将指令执行微操作序列中一个节拍内同时完成的微操作用一个

二进制代码串来表示,这就是微指令。

A微指令的执行:通过某种逻辑产生该微指令所表示的微操作控

制信号,送控制总线,并维持一个时钟周期。

A指令的执行=微指令的序列

»微指令序列=微程序

A一条机器指令对应一段微程序

A将所有指令对应的微程序保存在存储器中(控制存储器)

A基于这种思想构造的控制器:微程序控制器

L6微程序原理_______________________________________

♦:♦微指令

»存储:控制存储器

»执行:向控制总线输出微指令表示的位值为1的微操作控制信号

,并维持一个时钟周期

»顺序控制:在微指令中设置次地址字段,直接指定下一条微指

令。

»条件控制:在指令中设置表示条件的字段,通过某种逻辑根据

条件值得到下一条微指令的地址。

微操作控制信息字段条件字段次地址字段

L6微程序原理

♦:♦微程序控制器的原理指令寄存器

»根据指令译码得到该指令的

第一条微指令的地址。控制器

译码器

»读取微指令送微指令寄存器

»生成微操作信号送控制总线控制地址寄存器CMAR

(执行该微指令)

A顺序逻辑根据次地址信息和

ALU标志信息形成下一条微ALufzX

指令的地址并送CMAR标控制存储器

时钟一►

微指令寄存器

次地址控制

微操作控制信号

L7微指令格式

♦:♦微操作控制字段编码方式

A直接控制编码:每一个二进制位代表1个微操作控制信号。1表示执

行该微操作,0表示不执行该微操作。不需要译码。

»分段直接编译:将微操作分组,同一组微操作互斥,不会同时执行

,任何时候最多只有一个微操作被执行,组间微操作可能同时执行

,组内微操作采用编码方式。从编码到微操作信息需要译码。

L7微指令格式____________________________________

♦:♦顺序控制字段

»条件字段:该微指令执行完后,是否要根据ALU的标志以及根据其

他标志来确定下一条微指令在控制存储器中的地址。

A次地址字段:顺序执行时,指出下一条微指令的地址,有条件测试

时,需要与条件字段配合才能确定真正要执行的下一条微指令的地

质。

微操作控制信息字段条件字段次地址字段

L7微指令格式

♦:♦控制存储器

取指公共微程序

ADD微程序

SUB微程序

1控制存储

AND微程序(器结构

XXX指令微程序

L8微指令的顺序控制

♦:♦顺序控制技术

A决定下一条微指令的因素:当前微指令,条件标志,指令操作码

》顺序执行时:次地址字段直接给定,每条机器指令的微程序的最后

一条微指令的次地址字段一定是公共取指微程序的第一条微指令在

控制存储器中的地址。

»公共取指微程序的最后一条微指令的次地址没有什么意义,需要根

据操作码的译码结果才能确定下一次要执行的微指令的地址。

»微指令中有条件转移是的次地址技术:

■双次地址字段

-地址逻辑生成次地址

L8微指令的顺序控制

L8微指令的顺序控制

双地址字段

L8微指令的顺序捽制

生成次地址

L8微指令执行的时序捽制

微指令周期----》

取微取微取微

指令指令指令

执行微指令执行微指令

微程序控制器的速度与硬接线控制器的速度谁快?

L9微指令格式设计举例

结构图

L9微指令格式设计举例______________________

A微指令格式(40位字)

■控制字段(24位):表示24个微操作,依次是:

GRRB,PC3IB,Z习B,FR习B,D习B,C习B,

MDR^IB,RDGR,WRGR,MAR^AB,MDR9DB,

DB9MDR,RD,WR,SAL,SAR,ADD,SUB,B-1,

W/B,P+1,CLPC,NOT,NEG

■条件字段:4位,表示16种状态,可以表示15个不同的

ALU标志,还有一无标志状态(顺序执行时)。

■次地址字段:控制存储器容量为4KW,所以12位,

微操作控制字段(24位)条件字段(4位)次地址字段(12位)

试题讲解

1.一CPU内部包含16个寄存器,一个支持16种算术运算

和16种逻辑运算的ALU,一个支持8种操作的移位器。

所有部件均由CPU内部总线连接在一起。请设计指定

该CPU内部不同操作的微指令格式(不必考虑次地址

部分)。(选自2000年考研试题)

2.某机采用微程序控制器设计,已知每一条机器指令的

执行过程均可分解成8条微指令组成的微程序,该机指

令系统采用6位定长操作码格式,控制存储器至少应能

容纳多少条微指令?如何确定机器指令操作码与该指

令微程序的起始地址的对应关系,请给出具体方案。

(选自1999年考研试题)

试题讲解

❖某机字长为16位,采用16位定长指令拾式,结构如图所

示,控制方式米用混合控制方式,每小CPU周期包含4

个节拍,指令:

/NC200但“;加7指令,基址寻址方式,87为基址寄存器。

写出执行该指令的详细微操作流程,该指令执行共需多少个CPU周期。

总线

微操作控制信号

PC

IlliI

微操作信号IAC:累加器

发生器ALU:算术逻辑运算单元

A.B:缓冲器

GRS通用寄存器

IR:指令寄存器

ID:指令译码器

PC:程序计数器

MARMAR:地址寄存器

MBR:数据寄存器

第六部分输入输出部分

一.输入输出一般概念

二.中断输入输出方式

三.总线

L1I/漏口

♦:♦外部设备并不直接挂接在系统总线上,而是通过I/O接口最为

桥梁实现与系统总线的连接

»各种外设使用不同的操作方法,由CPU来直接控制不同的外设不切实际。

A外设的数据传送速度比存储器和处理器的速度慢得多,使用高速的系统总

线与慢速的外设直接连接,不切实际。

»外设经常使用与处理器不同的数据格式和字长度。

L11/微口

*1/0接口的功能

A识别I/O地址,即地址译码;

A实现主机与I/O设备的数据交换、控制命令的传递和状态检测与传递;

»提供缓冲、暂存和驱动能力;

A进行数据格式、类型方面的转换(串并行转换,电平转换等);

A支持一定的I/O方式(程序查询、程序中断、DMA等);

AI/O控制与定时

。I/O接口的分类

A按传送数据格式:串行接口,并行接口

・串行接口适合速度低、传输距离长的环境

■并行接口适合速度高、传输距离短的环境

A按I/O方式:程序查询接口、中断接口、D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论