白中英计算机组成原理第4章 指令系统_第1页
白中英计算机组成原理第4章 指令系统_第2页
白中英计算机组成原理第4章 指令系统_第3页
白中英计算机组成原理第4章 指令系统_第4页
白中英计算机组成原理第4章 指令系统_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

第4章揩金系疙

目录

4.1指令系统的发展与性能要求

4.2指令格式

4.3操作数类型

4.4指令和数据的寻址方式

4.5典型指令

4.6本章练习题

2012年6月8日星期五2

考研计算机统考大纲要求

二)”指令落式

1.指令的基本格式

2.定长操作码指令格式

3.扩展操作码指令格式

(二)指令的寻址方式

1.有效地址的概念

2.数据寻址和指令寻址

3.常见寻址方式

(三)CISC和RISC的基本概念

2012年6月8日星期五3

4.1指令系统的发展和性能要求

•4.1.1指令系统的发展

•4.1.2对指令系统性能的要求

•4.1.3低级语言与硬件结构的关系

2012年6月8日星期五4

4.1.1指令系统的发展

・程序一一用于解决实际问题的一系列的指令;

•指令一一使计算机执行某种操作的命令;

•从组成的层次结构来说,计算机的指令可分为如下3类:

。微指令:微程序级的命令,它属于硬件;

。机器指令(指令):可完成一个独立的算术或逻辑运算;

。宏指令:由若干条机器指令组成的软件指令,它属于软件;

•指令系统:一台计算机中所有机器指令的集合。

O直接影响机器的硬件结构、软件系统、以及机器的适用范围。

2012年6月8日星期五5

计算机指令系统的发展过程

•50年代

。只有定点加减、逻辑运算、数据传送、转移等十几至几十

条指令。

・60年代后期

。增加了乘除运算、浮点运算、十进制运算、字符串处理等

指令,指令数目多达一二百条,寻址方式也趋多样化。

O出现了系列计算机。

•70年代末期

O复杂指令系统计算机(CISC)、精简指令系统计算机(RISC)

2012年6月8日星期五6

系列计算机

•基本指令系统、基本体系结构相同的一系列计算机;

。但具体的器件、结构和性能都不会完全相同;

O一般,新机种在各方面要优于旧机种。

•一个系列往往有多种型号,各型号计算机的指令系统是

向下兼容的。

O新机种的指令系统包含旧机种的全部指令;

。如Pentium系列PC机。

2012年6月8日星期五7

CISC

•CISC(complexinstructionsetcomputer)

。采用复杂的的指令系统,来达到增强计算机的功能、提

高机器速度的目的。

•特点:

1.指令系统复杂庞大,指令数目多;

2.指令格式多,字长不固定,多种寻址方式;

3■可访存指令不受限制;

4.各种指令的执行时间相差很大;

5.大都采用微程序控制器;

2012年6月8日星期五8

RISC

•RISC(Reducedinstructionsetcomputer)

。从简化指令系统和优化硬件设计的角度来提高系统的性能

与速度。

•RISC指令系统的主要特点:

1.选取使用频率高的简单指令;

2.指令长度固定,指令格式少,寻址方式种类少;

3,采用流水线技术;

4,使用较多的通用寄存器,减少访存;

5.控制器以组合逻辑控制为主;

6.采用优化编译技术;

2012年6月8日星期五9

判断以下有关CISC和RISC的描述的正误

A.采用RISC技术后,计算机的体系结构又回复到早期比

较简单的情况;X

B.为了实现兼容,新设计的RISC,是从原来CISC系统

的指令系统中挑选一部分实现的;4

C.RISC的主要目的是减少指令;X

D.RISC设有乘、除法指令和浮点运算指令;X

2012年6月8日星期五10

4.1.2指令系统性能的要求

•指令系统的性能决定了计算机的基本功能,它的设计直接关系

到计算机的硬件结构和用户的需要。

•一个完善的指令系统应满足如下四方面的要求

。完备性

♦常用指令齐全,编程方便;

。有效性

♦程序占用内存少,运行速度快;

。规整性

♦指令和数据的使用规则统一,易学易记;

O兼容性

♦同一系列的低档计算机的程序能够在新的高档计算机上运行。

2012年6月8日星期五11

指令系统的规整性要求

•规整性包括对称性、匀齐性、指令格式和数据格式的

一致性三方面的要求。

•对称性

O所有的指令都可使用各种寻址方式;

•匀齐性

O一种操作性质的指令可以支持各种数据类型;

•指令格式和数据格式的一致性

。指令长度和数据长度有一定的关系,以方便处理和

存取;

2012年6月8日星期五12

4.1.3低级语言与硬件结构的关系

•低级施।语言、汇编语

。面向机器的语言,和具体机器的指令系统密切相关。

•高级语言与低级语言的比较如P105表4.1

比较内容语

贝有

通用算法

(1)较多

语言规则要

(2)不

硬件知识

(3)独

2对机器独立的程度

3编制程序的难易程度

4编制程序所需时间

5程序执行时间

6的要求

UUIJ十一JUI生力J_1_L~

4.2指令格式

•4.2.1操作码

•4.2.2地址码

•4.2.3指令字长度

•4.2.4指令助记符

•4.2.5指令格式举例

2012年6月8日星期五14

指令的一般格式

•指令字(简称指令)

。表示一条指令的机器字。

•指令格式

。指令字用二进制代码表示的结构形式,由操作码字段和地

址码字段组成。

操作码字段OP地址码字段A

。操作码字段:表征指令的操作特性与功能;

O地址码字段:通常指定参与操作的操作数的地址。

2012年6月8日星期五15

4.2.1操作码

・操作码字段的位数取决于指令系统的规模;

•操作码的类型:/操作码字段为4位,

则指令系统中的指令

。固定长度的操作码

数目为24=16条。

♦特征:所有指令长度均相同。v---------------------

♦优点:控制简单,速度快,适用于指令条数不多的场合。

。可变长度的操作码

♦特征:频繁使用的指令用位数较少的操作码;

不常使用的指令可利用操作码扩展技术进行扩展;

♦优点:充分利用软硬件资源,适用于大规模的指令系统。

2012年6月8日星期五16

422地址码(1/2)

•一条指令格式中有几个地址码字段,就称为是几地址指令;

■零地址指令OP

①无任何操作数运算,如NOP、HALT等指令。

②单操作数运算:隐含一个操作数,如Acc°』如CBW指令

OP(Acc)Acc

•一地址指令|OPAl

①单操作数运算:OP(A1)A1如INC指令

②双操作数运算:隐含一个操作数,如Acc

(Acc)OP(A1)-»Acc/A1一=!如MUL指令

2012年6月8日星期五17

422地址码(2/2)

・两地址指令OPA1A2

功能:(A1)OP(A2)今A1一^如ADD、XOR等指令'

•三地址指令OPA1A2A3

功能:(A1)OP(A2)A3

•多地址指令(如四地址)

。这类指令功能强,一般用高档小型机或中大型机,用于实

现成批数据处理,字符串处理、向量或矩阵运算指令等。

2012年6月8日星期五18

两地址指令的分类一---------根据操作数的物

[理位置分。

•存储器•存储器(SS)型指令I。。IA1IA2

OA1.A2均为存储单元;

O这类指令从4^<—―V—

•寄存孥*哪种类型指令执行速度

较快,哪种指令较慢?

OAK

为什么?

。这类小AT

•寄存器■存福膜一

OA1.A2中一个为寄存器,一个为存储单元;

。执行此类指令时,既要访问内存单元,又要访问寄存器。

2012年6月8日星期五19

指令的操作码扩展技术(补充)

•一个指令系统中OPA1A2A3

。若操作码长度固定OPA1A2无用

且指令格式不同;OPA1无用无用

。指令格式如右:OP无用无用无用

。操作码字段长度取决于指令系统中的指令总数目;

。地址码较少的指令,编码浪费;

•操作码扩展

O对于不需要某个地址码的指令,把它们的操作码扩充到该

地址字段;

。既充分利用指令字的各字段,又在不增加指令长度的情况

下扩展操作码的长度。

2012年6月8日星期五20

操作码扩展举例(1/3)

设某指令长16位,包括4位基本操作码字段和3个4位地址码

OPA1A2A3

①若全是三地址指令,则最多能有多少条指令?

。操作码为4位的,则指令条数为24=16。

②若三地址指令需15条—।

两地址指令需15条|应如何安排?

单地址指令需15条j

零地址指令需16条—1

。可使用操作码扩展技术,缩短固定操作码长度;

2012年6月8日星期五21

操作码扩展举例(2/3)

4位操作码;°°呷A1A2A3

15条三地址指令

.mniA2A2

如果采用操作码扩展方法能否设计一

8位操作彳个具有三地址指令15条,双地址指令令

12条,单地址指令31条以及零地址指

12位操作《W令

令16条的指令系统?

1111111111110000

16位操作码H6条零地址指令

1111111111111111

2012年6月8日星期五此指令系统共具有61条指令22

操作码扩展举例(3/3)

0000!A1A2A3

4位操作码H5条三地址指令

A1A2A3

TlTfoobblA1A2

8位操作码斗2条二地址指令

11111011:A1A2

wTiiob-obooA1

>32条一地址指令

12位操作码■■■■■■

111111011111A1

1111111000000000

16位操作码16条零地址指令

1111111000001111

此指令系统共具有75条指令

2012年6月8日星期五23

【例】某机指令字长32位,一个操作数地址为12位,有

双地址码、单地址码、零地址码3种格式的指令。

若采用扩展操作码的方式来设计指令,已知双地址码指

令K条,单地址码指令L条,问零地址码指令有多少条?

•双地址码指令OP(8位)A1(12位)A2(12位)

。操作码长度为(32-12x2)=8位;

•单地址码指令OP(8位)扩展操作码(12位)A2(12位)

。操作码长度为(32-12)=20位;

O操作码的可扩展位为20-8=12位。

•零地址码指令OP(8位)扩展操作码(12位)扩展操作码(12位)

。操作码长度为32位

O操作码的可扩展位为32-20=12位。

2012年6月8日星期五24

【例】某机指令字长32位,一个操作数地址为12位,有

双地址码、单地址码、零地址码3种格式的指令。

若采用扩展操作码的方式来设计指令,已知双地址码指

令K条,单地址码指令L条,问零地址码指令有多少条?

•由以上分析的指令格式,及题目可知:

O双地址码指令最多有28条;

。可用于扩展单地址码指令的编码有(28-K)个;

•单地址码指令最多有(28—K)X212条:

。可用于扩展零地址码指令的编码有[(28-K)x2仅_L]个;

•因此,零地址码指令最多有[(28—K)X212—L]X212条。

2012年6月8日星期五25

4.2.3指令字长度

・机器字长

。运算器一次能处理的二进制数的位数。

。机器指令的长度直接决定着CPU运算的精度和直接寻址能

力的大小;

•指令字长

。一个指令字中包含二进制代码的位数;

。指令字长由操作码长度、操作数长度和个数共同决定。

•指令有半字长、单字长、双字长、多字长等不同的长度类型;

•指令系统可分为等长指令字结构、变长指令字结构两种。

2012年6月8日星期五26

4.2.4指令助记符

•指令助记符

。使用3~4个英文缩写字母来表示的指令操作码。

•在不同的计算机中,指令助记符的规定是不一样的;

。指令助记符只是指令操作码字段的一种表示方法;

。机器内部保存的还是二进制代码形式的机器指令;

♦由汇编或编译程序,将助记符翻译成机器代码。

2012年6月8日星期五27

4.2.5指令格式举例(1/2)

P110【例1】

某16位系统中,指令格式如下所示,其中0P为操作码,试分

析指令格式的特点。

15987430

OP—源寄存器目的寄存器

①指令字长为单字长,操作数的数目为两个。单字长二

地址指令

②该指令格式的指令最多可有」也条。

③根据此二地址指令的操作数位置来看,属于RR型指令。

ORS型、RR型、SS型

④这种指令结构常用于算术逻辑运算类指令。

2012年6月8日星期五28

4.2.5指令格式举例(2/2)

P110【例2】

某16位系统中,指令格式如下所示,0P为操作码字段,试分

析指令格式特点。

1510987430

OP—源寄存器变址寄存器

位移量(16位)

①指令字长为双字长,操作数的数目为二个。双字长二

地址指令

②操作码字段OP为6位,可以指定一64种操作。

③一个操作数在源寄存器,该类寄存器共16个,另一个操作

数在存储器中,所以该类指令是侬型指令。

。存储单元中数据由变址寄存器和位移量共同决定其地址;

2012年6月8日星期五29

4.3操作数类型

•机器指令对数据进行操作,数据通常分为以下四类:

。地址数据

♦无符号整数,通过某种运算确定操作数在主存中的有效地址;

。数值数据

♦定点整数、小数;浮点数;压缩十进制数;

。字符数据

♦文本数据或字符串;

。逻辑数据

♦由若干二进制位组成,每位的值可以是1或0。

2012年6月8日星期五30

4.4指令和数据的寻址方式

•4.4.1指令的寻址方式

•4.4.2操作数寻址方式

•4.4.3寻址方式举例

2012年6月8日星期五31

4.4.1指令的寻址方式

1.顺序寻址方式

。当程序按顺序执行时的指令寻址方式;

。必须用程序计数器记录所要执行指令的存放单元地址;

♦一般做顺序加1的操作;

♦程序计数器又称指令指针寄存器;

2.跳跃寻址方式

O当程序转移执行时的指令寻址方式;

。程序计数器的内容由本条指令给出,而不是顺序改变。

2012年6月8日星期五32

指令的寻址演示动画演示:4・1.swf

指令地址指令指令的寻址方式

+1LDA1000

ADD1001顺序寻址

DEC1200顺序寻址

JMP7顺序寻址

LDA2000

5SUB2001

6INC

7STA2500跳跃寻址

8LDA1100顺序寻址

9

2012年6月8日星期五33

4.3.2操作数的寻址方式

动画演示:

•一种单地址码指令的结构如下图:42swf

操作码OP变址X间址I形式地址A

寻址特征位

。将指令中的形式地址A变换成操作数有效地址的过程,

称为寻址过程。

•典型而常用的寻址方式有

。隐含寻址、立即寻址、直接寻址、间接寻址、寄存器

寻址、寄存器间接寻址、偏移寻址、堆栈寻址;

2012年6月8日星期五34

隐含寻址

•操作1»症隐含品操作码中;7

装空征主存I-

~~[Ice

——>A操作数

另一个操作数匚二1kL

隐含在ACC中\ALu/

■如8086的MUL指令L—

O被乘数隐含在AX(16位)或AL(8位)中;

•指令字中少了一个地址字段,可缩短指令字长;

2012年6月8日星期五35

立即寻址

•形式地址A就是操作数;

立即寻址特征

OP#A

立即数可正可负,补码表示

・优点:

O指令执行阶段不需要访存,速度快;

•缺点:

。形式地址A字段的位数限制了立即数的范围。

2012年6月8日星期五36

直接寻址

•有效地址由形式地址字段A直接给出;

OEA=A

•特点

。执行阶段访问一次存储器;

OA的位数决定了该指令操作数的寻址范围;

。操作数的地址不易修改(必须修改A);

2012年6月8日星期五37

间接寻址

•有效地址由形式地址字段A间接提供,EA=(A)

O可用寻址特制I字段区分直接寻址和间接寻址方式;

2012年6月8日星期五38

寄存器寻址

寻址特征

•形式地址字段A为寄存器编号

OEA=R/

•特点

。执行阶段不访存,只访问寄

存器,执行速度快

。寄存器个数有限,可缩短指

令字长

寄存器组

2012年6月8日星期五39

寄存器间接寻址

寻址特征

IOP主存

A(RZ)

•形式地址字段A用于指

出存放有效地址的寄存

器编号;

OEA=(R/)

》操作数

•特点:

。执行阶段访存;

。便于编制循环程序

2012年6月8日星期五40

偏移寻址

•直接寻址和寄存器间接寻址方式的结合

寻址特征

•有效日

Ro作基址寄存器

OA吴

OR可匚7

Ko

•常用r口

KI

。相又:

♦I&-1

O基址寸拉:匚A二(举如0TA,MT|-7M

。变址寻址:EA=A+(变址R),变址R+19变址R

2012年6月8日星期五41

4.4.3寻址方式举例

P118【例3】

一种二地址RS型指令的结构如下所示:

6位4位1位2位16位

OP—通用寄存器间址标志I寻址模式X偏移量D

通过I,X,D的组合,请写出下表所示的六种寻址方式的名称。

IX有效地址E的算法说明寻址方式

000E=D直接寻址

001E=(PC)+DPC位程序计数器相对寻址

010E=(R2)+DR2为变址寄存器变址寻址

111E=(R3)寄存器间接寻址

100E=(D)间接寻址

011E=(Rl)+DR1为基址寄存器基址寻址

2012年6月8日星期五42

P118【例4】

某16位机的指令格式和寻址方式如下所示,设该机有两个20位

基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,

指令格式中S(源),D(目标)指通用寄存器,M指主存单元。

操作码对应机器码:传送指令MOV90AH、写数指令

STOfIBH、读数指令LADf3CH。

I0VS,D

STOS,I

OP-—-—--—-—--—-—-目标LADD,|

20位地址

(1)分析三种指令的指令格式与寻址方式特点。

1510987430

0P—目标源■OVS,D

1510987430

0P基址源变址

STOS,I

位移量

1510987430

OP|-----------|目标

LADD,|

20位地址

・第一种指令是单字长二地址指令,RR型;

・第二种指令是双字长二地址指令,RS型,其中S采用基址寻

址或变址寻址,R由源寄存器决定;

・第三种指令是双字长二地址指令,RS型,其中R由目标寄存

器决定,S由20位地址(直接寻址)决定。

2012年6月8日星期五44

(2)CPU完成哪一种操作所花时间最短?哪一种

操作所花时间最长?第二种指令的执行时间

有时会等于第三种指令的执行时间吗?

•第一种指令所花时间最短;

。是RR型指令,不需要访问存储器。

•第二种指令所花时间最长;

ORS型指令,需要访问存储器,同时要进行寻址方式的

变换运算(基址或变址),这也需要时间。

•第二种指令的执行时间不会等于第三种指令

。第三种指令虽然也访问存储器,但节省了求有效地址

运算的时间开销。

2012年6月8日星期五45

(3)下列情况下每个十六进制指令字分别代表什么操作?其中

如果有编码不正确,如何改正才能成为合法指令?

MOV^OOIOIO,ST0^011011,LAD^111100

e(F0F1)H(3CD2)H11110000111100010011110011010010

。指令代表LAD指令,编码正确,其含义是把主存13CD2H地址

单元的内容取至15号寄存器。

0(2856)140010100001010110

。指令代表MOV指令,编码正确,含义是把6号源寄存器的内容

传送至5号目标寄存器。

e(6FD6)H0010101111010110

。单字长指令,一定是MOV指令,但编码错误,可改为2BD6H。

O(1C2)H0010100011000010

。单字长指令,代表MOV指令,但编码错误,可改为28c2H。

2012年6月8日星期五46

4.5典型指令

•4.5.1指令的分类(了解)•4.5.2基本指令系统(略)

1.数据传送指令•4.5.3精简指令系统(略)

2.算术运算指令

3.逻辑运算指令

4.程序控制指令

5.输入输出指令

6.字符串处理指令

7.特权指令

8.其他指令

2012年6月8日星期五47

本章综合举例1

设某机字长16位,直接寻址空间为128字,变址时的位移量

为-64~+63,16个通用寄存器都可以作为变址寄存器,请设

计一套指令系统,满足下列寻址类型的要求:

(1)直接寻址的二地址指令3条;

(2)变址寻址的一地址指令6条;

(3)寄存器寻址的二地址指令8条;

(4)直接寻址的一地址指令12条;

(5)零地址指令32条。

2012年6月8日星期五48

指令分析(1/2)

•直接寻址的二地址指令3条:

操作码OP直接地址1直接地址2

[2位)[7位][7位

。这3条指令的操作码为00、01、10;

•变址寻址的一地址指令6条:

操作码OP变址寄存器偏移量

[5位][4位][7位

。这6条指令的操作码为:11000-11101

2012年6月8日星期五49

指令分析(2/2)

•寄存器寻址的二地址指令8条:

操作码OP寄存器1寄存器2

18位)|4位)(4位)

。这8条指令的操作码为11110000*11110111;

•直接寻址的一地址指令12条:

操作码OP直接地址1

[9位][7位]

。这12条指令的操作码为:111110000~111111011

・零地址指令32条:操作码OP|16位

O这32条指令的操C:

1111111000000000*1111111000011111

2012年6月8日星期五50

本章综合举例2

某计算机数据线和地址线均是8根,有一条相对寻址的无条件

转移指令存于内存的20H单元中,指令给出的偏移量是15H,

设该指令占用2个字节,请计算:

(1)取该条指令时PC的内容。

(2)该指令执行结束时PC的内容。

解答:

(1)取指令时,PC的内容为20H。

(2)#^i^iik=PC+2+D=20H+2+15H=37H

该条指令执行结束时PC的内容是37H。

2012年6月8日星期五51

本章综合举例3

某指令系统指令字长为20位,具有双操作数、单操作数和无操

作数3中指令格式,每个操作数地址规定用6位表示,当双操作

数指令条数取最大值,而且单操作数指令条数也取最大值时,

这3种指令最多可能拥有的指令数各是多少?

解:按操作码扩展技术来设计,双操作数指令最多2必1条,单操

作数指令最多63条,因此无操作数指令条数的最大值为64条。

00000000XXXXXXXXXXXX1口

11111110XXXXXXXXXXXXJ双操作数255条

11111111000000XXXXXX]

11111111111110XXXXXXj单操作数63条

11111111111111000000]

11111111111111111111F零操作数64条

2012年6月8日星期五52

本章综合举例4

某机器字长为16位,主存容量是64K字,采用单字长单地址指令,

共有54条指令。试采用直接、立即、变址、相对四种寻址方式设

计指令格式。

解答:OP(6位)X(2位)D(8位)

054条指令,故操作码需要6位。因为四种寻址方式,所以寻址

特征位取2位,余下的8位作为形式地址D。其指令格式为

。寻址模式X定义如下:

x=oo直接寻址有效地址E=D(256个单元)

X=01立即寻址D=操作数

X=10变址寻址有效地址E=(R)+D(64K)

X=ll相对寻址看效地址£=(PC)+D(64K)

其中R为变址寄存器(16位)、PC为程序计数器(16位)。

相对寻址和变址寻址中,D可正可负。

2012年6月8日星期五53

09年考研真题(1/2)

16.某机器字长16位,主存按字节编址,转移指令采用相对寻

址,由两个字节组成,第一字节为操作码字段,第二字节

为相对位移量字段。

假定取指令时,每取一个字节PC自动加1。若某转移指令

所在主存地址为2000H,相对位移量字段的内容为06H,

则该转移指令成功转以后的目标地址宏()

A.2006HB.2007HC.2008HD.2009H

2012年6月8日星期五54

09年考研真题(2/2)

亿下列关于RISC的叙述中,错误的是(A)

A.RISC普遍采用微程序控制器

B.RISC大多数指令在一个时钟周期内完成

C.RISC的内部通用寄存器数量相对CISC多

D.RISC的指令数、寻址方式和指令格式种类相对CISC少

2012年6月8日星期五5

温馨提示

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

评论

0/150

提交评论