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