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

数据表示寻址方式和指令系统.ppt

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

* * * CISC与RISC的主要特征对比 功 能 CISC RISC 指令系统 复杂、庞大 简单、精确 指令条数 200 100 指令格式 4 4 寻址方式 4 4 指令字长 不固定 32bit 可访存指令 不加限制 只有LOAD/STORE 各种指令使用频率 相差太大 相差不大 各种指令执行时间 相差太大 绝大多数一周期完成 优化编译系统 很难 较容易 程序源代码长度 短 长 控制逻辑实现方式 绝大多数微程序控制 绝大多数为硬连线控制 主要RISC产品 DEC公司 Alpha 21064,21066, 21164 ,21264,21364-end MIPS公司(SGI公司) R3000,R4000,R8000,R10000,R12000, R14000,R18000 IBM, Motorola ,Apple PowerPC 601,602,603,603E,604,615,620,630,640 Power3、Power4、Power4+、Power5 HP公司 PA-RISC8000:8800,8700,8900 SUN公司 SPARC MicroSPARC, SuperSPARC,UltraSPARC I,II,III,IV,V RISC结构采用的基本技术 遵循按RISC机器一般原则设计的技术 在逻辑上采用硬联实现和微程序固件实现相结合的技术 在CPU中设置数量较大的寄存器组,并采用重叠寄存器窗口的技术 指令的执行采用流水和延迟转移技术 采用认真设计和优化编译系统设计的技术 重叠寄存器窗口技术 提出:伯克利RISC小组提出的 目标:缩短CALL、RETURN操作时间 方法:将设置的大量的寄存器,分成多个组和全局区;每个组中分高、本地、低三个区;相邻组的高、低区重叠,加速参数与结果的传递。 结果:节省了保存现场和恢复现场等辅助时间。 R31C ··· R26C R25C ··· R16C 高 局 R15C ··· R10C 低 过程C R31A ··· R26A R25A ··· R16A 高 局 R15A ··· R10A 低 过程A R31B ··· R26B R25B ··· R16B 高 局 R15B ··· R10B 低 过程B 0 9 84 89 90 99 100 105 106 115 116 121 122 131 132 137 R9A ··· R0A R9B ··· R0B R9C ··· R0C 全局 出C 出B/入C 出A/入B 入A 局部A 局部B 局部C OUTC 局部C 局部B 局部A INA OUTA INB OUTB INC B-C 窗口重叠 A-B 窗口重叠 延迟转移技术(Delayed Branch) 实际上是对流水线的优化。 将转移指令与其前面的一条或多条指令对换位置,让成功转移总是在紧跟的指令执行之后发生,从而使预取的指令不作废,节省一个机器周期。 无条件转移指令的延迟执行 延迟转移技术 延迟转移技术 条件转移指令的延迟执行 调整前的指令序列: 1:MOVE R1, R2 2:CMP R3, R4 ;(R3)与(R4)比较 3:BEQ EXIT ;如果(R3)=(R4)则转移 … NEXT: MOVE R4, A 调整后的指令序列: 1:CMP R3, R4 ;(R3)与(R4)比较 2:BEQ EXIT ;如果(R3)=(R4)则转移 3:MOVE R1,R2 ;被插入的指令 … NEXT: MOVE R4, A 延迟转移技术 采用延迟转移技术的两个限制条件 ① 被移动指令在移动过程中与所经过的指令之间没有数据相关 ② 被移动指令不破坏条件码,至少不影响后面的指令使用条件码 ※ 如果找不到符合上述条件的指令,必须在条件转移指令后面插入空操作 ※ 如果指令的执行过程分为多个流水段,则要插入多条指令 采用指令延时技术,经常找不到可以用来调整的指令,可考虑采用另一种方法:指令取消技术,分为两种情况: 向后转移(适用于循环程序) 实现方法:循环体的第一条指令安放在两个位置,分别在循环体的前面和后面。如果转移成功,则执行循环体后面的指令,然后返回到循环体开始;否则取消循环体后面的指令 指令取消技术 效果: 能够使指令流水线在绝大多数情况下不断流。 对于循环程序,由于绝大多数情况下,转移是成功的。 只有最后一次出循环时,转移不成功。 指令取消技术 向前转移(IF THEN ) 实现方法:如果转移不成功,执行转移指令之后的下条指令,否则取消下条指令。 例: R R R

文档评论(0)

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

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档