Page 36 - 《软件学报》2025年第9期
P. 36
李奕瑾 等: 基于 RISC-V VLIW 架构的混合指令调度算法 3947
为了更为详细地展示启发式规则对表调度性能的影响, 图 9 给出了 CoreMark 中各函数在表调度 (是/否增加
启发式规则) 下的 IPC. 通过引入启发式规则, IPC 平均从 1.74 提升到 1.80, 提升了 3.09%.
3.0
IPC IPC (新增启发式规则)
2.5
2.0
IPC 1.5
1.0
0.5
0
图 9 CoreMark 中各函数在表调度 (是/否增加启发式规则) 下的 IPC
6.4 IPC 理论模型的性能评估
图 10 给出了 CoreMark 中调度区域内指令数的分布统计. CoreMark 在本文编译工具链下共有 446 个调度区
域, 其中 59.19% 的调度区域内指令数小于等于 4, 有 88.12% 的调度区域内指令数小于等于 10. 这使我们对调度
区域的规模有了大致的了解.
100
90 87
80 61
调度区域个数 60 59 57 39
70
50
40
30
20 27 19 24
12
10 8 4 8 4 5 3 5 4 2 2 1 1 1 1 1 1 1
0 1 1 2 1 2 1 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 22 23 25 27 29 30 31 32 33 34 45 55 69 88135
调度区域内指令数
图 10 CoreMark 中调度区域内指令数分布统计图
本文使用规划调度求得的最优解来评估 IPC 理论模型. 图 11(a) 给出了 IPC 理论模型与规划调度算法的最优
解对应的 IPC 的差值分布. 可以看出, 在 446 个调度区域中, 有 95.52% (426 个) 的调度区域理论模型给出的 IPC
就是最优解的 IPC, 仅有 4.48% (20 个) 的调度区域理论模型的 IPC 与最优解有小于等于 2 个 cycle 的差距.
为了说明混合调度算法中理论模型降低了多少复杂度, 即有多少调度区域仅需表调度即可达到最优解, 图 11(b)
给出了理论模型和表调度的 IPC 的差值分布. 可以看出, 94.62% (422 个) 的调度区域理论模型与表调度的 IPC 相
同, 5.38% (24 个) 的调度区域 cycle 数差值小于等于 3. 即在理论模型的指导下, 94.62% 的调度区域在表调度下即
可认定达到最优解, 仅有 5.38% 的调度区域需再次进行规划调度.
由于理论模型在混合调度中实际被用于分类 (即判断表调度是否在一个调度区域内达到了最优解), 因此可以
用衡量分类模型性能的指标来评估 IPC 理论模型. 表 3 给出了真正 TP、假正 FP、假负 FN、真负 TN 的值, 用于
计算表 4 中的评价指标, 即准确率、精确度、召回率和 F1 值.

