rename.hh (2670:9107b8bd08cd) rename.hh (2674:6d4afef73a20)
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;

--- 143 unchanged lines hidden (view full) ---

152 void setRenameMap(RenameMap rm_ptr[Impl::MaxThreads]);
153
154 /** Sets pointer to the free list. */
155 void setFreeList(FreeList *fl_ptr);
156
157 /** Sets pointer to the scoreboard. */
158 void setScoreboard(Scoreboard *_scoreboard);
159
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;

--- 143 unchanged lines hidden (view full) ---

152 void setRenameMap(RenameMap rm_ptr[Impl::MaxThreads]);
153
154 /** Sets pointer to the free list. */
155 void setFreeList(FreeList *fl_ptr);
156
157 /** Sets pointer to the scoreboard. */
158 void setScoreboard(Scoreboard *_scoreboard);
159
160 /** Switches out the rename stage. */
160 void switchOut();
161
161 void switchOut();
162
163 /** Completes the switch out. */
162 void doSwitchOut();
163
164 void doSwitchOut();
165
166 /** Takes over from another CPU's thread. */
164 void takeOverFrom();
165
166 /** Squashes all instructions in a thread. */
167 void squash(unsigned tid);
168
169 /** Ticks rename, which processes all input signals and attempts to rename
170 * as many instructions as possible.
171 */

--- 68 unchanged lines hidden (view full) ---

240 unsigned validInsts();
241
242 /** Reads signals telling rename to block/unblock. */
243 void readStallSignals(unsigned tid);
244
245 /** Checks if any stages are telling rename to block. */
246 bool checkStall(unsigned tid);
247
167 void takeOverFrom();
168
169 /** Squashes all instructions in a thread. */
170 void squash(unsigned tid);
171
172 /** Ticks rename, which processes all input signals and attempts to rename
173 * as many instructions as possible.
174 */

--- 68 unchanged lines hidden (view full) ---

243 unsigned validInsts();
244
245 /** Reads signals telling rename to block/unblock. */
246 void readStallSignals(unsigned tid);
247
248 /** Checks if any stages are telling rename to block. */
249 bool checkStall(unsigned tid);
250
251 /** Gets the number of free entries for a specific thread. */
248 void readFreeEntries(unsigned tid);
249
252 void readFreeEntries(unsigned tid);
253
254 /** Checks the signals and updates the status. */
250 bool checkSignalsAndUpdate(unsigned tid);
251
252 /** Either serializes on the next instruction available in the InstQueue,
253 * or records that it must serialize on the next instruction to enter
254 * rename.
255 * @param inst_list The list of younger, unprocessed instructions for the
256 * thread that has the serializeAfter instruction.
257 * @param tid The thread id.

--- 193 unchanged lines hidden (view full) ---

451 /** Stat for total number of renamed destination registers. */
452 Stats::Scalar<> renameRenamedOperands;
453 /** Stat for total number of source register rename lookups. */
454 Stats::Scalar<> renameRenameLookups;
455 /** Stat for total number of committed renaming mappings. */
456 Stats::Scalar<> renameCommittedMaps;
457 /** Stat for total number of mappings that were undone due to a squash. */
458 Stats::Scalar<> renameUndoneMaps;
255 bool checkSignalsAndUpdate(unsigned tid);
256
257 /** Either serializes on the next instruction available in the InstQueue,
258 * or records that it must serialize on the next instruction to enter
259 * rename.
260 * @param inst_list The list of younger, unprocessed instructions for the
261 * thread that has the serializeAfter instruction.
262 * @param tid The thread id.

--- 193 unchanged lines hidden (view full) ---

456 /** Stat for total number of renamed destination registers. */
457 Stats::Scalar<> renameRenamedOperands;
458 /** Stat for total number of source register rename lookups. */
459 Stats::Scalar<> renameRenameLookups;
460 /** Stat for total number of committed renaming mappings. */
461 Stats::Scalar<> renameCommittedMaps;
462 /** Stat for total number of mappings that were undone due to a squash. */
463 Stats::Scalar<> renameUndoneMaps;
464 /** Number of serialize instructions handled. */
459 Stats::Scalar<> renamedSerializing;
465 Stats::Scalar<> renamedSerializing;
466 /** Number of instructions marked as temporarily serializing. */
460 Stats::Scalar<> renamedTempSerializing;
467 Stats::Scalar<> renamedTempSerializing;
468 /** Number of instructions inserted into skid buffers. */
461 Stats::Scalar<> renameSkidInsts;
462};
463
464#endif // __CPU_O3_RENAME_HH__
469 Stats::Scalar<> renameSkidInsts;
470};
471
472#endif // __CPU_O3_RENAME_HH__