gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::o3::FUPool::FUIdxQueue Class Reference

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.

Detailed Description

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.

Constructor & Destructor Documentation

◆ FUIdxQueue()

gem5::o3::FUPool::FUIdxQueue::FUIdxQueue ( )
inline

Constructs a circular queue of FU indices.

Definition at line 102 of file fu_pool.hh.

References idx, and size.

Member Function Documentation

◆ addFU()

void gem5::o3::FUPool::FUIdxQueue::addFU ( int fu_idx)
inline

Adds a FU to the queue.

Definition at line 59 of file fu_pool.cc.

References funcUnitsIdx, and size.

◆ getFU()

int gem5::o3::FUPool::FUIdxQueue::getFU ( )
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 funcUnitsIdx, idx, and size.

Member Data Documentation

◆ funcUnitsIdx

std::vector<int> gem5::o3::FUPool::FUIdxQueue::funcUnitsIdx
private

Queue of FU indices.

Definition at line 122 of file fu_pool.hh.

Referenced by addFU(), and getFU().

◆ idx

int gem5::o3::FUPool::FUIdxQueue::idx
private

Circular queue index.

Definition at line 116 of file fu_pool.hh.

Referenced by FUIdxQueue(), and getFU().

◆ size

int gem5::o3::FUPool::FUIdxQueue::size
private

Size of the queue.

Definition at line 119 of file fu_pool.hh.

Referenced by addFU(), FUIdxQueue(), and getFU().


The documentation for this class was generated from the following files:

Generated on Sat Oct 18 2025 08:07:00 for gem5 by doxygen 1.14.0