名词解释-北大未名BBS
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 高体复习笔记
10208830 张栋
说明:这份笔记是我复习高体期间整理的,目前还很不完善,很多题目没有想到,也有很多列在上面的要点没有时间写上去,因为我包括整理这份笔记在内复习高体的时间只有不过一天。盼望有人能将之补充完整,或者基于此笔记整理一份更详细的以饷师弟师妹,甚谢甚谢!(如有人愿补充,请在页脚处注明版本号、整理人及修改日期以防冲突。)
名词解释
1. BHT
2. BTAC/BTB
要点:
用一个缓冲站来存储分支后面的下一条指令地址,这种缓冲站叫做分支目标缓冲站(BTB )或分支目标高速缓存(BTAC )
3. Reorder Buffer
要点:
按FIFO 即指令发射的次序存放指令
每个表项包括:PC ,目标寄存器,结果,意外状态
当指令执行完成时,将结果放在ROB
像保留站为其他介于执行、完成、提交的指令提供操作数
将结果用ROB 的编号来标记
指令提交->将ROB 顶部的数值放到寄存器中
这样就易于实现错误预测路径或一次意外中的推测
指令推测错误时只需从ROB 中去掉该指令并从正确的后继开始执行。
4. Rename Register/重命名
要点:
指令中的寄存器被数值或指向保留站的指针代替,这一过程称为寄存器换名;消除了WAR/WAR 冒险,保留站比寄存器多,所以可以完成优化编译器所不能完成的调度
5. 显式寄存器重命名
要点:
显式寄存器重命名使用比ISA 所说明的寄存器数量要大的物理寄存器堆
使用变换表(translation table )完成ISA reg->物理寄存器的映射,当寄存器写时为写的每一条指令从freelist 里分配新的物理寄存器,指令不active 时回收。
6. Trace Cache
7. SuperScalar/MultiScalar
8. CMP/SMT/SMP/Cluster/ MPP
9. DSM
2 要点:物理上分开的存储器能够作为逻辑上共享的地址空间进行寻址,任何一个处理器能够通过引用地址的方式,访问任意节点上的存储器。 10.
SIMD/MIMD 要点:同一条指令被多个使用不同数据流的处理器执行。 11.
MIMD 要点:其中每个处理器取用自己的指令并对自己的数据进行操作。 12.
UMA/NUMA/NORMA 要点:不同处理器访问memory 的时间相同/不同 13.
Multicomputer 要点:没有远程内存访问,通过send/recv 进行网络访问 14.
精确中断 15.
(M,N )预测器 要点: 使用前m 个分支行为去从2^m 个分支预测中进行选择,每一个预测分支对应于单个分支的n 位预测器。 16.
trace scheduling 要点:trace scheduling 分作两步: 1) 踪迹选择。从一个基本块中发现(静态分析预测)执行代码序列中最可能执行的代码序列; 2) 踪迹压缩。将踪迹挤压成一些VLIW 指令,踪迹调度把操作尽可能早地提前执行。 17.
结构冒险/数据冒险/资源冒险 18.
三种数据相关:RAW/W AR/WAW 19.
Delay Slot 的三种调度: 20.
从前,从目标(只是taken 时有效),跳下(not taken 时有效) 21.
Cancelling Branch 要点:错误预测时延迟槽指令squash 22.
访问的局部性-时间/空间局部性 23.
TLB 24.
循环展开 vs 软件流水 循环展开:从减少循环开销方面 软件流水:减少循环执行时间 25.
软件流水 要点:使用软件调度的方法对循环进行重构,消除/降低每个loop 内的相关。
最大化结果,比展开代码空间小,每个循环填充和排出流水线一次 记住Loop Unrooling 和Software Pipelining 的对比图 26.
保留站 27.
CDB 28.
Speculation 要点: 动态branch 预测来选择要执行的指令或对数据值进行预测; 允许控制相关解决前指令的执行;(要求能够消除错误speculative 序列时所产生的效果)
动态调度能够处理不同的基本块的组合 其执行的本质是数据流执行:当操作数可用时开始操作。
3
29. VLIW
要点:
VLIW 使用多个互相不相关的功能部件,不是努力去发射多个互不相关的指令到功能部件中,而是把多个操作封装到一条非常长的指令中。决定哪几条指令可以同时发射的任务交由编译器完成。
相关技术:全局调度去发现可以并行发射的指令,例如循环展开并对代码调度进行优化。
30. 指令窗口
要点:
为了同时执行而被检测的指令集合,限制了可以检测的指令数目,也限制了可发射指令的最大指令条数。
31. 义务失效/冲突失效/容量失效
32. Victim Cache
33. 伪相联/伪命中
34. Non-blocking Cache/Lockup-free Cache
要点:CPU 在等待cache 返回缺失数据的同时可以继续cache 访问。需要多端口,严重增加了cache 控制的复杂性。
35. 提前重启
要点:一旦块中所需字到达,就立即把它送到CPU ,使CPU 继续执行。
36. 关键字先送
要点:首先向存储器请求缺失的字,然后一旦它到了就把它发送到CPU 中,让CPU 继续执行,同时装入块中其他字。
37. 局部失效率/总失效率
要点:这一级cache 的miss 数除以对这一级cache 的访问总数 vs CPU 产生的访问总数。 38. hit under miss/hit under multiple miss/miss under miss
39. 流缓冲器(stream buffer )
40. cache 技术中的读比写优先
要点:
带write buffer 的write through :读失效时查看write buffer ,如果没有冲突而且存储器系统可以访问,就然读失效继续。
Write back :把脏块拷贝到一个缓冲区后就去读下层存储器,然后在将该脏块写入下层 存储器,而不是相反。
41. 比较共享存储和消息传递模型
要点:
共享存储易于在小规模机器上实现,易于编程,低时延,易于使用硬件控制的cache 技术。消息传递使用硬件少,易于设计。
42. 刻画并行机器的三个要点
要点:命名、同步、时延和带宽
43. SCSI
要点:即小型计算机系统接口。SCSI 协议包括控制器和SCSI 设备之间进行特定动作的一系列状态。包括:
44. n 位计数器