1/* 2 * Copyright (c) 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; --- 62 unchanged lines hidden (view full) --- 71FUPool::FUPool(const Params *p) 72 : SimObject(p) 73{ 74 numFU = 0; 75 76 funcUnits.clear(); 77 78 for (int i = 0; i < Num_OpClasses; ++i) { |
79 maxOpLatencies[i] = Cycles(0); 80 maxIssueLatencies[i] = Cycles(0); |
81 } 82 83 // 84 // Iterate through the list of FUDescData structures 85 // 86 const vector<FUDesc *> ¶mList = p->FUList; 87 for (FUDDiterator i = paramList.begin(); i != paramList.end(); ++i) { 88 --- 55 unchanged lines hidden (view full) --- 144 unitBusy.resize(numFU); 145 146 for (int i = 0; i < numFU; i++) { 147 unitBusy[i] = false; 148 } 149} 150 151void |
152FUPool::annotateMemoryUnits(Cycles hit_latency) |
153{ 154 maxOpLatencies[MemReadOp] = hit_latency; 155 156 fuListIterator i = funcUnits.begin(); 157 fuListIterator iend = funcUnits.end(); 158 for (; i != iend; ++i) { 159 if ((*i)->provides(MemReadOp)) 160 (*i)->opLatency(MemReadOp) = hit_latency; --- 122 unchanged lines hidden --- |