3K+ 浏览量
共享内存 MIMD 架构被称为多处理器。它可以考虑一组处理器和一组内存模块。任何处理器都可以通过互连网络直接访问任何内存模块,如图所示。内存模块集表示所有处理器共享的全局地址空间。这种类型的并行机称为共享内存 MIMD 架构。共享内存 MIMD 架构的优点共享内存 MIMD 架构具有以下优点:无需对代码或数据进行分区,因此可以简单地使用单处理器编程方法… 阅读更多
6K+ 浏览量
分布式内存 MIMD 架构被称为多计算机。它可以复制处理器/内存对并通过互连网络将它们链接起来。处理器/内存对被称为处理单元 (PE),PE 或多或少地彼此分离地工作。只要它们之间通过消息传递进行交互,一个 PE 就不能直接访问另一个 PE 的内存。此类 MIMD 机器称为分布式内存 MIMD 架构或消息传递 MIMD 架构。在分布式内存 MIMD 机器中,每个处理器都有其内存位置。每个处理器都没有关于其他处理器内存的明确知识。要传输数据,… 阅读更多
1K+ 浏览量
受保护执行是一种至少部分消除条件分支的方法。其思想是在体系结构中引入条件操作指令并使用它们来替换条件分支。条件操作指令称为受保护指令。受保护指令由两部分组成,一部分是条件部分,称为保护,另一部分是操作部分,它是传统指令。例如,它可以表示为:(保护) 指令受保护指令的执行取决于以下条件:如果指定的保护为真,则将执行关联的指令;如果保护结果为假,则… 阅读更多
多路分支是减少分支惩罚的另一种可能性。使用多路分支,将同时执行未解决条件分支的顺序路径和已获取路径,如图所示。多路分支需要多个程序计数器 (PC),在图中称为 IFA1 和 IFA2。一旦解决指定的条件,哪个路径是正确的就变得很明显。如果正确路径是顺序路径,则将确认其执行并丢弃已获取路径执行,因此,IFA1 包含正确的连续地址。在相反的情况下,反之亦然。在条件分支的推测执行期间,… 阅读更多
195 浏览量
分支处理包括基本任务,例如指令获取、解码和 BTA 计算,以及可能的其他专用任务以加快分支处理速度。这些专用任务可能是早期分支检测、分支预测或访问目标路径的高级方案。通常,专用任务使用专用硬件执行,例如 BTAC、BTIC 或 BHT。基本任务有两种方法。所有早期的流水线处理器和许多最近的处理器都通过利用可用于通用指令处理的流水线阶段来执行分支,如图所示:相比之下,一些最近的处理器提供了一个单独的单元,通常称为… 阅读更多
65 浏览量
这是最近引入的用于访问分支目标的最新方案,在一些最近发布的处理器(例如 Am29000 超标量、K5 和 UltraSparc)中使用。在这里,基本思想是为 I 缓存中的每一行附加一个后继索引,该索引指向要获取的下一行,如图所示。在所有处理器中,每个缓存行可以包含 16 字节的指令。这意味着在 AM29000 超标量和 UltraSparc 中,缓存行包含 4 条指令,而在与 x86 兼容的 K5 中,则包含可变数量的 CISC 指令。后继索引获取… 阅读更多
158 浏览量
此方案仅偶尔使用,在由于 I 缓存延迟过长而导致已获取惩罚过高的情况下。BTIC 方案的基本思想是提供一个小的额外缓存,该缓存为已获取或预测已获取的分支提供分支目标指令或指定数量的 BTI,而不是 BTA。因此,可以将其他未使用的流水线周期填充目标指令。BTIC 方案有两种替代实现,如图所示。在第一个中,已获取路径的延续的地址也存储在… 阅读更多
347 浏览量
此方案使用一个更大的缓存(称为分支目标地址缓存 (BTAC))来加速对分支目标的访问,如图所示。BTAC 包含一组当前使用的分支地址和分支目标地址,并且相对访问。当实际指令获取地址是分支地址时,并且 BTAC 中存在等效条目,则分支目标地址将与分支指令在同一周期内获取。然后,此 BTA 用于在下一个周期内访问分支目标指令。分支目标地址缓存 (BTAC) 包含分支目标… 阅读更多
244 浏览量
此方案是访问分支目标的常用方法。首先,分支目标地址 (BTA) 由流水线或专用加法器评估。因此,获取匹配的分支目标指令 (BTI)。在当前处理器中,这定义了对 I 缓存的访问,而在没有 I 缓存的初始流水线处理器中,则访问内存。如图所示,位进入计算/获取方案的详细信息。指令获取地址 (IFA) 保存在指令获取地址寄存器 (IFAR) 中,在顺序环境中通常称为程序计数器 (PC)。它可以启动… 阅读更多
156 浏览量
需要实现两个基本任务:丢弃推测执行的结果并恢复备用路径(即真实路径)的执行,如图所示。当有多个挂起的条件分支时,应选择并遵循相应的备用路径。在从错误预测的已获取路径中恢复时,作为准备从错误预测中恢复的准备,处理器必须存储顺序保留的地址,然后才能启动猜测的已获取路径的执行。如果以前预取的顺序指令未被丢弃,而是… 阅读更多