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 ---