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

高体复习笔记.doc

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

高体复习笔记 PAGE PAGE 1 Version 0.5 整理人张栋;最后整理日期 2003-6-25 高体复习笔记张栋 说明:这份笔记是我复习高体期间整理的,目前还很不完善,很多题目没有想到,也有很多列在上面的要点没有时间写上去,因为我包括整理这份笔记在内复习高体的时间只有不过一天。盼望有人能将之补充完整,或者基于此笔记整理一份更详细的以饷师弟师妹,甚谢甚谢!(如有人愿补充,请在页脚处注明版本号、整理人及修改日期以防冲突。) 名词解释 BHT BTAC/BTB 要点: 用一个缓冲站来存储分支后面的下一条指令地址,这种缓冲站叫做分支目标缓冲站(BTB)或分支目标高速缓存(BTAC) Reorder Buffer 要点: 按FIFO即指令发射的次序存放指令 每个表项包括:PC,目标寄存器,结果,意外状态 当指令执行完成时,将结果放在ROB 像保留站为其他介于执行、完成、提交的指令提供操作数 将结果用ROB的编号来标记 指令提交-将ROB顶部的数值放到寄存器中 这样就易于实现错误预测路径或一次意外中的推测 指令推测错误时只需从ROB中去掉该指令并从正确的后继开始执行。 Rename Register/重命名 要点: 指令中的寄存器被数值或指向保留站的指针代替,这一过程称为寄存器换名;消除了WAR/WAR冒险,保留站比寄存器多,所以可以完成优化编译器所不能完成的调度 显式寄存器重命名 要点: 显式寄存器重命名使用比ISA所说明的寄存器数量要大的物理寄存器堆 使用变换表(translation table)完成ISA reg-物理寄存器的映射,当寄存器写时为写的每一条指令从freelist里分配新的物理寄存器,指令不active时回收。 Trace Cache SuperScalar/MultiScalar CMP/SMT/SMP/Cluster/ MPP DSM 要点:物理上分开的存储器能够作为逻辑上共享的地址空间进行寻址,任何一个处理器能够通过引用地址的方式,访问任意节点上的存储器。 SIMD/MIMD 要点:同一条指令被多个使用不同数据流的处理器执行。 MIMD 要点:其中每个处理器取用自己的指令并对自己的数据进行操作。 UMA/NUMA/NORMA 要点:不同处理器访问memory的时间相同/不同 Multicomputer 要点:没有远程内存访问,通过send/recv进行网络访问 精确中断 (M,N)预测器 要点: 使用前m个分支行为去从2^m个分支预测中进行选择,每一个预测分支对应于单个分支的n位预测器。 trace scheduling 要点:trace scheduling分作两步: 踪迹选择。从一个基本块中发现(静态分析预测)执行代码序列中最可能执行的代码序列; 踪迹压缩。将踪迹挤压成一些VLIW指令,踪迹调度把操作尽可能早地提前执行。 结构冒险/数据冒险/资源冒险 三种数据相关:RAW/WAR/WAW Delay Slot的三种调度: 从前,从目标(只是taken时有效),跳下(not taken时有效) Cancelling Branch 要点:错误预测时延迟槽指令squash 访问的局部性-时间/空间局部性 TLB 循环展开 vs 软件流水 循环展开:从减少循环开销方面 软件流水:减少循环执行时间 软件流水 要点:使用软件调度的方法对循环进行重构,消除/降低每个loop内的相关。 最大化结果,比展开代码空间小,每个循环填充和排出流水线一次 记住Loop Unrooling和Software Pipelining的对比图 保留站 CDB Speculation 要点: 动态branch预测来选择要执行的指令或对数据值进行预测; 允许控制相关解决前指令的执行;(要求能够消除错误speculative序列时所产生的效果) 动态调度能够处理不同的基本块的组合 其执行的本质是数据流执行:当操作数可用时开始操作。 VLIW 要点: VLIW使用多个互相不相关的功能部件,不是努力去发射多个互不相关的指令到功能部件中,而是把多个操作封装到一条非常长的指令中。决定哪几条指令可以同时发射的任务交由编译器完成。 相关技术:全局调度去发现可以并行发射的指令,例如循环展开并对代码调度进行优化。 指令窗口 要点: 为了同时执行而被检测的指令集合,限制了可以检测的指令数目,也限制了可发射指令的最大指令条数。 义务失效/冲突失效/容量失效 Victim Cache 伪相联/伪命中 Non-blocking Cache/Lockup-free Cache 要点:CPU在等待cache返回缺失数据的同时可以继续cache访问。需要多端口,严重增加了cache控制的复杂性。 提前重启 要点:一旦块中所需

文档评论(0)

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

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

1亿VIP精品文档

相关文档