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; --- 151 unchanged lines hidden (view full) --- 160 void setRenameQueue(TimeBuffer<RenameStruct> *rq_ptr); 161 162 /** Sets the pointer to the queue coming from IEW. */ 163 void setIEWQueue(TimeBuffer<IEWStruct> *iq_ptr); 164 165 /** Sets the pointer to the IEW stage. */ 166 void setIEWStage(IEW *iew_stage); 167 |
168 /** Skid buffer between rename and commit. */ 169 std::queue<DynInstPtr> skidBuffer; 170 |
171 /** The pointer to the IEW stage. Used solely to ensure that 172 * various events (traps, interrupts, syscalls) do not occur until 173 * all stores have written back. 174 */ 175 IEW *iewStage; 176 177 /** Sets pointer to list of active threads. */ 178 void setActiveThreads(std::list<unsigned> *at_ptr); --- 75 unchanged lines hidden (view full) --- 254 /** Tries to commit the head ROB instruction passed in. 255 * @param head_inst The instruction to be committed. 256 */ 257 bool commitHead(DynInstPtr &head_inst, unsigned inst_num); 258 259 /** Gets instructions from rename and inserts them into the ROB. */ 260 void getInsts(); 261 |
262 /** Insert all instructions from rename into skidBuffer */ 263 void skidInsert(); 264 |
265 /** Marks completed instructions using information sent from IEW. */ 266 void markCompletedInsts(); 267 268 /** Gets the thread to commit, based on the SMT policy. */ 269 int getCommittingThread(); 270 271 /** Returns the thread ID to use based on a round robin policy. */ 272 int roundRobin(); --- 184 unchanged lines hidden --- |