-
-
Notifications
You must be signed in to change notification settings - Fork 13
issue
Ruige Lee edited this page Jan 27, 2021
·
5 revisions
There are 3 kinds of issue implementation, directly in-order, directly out-of-order, in-order-outside-out-of-order-inside.
- The
bru
andcsr
are not quite necessary to execute out-of-order.- Bru will not generate an
rd
result. So it will not cause a RAW data hazard to the following instruction. When the branch prediction is correct, the result is produced in branch-predict-unit. If it is executed out-of-order, a much complex module should be implemented to reorder the pipeline flush. It's a low-profit design. - csr execution can not be canceled even if it has not been committed. As a result, csr should not be executed out-of-order.
- Bru will not generate an
alu
, mul
are implemented in out-of-order style issue.
These kinds of issues will check all the valid buffer. If the RAW
data hazard is resolved, the execution information will be sent to the execution unit.
- The
lsu
may implementation in this way in the following version, to improve the performance. - Memory access is the bottleneck of process performance.
- For memory writing, it can not be revoked. it can only be executed after the previous instructions are committed. As a result, it's issued in order.
- For memory reading,
RAR
is not a data Hazard. It's issued out of order. - For the sequence between memory writing and reading,
RAW
may happen. It necessary to check whether there is the same address will be written before a reading transmission. - For
fence
, part of instructions must be executed in order.
Some situations may block the issue.
- csr block csr execution can not be canceled even if it has not been committed. The operation of the csr register will cause effort once it has been done. As a result, csr instruction will not be issued, until the previous instruction has been committed.
- lsu block Store memory execution can not be canceled even if it has not been committed. Also fence instruction will alter the execution order.