diff options
author | Korey Sewell <ksewell@umich.edu> | 2011-02-12 10:14:36 -0500 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2011-02-12 10:14:36 -0500 |
commit | 6713dbfe080df4dd04b0f29b5f2fbd6e221ffebf (patch) | |
tree | 9bc390854c24cf308f93fe7ab44928a8facaff59 /src/cpu/inorder/cpu.cc | |
parent | af67631790afbfeba01b05f7ae2ca54ae27428f1 (diff) | |
download | gem5-6713dbfe080df4dd04b0f29b5f2fbd6e221ffebf.tar.xz |
inorder: cache instruction schedules
first step in a optimization to not dynamically allocate an instruction schedule
for every instruction but rather used cached schedules
Diffstat (limited to 'src/cpu/inorder/cpu.cc')
-rw-r--r-- | src/cpu/inorder/cpu.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cpu/inorder/cpu.cc b/src/cpu/inorder/cpu.cc index ffdcae7df..39357cd30 100644 --- a/src/cpu/inorder/cpu.cc +++ b/src/cpu/inorder/cpu.cc @@ -334,9 +334,13 @@ InOrderCPU::InOrderCPU(Params *params) dummyReqInst = new InOrderDynInst(this, NULL, 0, 0, 0); dummyReqInst->setSquashed(); + dummyReqInst->resetInstCount(); dummyBufferInst = new InOrderDynInst(this, NULL, 0, 0, 0); dummyBufferInst->setSquashed(); + dummyBufferInst->resetInstCount(); + + endOfSkedIt = skedCache.end(); lastRunningCycle = curTick(); @@ -348,7 +352,6 @@ InOrderCPU::InOrderCPU(Params *params) reset(); #endif - dummyBufferInst->resetInstCount(); // Schedule First Tick Event, CPU will reschedule itself from here on out. scheduleTickEvent(0); @@ -359,6 +362,7 @@ InOrderCPU::~InOrderCPU() delete resPool; } +std::map<InOrderCPU::SkedID, ThePipeline::RSkedPtr> InOrderCPU::skedCache; void InOrderCPU::regStats() |