ちまちまと自作RISC-Vコアを実装している。DhrystoneがPASSできるようになったが、まだまだ性能的にはひどいもんだ。
分岐予測の性能を向上させるためにBTBとBIMのデータ幅を増やしている。最初の方はかなり性能が上がってきた。
" 20386" : { "commit" : { "cmt" : 188, "inst" : 590, "dead" : 188 }, "icache" : { "request" : 529, "hit" : 496, "miss" : 33 }, "dcache" : { "port[0]" : { "req" : 0, "hit" : 0, "miss" : 0, "conflict" : 0 } "port[1]" : { "req" : 0, "hit" : 0, "miss" : 0, "conflict" : 0 } "port[2]" : { "req" : 0, "hit" : 0, "miss" : 0, "conflict" : 0 } "port[3]" : { "req" : 62, "hit" : 44, "miss" : 8, "conflict" : 10 } "port[4]" : { "req" : 138, "hit" : 116, "miss" : 3, "conflict" : 19 } "port[5]" : { "req" : 107, "hit" : 82, "miss" : 1, "conflict" : 24 } }, "branch" : { "execute" : 196, "cmp" : { "execute" : 120, "hit" : 104 }, "uncond" : { "execute" : 76, "hit" : 16 }, },
しかしまだ途中で落ちてしまう。要デバッグだな。
20978 : 1361 : PC=[0000000080002bdc] (22,04) 0ffb7b13 andi s6, s6, 255 GPR[22](15) <= 0000000000000042 20978 : 1362 : PC=[0000000080002be0] (22,08) 0767e163 bltu a5, s6, pc + 98 20978 : 1363 : PC=[0000000080002be4] (22,10) 04300593 li a1, 67 GPR[11](188) <= 0000000000000043 20982 : 1364 : PC=[0000000080002be8] (23,01) 0000855a c.mv a0, s6 GPR[10](98) <= 0000000000000042 20982 : 1365 : PC=[0000000080002bea] (23,02) c68ff0ef jal pc - 0xb98 GPR[01](52) <= 0000000080002bee 21014 : 1366 : PC=[0000000080002c42] (24,01) f4442783 lw a5, -188(s0) ========================================== Wrong PC: RTL = 0000000080002c42, ISS = 0000000080002052 ========================================== =============================== SIMULATION FINISH : FAIL (CODE=100) ===============================