-
Notifications
You must be signed in to change notification settings - Fork 107
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Apply branch prediction for indirect jump
Previously, it was necessary to perform a block cache lookup at the end of an indirect jump emulation; however, the associated overhead of this operation proved to be substantial. To mitigate this overhead, we have introduced a branch history table that captures the historical data of indirect jump targets. Given the limited number of entries in the branch history table, the lookup overhead is significantly reduced. As shown in the performance analysis provided below, the branch history table has demonstrably enhanced the overall performance. | Metric | original | purposed | |-----------+--------------+--------------| | Dhrystone | 2932.3 DMIPS | 2985.2 DMIPS | | CoreMark | 2231 iter/s | 2236 iter/s | | Stream | 76.04 sec | 75.299 sec | | Nqueens | 4.069 sec | 3.933 sec |
- Loading branch information
Showing
3 changed files
with
71 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fa3514c
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmarks
Dhrystone
1669.77
Average DMIPS over 10 runs1668.75
Average DMIPS over 10 runs1.00
Coremark
1434.4
Average iterations/sec over 10 runs1436.513
Average iterations/sec over 10 runs1.00
This comment was automatically generated by workflow using github-action-benchmark.