解决方案

计算机指令系统

seo靠我 2023-09-24 11:57:21

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

1.1指令系统的发展

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

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

从组成的层次结构来说,计算机的指令可分为如下3类: 微指令:微程序级的命令,它属于硬SEO靠我件;机器指令(指令):可完成一个独立的算术或逻辑运算;宏指令:由若干条机器指令组成的软件指令,它属于软件

指令系统: 一台计算机中所有机器指令的集合,指令系统的格式和功能直接影响机器的硬件结构、软件系统、SEO靠我以及机器的适用范围。

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

● 50年代:只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。

● 60年代后期:增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目SEO靠我多达一二百条,寻址方式也趋多样化,出现了系列计算机

● 70年代末期:复杂指令系统计算机(CISL)、精简指令系统计算机(RSC),早期的X86处理器(486之前)都是CISL指令系统,奔腾系列CPUSEO靠我使用了RSC和CC构架相结合的办法;

系列计算机:基本指令系统、基本体系结构相同的一系列计算机,不过具体的器件、结构和性能都不会完全相同,一般新机种在各方面要优于旧机种。一个系列往往有多种型号,各型号计SEO靠我算机的指令系统是向下兼容的,新机种的指令系统包含旧机种的全部指令,如 Pentiu系列PC机。

CISC (complex instruction set computer)

采用复杂的的指令系统,来达到SEO靠我增强计算机的功能、提高机器速度的目的

CISC指令系统的特点:

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

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

● 3.可访存指令不受限制;

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

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

RISC (Reduced instruction set computer)

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

RISC指令系统的主要特点:SEO靠我

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

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

● 3.采用流水线技术

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

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

● 6.采用优化编译技SEO靠我术;

1.2 指令系统性能的要求

指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和用户的需要。

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

①.完备性

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

②.SEO靠我效性

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

③.规整性

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

④.兼容性:同一系列的低档计算机的程序能够在新的高档计算机上运行;

指令系统的规整性要求:

规整性包括对称性、匀齐性、指令SEO靠我格式和数据格式的一致性三方面的要求。

● 1.对称性:所有的指令都可使用各种寻址方式

● 2.匀齐性:一种操作性质的指令可以支持各种数据类型

● 3.指令格式和数据格式的一致性:指令长度和数据长度有一定的关SEO靠我系,以方便处理和存取

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

● 低级语言: 机器语言、汇编语言,是一种面向机器的语言,和具体机器的指令系统密切相关。

● 高级语言与低级语言的比较如表所示:比较内容高级语言低级语SEO靠我言1对机器独立的程度独立不独立2编制程序的难易程度易难3编制程序所需的时间短较长4程序执行时间较长短5编译过程对计算机资源的要求多少 对程序员的训练要求高级语言低级语言通用算法需要需要SEO靠我语言规则了解较多了解硬件知识不需要需要

指令格式

指令的一般格式:指令字(简称指令):

表示一条指令的机器字。

指令格式:

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

操作码字段:

表征指SEO靠我令的操作特性与功能

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

2.1 操作码

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

操作码的类型: 固定长度的操作码:

操作码字段为4位,则指令系统中的指令数目为24=SEO靠我16条。

◆特征:所有指令长度均相同。

◆优点:控制简单,速度快,适用于指令条数不多的场合可变长度的操作码 ◆特征:利用操作码扩展技术

将操作码扩展到地址码字段,使各类指令的操作码长度不相同;

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

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

零地址指令

:

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

②单操作数运算:隐含一个操作数,如ASEO靠我cc。(如CBW指令)

OP (Acc) → Acc

一地址指令

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

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

A(cc) OP (A1)→Acc/A1 SEO靠我(如MUL指令)

两地址指令 功能:(A1) OP (A2) → A1 (如ADD、XOR等指令)

三地址指令 功能:(A1) OP (A2) → A3

多地址指令(如四地址)这类指令功能强,一般用高档小型机或SEO靠我中大型机,用于实现成批数据处理,字符串处理、向量或矩阵运算指令等

两地址指令的分类:

根据操作数的物理位置分:存储器-存储器(SS)型指令

A1、A2均为存储单元;

这类指令的操作时都涉及到内存单元,参与操SEO靠我作的数都放在内存内。

寄存器-寄存器(RR)型指令

A1、A2均为寄存器;

这类指令执行过程中,需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作数结果存放到另一个寄存器中,执行时不需要访问内SEO靠我存。

寄存器-存储器(RS)型指令

A1、A2中一个为寄存器,一个为存储单元;

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

指令的操作码扩展技术

一个指令系统中,若操作码长度固定,且指令格式不同

指令格SEO靠我式如图:

操作码字段长度取决于指令系统中的指令总数目,地址码较少的指令,编码浪费。

操作码扩展

对于不需要某个地址码的指令,把它们的操作码扩充到该地址字段;既充分利用指令字的各字段,又在不增加指令长度的情SEO靠我况下扩展操作码的长度;

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

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

操作码为4位的,则指令条数为2<sup>4</sup>=16。

SEO靠我若三地址指令需15条,两地址指令需15条,单地址指令需15条零地址指令需16条应如何安排?

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

① 为了缩短指令的平均长度,应用频率比较高的指令应该分配较短的操作码。SEO靠我

② 确保指令码的唯一性。

2.3 指令字长度

机器字长 运算器一次能处理的二进制数的位数。机器指令的长度直接决定着CPU运算的精度直接寻址能力的大小指令字长 一个指令字中包含二进制代码的位数; 指令字长由操作SEO靠我码长度操作数长度个数

共同决定。

● 指令有半字长单字长双字长多字长

等不同的长度类型。

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

2.4 指令助记符

指令助记符:

使用3~4个英文缩写字母SEO靠我来表示的指令操作码在不同的计算机中,指令助记符的规定是不一样的,指令助记符只是指令操作码字段的一种表示方法;机器内部保存的还是二进制代码形式的机器指令;

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

SEO靠我令举例:

操作数类型

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

地址数据:无符号整数,通过某种运算确定操作数在主存中的有效地址;数值数据:定点整数、小数;浮点数;压缩十进制数字符数据:文本数据或字符SEO靠我串;逻辑数据:由若干二进制位组成,每位的值可以是1或0。

指令和数据的寻址方式

4.1指令的寻址方式

1.顺序寻址方式当程序执行的流向不发生变化时,指令的寻址方式;由程序计数器记录所要执行指令的地址;一般在SEO靠我每次取指之后,其值加本条指令所占存储单元数。

2.跳跃寻址方式 当程序转移执行时的指令寻址方式,程序计数器的内容由本条指令给出,而不是顺序改变。

直接寻址方式:指令中给出要转向的有效地址相对寻址方式:指令中SEO靠我给出要转向单元与当前单元的偏移量间接寻址方式

:指令中给出保存要转向地址的寄存器或存储单元

4.2 操作数的寻址方式

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

将指令中的形式地址A变换成操作数有效地址的过程,称为寻址过SEO靠我程。典型而常用的寻址方式有:隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、偏移寻址、堆栈寻址。 隐含寻址立即寻址直接寻址间接寻址寄存器寻址寄存器间接寻址偏移寻址相SEO靠我对寻址变址寻址基址寻址堆栈寻址

隐含寻址

● 操作数地址隐含在操作码中;

● 如8086的MUL指令,被乘数隐含在AX(16位)或AL(8位)中

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

立即寻址

● 形式地SEO靠我址A就是操作数;

● 优点:指令执行阶段不需要访存,速度快

● 缺点:形式地址A字段的位数限制了立即数的范围

直接寻址

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

● EA=A

● 特点:执行阶段访问一次存储器,A的SEO靠我位数决定了该指令操作数的寻址范围;操作数的地址不易修改(必须修改A)

间接寻址

● 有效地址由形式地址字段A间接提供,

● EA=(A)

● 特点:可扩大寻址范围;A字段的长度受指令字长和指令格式的限制;寻址SEO靠我时,可根据需要进行多次间址;可用寻址特制字段区分直接寻址和间接寻址方式

寄存器寻址

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

● EA=Ri

● 特点:执行阶段不访存,只访问寄存器,执行速度快,寄存器个数有限,可缩短指SEO靠我令字长

寄存器间接寻址

● 形式地址字段A用于指出存放有效地址的寄存器编号;

● OEA=(Ri)

● 特点:执行阶段访存;○便于编制循环程序

偏移寻址

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

● 有效地址EA=ASEO靠我+® A是显式的形式地址字段;OR可以是显式的,也可以隐含的,某个专用的寄存器;

● 常用的偏移寻址

○ 变址寻址:EA=(变址R)+A,变址R+1变址R

○ 基址寻址:EA=(基址R)+A,A+1→A

SEO靠我相对寻址:EA=(专用R)+A

变址寻址方式

● 形式地址A作为基准地址,

● 变址寄存器作为可修改量;变址寄存器可自动增减量

● 适用于数组、字符串等成批连续数据的处理;

● 变址寄存器:可用通用寄存器充当,SEO靠我一般包含多个,在指令中要用一个字段指明当前所用的变址寄存器;

基址寻址方式

● 基址寄存器作为基准地址,形式地址A作为可修改量;

● 形式地址相当于位移量,可正可负;一般基址寄存器为专用寄存器

● 基址寻址原SEO靠我来用于大型机,用作将用户地址转换成物理地址;可以实现地址的重定位,和扩大直接寻址空间

● 用途:

○ 大型机中,一般用特权指令来管理;

○ 小、微型机中,一般与变址寻址联合使用

相对寻址方式

● 寻址特征:是基SEO靠我址寻址的一种变通

○ 程序计数器PC提供基准地址;

○ 形式地址作为位移量D,专用R可正可负;OEA:(PC )+D:

●适用于:所要寻找的操作数与现行指令位置间隔固定的场合

堆栈寻址方式

● 隐含寻址方式的一SEO靠我种变形,其隐含的操作数在堆栈段中,由栈顶指针指定

● 8086堆栈指令举例

○ 入栈指令 PUSH SRC

SP-2→SP;SRC→[SP]

○ 出栈指令 POP DST

[SP]→DST;SP+2→SP

例题

SEO靠我题:

例题:

设某机字长16位,直接寻址空间为128字,变址时的位移量为-64~+63,16个通用寄存器都可以作为变址寄存器,请设计一套指令系统,满足下列寻址类型的要求:

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

(2SEO靠我)变址寻址的一地址指令6条

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

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

(5)零地址指令32条。

● 直接寻址的二地址指令3条

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

● 变址寻址的SEO靠我一地址指令6条:

○这6条指令的操作码为:11000~11101

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

这8条指令的操作码为11110000~11110111直接寻址的一地址指令12条:

这12条指令的操作码为:SEO靠我111110000~111111011

● 零地址指令32条:

这32条指令的操作码为:

111111000000000~11111110000111

例题:

某计算机数据线和地址线均是8根,有一条相对寻址的无SEO靠我条件转移指令存于内存的20H单元中,指令给出的偏移量是15H,设该指令占用2个字节,请计算:

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

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

解答:

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

(2SEO靠我)转移地址=PC+2+D=20H+2+15H=37H

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

例题:

某指令系统指令字长为20位,具有双操作数、单操作数和无操作数3种指令格式,每个操作数地址规定用6位表示,SEO靠我当双操作数指令条数取最大值,而且单操作数指令条数也取最大值时,这3种指令最多可能拥有的指令数各是多少?

解:按操作码扩展技术来设计,双操作数指令最多28-1条,单操作数指令最多63条,因此无操作数指令条SEO靠我数的最大值为64条

例题

某机器字长为16位,主存容量是64K字,有专用的变址寄存器,采用单字长单地址指令,共有54条指令。试采用直接、立即、变址、相对四种寻址方式设计指令格式。解答

○54条指令,故操作码SEO靠我需要6位。因为四种寻址方式,所以寻址特征位取2位,余下的8位作为形式地址D。其指令格式为

O寻址模式X定义如下:

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

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

X=10变址寻址有SEO靠我效地址E=®+D(64K)

X=11相对寻址有效地址E=(PC)+D(64K)其中R为变址寄存器(16位)、PC为程序计数器(16位)相对寻址和变址寻址中,D可正可负。
“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2