前回の続き。もうちょっと修正して、統計情報がきちんと出るようにした。
alu[0] 53 / 245, lsu[0] 81 / 269, bru 66 / 207, csu 0 / 0, fpu[0] 0 / 0, 200 / 721 = 0.277 alu[0] 31 / 289, lsu[0] 59 / 228, bru 57 / 229, csu 0 / 0, fpu[0] 0 / 0, 147 / 746 = 0.197 alu[0] 54 / 277, lsu[0] 84 / 257, bru 62 / 225, csu 0 / 0, fpu[0] 0 / 0, 200 / 759 = 0.264 alu[0] 20 / 156, lsu[0] 28 / 141, bru 16 / 79, csu 0 / 0, fpu[0] 0 / 0, 64 / 376 = 0.170 alu[0] 25 / 170, lsu[0] 41 / 135, bru 12 / 85, csu 0 / 0, fpu[0] 0 / 0, 78 / 390 = 0.200 ====================================== Final rate 0039142 / 0226009 = 0.173 ======================================
Tinyコンフィグレーションで、全体的に17%の命令がアウト・オブ・オーダで発行できているという統計情報になった。最終的にこれはサイクル精度シミュレータで比較する必要がありそうだ。
一方で、Standardコンフィグレーションでは、全体の22%程度がアウト・オブ・オーダで発行できているという結果になっている。命令のウィンドウが大きくなったので、その分アウト・オブ・オーダでの発行能力が上がっていると考えるべきか。
alu[0] 96 / 394, alu[1] 44 / 211, lsu[0] 90 / 542, lsu[1] 42 / 122, bru 47 / 341, csu 0 / 0, fpu[0] 0 / 0, fpu[1] 0 / 0, 319 / 1610 = 0.198 alu[0] 97 / 397, alu[1] 30 / 229, lsu[0] 93 / 532, lsu[1] 41 / 98, bru 44 / 356, csu 0 / 0, fpu[0] 0 / 0, fpu[1] 0 / 0, 305 / 1612 = 0.189 alu[0] 84 / 351, alu[1] 31 / 198, lsu[0] 89 / 512, lsu[1] 28 / 91, bru 55 / 376, csu 0 / 0, fpu[0] 0 / 0, fpu[1] 0 / 0, 287 / 1528 = 0.188 alu[0] 82 / 260, alu[1] 18 / 126, lsu[0] 113 / 342, lsu[1] 21 / 47, bru 65 / 271, csu 0 / 0, fpu[0] 0 / 0, fpu[1] 0 / 0, 299 / 1046 = 0.286 alu[0] 112 / 371, alu[1] 22 / 214, lsu[0] 132 / 608, lsu[1] 54 / 135, bru 52 / 385, csu 0 / 0, fpu[0] 0 / 0, fpu[1] 0 / 0, 372 / 1713 = 0.217 alu[0] 52 / 209, alu[1] 18 / 143, lsu[0] 63 / 237, lsu[1] 5 / 6, bru 50 / 206, csu 0 / 0, fpu[0] 0 / 0, fpu[1] 0 / 0, 188 / 801 = 0.235 alu[0] 82 / 306, alu[1] 31 / 177, lsu[0] 69 / 388, lsu[1] 15 / 61, bru 45 / 269, csu 0 / 0, fpu[0] 0 / 0, fpu[1] 0 / 0, 242 / 1201 = 0.201 alu[0] 58 / 246, alu[1] 54 / 181, lsu[0] 72 / 323, lsu[1] 41 / 93, bru 30 / 167, csu 0 / 0, fpu[0] 0 / 0, fpu[1] 0 / 0, 255 / 1010 = 0.252 ====================================== Final rate 0055166 / 0256007 = 0.215 ======================================