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 --- 171 unchanged lines hidden (view full) --- 180 void setRenameQueue(TimeBuffer<RenameStruct> *rq_ptr); 181 182 /** Sets the pointer to the queue coming from IEW. */ 183 void setIEWQueue(TimeBuffer<IEWStruct> *iq_ptr); 184 185 /** Sets the pointer to the IEW stage. */ 186 void setIEWStage(IEW *iew_stage); 187 |
188 /** The pointer to the IEW stage. Used solely to ensure that 189 * various events (traps, interrupts, syscalls) do not occur until 190 * all stores have written back. 191 */ 192 IEW *iewStage; 193 194 /** Sets pointer to list of active threads. */ 195 void setActiveThreads(std::list<ThreadID> *at_ptr); --- 47 unchanged lines hidden (view full) --- 243 */ 244 void updateStatus(); 245 246 /** Sets the next status based on threads' statuses, which becomes the 247 * current status at the end of the cycle. 248 */ 249 void setNextStatus(); 250 |
251 /** Returns if any of the threads have the number of ROB entries changed 252 * on this cycle. Used to determine if the number of free ROB entries needs 253 * to be sent back to previous stages. 254 */ 255 bool changedROBEntries(); 256 257 /** Squashes all in flight instructions. */ 258 void squashAll(ThreadID tid); --- 49 unchanged lines hidden (view full) --- 308 /** Tries to commit the head ROB instruction passed in. 309 * @param head_inst The instruction to be committed. 310 */ 311 bool commitHead(DynInstPtr &head_inst, unsigned inst_num); 312 313 /** Gets instructions from rename and inserts them into the ROB. */ 314 void getInsts(); 315 |
316 /** Marks completed instructions using information sent from IEW. */ 317 void markCompletedInsts(); 318 319 /** Gets the thread to commit, based on the SMT policy. */ 320 ThreadID getCommittingThread(); 321 322 /** Returns the thread ID to use based on a round robin policy. */ 323 ThreadID roundRobin(); --- 210 unchanged lines hidden --- |