12CPU结构和功能1资料.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
12CPU结构和功能1资料.ppt

3.控制相关(控制冒险) 控制相关冲突是由条件转移指令引起的。当执行条件转移指令时,依据转移条件产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。 为了减小转移指令对流水线性能的影响,常用以下转移处理技术: 控制冒险(分支冒险) 处理分支指令 多个指令流 两条或以上的流水线,将每个分支带入不同的流水线 预取分支目标 识别出条件转移后,将两个分支的指令都取来。直到某分支被执行 分支预测(静态) 预测转移绝不发生 总是取下一条指令 预测转移一定发生 总是取转移目标 根据操作码预测 有些指令更倾向于跳转的发生 可达到75%以上的成功率 转移预测(动态) 根据条件转移指令的历史情况来预测 发生/不发生开关 非常适用于循环 可以是1位或多位 转移历史表(转移目标缓冲器) 保存目标指令的地址或者目标指令本身 一位预测的优势举例 MOV CX, 100 MOV BX, 0 MOV DX, 5000 LOOP: MOV [DX], BX ADD BX, 1 ADD DX, 1 SUB CX, 1 JNZ LOOP 转移预测框图(2位) 转移预测状态图(2位) 两位预测的优势举例 MOV AX, 100 LOOP1: MOV CX, 100 MOV BX, 0 MOV DX, 5000 LOOP2: ADD [DX], BX ADD BX, 1 ADD DX, 1 SUB CX, 1 JNZ LOOP2 SUB AX, 1 JNZ LOOP1 RISC流水 大多数指令是寄存器到寄存器的 两阶段执行 I:取指 E:执行 (ALU操作,带寄存器输入输出) 对于装入和存储操作 I:取指 E:执行 计算存储器地址 D:存储 寄存器到存储器或存储器到寄存器 流水线的效果 流水线的优化 延迟转移 转移指令直到下一条指令才产生影响 转移指令后安排一条有用的指令替代空操作 延迟槽 转移指令之后的指令位置成为延迟槽 正常和延迟的转移 Address Normal Branch Delayed Branch Optimized Delayed Branch 100 LOAD X, rA LOAD X, rA LOAD X, rA 101 ADD 1, rA ADD 1, rA JUMP 105 102 JUMP 105 JUMP 106 ADD 1, rA 103 ADD rA, rB NOOP ADD rA, rB 104 SUB rC, rB ADD rA, rB SUB rC, rB 105 STORE rA, Z SUB rC, rB STORE rA, Z 106 ? STORE rA, Z ? 延迟转移的使用 * * * 风格发挥 * 风格发挥 * 风格发挥 * * * * * * * * * ALU 累加器AC 操作控制器 时序产生器 指令译码器 ADD 30 000 006 000 022 000 030 IR DR AR PC 时钟 状态反馈 取操作数并执行加法运算 ABUS DBUS ? 地址 内容 20 CLA 21 ADD 30 22 STA 40 23 NOP 24 JMP 21 …… …… 30 000 006 31 40 存和数 2 3 4 5 STO指令的指令周期 STO 40是一条访内的存数指令,需三个CPU周期。 取指令 PC+1 对指令 译码 执行操作 (写存) 送操作数 地址 开始 取指令阶段 执行指令阶段 送操作数 取下条指 令PC+1 1.取指令 2.送操作数地址 3.存储结果 第三个CPU周期完成将AC内容送缓冲寄存器,然后再存入到所选定的存储单元(40)中,其数据通路如下图。在此阶段,CPU完成如下动作: (1)AC的内容(6)被传送到数据缓冲寄存器 (2)把DR的内容(40)发送到AR,再发送到ABUS,40为将要存入的数据6的内存单元号 (3)把DR的内容(6)发送到DBUS (4)数据总线上的数写入所选的存储单元 ALU 累加器AC 操作控制器 时序产生器 指令译码器 STA 40 000 006 000 023 000 040 IR DR AR PC 时钟 状态反馈 ABUS DBUS ? 地址 内容 20 CLA 21 ADD 30

文档评论(0)

love + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档