第一范文网 - 专业文章范例文档资料分享平台

指令系统

来源:用户分享 时间:2025/8/26 1:27:58 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

8086指令系统综述

1.背景

计算机的程序是由一系列机器指令组成的。指令就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。微指令是微程序级的命令,它属于硬件;宏指令是由若干条机器指令组成的软件指令,它属于软件; 而机器指令则介于微指令与宏指令之间,通常简称为指令,每一条指令可完成一个独立的算术运算或逻辑运算操作。

本文所讨论的指令,是机器指令。一台计算机中所有机器指令的集合,称为这台计算机的指令系统。指令是构成程序的最基本单位,是指挥处理器完成某项具体任务操作的一个或多个字节信息。因而计算机指令集的选择是计算机体系结构设计的核心问题,是软硬件功能分配最主要的交界面,它历来是体系结构设计者、系统软件设计者和硬件设计者所共同关注的问题,现在计算机系统理论认为指令集是影响到指令流水效率的根本原因,诸如变长指令,复杂寻址等都使得流水困难。因此采用什么指令集将极大地决定如何设计处理器的内部结构以及译码机制。

2.指令系统的发展过程

回顾计算机的发展历史,指令系统的发展经历了从简单到复杂的演变过程。 早在20世纪50-60年代,计算机大多数采用分立元件的晶体管或电子管组 成,其体积庞大,价格也很昂贵,因此计算机的硬件结构比较简单,所支持的指令系统也只有十几至几十条最基本的指令,而且寻址方式简单。

到60年代中期,随着集成电路的出现,计算机的功耗、体积、价格等不断下降,硬件功能不断增强,指令系统也越来越丰富。

60年代后期出现了系列计算机。所谓系列计算机,是指基本指令系统相同、基本体系结构相同的一系列计算机。如Pentium系列。系列机解决了各机种的软件兼容问题,其必要条件是同一系列的各机种有共同的指令集,而且新推出的机种指令系统一定包含所有旧机种的全部指令。

在70年代,高级语言己成为大、中、小型机的主要程序设计语言,计算机应用日益普及。由于软件的发展超过了软件设计理论的发展,复杂的软件系统设计一直没有很好的理论指导,导致软件质量无法保证,从而出现了所谓的“软件危机”。人们认为,缩小机器指令系统与高级语言语义差距,为高级语言提供很多的支持,是缓解软件危机有效和可行的办法。计算机设计者们利用当时已经成熟的微程序技术和飞速发展的VLSI技术,增设各种各样的复杂的、面向高级语言的指令,使指令系统越来越庞大。这是几十年来人们在设计计算机时,保证和

提高指令系统有效性方面传统的想法和作法。按这种传统方法设计的计算机系统称为复杂指令系统计算机,简称CISC.

但是如此庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而使硬件资源浪费。为此人们又提出了便于VLSI技术实现的精简指令系统计算机,简称RISC。RISC是一种计算机体系结构的设计思想,是近代计算机体系结构发展史中的一个里程碑。90年代初,IEEE的MichaelSlater对于RISC的定义做了如下描述:RISC处理器所设计的指令系统应使流水线处理能高效率执行,并使优化编译器能生成优化代码。

3.对指令系统的基本要求

给指令系统确定一个统一的衡量标准是很困难的,但是在一般情况下, 指令系统应满足 以下几个基本的要求:

1. 指令系统的完备性 指令系统的完备性是指在使用汇编语言编制程序时, 指令系统应提供足够丰富的指令,以便于编程时选用,即要求指令系统的指令丰富、功能齐全和使用方便。完备性是一个基本 原则,一般来说,一个完备的指令系统应包括前面提到的那几种类型的指令。

2. 指令系统的有效性 有效性是指该指令系统所编制的程序能高效率的运行。

所谓高效率主要表现在执行速度快、占用存储空间小两个方面。有效性是一个很复杂的问题,它与完备性是密切相关的,一 个功能齐全的指令系统必定会有高的有效性。如目前许多计算机中增设的数据转换指令、字 符串操作指令等,这些无疑会大大提高指令系统的有效性。

3. 指令系统的规整性 指令系统的规整性包括指令的对称、均匀,与数据格 式一致等特性。 指令的对称是指所有的数据存储单元(如寄存器、主存单元等)被指令系统同等对待,所有的指令都可以使用各种寻址方式;指令的均匀是指同一种操作性质的指令,可以支持各 种不同数据类型和不同字长的运算。例如,加法指令能支持不同数据类型(如定点数、浮点 数、十进制数等)和不同字长(如字节、字和双字,甚至四倍字)的运算;指令格式与数据 格式一致是指指令长度与数据长度有一定的关系,以利于存取和处理。指令长度一般取字节 的整倍数,数据长度则取字节的 1、2、4 或 8 倍不等。

4. 指令系统的兼容性 不同的机器结构,指令系统不同。但同一系列的机型 则具有相同的基本结构和共同的基本指令集,故指令系统是兼容的。由于系列机中不同机型推出的时间先后不同,结构和性能 上存在着差异,不可能做到全部软件兼容。通常在高档机上可以运行低档机的软件,而在低 档机上则不一定能运行高档机的软件,因此称为“向上兼容”。

以上所述的对指令系统的基本要求只是一种理想的情况,对于某一台具体的计算机而言,不可能全部满足这些要求,因为这需要很强的硬件支持,同时一味追求十分理想的机器也是 不必要的。

4.指令系统种类

常见指令按功能可划分为:

①数据处理指令:包括算术运算指令、逻辑运算指令、移位指令、比较指令等。 ②数据传送指令:包括寄存器之间、寄存器与主存储器之间的传送指令等。 ③程序控制指令:包括条件转移指令、无条件转移指令、转子程序指令等。 ④输入-输出指令:包括各种外围设备的读、写指令等。有的计算机将输入-输出指令包含在数据传送指令类中。

⑤状态管理指令:包括诸如实现置存储保护、中断处理等功能的管理指令。 ⑥其他后来引入的新指令。比如:向量指令和标量指令;特权指令和用户指令。

5.指令系统的设计

指令系统的结构分为三种类型:堆栈结构、累加器结构、通用寄存器结构。对于不同类型的结构,操作数的位置、个数以及操作数的给出方式(显式或隐式)也会不同。操作数的给出方式为:显式给出(用指令字中的操作数字段给出)、隐式给出(使用事先约定好的单元)。

ALU指令的操作数个数:

3个操作数的指令:两个源操作数、一个目的操作数

2个操作数的指令:其中一个操作数既作为源操作数,又作为目的操作数。 ALU指令中存储器操作数的个数可以是0~3中的某一个,为0表示没有存储器操作数。

通用寄存器型结构进一步细分为3种类型:寄存器-寄存器型(RR型)(操作数可以来自存储器 )、寄存器-存储器型(RM型)(所有操作数都是来自通用寄存器组) 、存储器-存储器型(MM型)。

3种通用寄存器型结构的优缺点((m,n)表示指令的n个操作数中有m个存储器操作数):

寄存器-寄存器型(0,3)

优点:指令字长固定,指令结构简洁,是一种简单的代码生成模型,各种指令的

执行时钟周期数相近。

缺点:与指令中含存储器操作数的指令系统结构相比,指令条数多,目标代码不

够紧凑,因而程序占用的空间比较大。

寄存器-存储器型(1,2)

优点:可以在ALU指令中直接对存储器操作数进行引用,而不必先用load指令

进行加载。容易对指令进行编码,目标代码比较紧凑。

缺点:指令中的两个操作数不对称。在一条指令中同时对寄存器操作数和存储

器操作数进行编码,有可能限制指令所能够表示的寄存器个数。指令的执行时钟周期数因操作数的来 源(寄存器或存储器)不同而差别比较大。

存储器-存储器型(2,2)或(3,3)

优点:目标代码最紧凑,不需要设置寄存器来保存变量。

缺点:指令字长变化很大,特别是3操作数指令。而且每条指令完成的工作也

差别很大。对存储器的频繁访问会使存储器成为瓶颈。这种类型的指令系统结构现在已不用了。

RR也称为load-store结构,这个名称强调:只有load指令和store指令能够访问存储器。 寻址方式:指令系统中如何形成所要访问的数据的地址。寻址方式可以指明指令中的操作数是一个常数、一个寄存器操作数或者是一个存储器操作数。对于存储器操作数来说,由寻址方式确定的存储器地址称为有效地址 。

两种表示寻址方式的方法: 将寻址方式编码于操作码中,由操作码描述相应操作的寻址方式;在指令字中设置专门的寻址字段,用以直接指出寻址方式。

指令系统的设计包括:指令的功能设计、指令格式的设计。 在确定哪些基本功能用硬件来实现时,主要考虑3个因素:速度、成本、灵活性。 在设计指令系统时,有两种截然不同的设计策略:

CISC(复杂指令系统计算机):增强指令功能,把越来越多的功能交由硬件来实现,并且指令的数量也是越来越多。

RISC(精简指令系统计算机):尽可能地把指令系统简化,不仅指令的条数少,而且指令的功能也比较简单。 控制指令是用来改变控制流的。

跳转:当指令是无条件改变控制流时,称之为跳转指令。

分支:当控制指令是有条件改变控制流时,则称之为分支指令。 能够改变控制流的指令:分支、跳转、过程调用、过程返回。 指令由两部分组成:操作码、地址码。

指令格式的设计:确定指令字的编码方式,包括操作码字段和地;址码字段的编码和表示方式。

指令格式的优化:如何用最短的位数来表示指令的操作信息和地址信息。 构造哈夫曼树的方法 :将各事件按其使用频度从小到大依次排列 。每次从中选择两个频度值最小的结点,将其合并成一个新的结点,并把新结点画在所选结点的上面, 然后用两条边把新结点分别与那两个结点相连。新结点的频度值是所选两个结点的频度值的和 。把新结点与其他剩余未结合的结点一起,再以上面的步骤进行处理,反复进行,直到全部结点都结合完毕、形成根结点为止。操作码优化的程度可以用信息熵来衡量。

表示用二进制编码表示n个码点时,理论上的最短平均编码长度 。哈夫曼编码的平均码长是

搜索更多关于: 指令系统 的文档
指令系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2p0ti2uoko77t6l14che_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top