gem5  v21.1.0.2
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 482 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 496 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 494 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 540 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 542 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 486 of file inst_queue.hh.

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

◆ instsIssued

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

Definition at line 490 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 492 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 537 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 498 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 500 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 488 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 522 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 506 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 503 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 514 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 510 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 531 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 534 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 Tue Sep 21 2021 12:31:45 for gem5 by doxygen 1.8.17