Closed Willian-Nunes closed 1 year ago
with branch prediction
Without
Not a big area overhead but inserted timing problems.
TO DO: Study a better way to overcome timing issues.
This method presented bad timing and was replaced by a more efficient with new decoder
This implements static branch prediction. It takes an instruction and its PC and determines if it's a branch or a jump and calculates its target. For jumps it will always predict taken. For branches it will predict taken if the PC offset is negative.
Improved performance by about 14%.
Coremark ticks for an iteration W/o Branch Prediction --> 13090 With Branch Prediction --> 11467
Coremark Iterations per second W/o Branch Prediction --> 76 With Branch Prediction --> 87
Normalized performance score is now 0.872 iterations/Mhz, this is similar to IBex core that has a normalized performance score of about 0.904 Iterations/Mhz.
Comparing with 1.0.0 version (TCC release) that presented 0.670 Iterations/Mhz the RS5 core improved a lot in performance until now (about 30%) with branch prediction mechanism and with one stage forwarding.