紧密耦合可重构加速器的控制数据流图处理
1. 引言
在数据流图(DFG)中处理分支指令并将其扩展为条件数据流图(CDFG)具有重要意义。通过扩展DFG以包含多个分支指令并生成CDFG,能够避免大量简单静态数据流图(SSDFG)的生成。对于控制指令,有时只有取或不取分支是热点,而有时两个方向都是热点。当两个方向都是热点时,覆盖这两个方向有助于生成更大的CDFG,从而获得更多的并行性并消除分支预测错误的惩罚。此外,加速器的架构需要进行修改以执行CDFG,同时需要合适的算法来考虑加速器的规格生成CDFG。
2. 支持条件执行的架构基本要求
为了在加速器中支持条件执行,需要为加速器添加分支指令执行的能力。假设所提出的加速器是一种粗粒度可重构硬件,它是一个由功能单元(FU)组成的矩阵,各FU之间有特定的连接。每个FU类似于处理器的算术逻辑单元(ALU),可以执行指令级操作。
在DFG中,节点(指令)从单一源接收输入,而在CDFG中,节点可以根据分支生成的不同路径有多个源。在运行时,根据分支结果选择正确的源。例如,在adpcm(enc)循环的一部分中,节点8的一个输入可能来自节点5或7,节点6中的分支结果决定了应选择哪一个。CDFG生成输出数据的节点也会根据分支结果改变。因此,加速器需要具备一些设施来支持条件执行并生成有效的输出数据。
谓词执行是一种有效的技术,可消除在指令级并行(ILP)处理器上运行的程序的控制依赖。在谓词执行中,控制依赖本质上通过谓词转化为数据依赖。谓词是一个布尔变量,用于表示控制指令的控制信息,并使与之关联的后续指令无效。如果谓词变量被评估为假,后续指令将变为空操作。具有谓词执行功能的架构需要进行重大改变,因为每个指令都可以被谓词化,并且
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



