-
Notifications
You must be signed in to change notification settings - Fork 116
Employ tracing extended basic blocks #133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
2bdfa15
to
f899d4d
Compare
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.
Proofread the git commit messages as following:
Enhancing the original extended basic block (EBB) with tracing EBB,
employing two main strategies: recursive jump translation and
retroactive block chaining.Target addresses of jal, cj, and cjal instructions are determined
after instruction decoding, allowing for recursive translation of
jump target instructions into the same basic block. Additionally,
the previous block is chained to the current block after emulation
using the obtained branch target during emulation.Performance improvements observed based on the results below,
resulting from the tracing EBB strategy.
We enhance the original EBB by introducing trace EBB. Trace EBB employs two main strategies: recursive jump translation and retroactive block chaining. After decoding instructions, we can determine the target addresses of jal, cj, and cjal instructions. This enables us to recursively translate the instructions of the jump target into the same basic block. As for the second strategy, we chain the previous block to the current block after emulation since the branch target can be obtained during emulation. Based on performance results below, we observed improvements resulting from the trace EBB strategy. | Test | commit 1c11b39 | trace EBB |Speedup| |----------+------------------------+-------------------------+-------| | CoreMark |1155.174(Iterations/Sec)|1351.065 (Iterations/Sec)|+16.6% | |----------+------------------------+-------------------------+-------| | dhrystone| 1017 DMIPS | 1073 DMIPS | +5.5% | |----------+------------------------+-------------------------+-------| | nqueens | 8630 msec | 8295 msec | +4.0% |
Enhancing the original extended basic block (EBB) with tracing EBB, employing two main strategies: recursive jump translation and retroactive block chaining. Target addresses of jal, cj, and cjal instructions are determined after instruction decoding, allowing for recursive translation of jump target instructions into the same basic block. Additionally, the previous block is chained to the current block after emulation using the obtained branch target during emulation. Performance improvements observed based on the results below, resulting from the tracing EBB strategy. | Test | commit 1c11b39 | trace EBB |Speedup| |----------+------------------------+-------------------------+-------| | CoreMark |1155.174(Iterations/Sec)|1351.065 (Iterations/Sec)|+16.6% | |----------+------------------------+-------------------------+-------| | dhrystone| 1017 DMIPS | 1073 DMIPS | +5.5% | |----------+------------------------+-------------------------+-------| | nqueens | 8630 msec | 8295 msec | +4.0% |
Enhancing the original extended basic block (EBB) with tracing EBB, employing two main strategies: recursive jump translation and retroactive block chaining. Target addresses of jal, cj, and cjal instructions are determined after instruction decoding, allowing for recursive translation of jump target instructions into the same basic block. Additionally, the previous block is chained to the current block after emulation using the obtained branch target during emulation. Performance improvements observed based on the results below, resulting from the tracing EBB strategy. | Test | commit 994723f | trace EBB |Speedup| |----------+------------------------+-------------------------+-------| | CoreMark |1155.174(Iterations/Sec)|1351.065 (Iterations/Sec)|+16.6% | |----------+------------------------+-------------------------+-------| | dhrystone| 1017 DMIPS | 1073 DMIPS | +5.5% | |----------+------------------------+-------------------------+-------| | nqueens | 8630 msec | 8295 msec | +4.0% |
We enhance the original EBB by introducing trace EBB. Trace EBB employs two main strategies: recursive jump translation and retroactive block chaining. After decoding instructions, we can determine the target addresses of jal, cj, and cjal instructions. This enables us to recursively translate the instructions of the jump target into the same basic block. As for the second strategy, we chain the previous block to the current block after emulation since the branch target can be obtained during emulation.
Based on performance results below, we observed improvements resulting from the trace EBB strategy.