rename_impl.hh (3093:b09c33e66bce) | rename_impl.hh (3125:febd811bccc6) |
---|---|
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; --- 27 unchanged lines hidden (view full) --- 36 37template <class Impl> 38DefaultRename<Impl>::DefaultRename(Params *params) 39 : iewToRenameDelay(params->iewToRenameDelay), 40 decodeToRenameDelay(params->decodeToRenameDelay), 41 commitToRenameDelay(params->commitToRenameDelay), 42 renameWidth(params->renameWidth), 43 commitWidth(params->commitWidth), | 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; --- 27 unchanged lines hidden (view full) --- 36 37template <class Impl> 38DefaultRename<Impl>::DefaultRename(Params *params) 39 : iewToRenameDelay(params->iewToRenameDelay), 40 decodeToRenameDelay(params->decodeToRenameDelay), 41 commitToRenameDelay(params->commitToRenameDelay), 42 renameWidth(params->renameWidth), 43 commitWidth(params->commitWidth), |
44 numThreads(params->numberOfThreads) | 44 numThreads(params->numberOfThreads), 45 maxPhysicalRegs(params->numPhysIntRegs + params->numPhysFloatRegs) |
45{ 46 _status = Inactive; 47 48 for (int i=0; i< numThreads; i++) { 49 renameStatus[i] = Idle; 50 51 freeEntries[i].iqEntries = 0; 52 freeEntries[i].lsqEntries = 0; --- 228 unchanged lines hidden (view full) --- 281 282 // Tell the rename map to set the architected register to the 283 // previous physical register that it was renamed to. 284 renameMap[i]->setEntry(hb_it->archReg, hb_it->prevPhysReg); 285 286 // Put the renamed physical register back on the free list. 287 freeList->addReg(hb_it->newPhysReg); 288 | 46{ 47 _status = Inactive; 48 49 for (int i=0; i< numThreads; i++) { 50 renameStatus[i] = Idle; 51 52 freeEntries[i].iqEntries = 0; 53 freeEntries[i].lsqEntries = 0; --- 228 unchanged lines hidden (view full) --- 282 283 // Tell the rename map to set the architected register to the 284 // previous physical register that it was renamed to. 285 renameMap[i]->setEntry(hb_it->archReg, hb_it->prevPhysReg); 286 287 // Put the renamed physical register back on the free list. 288 freeList->addReg(hb_it->newPhysReg); 289 |
290 // Be sure to mark its register as ready if it's a misc register. 291 if (hb_it->newPhysReg >= maxPhysicalRegs) { 292 scoreboard->setReg(hb_it->newPhysReg); 293 } 294 |
|
289 historyBuffer[i].erase(hb_it++); 290 } 291 insts[i].clear(); 292 skidBuffer[i].clear(); 293 } 294} 295 296template <class Impl> --- 587 unchanged lines hidden (view full) --- 884 885 // Tell the rename map to set the architected register to the 886 // previous physical register that it was renamed to. 887 renameMap[tid]->setEntry(hb_it->archReg, hb_it->prevPhysReg); 888 889 // Put the renamed physical register back on the free list. 890 freeList->addReg(hb_it->newPhysReg); 891 | 295 historyBuffer[i].erase(hb_it++); 296 } 297 insts[i].clear(); 298 skidBuffer[i].clear(); 299 } 300} 301 302template <class Impl> --- 587 unchanged lines hidden (view full) --- 890 891 // Tell the rename map to set the architected register to the 892 // previous physical register that it was renamed to. 893 renameMap[tid]->setEntry(hb_it->archReg, hb_it->prevPhysReg); 894 895 // Put the renamed physical register back on the free list. 896 freeList->addReg(hb_it->newPhysReg); 897 |
898 // Be sure to mark its register as ready if it's a misc register. 899 if (hb_it->newPhysReg >= maxPhysicalRegs) { 900 scoreboard->setReg(hb_it->newPhysReg); 901 } 902 |
|
892 historyBuffer[tid].erase(hb_it++); 893 894 ++renameUndoneMaps; 895 } 896} 897 898template<class Impl> 899void --- 421 unchanged lines hidden --- | 903 historyBuffer[tid].erase(hb_it++); 904 905 ++renameUndoneMaps; 906 } 907} 908 909template<class Impl> 910void --- 421 unchanged lines hidden --- |