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

    计算机指令集结构设计.ppt

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

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

    计算机指令集结构设计.ppt

    第二章 计算机指令集结构设计,国防科技大学计算机学院,指令集结构概述,指令集:一些指令的集合;每条指令都是直接由CPU硬件执行。指令的表示方法:二进制格式;物理存储空间组织方式是位、字节、字和多字等;当前的指令字长有:16、32、64位;可变长格式和固定长度格式。,指令的特点,指令的操作十分简单,其操作由操作码编码表示。每个操作需要的操作数个数为0-3个不等。操作数是一些存储单元的地址;典型的存储单元通常有:主存、寄存器、堆栈和累加器。操作数地址隐含表示或显式表示。,指令集与计算机的性能,内容提要,指令集结构的分类寻址技术设计指令集结构的功能设计操作数的类型、表示和大小指令集格式的设计DLX指令集结构DLX指令集结构效能分析,指令集结构的分类,一般来说,可以从如下五个因素考虑对计算机指令集结构进行分类,即:在CPU中操作数的存储方法;指令中显式表示的操作数个数;操作数的寻址方式;指令集所提供的操作类型;操作数的类型和大小。,指令集结构的分类,CPU中用来存储操作数的存储单元主要有:堆栈;累加器;一组寄存器。指令中的操作数可以被明确地显式给出,也可以按照某种约定隐式地给出。,指令集结构的分类,C=A+B表达式在这三种类型指令集结构上的实现方法,指令集结构的分类,如果指令集结构根据CPU内部存储单元类型来进行分类,一般可以分为:堆栈型指令集结构;累加器型指令集结构;通用寄存器型指令集结构。另外也有一些混合型结构。如:Intel 8086的指令集结构。,From IBM 650:最早的指令集,累加器型指令集结构,计算一个数组加,+index Register(IX),To IBM 360:GPR,IBM 36016个32位寄存器,可做基址或变址4个64位浮点寄存器PSW,堆栈型指令集,计算一个表达式,a,b,c,a,b*c,a+b*c,a+b*c,d,c,a+b*c,d*c,a+b*c,d*c,e,a+b*c,d*c-e,(a+b*c)/(d*c-e),Expression,Reverse Polish,指令集结构的分类,三种类型指令集结构的优缺点,指令集结构的分类,早期的大多数机器都是采用堆栈型或累加器型指令集结构,但是自1980年以来的大多数机器均采用的是寄存器型指令集结构。主要有两个方面的原因:集成电路技术飞速发展寄存器和CPU内部其它存储单元一样,要比存储器快对编译器而言,可以更容易有效地分配和使用寄存器,通用寄存器型指令集结构的分类,通用寄存器型指令集结构的主要优点:在表达式求值方面,比其它类型指令集结构都具有更大的灵活性;寄存器可以用来存放变量;减少存储器的通信量,加快程序的执行速度(因为寄存器比存储器快)可以用更少的地址位来寻址寄存器,从而可以有效改进程序的目标代码大小。编译器有效地使用寄存器;,通用寄存器型指令集结构的分类,两种主要的指令特性能够将通用寄存器型指令集结构(GPR)进一步细分。ALU指令到底有两个或是三个操作数?在ALU指令中,有多少个操作数可以用存储器来寻址,也即有多少个存储器操作数?,通用寄存器型指令集结构的分类,通用寄存器型指令集结构的分类,可以将当前大多数通用寄存器型指令集结构进一步细分为三种类型:寄存器寄存器型(RR:register-register)寄存器存储器型(RM:register-memory)存储器存储器型(MM:memory-memory),三种通用寄存器型指令集结构的优缺点,寄存器寄存器型(0,3)优点:简单,指令字长固定,是一种简单的代码生成模型,各种指令的执行时钟周期数相近。缺点:和指令中含有对存储器操作数访问的结构相比,指令条数多,因而其目标代码较大。,三种通用寄存器型指令集结构的优缺点,寄存器存储器型(1,2)优点:可以直接对存储器操作数进行访问,容易对指令进行编码,且其目标代码较小。缺点:指令中的操作数类型不同。在一条指令中同时对一个寄存器操作数和存储器操作数进行编码,将限制指令所能够表示的寄存器个数。由于指令的操作数可以存储在不同类型的存储器单元,所以每条指令的执行时钟周期数也不尽相同。,三种通用寄存器型指令集结构的优缺点,存储器存储器型(3,3)优点:是一种最紧密的编码方式,无需“浪费”寄存器保存变量。缺点:指令字长多种多样。每条指令的执行时钟周期数也大不一样,对存储器的频繁访问将导致存储器访问瓶颈问题。,指令集结构设计概观,寻址技术,在通用寄存器型指令集结构中,一般是利用寻址方式指明指令中的操作数是一个常数、一个寄存器操作数,抑或是一个存储器操作数。,寻址技术,寻址实际上是从形式地址到实际地址的转换。形式地址由指令描述,实际地址也称为有效地址。有效地址指明的是存储器单元的地址或寄存器地址。必须加速有效地址生成。,常用的一些操作数寻址方式,寄存器寻址指令实例:Add R4,R3含义:RegsR4RegsR4RegsR3立即值寻址指令实例:Add R4,#3含义:RegsR4RegsR43,常用的一些操作数寻址方式,偏移寻址指令实例:Add R4,100(R1)含义:RegsR4RegsR4Mem100+RegsR1寄存器间接寻址指令实例:Add R4,(R1)含义:RegsR4RegsR4MemRegsR1,常用的一些操作数寻址方式,索引寻址指令实例:Add R3,(R1+R2)含义:RegsR3RegsR3MemRegsR1+RegsR2直接寻址或绝对寻址指令实例:Add R1,(1001)含义:RegsR1RegsR1Mem1001,常用的一些操作数寻址方式,存储器间接寻址指令实例:Add R1,(R3)含义:RegsR1RegsR1MemMemRegsR3自增寻址指令实例:Add R1,(R2)+含义:RegsR1RegsR1MemRegsR2RegsR2RegsR2d,常用的一些操作数寻址方式,自减寻址指令实例:Add R1,-(R2)含义:RegsR2RegsR2dRegsR1RegsR1+MemRegsR2缩放寻址指令实例:Add R1,100(R2)R3含义:RegsR1RegsR1Mem100RegsR2RegsR3*d,常用的一些操作数寻址方式,偏移寻址,立即址寻址,立即址寻址,指令集结构的功能设计,一种指令集结构中的指令到底要支持哪些类型的操作呢?这就是所谓的指令集结构功能设计问题。,指令集操作的分类,指令集结构功能设计方向,一个方向是强化指令功能,实现软件功能向硬件功能转移,基于这种指令集结构而设计实现的计算机系统称为复杂指令集计算机(CISC)。八十年代发展起来的精简指令集计算机(RISC),其目的是尽可能地降低指令集结构的复杂性,以达到简化实现,提高性能的目的。,CISC指令集功能设计,面向目标程序增强指令功能提高运算型指令功能;提高传送指令功能;增加程序控制指令功能。面向高级语言和编译程序改进指令系统增加对高级语言和编译系统支持的指令功能;高级语言计算机指令系统。,CISC指令集功能设计,面向操作系统的优化实现改进指令系统主要表现在对中断处理、进程管理、存储管理和保护、系统工作状态的建立与切换等的支持。可以设置支持系统工作状态和访问方式转移的指令、支持进程转移的指令、支持进程同步和互斥的指令等措施,达到优化实现操作系统的目的。,RISC指令集功能设计,CISC结构存在着如下缺点:在CISC结构的指令系统中,各种指令的使用频率相差悬殊。据统计,有20的指令使用频率最大,占运行时间的80。也就是说,有80的指令在20的运行时间内才会用到。CISC结构指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。,RISC指令集功能设计,CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。,RISC指令集功能设计,RISC指令集功能设计,进行RISC计算机指令集结构的功能设计时,我们并不能简单地着眼于精简指令系统上,更重要的目的是使得计算机体系结构更加简单、更加合理和更加有效,克服CISC结构的缺点,使机器速度更快,程序运行时间缩短,从而提高计算机系统的性能。,RISC指令集功能设计原则,选取使用频率最高的指令,并补充一些最有用的指令;每条指令的功能应尽可能简单,并在一个机器周期内完成;所有指令长度均相同;只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行;以简单有效的方式支持高级语言。,控制指令,“跳转”(Jump):当控制指令为无条件改变控制流时,我们称之为“跳转”。“分支”(Branch):而当控制指令是有条件改变控制流时,我们称之为“分支”。控制流程的改变情况:条件分支(conditional branch);跳转(jump);过程调用(call);过程返回(return)。,控制指令的使用频率,条件分支指令的表示,分支目标地址的表示,PC-相对寻址,过程调用和返回的状态保存,“调用者保存”(caller saving)方法:如果采用调用者保存策略,那么在一个调用者调用别的过程时,必须保存调用者所要保存的寄存器,以备调用结束返回后,能够再次访问调用者。“被调用者保存”(callee saving)方法:如果采用被调用者保存策略,那么被调用的过程必须保存它要用的寄存器,保证不会破坏过程调用者的程序执行环境,并在过程调用结束返回时,恢复这些寄存器的内容。,两种保存策略的比较,操作数的类型、表示和大小,操作数类型和操作数表示也是软硬件主要界面之一。操作数类型是面向应用、面向软件系统所处理的各种数据结构。操作数表示是硬件结构能够识别、指令系统可以直接调用的那些结构。,操作数的类型、表示和大小,操作数表示所表征的那些操作数类型,是应用软件和系统软件所处理的操作数类型的子集。,操作数的类型、表示和大小,确定操作数表示实际上也是软硬件取舍折衷的问题计算机即使只具有最简单的操作数表示,如只有整数(定点)表示法,也可以通过软件方法处理各种复杂的操作数类型,但是这样会大大降低系统的效率如果各种复杂的操作数类型均包含在操作数表示之中,无疑会大大提高系统的效率,但是所花费的硬件代价也很高,操作数的类型、表示和大小,整数(定点):二进制补码表示;其大小可以是字节(8位)、半字(16位)或单字(32位)。浮点:可以分为单精度浮点(单字大小)和双精度浮点(双字大小)。当前普遍采用的是IEEE 754浮点操作数表示标准。字符和字符串:8位ASCII码表示。,操作数的类型、表示和大小,十进制:通常采用“压缩十进制”或“二进制编码十进制”表示。压缩十进制数据表示用4位编码数字09,然后将两个十进制数字压缩在一个字节中存储。如果将十进制数字直接用字符串来表示,就叫做“非压缩十进制”表示法。提供给压缩十进制表示法和非压缩十进制表示法两者之间的相互转换的操作分别称为“压缩”与“解压”操作。,操作数的类型、表示和大小,操作数类型的表示主要有如下两种方法:操作数的类型可以由操作码的编码指定,这也是最常见的一种方法;数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从而选择适当的运算。然而有标记数据的机器却非常少见。,操作数的类型、表示和大小,一般的操作数类型大小选择主要有:字节、半字(16位)、单字(32位)、和双字(64位)。,指令集格式的设计,指令集格式的设计就是要确定操作码字段和地址码字段的大小及其组合形式,以及各种寻址方式的编码方法。设计原则:尽可能地增加寄存器数目和寻址方式类型充分考虑寄存器字段和寻址方式字段对指令平均字长的影响,以及它们对目标代码大小的影响设计出的指令集格式能够在具体实现中容易处理,寻址方式的表示方法,两种表示寻址方式的方法:一种是将寻址方式编码于操作码中,由操作码在描述指令操作的同时,也描述了相应操作的寻址方式;一种是为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。,指令集格式的选择,变长编码方式:(重点:目标代码大小)固定长度编码方式:(重点:程序执行性能),指令集格式的选择,混合型编码格式:,DLX指令集结构,Load/Store型指令集结构DLX是一种多元指令集结构体现了当今多种机器(AMD29K、DEC station 3100、HP850、IBM 801、Intel i860、MIPS M/120A、MIPS M/1000、Motorola 88k、RISC I、SGI4D/60、SPARC station 1、Sun 4/110、Sun 4/260等)的指令集结构的共同特点。还将会体现未来一些机器的指令集结构的特点。,DLX指令集结构,具有一个简单的Load/Store指令集;注重指令流水效率;简化指令的译码;高效支持编译器。,DLX指令集结构:寄存器,32个32位的通用寄存器(GPRs)。寄存器R0的内容恒为全0。,DLX指令集结构:寄存器,32个32位浮点寄存器(FPRs)。单精度浮点数表示和双精度浮点数表示。,DLX指令集结构:数据类型,整型数据:8位、16位、32位。浮点数据:32位单精度浮点;64位双精度浮点;IEEE 754标准。,DLX指令集结构:寻址方式,寄存器寻址;立即值寻址;偏移寻址;寄存器间接寻址。存储器地址宽度为32位。,DLX指令集结构:指令格式,DLX指令集结构:指令格式,DLX指令集结构:指令格式,DLX指令集结构:操作类型,Load和Store操作;ALU操作;分支和跳转操作;浮点操作。,DLX指令集结构:操作类型,符号“”表示数据传送操作,其后附带一个下标n,也即“n”表示传送一个n位数据。符号“#”用来表示两个域的串联操作,它可以出现在数据传送操作的任何一边。,DLX指令集结构:操作类型,域的下标用来表明从该域中选择某一位。域中位的标记是从最高位开始标记,并且起始标记为0。下标可以是一个单独的数字,如RegsR40表示选择寄存器R4中内容的符号位;下标也可以是一个范围,如RegsR324.31表示选择寄存器R3中内容的最低一个字节。,DLX指令集结构:操作类型,上标表示复制一个域,如024可以得到一个24位全为0的一个域。变量Mem用来表示存储器中的一个数组,存储器按照字节寻址,它可以传送任何数目的字节。,DLX指令集结构:操作类型,RegsR1016.31 16(MemRegsR80)8#MemRegsR8,00000000000000000000000000000000,R8,10000101,11111111,1111111110000101,0000000000000000 1111111110000101,R10,DLX指令集结构:操作类型,Load和Store操作:可以对DLX的所有通用寄存器和浮点寄存器进行Load(载入)和Store(储存)操作,但是对通用寄存器R0的Load操作没有任何效果。,DLX指令集结构:操作类型,DLX指令集结构:操作类型,ALU操作:在DLX中,所有的ALU指令都是寄存器寄存器型指令,其运算包含了简单的算术和逻辑运算,如加、减、AND、OR、XOR和移位。“设置相等”、“设置不等”、“设置小于”:寄存器比较指令(,),如果比较结果为真,这些指令就在目标寄存器中填入1(表示真),否则填入0(表示假)。,DLX指令集结构:操作类型,DLX指令集结构:操作类型,描述目标地址的方法:其中两种类型的跳转指令用带符号位的26位偏移量加上程序计数器的值来确定跳转的目标地址;另外两种类型的跳转指令则指定一个寄存器,由寄存器中的内容决定跳转的目标地址。,DLX指令集结构:操作类型,两种跳转类型:一种是简单跳转;另一种是跳转并链接(用于过程调用),它将下一条顺序指令地址(返回地址)保存在寄存器R31中。,DLX指令集结构:操作类型,DLX指令集结构:操作类型,浮点操作:浮点指令的操作数来源于浮点寄存器,同时它还指明了相应的操作是单精度浮点操作还是双精度浮点操作。后缀D代表双精度浮点操作;而后缀F代表单精度浮点操作(如:ADDD、ADDF、SUBD、SUBF、MULTD、MULTF、DIVD、DIVF)。DLX的浮点操作有:加、减、乘、除。,DLX中的常用指令,DLX中的常用指令,DLX的效能分析,问题的提出:DLX指令集结构的指令格式、寻址方式和操作都非常简单。也许有人会担心,这些特性会使得目标代码中指令条数增多,导致程序运行时间加长,从而使这种指令集结构的机器性能并不会太高。,DLX的效能分析,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开