Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

🧪 [pmp] use time-multiplex approach #1105

Merged
merged 10 commits into from
Dec 19, 2024
Merged

🧪 [pmp] use time-multiplex approach #1105

merged 10 commits into from
Dec 19, 2024

Conversation

stnolting
Copy link
Owner

Instruction dispatch (getting the next instruction word for execution) and load/store accesses cannot happen at the same time due to the multi-cycle architecture of the CPU. Therefore, checking PMP (physical memory protection) permissions of instruction fetch and load/store access in parallel brings no benefit. Actually, it is quite inefficient as the PMP needs to replicate all the logic to do two look-ups in parallel.

This PR changes the PMP architecture to use a time-multiplex approach. The actual PMP permission/region check is simplified to a single "issue" that is time-multiplexed between instruction and data access.

⚠️ This is still highly experimental!

As always, any kind of feedback is highly appreciated.

@stnolting stnolting added HW Hardware-related experimental Experimental feature optimization Make things faster, smaller and more efficient labels Nov 26, 2024
@stnolting stnolting self-assigned this Nov 26, 2024
@stnolting stnolting marked this pull request as ready for review December 19, 2024 19:38
@stnolting stnolting merged commit 7047223 into main Dec 19, 2024
10 checks passed
@stnolting stnolting deleted the pmp_time_multiplex branch December 19, 2024 19:50
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
experimental Experimental feature HW Hardware-related optimization Make things faster, smaller and more efficient
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant