欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第3章指令系统优秀PPT.ppt

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

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

    第3章指令系统优秀PPT.ppt

    第3章指令系统现在学习的是第1页,共116页3.1 指令格式3.2 数据类型3.3 寻址方式3.4 指令类型与功能3.5 指令系统的设计3.6 指令系统的发展和改进3.7 指令系统实例1:MIPS的指令系统3.8 指令系统实例2:UltraSPARC的指令系统 现在学习的是第2页,共116页1.指令:要求计算机进行基本操作的命令。2.一台计算机所能执行的全部指令的集合称为该计算机的指令系统或指令集。3.计算机硬件能够直接识别并执行的程序是机器语言程序,而机器语言中的每一个语句就是一条指令。4.指令系统决定了计算机硬件所能完成的全部功能,是计算机系统结构设计者、系统软件设计者和硬件设计者所共同关心的问题。现在学习的是第3页,共116页1.一条指令中至少应包含3方面的信息要执行的操作指明该指令要完成的具体功能。指明该指令要完成的具体功能。操作数的来源指明操作的对象(源操作数)在哪里。指明操作的对象(源操作数)在哪里。操作结果的去向。指明要将操作的结果(目的操作数)保存到何处。指明要将操作的结果(目的操作数)保存到何处。3.1 指令格式现在学习的是第4页,共116页3.1 指令格式指令的基本格式 每条指令由两部分构成:操作码和地址码操作码:描述指令的操作功能,即要求计算机完成什么工作。(指令中必不可少的部分)(指令中必不可少的部分)地址码:描述与操作数有关的信息,可以是操作数本身,也可以是存放操作数的地址。q源地址:提供源操作数的地址源地址:提供源操作数的地址q目的地址:提供存放操作结果的地址目的地址:提供存放操作结果的地址现在学习的是第5页,共116页3.1 指令格式 根据指令中地址码部分显式给出的地址的个数,可将指令格式分为以下5种。零地址指令零地址指令中只有操作码,没有地址码。指令格式:指令格式:通常在两种情况下可能采用零地址指令q指令本身不需要任何操作数指令本身不需要任何操作数q指令中所需的操作数是隐含指定的指令中所需的操作数是隐含指定的3.1.1 指令的地址码现在学习的是第6页,共116页3.1 指令格式2.一地址指令指令中给出一个地址 指令格式:指令格式:在两种情况下可能采用一地址指令q指令本身只需要一个操作数指令本身只需要一个操作数 A OP(A)q指令操作需要两个操作数,指令中指明一个操作数,而指令操作需要两个操作数,指令中指明一个操作数,而另外一个操作数在默认的累加器另外一个操作数在默认的累加器AC中,操作结果存放到中,操作结果存放到累加器累加器AC中。中。AC (AC)OP(A)现在学习的是第7页,共116页3.1 指令格式3.二地址指令 指令中给出两个地址,分别指出参与操作的两个源操作数,而其中有一个又表示操作结果的存放地址。指令格式:指令格式:A1 (A1)OP(A2)根据存放操作数的位置不同,又可分为3种。q寄存器寄存器-寄存器型寄存器型(R-R型型)指令指令n指令中给出的两个地址都是寄存器地址指令中给出的两个地址都是寄存器地址。n所需的操作数都在寄存器中,不需要访问存储器,所需的操作数都在寄存器中,不需要访问存储器,因而速度很快。因而速度很快。现在学习的是第8页,共116页3.1 指令格式q存储器存储器-存储器型(存储器型(M-M型型)指令)指令n指令中给出的两个地址都是存储器地址指令中给出的两个地址都是存储器地址n需要多次访问存储器才能得到操作数需要多次访问存储器才能得到操作数q寄存器寄存器-存储器型(存储器型(R-M型型)n两个地址:一个是寄存器地址,另一个是存储两个地址:一个是寄存器地址,另一个是存储器地址。器地址。n两个操作数:一个是在寄存器中,另一个则是两个操作数:一个是在寄存器中,另一个则是在存储器中,操作结果保存到寄存器中。在存储器中,操作结果保存到寄存器中。4.三地址指令 指令中给出三个地址,其中两个指明参与操作的源操作数,另一个表示操作结果的存放地址。现在学习的是第9页,共116页3.1 指令格式指令格式:指令格式:A3 (A1)OP(A2)5.多地址指令 用于描述一批数据,指令中需要多个地址来指出数据存放的首地址、长度和下标等信息。现在学习的是第10页,共116页3.1 指令格式1.指令系统中的每一条指令都有唯一确定的操作码,不同指令的操作码是不相同的。操作码的长度决定了指令系统的最大规模若操作码的位数为n位,则该指令系统最多能有2n条指令。2.固定长度操作码 所有指令操作码的长度都是固定的,且集中放在指令的一个字段内。有利于简化硬件设计,减少指令译码时间。3.1.2 指令的操作码现在学习的是第11页,共116页3.1 指令格式很多现代计算机都采用了固定长度操作码。2.可变长度操作码 指令系统中操作码的长度有多种,不同指令的操作码的长度不完全相同。q使用频率高的指令使用短的操作码使用频率高的指令使用短的操作码q使用频率低的指令使用较长的操作码使用频率低的指令使用较长的操作码可以缩短操作码的平均长度,但会使硬件设计复杂化,增加指令译码的时间和难度。3.扩展操作码技术 将操作码设计为几种不同的固定长度,且相互之间按某种规则进行扩展。现在学习的是第12页,共116页3.1 指令格式优点q可以简化硬件设计;可以简化硬件设计;q当指令总长度一定时,可以使操作码的长度随地址数当指令总长度一定时,可以使操作码的长度随地址数的增加而减少,不同地址数的指令的操作码的长度也的增加而减少,不同地址数的指令的操作码的长度也不同,从而有效地缩短指令总长度。不同,从而有效地缩短指令总长度。扩展操作码的方法 等长扩展、不等长扩展等长扩展、不等长扩展举一个例子:q某指令系统中,指令长度为某指令系统中,指令长度为16位位,基本操作码为,基本操作码为4位位,具有具有3个个4位位的地址字段。的地址字段。q指令格式指令格式现在学习的是第13页,共116页3.1 指令格式q采用固定长度操作码,该指令系统最多只能有采用固定长度操作码,该指令系统最多只能有16条指令。条指令。在指令字长不变的情况下,希望有61条指令。其中:15条三地址指令条三地址指令 15条二地址指令条二地址指令 15条一地址指令条一地址指令 16条零地址指令条零地址指令现在学习的是第14页,共116页3.1 指令格式q采用等长扩展,操作码分别为采用等长扩展,操作码分别为4位、位、8位、位、12位、位、16位。位。现在学习的是第15页,共116页3.1 指令格式采用另一种扩展方法,共76条。其中:15条三地址指令条三地址指令 14条二地址指令条二地址指令 31条一地址指令条一地址指令 16条零地址指令条零地址指令现在学习的是第16页,共116页现在学习的是第17页,共116页3.1 指令格式1.指令长度:指一条指令所包含的二进制代码的总位数。指令长度主要取决于操作码的长度、操作数地址的长度、操作数地址的个数。2.与机器字长有简单的倍数关系单字长指令:指令长度等于机器字长的指令半字长指令:指令长度等于半个机器字长的指令双字长指令:指令长度等于机器字长的两倍的指令3.指令长度一般应是字节的整数倍。3.1.3 指令长度现在学习的是第18页,共116页3.1 指令格式4.在一个指令系统中,如果每条指令的长度都相同,则称为固定长度编码格式。5.如果不同指令的长度随指令功能而不同,则称为可变长度编码格式。如奔腾系列机的指令系统中,指令长度可以从一个字节到如奔腾系列机的指令系统中,指令长度可以从一个字节到12个字节。个字节。现在学习的是第19页,共116页1.数据表示:计算机硬件能够直接识别、指令系统可以直接调用的数据类型。2.数据结构:指由软件进行处理和实现的各种数据类型。数据结构研究的是这些数据类型的逻辑结构与物理结构之间的关系,并给出相应的算法。3.如何确定数据表示是计算机系统设计者要解决的难题之一。3.2 数据类型现在学习的是第20页,共116页3.2 数据类型4.表示操作数类型的方法有两种 由指令中的操作码指定操作数的类型 最常用的方法。绝大多数机器都采用了这种方法。最常用的方法。绝大多数机器都采用了这种方法。给数据加上标志符(tag),由数据本身给出操作数类型。q优点:优点:能简化指令系统,可由硬件自动实现一致性检能简化指令系统,可由硬件自动实现一致性检查和类型转换,缩小了机器语言与高级语言的语义差查和类型转换,缩小了机器语言与高级语言的语义差距,简化编译器等。距,简化编译器等。q缺点:缺点:由于需要在程序执行过程中动态检测标志符,由于需要在程序执行过程中动态检测标志符,动态开销比较大。动态开销比较大。q采用这种方案的机器很少见。采用这种方案的机器很少见。现在学习的是第21页,共116页3.2 数据类型5.操作数的大小(size):操作数的位数或字节数。主要的大小有 字节(字节(8位)、半字(位)、半字(16位)位)字(字(32位)、位)、双字(双字(64位)位)字符一般用ASCII码表示,其大小为一个字节。整数则几乎都是用二进制补码表示,其大小可以是字节、半字、单字和双字。浮点操作数q单精度浮点数和双精度浮点数单精度浮点数和双精度浮点数q所有的计算机都采用了所有的计算机都采用了IEEE 754浮点标准浮点标准 现在学习的是第22页,共116页3.2 数据类型十进制数据表示q压缩十进制或二进制编码的十进制压缩十进制或二进制编码的十进制(简称(简称BCD码)码)是用是用4位二进制编码表示数字位二进制编码表示数字09,并将两个十,并将两个十进制数字合并到一个字节中存储。进制数字合并到一个字节中存储。q非压缩十进制非压缩十进制 如果将十进制数直接用字符串来表示,就叫做如果将十进制数直接用字符串来表示,就叫做“非压缩十进制非压缩十进制”。现在学习的是第23页,共116页形式地址:指令的地址码部分给出的地址。有效地址:形式地址经地址变换后才能得到操作数的真正地址。寻址方式:确定指令操作数有效地址的方法。3.3 寻址方式现在学习的是第24页,共116页3.3 寻址方式直接寻址 在指令的地址码字段直接给出操作数所在主存单元的地址。简单、快速的寻址方式,但寻址范围受限于地址码字段的位数。现在学习的是第25页,共116页2.间接寻址指令的地址码字段给出的是操作数所在内存单元的地址的地址。q指令中形式地址所指定的内存单元中存放的内容才是操作数的真指令中形式地址所指定的内存单元中存放的内容才是操作数的真正地址。正地址。得到操作数需要访问两次内存,指令的执行速度比较慢。现在学习的是第26页,共116页3.3 寻址方式3.立即寻址指令的地址码字段直接给出操作数本身,而不是操作数的地址。指令执行速度最快,得到指令的同时就得到了操作数,不需要再访问内存。4.寄存器直接寻址与寄存器间接寻址寄存器直接寻址:指令的地址码字段给出一个寄存器编号,该寄存器中存放的内容就是操作数。寄存器间接寻址:寄存器中存放的内容是操作数的地址,根据此地址访问内存取得操作数。现在学习的是第27页,共116页寄存器直接寻址方式寄存器直接寻址方式 寄存器间接寻址方式寄存器间接寻址方式 现在学习的是第28页,共116页3.3 寻址方式5.隐含寻址指令中不给出操作数的地址操作数约定在某个特定的寄存器或堆栈中6.相对寻址将程序计数器PC的内容与指令中给出的形式地址(偏移量)的值相加,形成操作数的有效地址。形式地址(偏移量)的值可正可负。形式地址(偏移量)的值可正可负。对于短跳转和程序的再定位很有用。现在学习的是第29页,共116页3.3 寻址方式相对寻址方式相对寻址方式 现在学习的是第30页,共116页3.3 寻址方式7.变址寻址 将指令中给出的形式地址的值与变址寄存器的内容相加,形成操作数的有效地址。变址寄存器可以是专用寄存器,也可以是通用寄存器中的一个。常用于字符串处理、数组运算等成批数据处理中,主要是面向用户,解决程序循环控制问题。现在学习的是第31页,共116页3.3 寻址方式 变址寻址方式变址寻址方式 现在学习的是第32页,共116页3.3 寻址方式8.基址寻址把指令中给出的形式地址的值与基址寄存器的内容相加,形成操作数的有效地址。基址寄存器的内容称为基地址。基址寄存器的内容通常由操作系统或管理程序设定。主要用于将用户程序的逻辑地址转换成主存的实际地址。它面向系统,解决程序重定位和扩大寻址空间等问题。现在学习的是第33页,共116页3.3 寻址方式 基址寻址方式基址寻址方式 现在学习的是第34页,共116页3.3 寻址方式9.“基址+变址”寻址 有效地址=(RB)+(RX)+D 其中:q(RB):基址寄存器):基址寄存器RB中的内容中的内容q(RX):变址寄存器):变址寄存器RX中的内容中的内容qD:指令字中给出的形式地址(偏移量):指令字中给出的形式地址(偏移量)现在学习的是第35页,共116页3.3 寻址方式在指令中表示寻址方式的方法有两种:将寻址方式编码于操作码中,操作码在描述指令操作的同时,也描述相应操作的寻址方式;在指令字中为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。现在学习的是第36页,共116页1.数据传送类指令将数据从一个地方传送到另一个地方。q主要实现主存和主存之间、主存和寄存器之间、寄存主要实现主存和主存之间、主存和寄存器之间、寄存器和寄存器之间的数据传送。器和寄存器之间的数据传送。q数据传送指令一次可以传送一个数据,也可以一次传数据传送指令一次可以传送一个数据,也可以一次传送一批数据。送一批数据。2.数据运算类指令用来实现数据的算术运算、逻辑运算和移位运算。q算术运算:算术运算:加、减、乘、除运算;加加、减、乘、除运算;加1、减、减1;比较;比较指令等。指令等。3.4 指令类型与功能现在学习的是第37页,共116页3.4 指令类型与功能q逻辑运算:逻辑运算:包括与、或、非包括与、或、非、异或等运算。、异或等运算。q移位指令:移位指令:算术移位、逻辑移位和循环移位三类,它算术移位、逻辑移位和循环移位三类,它们又可分为左移和右移两种。们又可分为左移和右移两种。3.程序控制类指令主要用来控制程序执行的顺序和方向。q包含转移指令、子程序调用和返回指令、自陷指令等。包含转移指令、子程序调用和返回指令、自陷指令等。4.输入输出指令输入输出指令简称I/O指令主要用于实现主机与外部设备之间的信息交换现在学习的是第38页,共116页3.5 指令系统的设计3.5.1 对指令系统的基本要求1.指令系统的设计首先考虑所应实现的基本功能,确定哪些基本功能应该由硬件实现,哪些功能由软件实现比较合适。包括q指令的功能设计指令的功能设计q指令格式的设计指令格式的设计现在学习的是第39页,共116页3.5 指令系统的设计2.在确定哪些基本功能用硬件来实现时,主要考虑3个因素:速度、成本、灵活性。硬件实现的特点 速度快、成本高、灵活性差速度快、成本高、灵活性差软件实现的特点 速度慢、价格便宜、灵活性好速度慢、价格便宜、灵活性好3.对指令系统的基本要求 完整性、规整性、正交性、高效率、兼容性 完整性:在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令系统所提供的指令足够使用。现在学习的是第40页,共116页3.5 指令系统的设计q要求指令系统功能齐全、使用方便要求指令系统功能齐全、使用方便q下表为许多指令系统结构都包含的一些指令类型下表为许多指令系统结构都包含的一些指令类型 n前前4类属于通用计算机系统的基本指令类属于通用计算机系统的基本指令n对于最后对于最后4种类型的操作,不同指令系统结构的种类型的操作,不同指令系统结构的支持大不相同支持大不相同。现在学习的是第41页,共116页3.5 指令系统的设计指令系统结构中操作的分类指令系统结构中操作的分类 操作类型实 例算术和逻辑运算整数的算术运算和逻辑操作:加,减,乘,除,与,或等数据传输load,store控制分支,跳转,过程调用和返回,自陷等系统操作系统调用,虚拟存储器管理等浮点浮点操作:加,减,乘,除,比较等十进制十进制加,十进制乘,十进制到字符的转换等字符串字符串移动,字符串比较,字符串搜索等图形象素操作,压缩/解压操作等现在学习的是第42页,共116页3.5 指令系统的设计规整性:主要包括对称性和均匀性。q对称性:对称性:所有与指令系统有关的存储单元的使用、所有与指令系统有关的存储单元的使用、操作码的设置等都是对称的。操作码的设置等都是对称的。例如:例如:在存储单元的使用上,所有通用寄存器都要同等对在存储单元的使用上,所有通用寄存器都要同等对 待。在操作码的设置上,如果设置了待。在操作码的设置上,如果设置了A AB B的指的指 令,就应该也设置令,就应该也设置B BA A的指令。的指令。q均匀性:均匀性:指对于各种不同的操作数类型、字长、操作指对于各种不同的操作数类型、字长、操作 种类和数据存储单元,指令的设置都要同等对待。种类和数据存储单元,指令的设置都要同等对待。例如:例如:如果某机器有如果某机器有5 5种数据表示,种数据表示,4 4种字长,两种存储单种字长,两种存储单 元,则要设置元,则要设置542=40542=40种同一操作的指令。种同一操作的指令。现在学习的是第43页,共116页3.5 指令系统的设计正交性:在指令中各个不同含义的字段,如操作类型、数据类型、寻址方式字段等,在编码时应互不相关、相互独立。高效率:指指令的执行速度快、使用频度高。兼容性:主要是要实现向后兼容,指令系统可以增加新指令,但不能删除指令或更改指令的功能。现在学习的是第44页,共116页3.5 指令系统的设计4.在设计指令系统时,有两种截然不同的设计策略。(产生了两类不同的计算机系统)CISC(复杂指令系统计算机)q增强指令功能,把越来越多的功能交由硬件来实增强指令功能,把越来越多的功能交由硬件来实 现,并且指令的数量也是越来越多。现,并且指令的数量也是越来越多。RISC(精简指令系统计算机)q尽可能地把指令系统简化,不仅指令的条数少,而且尽可能地把指令系统简化,不仅指令的条数少,而且 指令的功能也比较简单。指令的功能也比较简单。现在学习的是第45页,共116页3.5 指令系统的设计1.指令由两部分组成:操作码、地址码2.指令格式的设计确定操作码字段和地址码字段的大小及其组合形式确定各种寻址方式的编码方法 3.有3种常用的指令编码格式 可变长度编码格式、固定长度编码格式、混合型编码格式可变长度编码格式、固定长度编码格式、混合型编码格式3.5.2 指令格式的设计现在学习的是第46页,共116页3.5 指令系统的设计可变长度编码格式q当指令系统包含多种寻址方式和操作类型时,这种编当指令系统包含多种寻址方式和操作类型时,这种编码方式可以有效减少指令系统的平均指令长度,降低码方式可以有效减少指令系统的平均指令长度,降低目标代码的大小。目标代码的大小。q可能会使各条指令的字长和执行时间相差很大。可能会使各条指令的字长和执行时间相差很大。q多数多数CISC指令系统均采用了这种编码格式。指令系统均采用了这种编码格式。现在学习的是第47页,共116页3.5 指令系统的设计固定长度编码格式q将操作类型和寻址方式一起编码到操作码中。将操作类型和寻址方式一起编码到操作码中。q当寻址方式和操作类型非常少时,这种编码格式非常当寻址方式和操作类型非常少时,这种编码格式非常好。好。q可以有效地降低译码的复杂度,提高译码的速度。可以有效地降低译码的复杂度,提高译码的速度。q大部分大部分RISCRISC的指令系统均采用这种编码格式。的指令系统均采用这种编码格式。现在学习的是第48页,共116页3.5 指令系统的设计混合型编码格式q提供若干种固定的指令字长。提供若干种固定的指令字长。q以期达到既能够减少目标代码长度又能降低译码复杂以期达到既能够减少目标代码长度又能降低译码复杂度的目标。度的目标。现在学习的是第49页,共116页1.CISC指令系统的一大特点 指令数量多、功能多样2.增强指令功能主要是从以下3个方面着手:面向目标程序增强指令功能面向目标程序增强指令功能 面向高级语言的优化实现来改进指令系统面向高级语言的优化实现来改进指令系统 面向操作系统的优化实现改进指令系统面向操作系统的优化实现改进指令系统3.6 指令系统的发展和改进3.6.1 沿CISC方向发展和改进指令系统现在学习的是第50页,共116页3.6 指令系统的发展和改进面向目标程序增强指令功能 q对大量的目标程序及其执行情况进行统计分析,找出对大量的目标程序及其执行情况进行统计分析,找出那些使用频度高、执行时间长的指令或指令串。对于那些使用频度高、执行时间长的指令或指令串。对于使用频度高的指令,用硬件加快其执行;对于使用频使用频度高的指令,用硬件加快其执行;对于使用频度高的指令串,用一条新的指令来替代。度高的指令串,用一条新的指令来替代。q既能减少目标程序的执行时间,也能有效地缩短程序既能减少目标程序的执行时间,也能有效地缩短程序的长度。的长度。q可以从以下几个方面来改进:可以从以下几个方面来改进:n增强运算型指令的功能增强运算型指令的功能n增强数据传送指令的功能增强数据传送指令的功能n增强程序控制指令的功能增强程序控制指令的功能现在学习的是第51页,共116页3.6 指令系统的发展和改进例如:循环在程序中占有相当大的 比例,所以在指令上提供专 门的支持。循环控制部分通常用3条指令完成:p一条加法指令一条加法指令p一条比较指令一条比较指令p一条分支指令一条分支指令设置循环控制指令,用一条指令完成上述3条指令的功能。一般循环程序的结构一般循环程序的结构现在学习的是第52页,共116页3.6 指令系统的发展和改进面向高级语言的优化实现来改进指令系统 (缩小高级语言与机器语言的语义差距)高级语言与一般的机器语言的语义差距非常大,为高级语言程序的编译带来了一些问题。(1 1)编译器本身比较复杂;)编译器本身比较复杂;(2 2)编译生成)编译生成的目标代码比较难以达到很好的优化。的目标代码比较难以达到很好的优化。现在学习的是第53页,共116页3.6 指令系统的发展和改进q增强对高级语言和编译器的支持增强对高级语言和编译器的支持 n对高级语言中使用频度高、执行时间长的语句,对高级语言中使用频度高、执行时间长的语句,增强有关指令的功能,加快这些指令的执行速增强有关指令的功能,加快这些指令的执行速度,或者增加专门的指令,可以达到减少目标度,或者增加专门的指令,可以达到减少目标程序的执行时间和减少目标程序长度的目的。程序的执行时间和减少目标程序长度的目的。n增强系统结构的规整性,减少系统结构中的各增强系统结构的规整性,减少系统结构中的各种例外情况。种例外情况。(面向高级语言的计算机(面向高级语言的计算机)现在学习的是第54页,共116页3.6 指令系统的发展和改进q高级语言计算机高级语言计算机 间接执行高级语言机器间接执行高级语言机器 高级语言作为机器的汇编语言。高级语言作为机器的汇编语言。直接执行高级语言的机器直接执行高级语言的机器 直接把高级语言作为机器语言。直接把高级语言作为机器语言。(一种比较激进的方法(一种比较激进的方法)p采用采用“比较简单的系统结构软件比较简单的系统结构软件”的做法能够在较的做法能够在较低成本和复杂度的前提下,提供更高的性能和灵活性。低成本和复杂度的前提下,提供更高的性能和灵活性。现在学习的是第55页,共116页3.6 指令系统的发展和改进面向操作系统的优化实现改进指令系统 q操作系统和计算机系统结构是紧密联系的,操作系操作系统和计算机系统结构是紧密联系的,操作系 统的实现在很大程度上取决于系统结构的支持。统的实现在很大程度上取决于系统结构的支持。q指令系统对操作系统的支持主要有:指令系统对操作系统的支持主要有:n处理机工作状态和访问方式的切换;处理机工作状态和访问方式的切换;n进程的管理和切换;进程的管理和切换;n存储管理和信息保护;存储管理和信息保护;n进程的同步与互斥,信号灯的管理等。进程的同步与互斥,信号灯的管理等。支持操作系统的有些指令属于特权指令,一般用户支持操作系统的有些指令属于特权指令,一般用户程序是不能使用的。程序是不能使用的。现在学习的是第56页,共116页3.6 指令系统的发展和改进1.CISC指令系统结构存在的问题 (1979年开始,Patterson等人的研究)各种指令的使用频度相差悬殊,许多指令很少用。q据统计:只有据统计:只有2020的指令使用频度比较高,占运的指令使用频度比较高,占运行时间的行时间的8080。而其余。而其余8080的指令只在的指令只在2020的运行时的运行时间内才会用到。间内才会用到。q使用频度高的指令也是最简单的指令。使用频度高的指令也是最简单的指令。3.6.2 沿RISC方向发展和改进指令系统现在学习的是第57页,共116页Intel 80 x86最常用的10条指令执行频度排序 80 x86指令 指令执行频度(占执行指令总数的百分比)1load 22%2条件分支 20%3比较 16%4store 12%5加 8%6与 6%7减 5%8寄存器寄存器间数据移动 4%9调用子程序 1%10返回 1%合 计 95%现在学习的是第58页,共116页3.6 指令系统的发展和改进指令系统庞大,指令条数很多,许多指令的功能又很复杂,使得控制器硬件非常复杂。导致的问题:q占用了大量的芯片面积(如占用占用了大量的芯片面积(如占用CPUCPU芯片总面积的芯片总面积的一半以上),给一半以上),给VLSIVLSI设计造成很大的困难;设计造成很大的困难;q增加了研制时间和成本,容易造成设计错误。增加了研制时间和成本,容易造成设计错误。许多指令由于操作繁杂,其CPI值比较大,执行 速度慢。采用这些复杂指令有可能使整个程序的 执行时间反而增加。由于指令功能复杂,规整性不好,不利于采用流 水技术来提高性能。现在学习的是第59页,共116页3.6 指令系统的发展和改进2.设计RISC机器遵循的原则 指令条数少、指令功能简单。只选取使用频度很高的指令,在此基础上补充一些最有用的指令;采用简单而又统一的指令格式,并减少寻址方式;指令字长都为32位或64位;指令的执行在单个机器周期内完成;(采用流水线机制采用流水线机制)只有load和store指令才能访问存储器,其它指令的操作都是在寄存器之间进行;(即采用(即采用load-storeload-store结构)结构)大多数指令都采用硬连逻辑来实现;现在学习的是第60页,共116页3.6 指令系统的发展和改进强调优化编译器的作用,为高级语言程序生成优化的代码;充分利用流水技术来提高性能。3.早期的RISC微处理器1981年,Berkeley分校的Patterson 等人的32位微处理器RISC I:q3131条条指令,指令字长都是指令,指令字长都是3232位位,7878个个通用寄存器,时通用寄存器,时钟频率为钟频率为8MHz8MHz;q控制部分所占的芯片面积只有约控制部分所占的芯片面积只有约6%6%。商品化微处理器。商品化微处理器MC68000MC68000和和Z8000Z8000分别为分别为50%50%和和53%53%;q性能比性能比MC68000MC68000和和Z8000Z8000快快3 34 4倍。倍。现在学习的是第61页,共116页3.6 指令系统的发展和改进1983年的RISC:q指令条数为指令条数为3939,通用寄存器个数为,通用寄存器个数为138138,时钟频率为,时钟频率为12MHz12MHz。q后来发展成了后来发展成了SunSun公司的公司的SPARCSPARC系列微处理器。系列微处理器。1981年,Stanford大学Hennessy等人的MIPS后来发展成了后来发展成了MIPS Rxxx系列微处理器。系列微处理器。IBM的801共同特点:q采用采用load-storeload-store结构结构q指令字长为指令字长为3232位位q采用高效的流水技术采用高效的流水技术现在学习的是第62页,共116页1.MIPS的寄存器 32个64位通用寄存器(GPRs)qR0,R1,R31q也称为整数寄存器也称为整数寄存器qR0的值永远是的值永远是032个64位浮点数寄存器(FPRs)qF0,F1,F31q用来存放用来存放3232个单精度浮点数(个单精度浮点数(3232位),也可以用来存位),也可以用来存放放3232个双精度浮点数(个双精度浮点数(6464位)。位)。3.7 指令系统实例1:MIPS指令系统介绍MIPS64的一个子集,简称为MIPS。现在学习的是第63页,共116页3.7 指令系统实例1:MIPS指令系统q存储单精度浮点数(存储单精度浮点数(3232位)时,只用到位)时,只用到FPRFPR的一半,的一半,其另一半没用。其另一半没用。一些特殊寄存器q它们可以与通用寄存器交换数据。它们可以与通用寄存器交换数据。q例如浮点状态寄存器:用来保存有关浮点操作结果的例如浮点状态寄存器:用来保存有关浮点操作结果的信息。信息。2.MIPS的数据表示 MIPS的数据表示q整数整数字节(字节(8 8位位)半字(半字(1616位位)字(字(3232位位)双字(双字(6464位位)q浮点数浮点数单精度浮点数(单精度浮点数(3232位位)双精度浮点数(双精度浮点数(6464位位)现在学习的是第64页,共116页3.7 指令系统实例1:MIPS指令系统字节、半字或者字在装入64位寄存器时,用零扩展或者用符号位扩展来填充该寄存器的剩余部分。装入以后,对它们将按照64位整数的方式进行运算。3.MIPS的数据寻址方式 立即数寻址与偏移量寻址;立即数字段和偏移量字段都是立即数字段和偏移量字段都是1616位位的。的。寄存器间接寻址是通过把0作为偏移量来实现的;16位绝对寻址是通过把R0(其值永远为0)作为基址寄存器来完成的;现在学习的是第65页,共116页3.7 指令系统实例1:MIPS指令系统MIPS的存储器是按字节寻址的,地址为64位;所有存储器访问都必须是边界对齐的。4.MIPS的指令格式 寻址方式编码到操作码中所有的指令都是32位的操作码占6位3种指令格式 3种格式中,同名字段的位置固定不变。种格式中,同名字段的位置固定不变。现在学习的是第66页,共116页3.7 指令系统实例1:MIPS指令系统I类指令q包括所有的包括所有的loadload和和storestore指令,立即数指令,分支指指令,立即数指令,分支指令,寄存器跳转指令,寄存器链接跳转指令。令,寄存器跳转指令,寄存器链接跳转指令。q立即数字段为立即数字段为1616位,用于提供立即数或偏移量。位,用于提供立即数或偏移量。现在学习的是第67页,共116页3.7 指令系统实例1:MIPS指令系统qloadload指令指令 访存有效地址:访存有效地址:RegsrsRegsrsimmediateimmediate 从存储器取来的数据放入寄存器从存储器取来的数据放入寄存器rtrtqstorestore指令指令 访存有效地址:访存有效地址:RegsrsRegsrsimmediateimmediate 要存入存储器的数据放在寄存器要存入存储器的数据放在寄存器rtrt中中q立即数指令立即数指令 Regsrt Regsrs op immediateRegsrt Regsrs op immediateq分支指令分支指令 转移目标地址:转移目标地址:RegsrsRegsrsimmediateimmediateq寄存器跳转、寄存器跳转并链接寄存器跳转、寄存器跳转并链接 转移目标地址为转移目标地址为RegsrsRegsrs现在学习的是第68页,共116页3.7 指令系统实例1:MIPS指令系统R类指令q包括包括ALUALU指令,专用寄存器读指令,专用寄存器读/写指令,写指令,movemove指令等。指令等。qALUALU指令指令 Regsrd Regsrs funct RegsrtRegsrd Regsrs funct Regsrt funct funct为具体的运算操作编码为具体的运算操作编码现在学习的是第69页,共116页3.7 指令系统实例1:MIPS指令系统J类指令q包括跳转指令,跳转并链接指令,自陷指令,异常返回指令。包括跳转指令,跳转并链接指令,自陷指令,异常返回指令。q在这类指令中,指令字的低在这类指令中,指令字的低2626位是偏移量,它与位是偏移量,它与PCPC值相加形成值相加形成跳转的地址。跳转的地址。现在学习的是第70页,共116页3.7 指令系统实例1:MIPS指令系统5.MIPS的操作 MIPS指令可以分为四大类qloadload和和storestoreqALUALU操作操作q分支与跳转分支与跳转q浮点操作浮点操作符号的意义 qxxn ny y:从从y y传送传送n n位到位到x xqx x,yzyz:把把z z传送到传送到x x和和y y 现在学习的是第71页,共116页3.7 指令系统实例1:MIPS指令系统q下标:下标:表示字段中具体的位;表示字段中具体的位;n对于指令和数据,按从最高位到最低位(即从左到对于指令和数据,按从最高位到最低位(即从左到右)的顺序依次进行编号,最高位为第右)的顺序依次进行编号,最高位为第0 0位,次高位位,次高位为第为第1 1位,依此类推。位,依此类推。n下标可以是一个数字,也可以是一个范围。下标可以是一个数字,也可以是一个范围。例如:例如:RegsR4RegsR40 0:寄存器:寄存器R4R4的符号位的符号位 RegsR4RegsR456-6356-63:R4R4的最低字节的最低字节qMemMem:表示主存;表示主存;n按字节寻址,可以传输任意个字节。按字节寻址,可以传输任意个字节。q上标:上标:用于表示对字段进行复制的次数。用于表示对字段进行复制的次数。例如:例如:0 0 3232:一个:一个3232位长的全位长的全0 0字段字段现在学习的是第72页,共116页3.7 指令系统实例1:MIPS指令系统q符号符号#:用于两个字段的拼接,并且可以出现在数据用于两个字段的拼接,并且可以出现在数据传送的任何一边。传送的任何一边。举例举例:R8R8、R6R6:6464位的寄存器,则位的寄存器,则RegsR8RegsR832-6332-63 3232 (Mem RegsR6Mem RegsR60 0)2424#Mem RegsR6#Mem RegsR6表示的意义是:表示的意义是:以以R6R6的内容作为地址访问内存,得到的字节按符的内容作为地址访问内存,得到的字节按符号位扩展为号位扩展为3232位后存入位后存入R8R8的低的低3232位,位,R8R8的高的高3232位(即位(即RegsR8RegsR80-310-31)不变。)不变。现在学习的是第73页,共116页load和store指令指令举例 指令名称 含 义 LD R2,20(R3)装入双字 RegsR264 Mem20+RegsR3 LW R2,40(R3)装入字 RegsR264(Mem40+RegsR30)32#Mem40+RegsR3 LB R2,30(R3)装入字节 RegsR264(Mem30+RegsR30)56#Mem30+RegsR3 LBU R2,40(R3)装入无符号字节 RegsR264 056#Mem40+RegsR3 LH R2,30(R3)装入半字 RegsR264(Mem30+RegsR30)48#Mem30+RegsR3#Mem31+RegsR3 L.S F2,60(R4)装入半字 RegsF264 Mem60+RegsR4#032 L.D F2,40(R3)装入双精度浮点数 RegsF264 Mem40+RegsR3 SD R4,300(R5)保存双字 Mem300+RegsR564 RegsR4 SW R4,300(R5)保存字 Mem300+RegsR532 RegsR4 S.S F2,40(R2)保存单精度浮点数Mem40+RegsR232 RegsF2 031 SH R5,502(R4)保存半字Mem502+RegsR416 RegsR5 48.63 现在学习的是第74页,

    注意事项

    本文(第3章指令系统优秀PPT.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开