第6章:指系统.ppt
《第6章:指系统.ppt》由会员分享,可在线阅读,更多相关《第6章:指系统.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 计算机的自动计算过程归跟到底是执行一条条指令的过程。而一条指令就是给计算机下达的一道命令,它告诉计算机每一步应做什么操作,参与操作的数来自何处,操作结果又将送到什么地方。这就是说,一条指令必须包含有指出操作类型的操作码,以及指出操作数在什么地方的地址码。通常一台计算机能够完成多种类型的操作,而且可用多种方法形成操作数的地址码,因此一台计算机可有多种多样的指令,这些指令的集合就称指令系统。本章我们将要学习计算机指令系统的有关问题:指令的格式,指令的分类,指令寻址方式。第第6 6章章 指令系统指令系统 1 1 指令的分类指令的分类 通过前面的学习,我们已经知道构成一条指令有两大要素:操作码和地址
2、码。其中操作码表明该指令要进行的操作。按操作码的不同,指令可分为四大类:1、数据处理类 2、数据传送类 3、程序控制类 4、CPU状态管理类一、数据处理类指令这一类指令实现堆数据加工(算术运算,逻辑运算,移位操作,比较大小),执行这类指令后将会产生新的结果数据。1、算术运算:加法、减法、增1和减12、逻辑运算:与,或,非,异或3、移位指令:逻辑移位,算术移位,循环移位4、比较指令:作减法,根据差值设置标志寄存器5、十进制指令:十进制数加、减法。二、数据传送类:这一类指令可实现数据在计算机上各部件之间的传送。寄存器 寄存器,存储器 寄存器,寄存器 I/O端口,存储器 I/O端口执行这类指令后将不
3、改变原数据,只是将源地址内的数据复制到目标地址中。1、存储器传送指令:取数,存数,(存储单元 寄存器)2、寄存器传送指令:实现寄存器 寄存器(内部传送指令)3、I/O指令:输入(in),输出(OUT),CPU I/O4、堆栈指令:压栈(push),出栈(pop)三、程序控制类指令:这一类指令是用来改变程序的执行顺序1、转移指令:条件转移,无条件转移。2、调用指令;call3、返回指令:RET4、陷阱指令(中断指令)四、CPU状态管理类指令:这一类指令用来设置CPU的状态1、中断状态指令:允许中断,屏幕中断2、复位指令3、空操作指令 以上我们只是介绍了一些主要指令,很显然,指令的种类越多,指令系
4、统的功能就越强,但控制器的结构也就越复杂。2 2 指令的格式指令的格式 一、操作码的组织与编排 表示指令要完成的操作,长度取决于指令系统中指令的条数。一般说来,一个包含n位的操作码,做多能表示2n条指令。操作码分为:主操作码(基本操作)和辅助操作码(各种附加操作,移位,进位等)操作码有三种组织方式:(1)定长的操作码:每一条指令的操作码长度均相同。优点:简化硬件设计,提高指令译码和识别速度 缺点:当指令长度较短时,操作数地址的尾数就会严重不足。适用:字长较长的大、中、小型机的指令系统。(2)变长的操作码:指令的操作码的长度不尽相同。使用频率高而地址码要求多的指令用较少位表示操作码;对地址码要求
5、少的指令用较多位表示操作码;对无操作数的指令整个指令字均用作操作码。优点:在比较短的指令字中,既能表示出比较多的指令条数,又能尽量满足操作数地址的要求。缺点:硬件设计复杂,指令译码和识别速度较慢 适用:字长较短的计算机系统 以上两种方案,操作码一般在指令字的最高位部分。(3)操作码和操作数地址有所交叉不同的指令操作码长度不同,而且与表示操作数地址码的字段有所交叉。优点:操作码不再集中在指令字的最高位,而是与表示操作数地址码的字段有所交叉。缺点:硬件设计复杂,指令译码和识别速度较慢 适用:这种方案不常用。二、地址码的设计安排地址码指出参与操作的数据或存储位置。1、操作数的来源、去处(1)CPU内
6、部的通用寄存器 最快,与运算器速度匹配,MOV R2,R1(2)内存的一个单元 次之,与运算器速度不匹配,尽量少访问 MOV R2,R1(3)外设接口中的寄存器 最慢,较少使用,如 input(port)三、指令格式:指一条指令中操作码和地址码的安排方式。按一条指令中所包含的地址码的个数,指令分为:1、四地址指令 (如下图)功能:从源地址(source Address)A1和A2中取出两个操作数,进行OP操作,并将结果送入目标地址(object address)A3中。可以记作:A3 (A1)OP(A2),由A4给出下一条指令地址说明:(1)源地址和目标地址可以是某个存储单元也可以是运算器中的
7、寄存器(2)(A1)和(A2)分别表示地址为A1和A2单元中的内容(3)不带括号A3则表示地址。特点:(1)直观明了(2)地址码太长,指令字太长,信息利用率低。(3)访问内存次数太多,执行速度慢。(4)下一条指令地址在指令中指出,程序转移不方便,现已淘汰。2、三地址指令 (如下图)功能:从A1和A2中取出两个操作数,进行OP操作,并将结果送入A3中。可以记作:A3 (A1)OP(A2),由PC给出下一条指令地址特点:指令字仍较长,访内存次数较多,一般大型机中用。3、二地址指令 (如下图)功能:从A1和A2中取出两个操作数,进行OP操作,并将结果送入A2中。可以记作:A2 (A1)OP(A2),
8、A2既是源地址又是目标地址。由PC给出下一条指令地址 特点:指令字仍较短,访内存次数较少,经常使用。4、单地址指令格式 功能:由PC给出下一条指令地址。ACC OP A1 ACC(累加器),ACC中既放操作数,又放操作结果。如 加1,减1等指令 特点:指令字长短,访内存次数少,执行速度快,在微机中广泛使用。5、零地址指令格式是一种特殊的没有地址码的指令。常见的有:(1)空操作指令(2)停机指令(3)堆栈操作指令。前两种无需操作数,而堆栈指令有操作数的地址,只是它是由专用寄存器SP给出,因此指令中不需要操作数地址。堆栈:指用作数据暂存的一组寄存器或一片存储区域。它像一只口袋,其口袋底称为“堆栈”
9、它的地址是预先约定好的。这种特征很显然带来数据只能一端(袋口)进或去,从而形成先进去的后出来,后进去反而先进来。这种方式称为“先进先出”。堆栈按组成分为:硬堆栈(寄存器堆栈)和软堆栈(内存中的指定区域)。很显然,硬堆栈比软堆栈速度快。堆栈按方向分为:自底向上和自顶向下两种。堆栈有两端:一端叫栈底,另一端叫栈顶,且由SP指针指示。堆栈有两种操作:(1)压栈:先修改SP,后存数据。(2)出栈:先取出数据,后修改SP。6、寄存器型地址格式指令 (如下图)操作数均放在寄存器中。也有单地址、二地址和三地址之分。特点:(1)执行指令不用访问内存,速度快。(2)受寄存器个数的限制。【总结】1、上述六种指令格
10、式,并非所有的计算机都有。2、零地址、单地址和二地址指令,具有指令短,执行速度快,硬件实现简单的特点,多为结构简单,字长较短的小型机、微机所采用。3、二地址指令、三地址和四地址指令,具有功能强、编程方便等特点,多为字长较长的大、中型机所采用。4、但不能一概而论,因还与指令本身的功能有关。如:停机指令,不管什么类型的计算机都有。四、指令字长指令字长:是一条指令中所包含的二进制位数。等于操作码长度与地址码长度之和。1、指令字长与机器字长有何关系?无固定关系。指令字长大于,等于,小于机器字长。一般来讲:微、小型机中,指令字长机器字长;大、中型机中,指令字长=机器字长。2、确定指令字长的原则 指令字长
11、尽可能短:节省内存空间,提高执行速度,提高代码的利用率。指令字长等于字节的整数倍:许多机器采用变长指令,但字长取为字节的整数倍,以避免存储空间的浪费。3 3 寻址方式寻址方式 寻址方式就是寻找地址的方式。那么寻找谁的地址呢?在计算机中有两种地址需要寻找。(1)是指令的地址(称为指令寻址):如何找到指令,这是由PC寄存器来实现的。(2)是操作数的地址(称为操作数寻址):如何找到操作数或找到操作数的地址。操作数的地址分为:(1)形式地址(D):指令中给出的地址。(2)有效地址(EA):操作数的真正地址(物理地址)。形式地址有时可以是有效地址。寻址方式与计算机硬件结构密切相关,对指令格式、功能也有很
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统
限制150内