commit.hh (9437:8088e94a9de0) | commit.hh (9444:ab47fe7f03f0) |
---|---|
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 --- 185 unchanged lines hidden (view full) --- 194 195 /** Sets pointer to the ROB. */ 196 void setROB(ROB *rob_ptr); 197 198 /** Initializes stage by sending back the number of free entries. */ 199 void startupStage(); 200 201 /** Initializes the draining of commit. */ | 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 --- 185 unchanged lines hidden (view full) --- 194 195 /** Sets pointer to the ROB. */ 196 void setROB(ROB *rob_ptr); 197 198 /** Initializes stage by sending back the number of free entries. */ 199 void startupStage(); 200 201 /** Initializes the draining of commit. */ |
202 bool drain(); | 202 void drain(); |
203 204 /** Resumes execution after draining. */ | 203 204 /** Resumes execution after draining. */ |
205 void resume(); | 205 void drainResume(); |
206 | 206 |
207 /** Completes the switch out of commit. */ 208 void switchOut(); | 207 /** Perform sanity checks after a drain. */ 208 void drainSanityCheck() const; |
209 | 209 |
210 /** Has the stage drained? */ 211 bool isDrained() const; 212 |
|
210 /** Takes over from another CPU's thread. */ 211 void takeOverFrom(); 212 213 /** Ticks the commit stage, which tries to commit instructions. */ 214 void tick(); 215 216 /** Handles any squashes that are sent from IEW, and adds instructions 217 * to the ROB and tries to commit instructions. --- 215 unchanged lines hidden (view full) --- 433 unsigned numRobs; 434 435 /** Number of Active Threads */ 436 ThreadID numThreads; 437 438 /** Is a drain pending. */ 439 bool drainPending; 440 | 213 /** Takes over from another CPU's thread. */ 214 void takeOverFrom(); 215 216 /** Ticks the commit stage, which tries to commit instructions. */ 217 void tick(); 218 219 /** Handles any squashes that are sent from IEW, and adds instructions 220 * to the ROB and tries to commit instructions. --- 215 unchanged lines hidden (view full) --- 436 unsigned numRobs; 437 438 /** Number of Active Threads */ 439 ThreadID numThreads; 440 441 /** Is a drain pending. */ 442 bool drainPending; 443 |
441 /** Is commit switched out. */ 442 bool switchedOut; 443 | |
444 /** The latency to handle a trap. Used when scheduling trap 445 * squash event. 446 */ 447 Cycles trapLatency; 448 449 /** The interrupt fault. */ 450 Fault interrupt; 451 --- 77 unchanged lines hidden --- | 444 /** The latency to handle a trap. Used when scheduling trap 445 * squash event. 446 */ 447 Cycles trapLatency; 448 449 /** The interrupt fault. */ 450 Fault interrupt; 451 --- 77 unchanged lines hidden --- |