gem5 v24.0.0.0
|
Class that implements a circular queue to hold FU indices. More...
Public Member Functions | |
FUIdxQueue () | |
Constructs a circular queue of FU indices. | |
void | addFU (int fu_idx) |
Adds a FU to the queue. | |
int | getFU () |
Returns the index of the FU at the head of the queue, and changes the index to the next element. | |
Private Attributes | |
int | idx |
Circular queue index. | |
int | size |
Size of the queue. | |
std::vector< int > | funcUnitsIdx |
Queue of FU indices. | |
Class that implements a circular queue to hold FU indices.
The hope is that FUs that have been just used will be moved to the end of the queue by iterating through it, thus leaving free units at the head of the queue.
Definition at line 98 of file fu_pool.hh.
|
inline |
Constructs a circular queue of FU indices.
Definition at line 102 of file fu_pool.hh.
|
inline |
Adds a FU to the queue.
Definition at line 59 of file fu_pool.cc.
References funcUnitsIdx, and size.
Referenced by gem5::o3::FUPool::FUPool().
|
inline |
Returns the index of the FU at the head of the queue, and changes the index to the next element.
Definition at line 66 of file fu_pool.cc.
References gem5::o3::FUPool::size().
Referenced by gem5::o3::FUPool::getUnit().
|
private |
|
private |
Circular queue index.
Definition at line 116 of file fu_pool.hh.
|
private |