如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第四章指令系统4.1指令系统的发展与性能要求指令系统:一台计算机中所有机器指令的集合。它是机器硬件设计的依据,也是软件设计的基础。它决定了一台计算机硬件的主要性能和基本功能。是硬件和软件间的界面。系列计算机:有相同的基本指令系统,相同的基本体系结构。VLSI技术:超大规模集成电路CISC和RISC一个完善的指令系统应满足:1.完备性:指令丰富,功能齐全,使用方便。2.有效性:程序占空间小,执行速度快。3.规整性:对称性,匀齐性,指令格式和数据格式的一致性。4.兼容性:“向上兼容”----系列机中低档机上运行的软件可以在高档机上运行。4.1.3低级语言与硬件结构的关系4.2指令格式4.2.1操作码设计计算机时,对指令系统的每一条指令都要规定一个操作码。指令操作码表示该指令进行什么性质的操作,表征指令的操作特性与功能。组成操作码字段的位数一般取决于计算机指令系统的规模。例如,一个指令系统只有8条指令,则有3位操作码就够;如果有32条指令,那么就需要5位操作码。4.2.2地址码地址码字段通常指定参与操作的操作数的地址。根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。目前,二地址指令和一地址指令用的最多。二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型。存储器-存储器(SS)型指令:操作时都是涉及内存单元,参与操作的数都放在内存里,从内存某单元中取操作数,操作结果存放至内存另一单元中,因此机器执行这种指令需要多次访问内存。寄存器-寄存器(RR)型指令:需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放到另一寄存器。机器执行寄存器-寄存器型指令的速度很快,因为执行这类指令,不需要访问内存。寄存器-存储器(RS)型指令:执行此类指令时,既要访问内存单元,又要访问寄存器。4.2.3指令字长度概念指令字长度(一个指令字包含二进制代码的位数)机器字长:计算机能直接处理的二进制数据的位数。单字长指令半字长指令双字长指令使用多字长指令,目的在于提供足够的地址位来解决访问内存任何单元的寻址问题。其主要缺点是必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。等长指令字结构:各种指令字长度是相等的。这种指令字结构简单,且指令字长度是不变的。变长指令字结构:各种指令字长度随指令功能而异。结构灵活,能充分利用指令长度,但指令的控制较复杂。随着技术发展,指令字长度逐渐变成多于32位的固定长度4.2.4指令助记符由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是书写程序却非常麻烦。为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符。在不同的计算机中,指令助记符的规定是不一样的。因此,指令助记符还必须转换成与它们相对应的二进制码(通过汇编程序)。表4.2典型的指令助记符操作数地址2、PDP/11系列机的指令格式字长16位单字长指令操作码字段不固定3、Pentium指令格式指令长度可变,最短1个字节,最长12个字节,典型的CISC指令系统由可选前缀(0~4)、操作码(1~2)、一个由mod-R/M字节和一个SIB(ScaleIndexBase)比例变址字节组成的地址指定器、一个可选的位移量(0~4)和一个可选的立即数字段(0~4)构成。例1:指令格式如下所示,其中机器字长16位,OP为操作码,试分析指令格式的特点。例2:指令格式如下所示,OP为操作码字段,试分析指令格式特点。4.3操作数类型4.4指令和数据的寻址方式1.顺序寻址为了达到顺序寻址的目的,CPU中必须有一个程序计数器(PC)对指令的顺序号进行计数。PC中开始时存放程序的首地址,然后每执行一条指令,PC加1,以指出下条指令的地址,直到程序结束。2.跳跃寻址当程序中出现分支或循环时,就会改变程序的执行顺序。此时,对指令寻址就要采取跳跃寻址方式。所谓跳跃,就是指下条指令的地址不是通过程序计数器PC加1获得的,而是由指令本身给出。4.3.2操作数的寻址方式隐含寻址立即寻址直接寻址间接寻址寄存器寻址方式和寄存器间接寻址方式相对寻址方式基值寻址方式变址寻址方式块寻址方式段寻址方式1.隐含寻址这种类型的指令,不是明显地给出操作数的地址,而是指令中隐含着操作数的地址。在指令中不明显的给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址。指令和数据的寻址方式指令和数据的寻址方式指令和数据的寻址方式指令和数据的寻址方式指令和数据的寻址方式指令和数据的寻址方