Page 39 - 《软件学报》2025年第9期
P. 39
3950 软件学报 2025 年第 36 卷第 9 期
个功能单元设计了硬件 3 配置, 如表 7 所示. 我们在该硬件配置下实施理论模型和混合调度, 以便验证本文理论模
型的可扩展性.
表 7 3 种功能单元配置下的硬件
功能单元 硬件1 硬件2 硬件3
FU0 ALU、LOAD ALU ALU
FU1 ALU、STORE、JUMP ALU、LOAD ALU
FU2 - ALU、SOTRE ALU
FU3 - JUMP ALU、LOAD
FU4 - - ALU、STORE
FU5 - - JUMP
表 8 给出了 CoreMark 在表 7 的 3 种硬件下对应的准确率、精确率、 召回率和 F1 值. 可以看出, 当硬件变化
时, 本文的 IPC 理论模型仍然能得到较高的准确率. 这验证了我们的 IPC 理论模型和混合调度的可扩展性.
表 8 3 种硬件配置下的 IPC 理论模型评价指标 (%)
指标 硬件1 硬件2 硬件3
准确率 89.91 98.46 95.51
精确率 100.00 100.00 100.00
召回率 89.66 96.63 95.46
F1值 94.73 98.34 97.68
6.7 AlexNet 的实验结果
本文选用 DSP 领域中 AlexNet 这一经典神经网络对本文提出的 IPC 理论模型的准确率进行评测. 图 14 给出
了表调度、规划调度和理论模型在 AlexNet 上的表现. AlexNet 在本文编译工具链下共有 5 726 个调度区域. 其中,
有 95.93% 的调度区域理论模型给出的 IPC 等于规划调度的 IPC, 有 3.62% 的调度区域理论模型与规划调度仅有
1 个 cycle 的差距. 为了说明混合调度算法中理论模型降低了多少复杂度, 即有多少调度区域仅需表调度即可达到
最优解, 图 14 中也给出了理论模型和表调度的 IPC 的差值分布. 可以看出, AlexNet 中有 94.72% 的调度区域理论
模型与表调度的 IPC 相同, 因此仅有 2.58% 的调度区域需再次进行规划调度.
6 000
5 4935 424
理论模型与规划调度结果的 cycle 差值
5 000 理论模型与表调度结果的 cycle 差值
调度区域个数 4 000
3 000
2 000
1 000
207 256
0 17 28 9 13 0 4 0 1
0 1 2 3 4 7
图 14 AlexNet 中不同 cycle 数差值调度区域个数统计
6.8 个例分析
本文的理论模型得到的是 IPC 上界 (cycle 下界), 而非上 (下) 确界. 图 15 举例说明了理论模型无法得到 IPC
上确界 (cycle 下确界) 的场景和原因. 图 15(a)、(b) 分别为不同调度区域的依赖图, 能够在同一个 cycle 执行的指
令用虚线圆圈一起. 可以看出, 图 15(a) 最优 cycle 为 4, 但理论模型给出的 cycle 为 3. 图 15(b) cycle 为 3, 理论模
型给出的 cycle 为 3. 易知: 图 15(a) 论模型给出的 cycle 不是下确界, 原因为指令 1 和指令 3 均为 LOAD 指令, 而
由于硬件资源限制 (只有 1 个 LOAD 执行单元), 指令 1 和指令 3 不能在同一个 cycle 执行, 必须分在 2 个 cycle 先
后执行. 而在数据流分析中, 指令 4 作为交汇点, 无法精确感知两条前驱路径精确的资源冲突. 即在本文的 IPC 理

