欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    计算机组成与结构PPT课件(全)第5章指令系统.ppt

    • 资源ID:6023899       资源大小:348.50KB        全文页数:91页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机组成与结构PPT课件(全)第5章指令系统.ppt

    第五章 指令系统,5.1 指令系统的发展5.2 指令格式5.3 数据表示5.4 寻址方式5.5 指令类型5.6 指令系统的兼容性5.7 RISC和CISC5.8 机器语言、汇编语言、高级语言,5.1 指令系统的发展,指令系统是计算机中一个最基本的概念。指令:计算机运行的最小的功能单位。指令系统即是一台计算机中所有的指令的集合。它是设计硬件的一个基本依据,对软件设计者来说,也是编程的基础。因此指令系统是软件和硬件的交互界面。计算机的性能与它所设置的指令系统关系很大,指令系统的设置又与机器的硬件结构密切相关。,指令的发展分三个阶段:,50年代和60年代早期,指令系统一般只有定点加减、逻辑运算、数据传送和转移等最基本的指令,寻址方式也比较简单。60年代中后期,指令系统有了乘除运算、浮点数运算等。,70年代末,出现RISC精简指令系统。大量测试表明,最常使用的是一些比较简单的指令,这类指令仅占指令总数的20,但在各种程序中出现的频度却占80,其余大多数指令是功能复杂的指令,这类指令占指令总数的80,但其使用频度很低,仅占20。因此,人们把这种情况称为“20-80律”。从“20-80律”出发,人们开始了对指令系统合理性的研究,提出了精简指令系统的想法,出现了精简指令系统计算机,简称RISC。,5.2 指令格式,指令格式的重要性:计算机的指令格式与机器的字长、存储器的容量及指令的功能都有很大的关系。5.2.1 指令格式 5.2.2 指令操作码的扩展技术 5.2.3 指令长度与字长的关系,掌 握,了解,5.2.1 指令格式,计算机是通过指令来处理各种数据,为指出数据的来源、操作结果的去向及执行何操作,一条指令必须包含以下信息:(1)操作码。(2)操作数的地址。(3)操作结果的存储地址。(4)下一条指令的地址。下一条指令的地址由程序计数器(PC)指出,仅当改变程序的运行顺序时,下条指令的地址才由指令给出。,根据地址码部分给出的地址个数,指令格式可分为如下五种。1、零地址指令 操作码格式:,操作码,例:停机指令 HLT,指令格式:A 操作数的存储器地址或寄存器名 指令只给出一个地址,该地址既是操作数 的地址,又是操作结果的存储地址。,2、一地址指令,3、二地址指令,指令格式:A1:第一个源操作数的存储器地址或寄存器地址。A2:第二个源操作数和存放操作结果的存储器地址或寄存器地址。,4、三地址指令,指令格式:A1:第一个源操作数的存储器地址或寄存器地址 A2:第二个源操作数的存储器地址或寄存器地址 A3:操作结果的存储器地址或寄存器地址,例:ADD rs1 rs2 rd,5、多地址指令,此类指令功能强大,用于处理成批的数据,例如字符串处理指令、向量指令等等,为了描述这些数据,指令中需用多个地址来指出数据存放的首地址、长度、下标等。,指令格式小结,1、五种指令的优缺点比较:零地址、一地址和二地址指令具有指令短,执行速度快,硬件实现简单等优点;二地址、三地址和多地址指令具有功能强,便于编程等优点,但硬件实现比较复杂。2、如何识别指令和数据:指令和数据都是以二进制形式存储,指令的地址由程序计数器规定,而数据的地址是由指令规定的。,5.2.2 指令操作码的扩展技术,指令操作码的长度决定了指令系统中完成不同操作的指令条数。若指令的操作码长度为K位,则至多能表示2k 条指令。,16条,思考题:某种格式的指令的操作码有4位,请问能表示的指令有几条?,指令操作码通常有两种编码形式:一、是固定格式,即操作码的长度固定,集中放在指令字的一个字段中;如IBM360,OP固定长度是8位。二、是可变格式,即操作码的长度可变,分散地放在指令字的不同字段中。如INTEL 8086/Pentium其优点是能表示更多的指令,缺点是增加了指令译码和分析的难度。,例:,指令长为16位,其中为4位基本操作码字段,三个4位地址字段。若全部用于表示三地址指令,则只有16条,如果三地址指令15条,二地址指令15条,一地址指令15条,零地址指令16条,共61条,如何安排操作码?,一种可供操作码长度扩展的方法如下:,扩展方法,15条三地址指令的操作码由4位基本操作码从00001110给出,剩下一个码点1111,用于把操作码扩展到A1,即由4位扩展到8位;15条二地址指令的操作码由8位操作码从1111000011111110给出,剩下一个码点11111111用于把操作码扩展到A2,即从8位扩展到12位;15条3地址指令的操作码由12位操作码从给出,剩下一个码点用于把操作码扩展到A3,即从12位扩展到16位;16条零地址指令的操作码由16位操作码从给出。,除此方法外还有其他扩展方法,如可形成15条三地址指令,14条二地址指令,31条一地址指令和16条零地址指令,共76条。使用哪种方法有个原则:使用频率高的指令应分配短的操作码,使用频率低的指令分配较长的操作码。,5.2.3 指令长度与字长的关系,指令的长度是指一条指令中所包含的二进制代码的位数,它取决于操作码字段的长度、操作数地址的个数及长度。字长是指计算机能直接处理的二进制数据的位数。,指令长度应:尽可能短 等于字节的整数倍。指令长度可以等于机器字长,也可以大于或小于机器字长。在一个指令系统中,若所有指令的长度都是相等的,称为定长指令字结构;若各种指令的长度随指令功能而异,称为变长指令字结构。,5.3 数据表示,目前计算机的字长多为32位,存储器的地址一般按字节表示。要求多字节数据对准边界以减少访问存储器的次数。,按字节编址的双字数据的两种字节次序:(1)高字节为高地址(2)高字节为低地址,5.4 寻址方式,在程序执行过程中,操作数可能在运算部件的某个寄存器中或存储器中,可能在指令中,也可能在I/O端口中;组成程序的指令代码,一般是在存储器中。寻址方式:确定本条指令的数据地址以及下一条要执行的指令地址的方式。下面介绍基本的八种寻址方式。,1、立即数寻址,操作数由指令的地址码部分直接给出来。优点:提高了指令的执行速度 缺点:操作数不能被修改,2、直接寻址,指令中地址码字段给出操作数的地址,根据此地址到存储器找操作数。多为双字指令。,图 1,3、寄存器直接寻址,CPU一般设置有一定数量的通用寄存器,用于存放操作数、操作数的地址或中间结果。如果指令地址码部分给出某一通用寄存器地址,而且所需的操作数就在这一寄存器中,则称为寄存器寻址。这种寻址方式的优点:从寄存器存取数据比主存快得多;由于寄存器的数量较少,其地址码字段比主存单元地址字段短得多。,4、间接寻址,指令中给出的地址不是操作数的地址,而是存放操作数地址的地址。通常在指令格式中划出一位作为标志位,=0 直接寻址;=1 间接寻址。,寄存器间接寻址过程,存储器间接寻址过程,5、基址寻址,在计算机中设置一个专用的基址寄存器,或由指令指定一个通用寄存器为基址寄存器,操作数的地址由基址寄存器的内容和指令的地址码A相加得到。基址寄存器的内容称为基址值,地址码A通常被称为位移量,位移量可正可负。,有效地址或物理地址,专用基址寄存器寻址过程,通用寄存器做基址寄存器寻址过程,基址寄存器主要用于为程序或数据分配存储区。用于解决程序在存储器中的定位和扩大寻址空间等。基址寄存器中的值只能由系统程序设定。,6、变址寻址,操作数在存储器中的地址由指令地址码部分给出的地址A和指定的变址寄存器X的内容通过加法器相加得到。,变址寻址是一种广泛采用的寻址方式,通常指令中的形式地址作为基准地址,而X的内容作为修改量。在遇到需要频繁修改地址时,无须修改指令,只要修改变寄存器中的值就可以了。,7、相对寻址,是基址寻址的一种变通,由程序计数器PC提供基准地址,即PC中的内容加上指令的地址码部分给出的位移量的和做为操作数的地址。操作数的地址与指令的地址的差值为一个固定的数。,8、堆栈寻址,在5.5节中介绍,寻址方式小结,如果使用高级语言编程,不需要考虑寻址方式,由编译程序来完成。不同的机器的寻址方式是不同的或者同一种寻址方式不同的机器有不同的表达方式。,例:ADD A,B 有的机器把结果放到A;有的则把结果放到B,寻址方式小结,寄存器直接、寄存器间接寻址方式是最基本最常用的寻址方式。,2002年程序员考题,计算机指令系统中采用不同寻址方式的主要目的是(56)。在下列寻址方式中取得操作数速度最慢的是(57)。(56)A、可直接访问内存或外存B、提供扩展操作码并降低指令译码难度C、简化汇编指令的设计D、缩短指令长度,扩大寻址空间,提高编程灵活性(57)A、相对寻址 B、基址寻址C、寄存器间接寻址 D、存储器间接寻址,D,D,5.5 指令类型,指令的分类及功能 双字长运算,指令的分类及功能,按指令完成的功能可分为:算术逻辑运算指令、移位指令、浮点运算指令、十进制运算指令、字符串处理指令、向量运算指令、数据传送指令、转移指令、堆栈指令、输入输出指令及特权指令等。下面分别说明各类指令的功能。,1、算术逻辑运算指令,算术运算指令 主要用于进行定点和浮点运算。这类运算包括加、减、乘、除以及加1、减1、比较等,有些机器还有十进制算术运算指令。绝大多数算术运算指令都会影响到结果状态标志位,通常的标志位有进位(C)、溢出(V)、全零(Z)、负(N)、奇偶位(P)。,如:结果为负时N=1,结果不为负时N=0,逻辑运算指令 一般计算机都具有与、或、非、异或(按位加)等逻辑运算指令。有的计算机还设置位操作指令,如位测试、位清除、位求反指令等。,2、移位操作指令,移位指令分算术移位、逻辑移位和循环移位三种,可将操作数左移或右移若干位。算术移位和逻辑移位的操作对象不同,算术移位的操作数为带符号数,逻辑移位的操作数为无符号数,算术右移时填入高位的数据为操作数符号位数值,逻辑右移时高位补零。算术移位中左移一位,相当于数值乘2(前提:无溢出),右移一位,相当于数值除2。,移位操作,循环移位按是否与进位一起循环分为两类:小循环(不带进位循环)大循环(带进位循环),3、浮点数的运算指令,用于科学计算的计算机应该设置该指令,一般能对单精度、双精度的数据进行运算。,4、十进制运算指令,一般在输入输出数据频繁的机器中设置该指令,因为输入输出的数据都是以十进制形式表示的,如果没有该指令则需要把输入的数据转化成二进制来进行运算后转换成十进制输出。,5、字符串处理指令,早期的计算机的指令系统主要侧重于数值运算,只有少数的机器有非数值处理指令。随着计算机应用领域的扩大,计算机对非数值处理指令的要求越来越高。字符串指令就是一种非数值处理指令,一般包括字符串传送、字符串比较、字符串查询、字符串转换等指令。,6、数据传送指令,此类指令用于实现寄存器与寄存器、寄存器与存储单元、存储单元与存储单元之间的数据传送。对于存储器来讲,数据传送包括了对数据的读(相当于取数据指令)和写(相当于存数据指令)操作。数据传送时,数据从源地址传送到目的地址,而源地址的数据保持不变。,数据传送指令一次可以传送一个数据或多个数据。例:Intel 8086的MOVS指令一次传送一个字或一个字节,加上重复执行前缀(REP)一次可以传送的数据多达64K。,7、转移指令,此类指令用于控制程序流的转移。多数情况下,程序是按顺序方式执行,有时候也会离开原来的顺序转移到另一段程序或循环执行某段程序。按转移的性质来分类,转移指令可分为无条件转移、条件转移、过程调用与返回、陷阱等。,(1)无条件转移和条件转移,无条件转移指令不受任何条件约束,直接把程序转移到指令所规定的目的地。,例:JUMP A,条件转移指令则根据计算机处理结果来决定程序如何执行,先测试根据处理结果设置的条件码,然后根据所测试的条件是否满足来决定是否转移。条件码的建立与转移的判断可以在一条指令中完成,也可以由两条指令完成。前者通常在转移指令中先完成比较运算,然后根据比较的结果来判断转移的条件是否成立,如果条件为真则转移,如果条件为假则顺序执行下一条指令。第二种情况中,由转移指令前面的指令来建立条件码,转移指令根据条件码来判断是否转移。,通常用算术指令建立的结果状态位(N、Z、V、C、P)来控制程序的执行方向。,例:BCC A 当C=0时,程序转移到A处,(2)调用指令和返回指令,在编程时经常需要编写一些经常使用、能独立完成某一特定功能的程序段在需要时随时调用。这些程序段称为子程序或过程。主程序和子程序是相对的概念,调用其它程序的程序是主程序;被其它程序调用的程序是子程序。,调用指令(call)执行完被调用的程序后要回到原调用程序,继续执行call指令的下一条指令。调用指令和返回指令是一对配合使用的指令,返回指令取到返回地址后继续执行调用指令的下一条指令。,(3)陷阱与陷阱指令,计算机在运行过程中,可能会出现电源电压不稳、存储器校验出错、I/O设备出现故障等情况,使计算机不能正常工作。如果不及时处理这些故障,就会影响整个系统的正常运行,因此,出现故障时计算机就发出陷阱信号,并停止当前程序的执行,转去处理相应的故障。,陷阱实际上是一种意外事故中断,目的是通知CPU出现了故障。在一般计算机中,陷阱指令作为隐含指令不提供给用户,只有在出现故障时才由CPU自动产生并执行。,补充:访管指令 用户利用该指令访问操作系统并向它提出要求,8、堆栈及堆栈操作指令,堆栈是一种按特定顺序进行存取的存储区,这种特定顺序可归结为“后进先出”(LIFO)或“先进后出”(FILO)。为了表示栈顶的位置,有一个寄存器或存储单元用于指出栈顶的地址,这个寄存器或存储单元称为堆栈指针(SP)。,堆栈的结构,两种:寄存器堆栈、存储器堆栈 a.寄存器堆栈 用一组专门的寄存器构成寄存器堆栈,又称为硬堆栈。这种堆栈的栈顶是固定的,寄存器组中各寄存器是相互连接的,它们之间具有对应位自动推移的功能,即可将一个寄存器的内容推移到相邻的另一个寄存器中去。,b.存储器堆栈,从主存中划出一段区域来作堆栈,这种堆栈又称为软堆栈,堆栈的大小可变,栈底固定,栈顶浮动,故需要一个专门的硬件寄存器作为堆栈栈顶指针SP,简称栈指针。栈指针所指定的主存单元,就是堆栈的栈顶。,堆栈操作,用于访问堆栈的指令只有进栈(压入)和出栈(弹出)两种。任何堆栈操作只能在栈顶进行。压入指令(PUSH)是指把指定的操作数送入堆栈的栈顶,而弹出指令(POP)的操作刚好相反,是把栈顶的数据取出,送到指令指定的地址。,9、输入输出指令,输入/输出(I/O)类指令用来实现主机与外部设备之间的信息交换,包括输入/输出数据、主机向外设发控制命令或外设向主机报告工作状态等。从广义的角度看,I/O指令可以归入数据传送类。输入输出指令一般格式如下:其中OP是操作码,表示I/O指令,REG是寄存器名,用于指定与外部设备交换数据的寄存器,A是外部设备中的寄存器地址或设备码。,输入指令完成从A地址所指定的外部设备寄存器中读入一个数据到REG寄存器中;输出指令刚好相反,是把REG寄存器中的数据送到A地址所指定的外部设备寄存器中。8086使用I/O指令;PDP-11不用I/O指令。,10、特权指令,某些指令使用不当会破坏系统或其他用户信息,这类指令只能用于操作系统或其他系统软件,而不提供给用户使用,称为特权指令。特权指令在多用户、多任务的系统中是必要的,主要用于系统资源的分配和管理。,11、其他指令,(1)向量指令(2)多处理机指令(3)控制指令,双字长运算,有时候需要对双字长的操作数进行运算,而机器本身没有双字长指令,此时需要子程序来实现。,1、双字长加法运算,假设在寄存器R1,R2和R3,R4分别存放两个双字长的操作数,其中R1,R3为高位,加法运算可以分如下两种情况:(1)假设机器中有ADD(加法指令)和ADC(加进位的加法指令),则程序如下:ADD R2,R4 ADC R1,R3,(2)假设机器中只有ADD指令,没有ADC指令,程序如下:K:ADD R2,R4 K+1:BCC K+3 K+2:ADD#1,R1 K+3:ADD R1,R3,2、双字长减法运算,假设在R1、R2、R3、R4中分别存放双字长的被减数和减数,其中R1,R3为高位,减法运算过程归结如下:(1)低位相减,若不够减,则C=1,若够减,则C=0。(2)高位相减,若上次运算后C=0,减数取补码,若C=1,减数取反码。,5.6 指令系统的兼容性,系列机思想用来实现各机型的指令系统的相互兼容。兼容机:各个计算机公司生产的同一系列计算机指令系统、数据格式等保持相同,在此基础上产生了。向上兼容:旧机型上程序不加任何修改就可以在新机器上运行。,5.8.2 Pentium微处理器指令系统 1.程序员能见到的寄存器(图5.11)2.Pentium指令系统Pentium的指令格式如图所示。指令包括以下字段:(1)OP(操作码)每条指令都有操作码,某些指令在操作码中还包含有操作数长度W(8位,16位或32位)或立即数是否需扩充符号位(S)等信息。,程序员能见到的寄存器,Pentium的指令格式,(2)MOD/RM本字节与下一字节,提供寻址信息。MOD/RM字节指出操作数在寄存器中还是在存储器中。(3)SIB当MOD/RM为某些值时,需要SIB参与决定寻址方式。说明在实模式下32位地址的形成过程。寄存器与其编码之间的关系如表所示。,实模式下形成32位地址,表5.4 寄存器编码,(4)disp当寻址方式指示用到disp(位移量)时,则存在8位,16位或32位的位移量字段。(5)Imm当寻址方式指示使用立即数时,存在8位,18位或32位立即数。,5.7 RISC和CISC,5.7.1 CISC(复杂指令系统)5.7.2 RISC(精简指令系统),5.7.1 CISC(复杂指令系统),CISC:通常称为复杂指令系统,是相对于RISC提出来的。起因:计算机硬件成本的不断降低,软件成本的不断提高。特点:指令数量多,格式多样,寻址方式复杂。优点:功能强大,程序设计容易。缺点:控制器的实现困难。,5.7.2 RISC(精简指令系统),RISC是对CISC精简而来的。特点:指令数量少,使用频率高的指令;指令长度固定,指令格式少;访 问存储器的指令少等。优点:运行速度快,控制器的实现简单。缺点:功能简单。,计算机运行速度,P=I*CPI*TI程序所对应的指令数量CPI执行每条指令所需的平均周期数T每个机器周期时间,指令系统新扩展,Intel的MMX(Multi Media Extended)Intel的SSE(Streaming-Single instruction multiple data-Extensions,流水线SIMD扩展)。Intel的SSE2。AMD的3DNow!,03年高程试题,_不是RISC的特点。A.指令的操作种类比较少B.指令长度固定且指令格式较少C.寻址方式比较少D.访问内存需要的机器周期比较少,D,5.9 机器语言、汇编语言、高级语言,一台计算机能直接识别并执行的语言不是任何一种高级语言,而是一种用二进制码表示的、由一系列指令组成的机器语言。因此,用任何一种计算机语言编写的程序必须经过翻译程序转换成相应的机器语言才能执行。,汇编语言:用助记符表示二进制码指令的语言,称为汇编语言。高级语言:高级语言与硬件及指令系统无关,表达方式接近自然语言,描述能力强、可读性高、可维护性好。比较:汇编语言和高级语言各有各的特点,汇编语言适合编写经常与硬件打交道的系统软件;高级语言适合编写与硬件没有直接关系的应用软件。,作业 四,5.25.95.11,本周四做移位运算实验,周三带实验指导书本周四交第四、五章作业,

    注意事项

    本文(计算机组成与结构PPT课件(全)第5章指令系统.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开