-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Description
Currently, one RiscvMachine only runs one hart (RISC-V compatible hardware thread), but implementations of the RISC-V spec may support multiple harts. The interactions between harts and the restrictions on these interactions are currently not captured by this repository.
Discussing multithreading is opening a can of worms, because using multithreading, a given program can leave the processor in many different end states, depending on the order in which the instructions were executed.
This topic is similar to issue #25, where the spec allows multiple behaviors.
The following ideas came to my mind to implement multithreading.
- Try to implement the one to many step-relation of processor states.
- Choose an execution order when running a program. The ordering might be hardcoded or variable.
- Not implementing multithreading.
Metadata
Metadata
Assignees
Labels
No labels