cpu: Enable fast-forwarding for MIPS InOrderCPU and O3CPU
Review Request #2158 - Created Jan. 30, 2014 and submitted
| Information | |
|---|---|
| Christopher Torng | |
| gem5 | |
| Reviewers | |
| Default | |
cpu: Enable fast-forwarding for MIPS InOrderCPU and O3CPU A copyRegs() function is added to MIPS utilities to copy architectural state from the old CPU to the new CPU during fast-forwarding. This addition alone enables fast-forwarding for the o3 cpu model running MIPS. The patch also adds takeOverFrom() and drainResume() functions to the InOrderCPU to enable it to take over from another CPU. This change enables fast-forwarding for the inorder cpu model running MIPS, but not for Alpha.
All quick and long regressions still pass for all ISAs. Using HelloWorld, I scaled the number of instructions I fast-forward and see the number of committed instructions scale accordingly. The host_seconds stat also scales accordingly, getting smaller as I fast-forward for more instructions. This works for both the MIPS InOrderCPU and O3CPU.
Review request changed
Updated (Jan. 31, 2014, 6:26 p.m.)
Change Summary:
Changed title and descriptions to say fast-forwarding is enabled for both InOrderCPU and O3CPU.
Summary: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Testing Done: |
|
Posted (Feb. 25, 2014, 9:08 a.m.)
-
src/cpu/inorder/first_stage.hh (Diff revision 1) -
I suggest that you mark this function as virtual in pipeline_stage.hh and remove the check on the pipeline stage in the takeOverFrom() function in the InOrderCPU class.
Review request changed
Updated (Feb. 26, 2014, 9:48 p.m.)
Change Summary:
Marked takeOverFrom() as virtual in pipeline_stage.hh. Removed type check in InOrderCPU's takeOverFrom().
Diff: |
Revision 2 (+106 -2) |
|---|
I am fine with this patch. Unless there are more comments, I would commit it sometime over the weekend.
This looks good to me as well. Thanks Nilay for catching the "virtual" function change.
This looks good to me as well. Thanks Nilay for catching the "virtual" function change.
