1/* |
2 * Copyright (c) 2010-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 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 134 unchanged lines hidden (view full) --- 145 void setIEWQueue(TimeBuffer<IEWStruct> *iq_ptr); 146 147 /** Sets pointer to list of active threads. */ 148 void setActiveThreads(std::list<ThreadID> *at_ptr); 149 150 /** Sets pointer to the scoreboard. */ 151 void setScoreboard(Scoreboard *sb_ptr); 152 |
153 /** Perform sanity checks after a drain. */ 154 void drainSanityCheck() const; |
155 |
156 /** Has the stage drained? */ 157 bool isDrained() const; |
158 |
159 /** Takes over from another CPU's thread. */ 160 void takeOverFrom(); 161 |
162 /** Squashes instructions in IEW for a specific thread. */ 163 void squash(ThreadID tid); 164 165 /** Wakes all dependents of a completed instruction. */ 166 void wakeDependents(DynInstPtr &inst); 167 168 /** Tells memory dependence unit that a memory instruction needs to be 169 * rescheduled. It will re-execute once replayMemInst() is called. --- 289 unchanged lines hidden (view full) --- 459 ThreadID numThreads; 460 461 /** Pointer to list of active threads. */ 462 std::list<ThreadID> *activeThreads; 463 464 /** Maximum size of the skid buffer. */ 465 unsigned skidBufferMax; 466 |
467 /** Stat for total number of idle cycles. */ 468 Stats::Scalar iewIdleCycles; 469 /** Stat for total number of squashing cycles. */ 470 Stats::Scalar iewSquashCycles; 471 /** Stat for total number of blocking cycles. */ 472 Stats::Scalar iewBlockCycles; 473 /** Stat for total number of unblocking cycles. */ 474 Stats::Scalar iewUnblockCycles; --- 65 unchanged lines hidden --- |