12 CPU结构和功能.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文档。上传文档
查看更多
12 CPU结构和功能

S.J.T.U. 流水线的性能 执行n条指令,无转移发生,总的所需时间: Tk,n = [k + (n – 1)] τ 加速比(使用流水线相对于不使用流水线) Sk = T1,n / Tk, n = nkτ / [k + (n – 1)]τ = nk / [k + (n-1)] S.J.T.U. 加速比的关系图 S.J.T.U. 加速比的关系图 S.J.T.U. 转移处理 多指令流 预取转移目标 循环缓冲器 转移预测 延迟转移 S.J.T.U. 多指令流 两条或以上的流水线 将每个分支带入不同的流水线 会增加对寄存器或存储器的竞争 在原先的转移没解决之前,可能会出现新的转移 S.J.T.U. 预取转移目标 识别出条件转移后,将两个分支的指令都取来。 直到某分支被执行 IBM 361/91使用这种策略 S.J.T.U. 循环缓冲器 高速存储器 由流水线的取指阶段维护 含n条最近取来的顺序指令 转移发生时,检查转移目标是否已存在 非常适用于循环 有点类似于Cache S.J.T.U. 循环缓冲器框图 S.J.T.U. 转移预测(静态) 转移绝不发生 总是取下一条指令 68020和VAX 11/780 如果转移后的指令引起缺页,VAX则暂停预取 转移一定发生 总是取转移目标 根据操作码预测 有些指令更倾向于跳转的发生 可达到75%以上的成功率 S.J.T.U. 转移预测(动态) 根据条件转移指令的历史情况来预测 发生/不发生开关 非常适用于循环 可以是1位或多位 转移历史表(转移目标缓冲器) 保存目标指令的地址或者目标指令本身 S.J.T.U. 一位预测的优势举例 MOV CX, 100 MOV BX, 0 MOV DX, 5000 LOOP: MOV [DX], BX ADD BX, 1 ADD DX, 1 SUB CX, 1 JNZ LOOP S.J.T.U. 转移预测框图(2位) S.J.T.U. 转移预测状态图(2位) S.J.T.U. 两位预测的优势举例 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 S.J.T.U. 转移历史表 S.J.T.U. 数据冲突 add $s0, $t0, $t1 sub $t2, $s0, $t3 S.J.T.U. S.J.T.U. S.J.T.U. S.J.T.U. S.J.T.U. S.J.T.U. * S.J.T.U. 上海交通大学 CPU结构和功能 陆海宁 hnlu@sjtu.edu.cn S.J.T.U. CPU结构 CPU需要: 取指令 解释指令(译指) 取数据 处理数据 存数据 S.J.T.U. CPU与系统总线 S.J.T.U. CPU内部结构 S.J.T.U. 寄存器 CPU总需要一些工作区域(用于临时存取) 这就是寄存器 不同的处理器,寄存器数目和功能大相径庭 位于存储器层次结构的顶层 是系统结构的一个主要设计点 S.J.T.U. 用户可见寄存器 用户可以通过机器语言方式访问 通用 数据 地址 条件代码 S.J.T.U. 通用寄存器 可能是真正的通用 也可能是受限制的 可以存放地址或者数据 通用化 增加了程序的灵活性 增加了指令的长度和复杂度 专用化 更小(更快)的指令 灵活性相对较低 S.J.T.U. 寄存器的数目 太少的寄存器导致更多的存储器访问 太多的寄存器也不能显著减少存储器的访问 一般8-32个 RISC:上百个通用寄存器 S.J.T.U. 寄存器的长度 应足以容纳完整的地址 应足以容纳整个字 可能允许两个寄存器来保存两倍长度的值 S.J.T.U. 控制和状态寄存器 指令执行相关 程序计数器(PC) 指令寄存器(IR) 存储器地址寄存器(MAR) 含有存储器位置的地址 存储器缓冲寄存器(MBR) 含有将被写入存储器的数据字或最近读出的字 S.J.T.U. 程序状态字 一组二进制位 符号 零 进位 等于 溢出 中断允许/禁止 监督 S.J.T.U. 寄存器组织举例 S.J.T.U. 指令周期 见第三章 S.J.T.U. 间址周期 取指后需要额外的存储器访问 可视为额外的指令子周期 S.J.T.U. 数据流(取指) 取决于CPU的设计 取指: PC存放下一条指令的地址 地址传送至MAR 地址送上地址总线 控制单元请求内存读取 数据放上数据总线,复制到MBR,然后到IR 期间PC自增 S.J.T.U. 数据流 取数据: 检查IR

文档评论(0)

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

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

1亿VIP精品文档

相关文档