iew_impl.hh (8674:a9476951e3a2) | iew_impl.hh (8733:64a7bf8fa56c) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2010 ARM Limited | 2 * Copyright (c) 2010-2011 ARM Limited |
3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 32 unchanged lines hidden (view full) --- 43// @todo: Fix the instantaneous communication among all the stages within 44// iew. There's a clear delay between issue and execute, yet backwards 45// communication happens simultaneously. 46 47#include <queue> 48 49#include "arch/utility.hh" 50#include "config/the_isa.hh" | 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 32 unchanged lines hidden (view full) --- 43// @todo: Fix the instantaneous communication among all the stages within 44// iew. There's a clear delay between issue and execute, yet backwards 45// communication happens simultaneously. 46 47#include <queue> 48 49#include "arch/utility.hh" 50#include "config/the_isa.hh" |
51#include "config/use_checker.hh" |
|
51#include "cpu/o3/fu_pool.hh" 52#include "cpu/o3/iew.hh" 53#include "cpu/timebuf.hh" 54#include "debug/Activity.hh" 55#include "debug/Decode.hh" 56#include "debug/IEW.hh" 57#include "params/DerivO3CPU.hh" 58 | 52#include "cpu/o3/fu_pool.hh" 53#include "cpu/o3/iew.hh" 54#include "cpu/timebuf.hh" 55#include "debug/Activity.hh" 56#include "debug/Decode.hh" 57#include "debug/IEW.hh" 58#include "params/DerivO3CPU.hh" 59 |
60#if USE_CHECKER 61#include "cpu/checker/cpu.hh" 62#endif // USE_CHECKER 63 |
|
59using namespace std; 60 61template<class Impl> 62DefaultIEW<Impl>::DefaultIEW(O3CPU *_cpu, DerivO3CPUParams *params) 63 : issueToExecQueue(params->backComSize, params->forwardComSize), 64 cpu(_cpu), 65 instQueue(_cpu, this, params), 66 ldstQueue(_cpu, this, params), --- 222 unchanged lines hidden (view full) --- 289 toRename->iewInfo[tid].freeIQEntries = 290 instQueue.numFreeEntries(tid); 291 292 toRename->iewInfo[tid].usedLSQ = true; 293 toRename->iewInfo[tid].freeLSQEntries = 294 ldstQueue.numFreeEntries(tid); 295 } 296 | 64using namespace std; 65 66template<class Impl> 67DefaultIEW<Impl>::DefaultIEW(O3CPU *_cpu, DerivO3CPUParams *params) 68 : issueToExecQueue(params->backComSize, params->forwardComSize), 69 cpu(_cpu), 70 instQueue(_cpu, this, params), 71 ldstQueue(_cpu, this, params), --- 222 unchanged lines hidden (view full) --- 294 toRename->iewInfo[tid].freeIQEntries = 295 instQueue.numFreeEntries(tid); 296 297 toRename->iewInfo[tid].usedLSQ = true; 298 toRename->iewInfo[tid].freeLSQEntries = 299 ldstQueue.numFreeEntries(tid); 300 } 301 |
302// Initialize the checker's dcache port here 303#if USE_CHECKER 304 if (cpu->checker) { 305 cpu->checker->setDcachePort(cpu->getDcachePort()); 306 } 307#endif 308 |
|
297 cpu->activateStage(O3CPU::IEWIdx); 298} 299 300template<class Impl> 301void 302DefaultIEW<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr) 303{ 304 timeBuffer = tb_ptr; --- 1370 unchanged lines hidden --- | 309 cpu->activateStage(O3CPU::IEWIdx); 310} 311 312template<class Impl> 313void 314DefaultIEW<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr) 315{ 316 timeBuffer = tb_ptr; --- 1370 unchanged lines hidden --- |