inst_queue_impl.hh (5336:c7e21f4e5a2e) | inst_queue_impl.hh (5529:9ae69b9cd7fd) |
---|---|
1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 23 unchanged lines hidden (view full) --- 32#include <limits> 33#include <vector> 34 35#include "cpu/o3/fu_pool.hh" 36#include "cpu/o3/inst_queue.hh" 37#include "enums/OpClass.hh" 38#include "sim/core.hh" 39 | 1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 23 unchanged lines hidden (view full) --- 32#include <limits> 33#include <vector> 34 35#include "cpu/o3/fu_pool.hh" 36#include "cpu/o3/inst_queue.hh" 37#include "enums/OpClass.hh" 38#include "sim/core.hh" 39 |
40#include "params/DerivO3CPU.hh" 41 |
|
40template <class Impl> 41InstructionQueue<Impl>::FUCompletion::FUCompletion(DynInstPtr &_inst, 42 int fu_idx, 43 InstructionQueue<Impl> *iq_ptr) 44 : Event(&mainEventQueue, Stat_Event_Pri), 45 inst(_inst), fuIdx(fu_idx), iqPtr(iq_ptr), freeFU(false) 46{ 47 this->setFlags(Event::AutoDelete); --- 12 unchanged lines hidden (view full) --- 60const char * 61InstructionQueue<Impl>::FUCompletion::description() const 62{ 63 return "Functional unit completion"; 64} 65 66template <class Impl> 67InstructionQueue<Impl>::InstructionQueue(O3CPU *cpu_ptr, IEW *iew_ptr, | 42template <class Impl> 43InstructionQueue<Impl>::FUCompletion::FUCompletion(DynInstPtr &_inst, 44 int fu_idx, 45 InstructionQueue<Impl> *iq_ptr) 46 : Event(&mainEventQueue, Stat_Event_Pri), 47 inst(_inst), fuIdx(fu_idx), iqPtr(iq_ptr), freeFU(false) 48{ 49 this->setFlags(Event::AutoDelete); --- 12 unchanged lines hidden (view full) --- 62const char * 63InstructionQueue<Impl>::FUCompletion::description() const 64{ 65 return "Functional unit completion"; 66} 67 68template <class Impl> 69InstructionQueue<Impl>::InstructionQueue(O3CPU *cpu_ptr, IEW *iew_ptr, |
68 Params *params) | 70 DerivO3CPUParams *params) |
69 : cpu(cpu_ptr), 70 iewStage(iew_ptr), 71 fuPool(params->fuPool), 72 numEntries(params->numIQEntries), 73 totalWidth(params->issueWidth), 74 numPhysIntRegs(params->numPhysIntRegs), 75 numPhysFloatRegs(params->numPhysFloatRegs), 76 commitToIEWDelay(params->commitToIEWDelay) 77{ 78 assert(fuPool); 79 80 switchedOut = false; 81 | 71 : cpu(cpu_ptr), 72 iewStage(iew_ptr), 73 fuPool(params->fuPool), 74 numEntries(params->numIQEntries), 75 totalWidth(params->issueWidth), 76 numPhysIntRegs(params->numPhysIntRegs), 77 numPhysFloatRegs(params->numPhysFloatRegs), 78 commitToIEWDelay(params->commitToIEWDelay) 79{ 80 assert(fuPool); 81 82 switchedOut = false; 83 |
82 numThreads = params->numberOfThreads; | 84 numThreads = params->numThreads; |
83 84 // Set the number of physical registers as the number of int + float 85 numPhysRegs = numPhysIntRegs + numPhysFloatRegs; 86 87 //Create an entry for each physical register within the 88 //dependency graph. 89 dependGraph.resize(numPhysRegs); 90 --- 1318 unchanged lines hidden --- | 85 86 // Set the number of physical registers as the number of int + float 87 numPhysRegs = numPhysIntRegs + numPhysFloatRegs; 88 89 //Create an entry for each physical register within the 90 //dependency graph. 91 dependGraph.resize(numPhysRegs); 92 --- 1318 unchanged lines hidden --- |