gem5  v21.1.0.2
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gem5::StreamGen Class Referenceabstract

#include <stream_gen.hh>

Inheritance diagram for gem5::StreamGen:
gem5::FixedStreamGen gem5::RandomStreamGen

Public Member Functions

virtual ~StreamGen ()
 
virtual uint32_t pickStreamID ()=0
 
virtual uint32_t pickSubstreamID ()=0
 
bool ssidValid () const
 Returns true if the substreamID generation is valid and hence should be taken into account. More...
 

Static Public Member Functions

static StreamGencreate (const BaseTrafficGenParams &p)
 Factory method for constructing a Stream generator. More...
 

Protected Member Functions

 StreamGen (const BaseTrafficGenParams &p)
 

Protected Attributes

std::vector< uint32_t > streamIds
 Store preset Stream and Substream IDs to use for requests This is the set of available streamIDs the generator can pick. More...
 
std::vector< uint32_t > substreamIds
 

Detailed Description

Definition at line 52 of file stream_gen.hh.

Constructor & Destructor Documentation

◆ StreamGen()

gem5::StreamGen::StreamGen ( const BaseTrafficGenParams &  p)
inlineprotected

Definition at line 55 of file stream_gen.hh.

References fatal_if, and streamIds.

◆ ~StreamGen()

virtual gem5::StreamGen::~StreamGen ( )
inlinevirtual

Definition at line 67 of file stream_gen.hh.

Member Function Documentation

◆ create()

StreamGen * gem5::StreamGen::create ( const BaseTrafficGenParams &  p)
static

Factory method for constructing a Stream generator.

The Stream generator type is selected by the StreamGenType enum parameter.

@params p pointer to BaseTrafficGenParams struct where the stream generator type is stored.

Returns
a pointer to the newly alocated StremGen

Definition at line 46 of file stream_gen.cc.

References gem5::statistics::none, gem5::MipsISA::p, and gem5::MipsISA::random.

◆ pickStreamID()

virtual uint32_t gem5::StreamGen::pickStreamID ( )
pure virtual

◆ pickSubstreamID()

virtual uint32_t gem5::StreamGen::pickSubstreamID ( )
pure virtual

◆ ssidValid()

bool gem5::StreamGen::ssidValid ( ) const
inline

Returns true if the substreamID generation is valid and hence should be taken into account.

It is valid if the set of substreamIDs passed as a parameter to the TrafficGenerator is a non empty list.

Returns
true if ssid is valid, false otherwise

Definition at line 91 of file stream_gen.hh.

References substreamIds.

Member Data Documentation

◆ streamIds

std::vector<uint32_t> gem5::StreamGen::streamIds
protected

Store preset Stream and Substream IDs to use for requests This is the set of available streamIDs the generator can pick.

The actual ID being picked for a specific memory request is selected by the pickStreamID and pickSubstreamID methods.

Definition at line 101 of file stream_gen.hh.

Referenced by gem5::FixedStreamGen::FixedStreamGen(), gem5::FixedStreamGen::pickStreamID(), gem5::RandomStreamGen::pickStreamID(), and StreamGen().

◆ substreamIds

std::vector<uint32_t> gem5::StreamGen::substreamIds
protected

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

Generated on Tue Sep 21 2021 12:28:14 for gem5 by doxygen 1.8.17