网站大量收购独家精品文档,联系QQ:2885784924

指令系统(n).ppt

  1. 1、本文档共161页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指令系统(n)

第二章 指令系统;*;*;第二章 指令系统;2.1 数据表示;*;*;*;*;*;访问不同操作数大小的频率(SPEC基准程序 );2.1.2 浮点数据表示;;*;*;*;*;*;;2.2 寻址技术;2.2 寻址技术;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;2.3 指令格式的优化设计;*;*;*;*;*;例:假设某模型机有7条指令,这些指令的使用频度如表所示。 (1) 计算这7条指令的操作码编码的最短平均码长; (2) 画出哈夫曼树,写出这7条指令的哈夫曼编码,并计算该编码的平均码长和信息冗余量。 ;*;*;*;*;*;*;*;*;*;*;序号;序号;*;*;*;*;*;*;*;通用寄存器型结构:现代指令系统结构的主流;ALU指令中存 储器操作数的个数 ;指令系统结构类型 ;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;8086/8088指令编码由1~6个字节组成,它包括操作码(第一字节)、寻址方式(第二字节)和操作数(第三到第六字节)三部分组成。;*;*;2.4 指令系统的功能设计;*;*;*;*;*;*;*;*;*;2.5 精简指令系统;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;例如:指令K:add a b→c 指令K+1:subtract e c →d;2.5.4 RISC关键技术--延时转移技术; 无条件转移指令的延迟执行;条件转移指令的延迟执行;RISC关键技术—指令取消技术;(2) 向前转移(IF THEN );RISC关键技术;RISC关键技术——以硬件为主固件为辅;1、32个64位通用寄存器(GPRs) R0,R1,…,R31 也称为整数寄存器 R0的值永远是0 2、32个64位浮点数寄存器(FPRs) F0,F1,…,F31;用来存放32个单精度浮点数(32位),也可以用来存放32个双精度浮点数(64位)。 存储单精度浮点数(32位)时,只用到FPR的一半,其另一半没用。 3、一些特殊寄存器 它们可以与通用寄存器交换数据。 例如浮点状态寄存器:用来保存有关浮点操作结果的信息。 ;MIPS的数据表示 整数 字节(8位) 半字(16位)字(32位) 双字(64位) 浮点数 单精度浮点数(32位) 双精度浮点数(64位) 字节、半字或者字在装入64位寄存器时,用零扩展或者用符号位扩展来填充该寄存器的剩余部分。装入以后,对它们将按照64位整数的方式进行运算。;2.6.3 MIPS的数据寻址方式;2.6.4 MIPS的指令格式;;load指令 访存有效地址:Regs[rs]+immediate 从存储器取来的数据放入寄存器rt store指令 访存有效地址:Regs[rs]+immediate 要存入存储器的数据放在寄存器rt中 立即数指令 Regs[rt] ← Regs[rs] op immediate 分支指令 转移目标地址:Regs[rs]+immediate,rt无用 寄存器跳转、寄存器跳转并链接 转移目标地址为Regs[rs];;;2.6.5 MIPS的操作;下标:表示字段中具体的位; 对于指令和数据,按从最高位到最低位(即从左到右)的顺序依次进行编号,最高位为第0位,次高位为第1位,依此类推。 下标可以是一个数字,也可以是一个范围。     例如:Regs[R4]0:寄存器R4的符号位     Regs[R4]56-63:R4的最低字节 Mem:表示主存; 按字节寻址,可以传输任意个字节。 上标:用于表示对字段进行复制的次数。 例如:0 32:一个32位长的全0字段;符号##:用于两个字段的拼接,并且可以出现在数据传送的任何一边。 举例:R8、R10:64位的寄存器,则 Regs[R8]32-63 ←32 (Mem [Regs[R6]]0)24 ## Mem [Regs[R6]] 表示的意义是: 以R6的内容作为地址访问内存,得到的字节按符号位扩展为32位后存入R8的低32位,R8的高32位(即Regs[R8]0-31)不变。 ;3、load和store指令;4、ALU指令 寄存器-寄存器型(RR型)指令或立即数型 算术和逻辑操作:加、减、与、或、异或和移位等;R0的值永远是0,它可以用来合成一些常用的操作。 例如: DADDIU R1,R0,#100 给寄存器R1装入常数100 DADD R1,R0,R2

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档