计算机体系结构中分支处理的设计空间是什么?


分支处理有两种方法,例如分支处理的布局及其分支处理的微体系结构实现,如图所示。分支处理包括三大子任务:分支检测、处理未决条件分支以及访问分支目标路径。

第一个方面是**分支检测**。最初,处理器在指令解码期间检测分支。但是,处理器越早识别分支,就可以越早启动分支处理,惩罚也就越少。因此,新方案试图尽早遇到分支。

最先进的分支检测技术避免了显式解码。相反,分支检测被统一到指令提取结构中。这种方案被称为集成指令提取和分支检测。

指令提取结构得以延续,以便它可以识别下一个要提取的指令是否是分支。每个检测到的分支都被猜测为已执行,并且除了下一条顺序指令之外,还可以提前提取分支的目标地址甚至目标指令。

布局的下一个方法是**处理未决条件分支**。如果在分支处理期间计算时,确定的条件尚不可访问,则可以指示条件分支未决。在引用条件被接受之前,无法计算条件分支。

例如,如果指定的条件定义了先前指令结果的符号,则评估的先决条件是先前指令已执行。在引用条件变得已知之前,条件分支是未决的。

分支处理布局的最后一种方法是如何**访问分支目标路径**。“已执行”猜测的分支惩罚很大程度上取决于如何访问分支目标路径。当前的处理器使用四种基本技术之一:计算/提取方案、BTAC(分支目标访问缓存)方案、BTIC(分支目标指令缓存)方案以及 I 缓存中的后继索引方案。

分支处理的下一阶段是**分支处理的微体系结构实现**。分支处理包含基本功能,包括指令提取、解码和 BTA 计算,以及可能的其他专用功能以加快分支处理速度。

这些专用功能可以是早期分支检测、分支预测或访问目标路径的先进方案。专用功能使用专用硬件实现,例如 BTAC、BTIC 或 BHT。

更新于:2021年7月23日

421 次浏览

启动你的职业生涯

通过完成课程获得认证

开始
广告