gem5  v21.0.1.0
Public Member Functions | Public Attributes | List of all members
InstructionQueue< Impl >::IQStats Struct Reference
Inheritance diagram for InstructionQueue< Impl >::IQStats:
Stats::Group

Public Member Functions

 IQStats (O3CPU *cpu, const unsigned &total_width)
 
- Public Member Functions inherited from Stats::Group
 Group (Group *parent, const char *name=nullptr)
 Construct a new statistics group. More...
 
virtual ~Group ()
 
virtual void regStats ()
 Callback to set stat parameters. More...
 
virtual void resetStats ()
 Callback to reset stats. More...
 
virtual void preDumpStats ()
 Callback before stats are dumped. More...
 
void addStat (Stats::Info *info)
 Register a stat with this group. More...
 
const std::map< std::string, Group * > & getStatGroups () const
 Get all child groups associated with this object. More...
 
const std::vector< Info * > & getStats () const
 Get all stats associated with this object. More...
 
void addStatGroup (const char *name, Group *block)
 Add a stat block as a child of this block. More...
 
const InforesolveStat (std::string name) const
 Resolve a stat by its name within this group. More...
 
void mergeStatGroup (Group *block)
 Merge the contents (stats & children) of a block to this block. More...
 
 Group ()=delete
 
 Group (const Group &)=delete
 
Groupoperator= (const Group &)=delete
 

Public Attributes

Stats::Scalar instsAdded
 Stat for number of instructions added. More...
 
Stats::Scalar nonSpecInstsAdded
 Stat for number of non-speculative instructions added. More...
 
Stats::Scalar instsIssued
 
Stats::Scalar intInstsIssued
 Stat for number of integer instructions issued. More...
 
Stats::Scalar floatInstsIssued
 Stat for number of floating point instructions issued. More...
 
Stats::Scalar branchInstsIssued
 Stat for number of branch instructions issued. More...
 
Stats::Scalar memInstsIssued
 Stat for number of memory instructions issued. More...
 
Stats::Scalar miscInstsIssued
 Stat for number of miscellaneous instructions issued. More...
 
Stats::Scalar squashedInstsIssued
 Stat for number of squashed instructions that were ready to issue. More...
 
Stats::Scalar squashedInstsExamined
 Stat for number of squashed instructions examined when squashing. More...
 
Stats::Scalar squashedOperandsExamined
 Stat for number of squashed instruction operands examined when squashing. More...
 
Stats::Scalar squashedNonSpecRemoved
 Stat for number of non-speculative instructions removed due to a squash. More...
 
Stats::Distribution numIssuedDist
 Distribution of number of instructions in the queue. More...
 
Stats::Vector statFuBusy
 Distribution of the cycles it takes to issue an instruction. More...
 
Stats::Vector2d statIssuedInstType
 Stat for total number issued for each instruction type. More...
 
Stats::Formula issueRate
 Number of instructions issued per cycle. More...
 
Stats::Vector fuBusy
 Number of times the FU was busy. More...
 
Stats::Formula fuBusyRate
 Number of times the FU was busy per instruction issued. More...
 

Detailed Description

template<class Impl>
struct InstructionQueue< Impl >::IQStats

Definition at line 472 of file inst_queue.hh.

Constructor & Destructor Documentation

◆ IQStats()

template<class Impl >
InstructionQueue< Impl >::IQStats::IQStats ( O3CPU cpu,
const unsigned &  total_width 
)

Member Data Documentation

◆ branchInstsIssued

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::branchInstsIssued

Stat for number of branch instructions issued.

Definition at line 486 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats().

◆ floatInstsIssued

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::floatInstsIssued

Stat for number of floating point instructions issued.

Definition at line 484 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats().

◆ fuBusy

template<class Impl >
Stats::Vector InstructionQueue< Impl >::IQStats::fuBusy

Number of times the FU was busy.

Definition at line 530 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats(), and InstructionQueue< Impl >::scheduleReadyInsts().

◆ fuBusyRate

template<class Impl >
Stats::Formula InstructionQueue< Impl >::IQStats::fuBusyRate

Number of times the FU was busy per instruction issued.

Definition at line 532 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats().

◆ instsAdded

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::instsAdded

Stat for number of instructions added.

Definition at line 476 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::insert(), and InstructionQueue< Impl >::IQStats::IQStats().

◆ instsIssued

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::instsIssued

◆ intInstsIssued

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::intInstsIssued

Stat for number of integer instructions issued.

Definition at line 482 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats().

◆ issueRate

template<class Impl >
Stats::Formula InstructionQueue< Impl >::IQStats::issueRate

Number of instructions issued per cycle.

Definition at line 527 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats().

◆ memInstsIssued

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::memInstsIssued

Stat for number of memory instructions issued.

Definition at line 488 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats().

◆ miscInstsIssued

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::miscInstsIssued

Stat for number of miscellaneous instructions issued.

Definition at line 490 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats().

◆ nonSpecInstsAdded

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::nonSpecInstsAdded

Stat for number of non-speculative instructions added.

Definition at line 478 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::insertNonSpec(), and InstructionQueue< Impl >::IQStats::IQStats().

◆ numIssuedDist

template<class Impl >
Stats::Distribution InstructionQueue< Impl >::IQStats::numIssuedDist

Distribution of number of instructions in the queue.

Todo:
: Need to create struct to track the entry time for each instruction.

Distribution of the number of instructions issued.

Definition at line 512 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats(), and InstructionQueue< Impl >::scheduleReadyInsts().

◆ squashedInstsExamined

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::squashedInstsExamined

Stat for number of squashed instructions examined when squashing.

Definition at line 496 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::doSquash(), and InstructionQueue< Impl >::IQStats::IQStats().

◆ squashedInstsIssued

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::squashedInstsIssued

Stat for number of squashed instructions that were ready to issue.

Definition at line 493 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats(), and InstructionQueue< Impl >::scheduleReadyInsts().

◆ squashedNonSpecRemoved

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::squashedNonSpecRemoved

Stat for number of non-speculative instructions removed due to a squash.

Definition at line 504 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::doSquash(), and InstructionQueue< Impl >::IQStats::IQStats().

◆ squashedOperandsExamined

template<class Impl >
Stats::Scalar InstructionQueue< Impl >::IQStats::squashedOperandsExamined

Stat for number of squashed instruction operands examined when squashing.

Definition at line 500 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::doSquash(), and InstructionQueue< Impl >::IQStats::IQStats().

◆ statFuBusy

template<class Impl >
Stats::Vector InstructionQueue< Impl >::IQStats::statFuBusy

Distribution of the cycles it takes to issue an instruction.

Todo:
: Need to create struct to track the ready time for each instruction.

Number of times an instruction could not be issued because a FU was busy.

Definition at line 521 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats(), and InstructionQueue< Impl >::scheduleReadyInsts().

◆ statIssuedInstType

template<class Impl >
Stats::Vector2d InstructionQueue< Impl >::IQStats::statIssuedInstType

Stat for total number issued for each instruction type.

Definition at line 524 of file inst_queue.hh.

Referenced by InstructionQueue< Impl >::IQStats::IQStats(), and InstructionQueue< Impl >::scheduleReadyInsts().


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

Generated on Tue Jun 22 2021 15:28:40 for gem5 by doxygen 1.8.17