资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,编辑版pppt,*,第四章 指令系统,4.1,指令系统的发展,与性能要求,4.2 指令格式,4.3 寻址方式,4.4 典型指令,Back,1,编辑版pppt,4.1,指令系统的发展,与性能要求,1、指令在计算机系统中的地位,(1)是软件和硬件分界面的一个主要标志,硬件设计人员采用各种手段实现它;,软件设计人员则利用它编制各种各样的系统软件和应用软件,(2)是硬件设计人员和软件设计人员之间的分界面,也是他们之间沟通的桥梁。,NEXT,2,编辑版pppt,4.1,指令系统的发展,与性能要求,2、指令系统基本概念,指令:,就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。微指令是微程序级的命令,它属于硬件;,宏指令:,由若干条机器指令组成的软件指令,它属于软件;,机器指令:,介于微指令与宏指令之间,通常简称为指令,每一条指令可完成一个独立的算术运算或逻辑运算操作。,本章所讨论的指令,是机器指令。,NEXT,3,编辑版pppt,指令系统:,一台计算机中所有机器指令的集合,称为这台计算机的指令系统。,指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围,系列机:,4.1 指令系统的发展,与性能要求,NEXT,4,编辑版pppt,3、发展情况,(1)20世纪50年代:,(2)60年代后期:,(3)70年代末期:,复杂指令系统计算机:,简称CISC。但是如此庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而造成硬件资源浪费。,精简指令系统计算机:,简称RISC,人们又提出了便于VLSI技术实现的精简指令系统计算机。,4.1 指令系统的发展,与性能要求,NEXT,5,编辑版pppt,4.1,指令系统的发展与性能要求,5、对指令系统的性能要求,完备性:,完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。一台计算机中最基本、必不可少的指令是不多的。许多指令可用最基本的指令编程来实现。例如,乘除运算指令、浮点运算指令可直接用硬件来实现,也可用基本指令编写的程序来实现。采用硬件指令的目的是提高程序执行速度,便于用户编写程序。,有效性:,有效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更好的有效性。,规整性:,规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。对称性是指:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性是指:一种操作性质的指令可以支持各种数据类型,如算术运算指令可支持字节、字、双字整数的运算,十进制数运算和单、双精度浮点数运算等;指令格式和数据格式的一致性是指:指令长度和数据长度有一定的关系,以方便处理和存取。例如指令长度和数据长度通常是字节长度的整数倍。,兼容性:,系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。,返回,6,编辑版pppt,堆栈寻址,寄存器堆栈(硬堆栈),存储器堆栈(软堆栈),返回,7,编辑版pppt,4.2 指令格式,指令,:表示一条指令的机器字,称为指令字,简称指令。,指令格式,:是指令字用二进制代码表示的结构形式,通常由操作码和地址码组成。,操作码,地址码,返回,NEXT,8,编辑版pppt,操作码字段,表征指令的操作特性与功能,它 的位数一般取决于计算机指令系统的规模。,地址码字段,是指定参与操作的操作数地址,根据一条指令中有几个操作数地址可将该指令称为几操作数指令或几地址指令。,返回,9,编辑版pppt,4.2.3指令字长度,指令字长度:一个指令字包含二进制代码的位数。,机器字长:计算机能直接处理的二进制数据的位数。,单字长指令,半字长指令,双字长指令,多字长指令的优缺点:,优点,提供足够的地址位来解决访问内存任何单元的寻址问题;,缺点,必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。,等长指令字结构:,指令系统中指令采用等长指令的优点:各种指令字长度是相等的,指令字结构简单,且指令字长度是不变的;,变长指令字结构:,采用非等长指令的的优点:各种指令字长度随指令功能而异,结构灵活,能充分利用指令长度,但指令的控制较复杂。,返回,10,编辑版pppt,地址码:,根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。,返回,11,编辑版pppt,指令格式,指令操作码的扩展方法:,指令操作码通常有两种编码格式,固定格式:,操作码的长度固定,且集中放在指令字一个字段中。,可变格式,:,操作码的长度可变,且分散的放在指令字的不同字段中。,返回,12,编辑版pppt,扩展举例,:,设某机器的指令长度为16位,有4位基本操作码字段和两个6位地址码字段,其格式如下:,15 12 11 6 5 0,扩展方法:,1.二地址指令仅有15条,由4位基本操作码的0000 1110组合给出,余下的组合1111用于把操作码扩展到A1,即从4位扩展到10位。,2.单地址指令由操作码1111000000 1111111110,余下一个组合1111111111用于把操作码扩展到A2,即从10位扩展到16位。,3.零地址指令的16位操作码由1111 111111 0000001111 111111 111111给出。,OP,A1,A2,返回,13,编辑版pppt,寻址方式,确定本条指令的数据地址及下一条将要执行的指令的方法。它与计算机硬件结构紧密相关,而且对指令格式和功能有很大的影响。,寻址的基本方式有两种:,指令寻址方式,操作数寻址方式,返回,14,编辑版pppt,指令寻址的基本方式,有两种:,顺序寻址:,由于指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令的顺序进行。,跳跃寻址方式,:,当程序转移执行的顺序时,指令的寻址就采取跳跃寻址方式。,返回,15,编辑版pppt,操作数寻址方式:,是指形成操作数有效地址的方法。,操作数寻址方式有:,1.隐含寻址,6.寄存器间接寻址,2.立即寻址,7.相对寻址,、,变址和基址寻址,3.直接寻址,8,.复合寻址,4.间接寻址,9.段寻址,5.寄存器寻址,10.堆栈寻址,返回,16,编辑版pppt,隐含寻址:,这种类型的指令,不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址。,例如,:单地址的指令格式,不是明显地在地址字段中指出第二操作数的地址,而是规定累加寄存器AC对单地址指令格式来说是隐含地址。,返回,17,编辑版pppt,指令的地址字段指出的不是操作数的地址,而是操作数本身,这种寻址方式称为立即寻址。,立即寻址:,返回,18,编辑版pppt,直接寻址,是一种基本的寻址方法,其特点是:在指令格式的地址字段中直接指出操作数在内存的地址。,返回,19,编辑版pppt,间接寻址,是相对于直接寻址而言的,在间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器或者说D单元的操作数的有效地址,返回,20,编辑版pppt,寄存器寻址方式,:,当操作数不放在内存中,而是放在中央处理器的通用寄存器中时,可采用寄存器寻址方式。,返回,21,编辑版pppt,寄存器间接寻址,返回,22,编辑版pppt,相,对寻址,:,是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。,返回,23,编辑版pppt,变址和基址寻址方式,:,变址和基址寻址方式有点类似,它是把某个变址寄存器或基值寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。,返回,24,编辑版pppt,复合寻址方式,:,复合寻址方式是把间接寻址方式同相对寻址方式,或变址方式相结合而形成的寻址方式。它分为先间接方式,与后间接方式两种:,1.变址间接式,:,2.间接变址方式,:,返回,25,编辑版pppt,1.数据传送指令,2.算术运算指令,3.逻辑运算指令,4.程序控制指令,5.输入输出指令,6.堆栈操作指令,7.字符串处理指令,8.特权指令,9.其他指令,返回,指令的分类,26,编辑版pppt,O P X1 Ri,指令,寄存器寻址,操作数,操作数,Ri,返回,27,编辑版pppt,变址间接式,O P X,5,D,操作数,指令,内存,.,.,A,变址寄存器,N,S,返回,28,编辑版pppt,间接变址式,O P X,6,D,操作数,指令,内存,.,A,变址寄存器,N,S,返回,29,编辑版pppt,堆栈:,是一组能存储和取出数据的暂存单 元。它和一般的存储器之间的区别在于对数据的存取方法和寻址方式不同。,串联堆栈,:,寄存器堆栈(硬堆栈),存储器堆栈:,(软堆栈),返回,30,编辑版pppt,数据传送指令,:,数据传送指令主要包括取数指令,存数指令,,传送指令,成组传送指令,字节交换指令,清累加,器指令等,这类指令主要用来实现主存和寄存器之,间,或寄存器和寄存器之间的数据传送。,返回,31,编辑版pppt,算术运算指令:,这类指令包括二进制定点加、减、乘、除指令,,求反,求补指令,算术移位指令,算术比较指令,有,些机器还有十进制算术运算指令。这类指令主要用于,定点或浮点的算术运算。,返回,32,编辑版pppt,逻辑运算指令:,这类指令包括逻辑加,逻辑乘,按位加,逻辑,移位等指令,主要用于代码的转换,判断及运算。,返回,33,编辑版pppt,程序控制指令:,计算机在执行程序时,通常情况下按指令计数器的现,行地址顺序取指令。但有时会遇到特殊情况:机器执行,到某条指令时,出现了几种不同结果,这时机器必须执行,一条转移指令,根据不同结果,这时机器必须执行一条转,移指令,从而改变程序原来执行的顺序。这种转移指令称,为条件转移指令。,除各种条件转移指令外,还有无条件转移指令,转子,程序指令,返回主程序指令,中断返回指令等。,返回,34,编辑版pppt,输入输出指令:,输入输出指令主要用来启动外围设备,检查测,试外围设备的工作状态,并实现外部设备和 CPU之间,,或外围设备与外围设备之间的信息传送。,返回,35,编辑版pppt,堆栈操作指令:,堆栈操作指令通常有两条:一条是进栈指令,,执行两个动作:(1)将数据从CPU 压入堆栈栈顶;,(2)修改堆栈指示器。另一条是退栈指令,也执行,两个动作:(1)修改堆栈指示器;(2)从栈顶取,出数据到CPU。这两条指令是成对出现的,因而在,程序的中断嵌套、子程序调用嵌套过程中十分有用,和方便。,返回,36,编辑版pppt,字符串处理指令:,字符串处理指令是一种非数值处理指令,一般包,括字符串传送、字符串转换、字符串比较、字符串查,找、字符串抽取、字符串替换等。这类指令在文字编,辑中对大量字符串进行处理。,返回,37,编辑版pppt,特权指令:,特权指令是指具有特殊权限的指令。由于指令的权限最大,若使用不当,会破坏系统和其他用户信息。因此这类指令只用于操作系统或其他系统软件,一般不直接提供给用户用。,返回,38,编辑版pppt,其他指令:,除以上各类指令外,还有状态寄存器置位、复位指令,测试指令,停机指令,以及,其他一些特殊控制用的指令。,返回,39,编辑版pppt,直接寻址方式示意图,返回,40,编辑版pppt,间接寻址方式示意图,返回,41,编辑版pppt,相对寻址方式示意图,返回,42,编辑版pppt,间接寻址示意图,返回,43,编辑版pppt,基址和变址寻址,返回,44
展开阅读全文