gem5
|
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 94 of file fu_pool.hh.
|
inline |
Constructs a circular queue of FU indices.
Definition at line 97 of file fu_pool.hh.
|
inline |
Adds a FU to the queue.
Definition at line 57 of file fu_pool.cc.
References X86ISA::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 64 of file fu_pool.cc.
References X86ISA::size().
Referenced by FUPool::getUnit().
|
private |
Queue of FU indices.
Definition at line 117 of file fu_pool.hh.
|
private |
Circular queue index.
Definition at line 111 of file fu_pool.hh.
|
private |
Size of the queue.
Definition at line 114 of file fu_pool.hh.