Deleted Added
sdiff udiff text old ( 2670:9107b8bd08cd ) new ( 2674:6d4afef73a20 )
full compact
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. */
161 void switchOut();
162
163 /** Completes the switch out. */
164 void doSwitchOut();
165
166 /** Takes over from another CPU's thread. */
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. */
252 void readFreeEntries(unsigned tid);
253
254 /** Checks the signals and updates the status. */
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. */
465 Stats::Scalar<> renamedSerializing;
466 /** Number of instructions marked as temporarily serializing. */
467 Stats::Scalar<> renamedTempSerializing;
468 /** Number of instructions inserted into skid buffers. */
469 Stats::Scalar<> renameSkidInsts;
470};
471
472#endif // __CPU_O3_RENAME_HH__