gem5
v21.0.1.0
|
Class that implements a circular queue to hold FU indices. More...
Public Member Functions | |
FUIdxQueue () | |
Constructs a circular queue of FU indices. More... | |
void | addFU (int fu_idx) |
Adds a FU to the queue. More... | |
int | getFU () |
Returns the index of the FU at the head of the queue, and changes the index to the next element. More... | |
Private Attributes | |
int | idx |
Circular queue index. More... | |
int | size |
Size of the queue. More... | |
std::vector< int > | funcUnitsIdx |
Queue of FU indices. More... | |
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 92 of file fu_pool.hh.
|
inline |
Constructs a circular queue of FU indices.
Definition at line 95 of file fu_pool.hh.
|
inline |
Adds a FU to the queue.
Definition at line 53 of file fu_pool.cc.
References funcUnitsIdx, and size.
Referenced by 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 60 of file fu_pool.cc.
References FUPool::size().
Referenced by FUPool::getUnit().
|
private |
|
private |
Circular queue index.
Definition at line 109 of file fu_pool.hh.
|
private |