名词解释-北大未名BBS

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 序列时所产生的效果)

动态调度能够处理不同的基本块的组合 其执行的本质是数据流执行:当操作数可用时开始操作。

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 位计数器

相关文档
最新文档