gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
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. 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...
 

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 94 of file fu_pool.hh.

Constructor & Destructor Documentation

FUPool::FUIdxQueue::FUIdxQueue ( )
inline

Constructs a circular queue of FU indices.

Definition at line 97 of file fu_pool.hh.

Member Function Documentation

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

Adds a FU to the queue.

Definition at line 57 of file fu_pool.cc.

References X86ISA::size().

Referenced by FUPool::FUPool().

int 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 64 of file fu_pool.cc.

References X86ISA::size().

Referenced by FUPool::getUnit().

Member Data Documentation

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

Queue of FU indices.

Definition at line 117 of file fu_pool.hh.

int FUPool::FUIdxQueue::idx
private

Circular queue index.

Definition at line 111 of file fu_pool.hh.

int FUPool::FUIdxQueue::size
private

Size of the queue.

Definition at line 114 of file fu_pool.hh.


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

Generated on Fri Jun 9 2017 13:04:11 for gem5 by doxygen 1.8.6