gem5 v24.0.0.0
|
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. | |
virtual | ~Group () |
virtual void | regStats () |
Callback to set stat parameters. | |
virtual void | resetStats () |
Callback to reset stats. | |
virtual void | preDumpStats () |
Callback before stats are dumped. | |
void | addStat (statistics::Info *info) |
Register a stat with this group. | |
const std::map< std::string, Group * > & | getStatGroups () const |
Get all child groups associated with this object. | |
const std::vector< Info * > & | getStats () const |
Get all stats associated with this object. | |
void | addStatGroup (const char *name, Group *block) |
Add a stat block as a child of this block. | |
const Info * | resolveStat (std::string name) const |
Resolve a stat by its name within this group. | |
void | mergeStatGroup (Group *block) |
Merge the contents (stats & children) of a block to this block. | |
Group ()=delete | |
Group (const Group &)=delete | |
Group & | operator= (const Group &)=delete |
Public Attributes | |
statistics::Scalar | instsAdded |
Stat for number of instructions added. | |
statistics::Scalar | nonSpecInstsAdded |
Stat for number of non-speculative instructions added. | |
statistics::Scalar | instsIssued |
statistics::Scalar | intInstsIssued |
Stat for number of integer instructions issued. | |
statistics::Scalar | floatInstsIssued |
Stat for number of floating point instructions issued. | |
statistics::Scalar | branchInstsIssued |
Stat for number of branch instructions issued. | |
statistics::Scalar | memInstsIssued |
Stat for number of memory instructions issued. | |
statistics::Scalar | miscInstsIssued |
Stat for number of miscellaneous instructions issued. | |
statistics::Scalar | squashedInstsIssued |
Stat for number of squashed instructions that were ready to issue. | |
statistics::Scalar | squashedInstsExamined |
Stat for number of squashed instructions examined when squashing. | |
statistics::Scalar | squashedOperandsExamined |
Stat for number of squashed instruction operands examined when squashing. | |
statistics::Scalar | squashedNonSpecRemoved |
Stat for number of non-speculative instructions removed due to a squash. | |
statistics::Distribution | numIssuedDist |
Distribution of number of instructions in the queue. | |
statistics::Vector | statFuBusy |
Distribution of the cycles it takes to issue an instruction. | |
statistics::Vector2d | statIssuedInstType |
Stat for total number issued for each instruction type. | |
statistics::Formula | issueRate |
Number of instructions issued per cycle. | |
statistics::Vector | fuBusy |
Number of times the FU was busy. | |
statistics::Formula | fuBusyRate |
Number of times the FU was busy per instruction issued. | |
Definition at line 483 of file inst_queue.hh.
gem5::o3::InstructionQueue::IQStats::IQStats | ( | CPU * | cpu, |
const unsigned & | total_width ) |
Definition at line 180 of file inst_queue.cc.
References branchInstsIssued, gem5::o3::InstructionQueue::cpu, gem5::statistics::dist, gem5::statistics::DataWrap< Derived, InfoProxyType >::flags(), floatInstsIssued, fuBusy, fuBusyRate, gem5::ArmISA::i, gem5::statistics::Distribution::init(), gem5::statistics::Vector2dBase< Derived, Stor >::init(), gem5::statistics::VectorBase< Derived, Stor >::init(), instsAdded, instsIssued, intInstsIssued, issueRate, memInstsIssued, miscInstsIssued, nonSpecInstsAdded, gem5::Num_OpClasses, numIssuedDist, gem5::BaseCPU::numThreads, gem5::statistics::pdf, gem5::statistics::DataWrap< Derived, InfoProxyType >::prereq(), squashedInstsExamined, squashedInstsIssued, squashedNonSpecRemoved, squashedOperandsExamined, statFuBusy, statIssuedInstType, gem5::statistics::DataWrapVec< Derived, InfoProxyType >::subname(), gem5::statistics::total, and gem5::statistics::DataWrapVec2d< Derived, InfoProxyType >::ysubnames().
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().
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().
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().
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().
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().
statistics::Scalar gem5::o3::InstructionQueue::IQStats::instsIssued |
Definition at line 491 of file inst_queue.hh.
Referenced by IQStats(), and gem5::o3::InstructionQueue::scheduleReadyInsts().
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().
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().
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().
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().
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().
statistics::Distribution gem5::o3::InstructionQueue::IQStats::numIssuedDist |
Distribution of number of instructions in the queue.
Distribution of the number of instructions issued.
Definition at line 523 of file inst_queue.hh.
Referenced by IQStats(), and gem5::o3::InstructionQueue::scheduleReadyInsts().
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().
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().
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().
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().
statistics::Vector gem5::o3::InstructionQueue::IQStats::statFuBusy |
Distribution of the cycles it takes to issue an 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().
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().