gem5  v22.1.0.0
Public Member Functions | Public Attributes | List of all members
gem5::o3::InstructionQueue::IQStats Struct Reference
Inheritance diagram for gem5::o3::InstructionQueue::IQStats:
gem5::statistics::Group

Public Member Functions

 IQStats (CPU *cpu, const unsigned &total_width)
 
- Public Member Functions inherited from gem5::statistics::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 (statistics::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

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

Detailed Description

Definition at line 483 of file inst_queue.hh.

Constructor & Destructor Documentation

◆ IQStats()

gem5::o3::InstructionQueue::IQStats::IQStats ( CPU cpu,
const unsigned &  total_width 
)

Member Data Documentation

◆ branchInstsIssued

statistics::Scalar gem5::o3::InstructionQueue::IQStats::branchInstsIssued

Stat for number of branch instructions issued.

Definition at line 497 of file inst_queue.hh.

Referenced by IQStats().

◆ floatInstsIssued

statistics::Scalar gem5::o3::InstructionQueue::IQStats::floatInstsIssued

Stat for number of floating point instructions issued.

Definition at line 495 of file inst_queue.hh.

Referenced by IQStats().

◆ fuBusy

statistics::Vector gem5::o3::InstructionQueue::IQStats::fuBusy

Number of times the FU was busy.

Definition at line 541 of file inst_queue.hh.

Referenced by IQStats(), and gem5::o3::InstructionQueue::scheduleReadyInsts().

◆ fuBusyRate

statistics::Formula gem5::o3::InstructionQueue::IQStats::fuBusyRate

Number of times the FU was busy per instruction issued.

Definition at line 543 of file inst_queue.hh.

Referenced by IQStats().

◆ instsAdded

statistics::Scalar gem5::o3::InstructionQueue::IQStats::instsAdded

Stat for number of instructions added.

Definition at line 487 of file inst_queue.hh.

Referenced by gem5::o3::InstructionQueue::insert(), and IQStats().

◆ instsIssued

statistics::Scalar gem5::o3::InstructionQueue::IQStats::instsIssued

Definition at line 491 of file inst_queue.hh.

Referenced by IQStats(), and gem5::o3::InstructionQueue::scheduleReadyInsts().

◆ intInstsIssued

statistics::Scalar gem5::o3::InstructionQueue::IQStats::intInstsIssued

Stat for number of integer instructions issued.

Definition at line 493 of file inst_queue.hh.

Referenced by IQStats().

◆ issueRate

statistics::Formula gem5::o3::InstructionQueue::IQStats::issueRate

Number of instructions issued per cycle.

Definition at line 538 of file inst_queue.hh.

Referenced by IQStats().

◆ memInstsIssued

statistics::Scalar gem5::o3::InstructionQueue::IQStats::memInstsIssued

Stat for number of memory instructions issued.

Definition at line 499 of file inst_queue.hh.

Referenced by IQStats().

◆ miscInstsIssued

statistics::Scalar gem5::o3::InstructionQueue::IQStats::miscInstsIssued

Stat for number of miscellaneous instructions issued.

Definition at line 501 of file inst_queue.hh.

Referenced by IQStats().

◆ nonSpecInstsAdded

statistics::Scalar gem5::o3::InstructionQueue::IQStats::nonSpecInstsAdded

Stat for number of non-speculative instructions added.

Definition at line 489 of file inst_queue.hh.

Referenced by gem5::o3::InstructionQueue::insertNonSpec(), and IQStats().

◆ numIssuedDist

statistics::Distribution gem5::o3::InstructionQueue::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 523 of file inst_queue.hh.

Referenced by IQStats(), and gem5::o3::InstructionQueue::scheduleReadyInsts().

◆ squashedInstsExamined

statistics::Scalar gem5::o3::InstructionQueue::IQStats::squashedInstsExamined

Stat for number of squashed instructions examined when squashing.

Definition at line 507 of file inst_queue.hh.

Referenced by gem5::o3::InstructionQueue::doSquash(), and IQStats().

◆ squashedInstsIssued

statistics::Scalar gem5::o3::InstructionQueue::IQStats::squashedInstsIssued

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

Definition at line 504 of file inst_queue.hh.

Referenced by IQStats(), and gem5::o3::InstructionQueue::scheduleReadyInsts().

◆ squashedNonSpecRemoved

statistics::Scalar gem5::o3::InstructionQueue::IQStats::squashedNonSpecRemoved

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

Definition at line 515 of file inst_queue.hh.

Referenced by gem5::o3::InstructionQueue::doSquash(), and IQStats().

◆ squashedOperandsExamined

statistics::Scalar gem5::o3::InstructionQueue::IQStats::squashedOperandsExamined

Stat for number of squashed instruction operands examined when squashing.

Definition at line 511 of file inst_queue.hh.

Referenced by gem5::o3::InstructionQueue::doSquash(), and IQStats().

◆ statFuBusy

statistics::Vector gem5::o3::InstructionQueue::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 532 of file inst_queue.hh.

Referenced by IQStats(), and gem5::o3::InstructionQueue::scheduleReadyInsts().

◆ statIssuedInstType

statistics::Vector2d gem5::o3::InstructionQueue::IQStats::statIssuedInstType

Stat for total number issued for each instruction type.

Definition at line 535 of file inst_queue.hh.

Referenced by IQStats(), and gem5::o3::InstructionQueue::scheduleReadyInsts().


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

Generated on Wed Dec 21 2022 10:24:18 for gem5 by doxygen 1.9.1