Skip to content
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

CPU logic optimization #204

Merged
merged 7 commits into from
Nov 14, 2021
Merged

CPU logic optimization #204

merged 7 commits into from
Nov 14, 2021

Conversation

stnolting
Copy link
Owner

@stnolting stnolting commented Nov 13, 2021

Major CPU logic optimization and code clean-ups.

  • closed several illegal instruction word holes (system/environment instructions, ALU instructions, FENCE instructions) - some illegal instruction word combinations were not correctly identified by the CPU
  • reworked ALU (function select muxes)
  • extension-specific instruction decoding logic (like bit-manipulation) is removed from the CPU if the extension is not enabled
  • clean-up of CPU's control engine - simpler states (less logic) and more comments

reworked function select MUX
* optimized control engine
* closed many illegal instruction word holes (now detecting more illegal instruction combinations)
* optimized critical path of CPU counters
CSR access instructions [Zicsr]
@stnolting stnolting added the HW Hardware-related label Nov 13, 2021
@stnolting stnolting self-assigned this Nov 13, 2021
@stnolting stnolting marked this pull request as ready for review November 14, 2021 14:07
@stnolting stnolting merged commit 5bb4782 into master Nov 14, 2021
@stnolting stnolting deleted the cpu_logic_optimization branch November 14, 2021 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HW Hardware-related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant