decode.hh (9444:ab47fe7f03f0) decode.hh (10328:867b536a68be)
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

121
122 /** Sets pointer to list of active threads. */
123 void setActiveThreads(std::list<ThreadID> *at_ptr);
124
125 /** Perform sanity checks after a drain. */
126 void drainSanityCheck() const;
127
128 /** Has the stage drained? */
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

121
122 /** Sets pointer to list of active threads. */
123 void setActiveThreads(std::list<ThreadID> *at_ptr);
124
125 /** Perform sanity checks after a drain. */
126 void drainSanityCheck() const;
127
128 /** Has the stage drained? */
129 bool isDrained() const { return true; }
129 bool isDrained() const;
130
131 /** Takes over from another CPU's thread. */
132 void takeOverFrom() { resetStage(); }
133
134 /** Ticks decode, processing all input signals and decoding as many
135 * instructions as possible.
136 */
137 void tick();

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

244 /** Variable that tracks if decode has written to the time buffer this
245 * cycle. Used to tell CPU if there is activity this cycle.
246 */
247 bool wroteToTimeBuffer;
248
249 /** Source of possible stalls. */
250 struct Stalls {
251 bool rename;
130
131 /** Takes over from another CPU's thread. */
132 void takeOverFrom() { resetStage(); }
133
134 /** Ticks decode, processing all input signals and decoding as many
135 * instructions as possible.
136 */
137 void tick();

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

244 /** Variable that tracks if decode has written to the time buffer this
245 * cycle. Used to tell CPU if there is activity this cycle.
246 */
247 bool wroteToTimeBuffer;
248
249 /** Source of possible stalls. */
250 struct Stalls {
251 bool rename;
252 bool iew;
253 bool commit;
254 };
255
256 /** Tracks which stages are telling decode to stall. */
257 Stalls stalls[Impl::MaxThreads];
258
259 /** Rename to decode delay. */
260 Cycles renameToDecodeDelay;
261

--- 62 unchanged lines hidden ---
252 };
253
254 /** Tracks which stages are telling decode to stall. */
255 Stalls stalls[Impl::MaxThreads];
256
257 /** Rename to decode delay. */
258 Cycles renameToDecodeDelay;
259

--- 62 unchanged lines hidden ---