O3CPU FAQ

From M5

Jump to: navigation, search

Contents

[edit] Fetch Stage

[edit] Decode Stage

[edit] Rename Stage

[edit] IEW Stage

[edit] What is the difference between issueToExecQueue and instQueue?

So for the IEW stage, It might help to look at it as multiple stages in one. Depending on pipeline parameters, the delay between issue , execute, or writeback can be variable. However, since these are all inter-related it makes sense to have them all in one generic stage.

By issue, I mean sending insts to the ROB, IQ and LDSTQ.

By execute, I mean use a Function Unit

By writeback, I mean give a value back to the register file (and potentially update LDSTQ)

There are queues that connect stages together in order to enforce a "stageWidth" requirement. "StageWidth" is basically a set amount of instructions that can process in that stage on any given cycle. Thus, if the limit/width is 2 issues, then the issueToExecQueue should be 2 instructions.

The instQueue is the actual instruction queue of instructions waiting to be processed by the execute stage. I guess some people call this "instruction window" as well.

[edit] Commit Stage

Personal tools