Public Member Functions | Data Fields

OOOCore Class Reference

Inheritance diagram for OOOCore:
processor_core

Public Member Functions

virtual void initialize (ParseXML *XML_interface, int ithCore_, InputParameter *interface_ip_)
virtual void computeMaxPower ()
virtual void computeRuntimePower (int ithCore_)
cache_processor SSTreturnICACHE (void)
cache_processor SSTreturnDCACHE (void)
tlb_core SSTreturnITLB (void)
tlb_core SSTreturnDTLB (void)
RF_core SSTreturnIRF (void)
RF_core SSTreturnFRF (void)
RF_core SSTreturnRFWIN (void)
IB_core SSTreturnIB (void)
RS_core SSTreturnIRS (void)
full_decoder SSTreturnDECODER (void)
core_pipeline SSTreturnPIPELINE (void)
resultbus SSTreturnINTBYPASS (void)
resultbus SSTreturnINTTAGBYPASS (void)
resultbus SSTreturnFPBYPASS (void)
selection_logic SSTreturnINSTSELEC (void)
dep_resource_conflict_check SSTreturnIDCL (void)
dep_resource_conflict_check SSTreturnFDCL (void)
MCclock_network SSTreturnCLOCK (void)
UndifferentiatedCore SSTreturnUNCORE (void)
LSQ_core SSTreturnLSQ (void)
LSQ_core SSTreturnLOADQ (void)
ROB_core SSTreturnROB (void)
predictor_core SSTreturnPREDICTOR (void)
BTB_core SSTreturnBTB (void)
RS_core SSTreturnIISQ (void)
RS_core SSTreturnFISQ (void)
RF_core SSTreturnPHYIRF (void)
RF_core SSTreturnPHYFRF (void)
resultbus SSTreturnFPTAGBYPASS (void)
RAT_core SSTreturnIRRAT (void)
RAT_core SSTreturnFRRAT (void)
RAT_core SSTreturnIFRAT (void)
RAT_core SSTreturnFFRAT (void)
RAT_core SSTreturnIFRATCG (void)
RAT_core SSTreturnFFRATCG (void)

Data Fields

ROB_core ROB
LSQ_core loadQ
predictor_core predictor
RAT_core RAT
RAT_core iRRAT
RAT_core iFRAT
RAT_core iFRATCG
RAT_core fRRAT
RAT_core fFRAT
RAT_core fFRATCG
ParseXMLXML
InputParameter interface_ip
int ithCore
bool inorder
bool reservationStationBased
bool renamingCAM
bool regWindowing
int globalCheckpoint
int instructionLength
tlb_core itlb
tlb_core dtlb
cache_processor icache
cache_processor dcache
BTB_core BTB
RF_core IRF
RF_core FRF
RF_core RFWIN
RF_core phyIRF
RF_core phyFRF
IB_core IB
RS_core iRS
RS_core iISQ
RS_core fRS
RS_core fISQ
LSQ_core LSQ
resultbus int_bypass
resultbus intTagBypass
resultbus fp_bypass
resultbus fpTagBypass
selection_logic instruction_selection
dep_resource_conflict_check idcl
dep_resource_conflict_check fdcl
full_decoder inst_decoder
core_pipeline corepipe
MCclock_network clockNetwork
UndifferentiatedCore undifferentiatedCore
powerDef tot_power
powerDef max_power
double bypassPower
double maxIEXEpower
double maxFPUPower
double runtimeDynamicIEXEpower
double runtimeDynamicFPUPower
double area
double maxPower
double runtimeDynamicPower
double totalLeakage
double totalPower
double scktRatio
double clockRate
double executionTime
AreaPower coreTot
AreaPower ifu
AreaPower lsu
AreaPower mmu
AreaPower exu
AreaPower fpu
AreaPower ooou
AreaPower renamingu
AreaPower scheduleru
AreaPower rfu
AreaPower branchPredictor
AreaPower bypass

Member Function Documentation

void OOOCore::computeMaxPower (  )  [virtual]

cout<<"icache.maxPower=" <<icache.maxPower<<endl;

cout<<"maxpower=" <<maxPower<<endl;

cout<<"maxpower=" <<maxPower<<endl;

cout<<"itlb.maxPower=" <<itlb.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"dtlb.maxPower=" <<dtlb.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"IB.maxPower=" <<IB.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"loadQ.maxPower=" <<loadQ.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"StoreQ.maxPower=" <<LSQ.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"iFRAT.maxPower=" <<iFRAT.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"iFRATCG.maxPower=" <<iFRATCG.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"iRRAT.maxPower=" <<iRRAT.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fFRAT.maxPower=" <<fFRAT.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fFRATCG.maxPower=" <<fFRATCG.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fRRAT.maxPower=" <<fRRAT.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"phyIRF.maxPower=" <<phyIRF.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"phyFRF.maxPower=" <<phyFRF.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"iISQ.maxPower=" <<iISQ.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fISQ.maxPower=" <<fISQ.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"ROB.maxPower=" <<ROB.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"iFRAT.maxPower=" <<iFRAT.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"iFRATCG.maxPower=" <<iFRATCG.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"iRRAT.maxPower=" <<iRRAT.maxPower<<endl; cout<<"integerRAT.maxPower=" <<iFRAT.maxPower+iRRAT.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"integerRAT.maxPower=" <<iFRAT.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"iFRATCG.maxPower=" <<iFRATCG.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fFRAT.maxPower=" <<fFRAT.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fFRATCG.maxPower=" <<fFRATCG.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fRRAT.maxPower=" <<fRRAT.maxPower<<endl; cout<<"integerRAT.maxPower=" <<fFRAT.maxPower+fRRAT.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"integerRAT.maxPower=" <<fFRAT.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fFRATCG.maxPower=" <<fFRATCG.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"iISQ.maxPower=" <<iISQ.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fISQ.maxPower=" <<fISQ.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"IRF.maxPower=" <<IRF.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"FRF.maxPower=" <<FRF.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"ROB.maxPower=" <<ROB.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"predictor.maxPower=" <<predictor.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"BTB.maxPower=" <<BTB.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"int_bypass.maxPower=" <<int_bypass.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"intTagBypass.maxPower=" <<intTagBypass.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fp_bypass.maxPower=" <<fp_bypass.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fpTagBypass.maxPower=" <<fpTagBypass.maxPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"instruction_selection.power "<<instruction_selection.power.readOp.dynamic*clockRate<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"idcl.power= "<<idcl.power.readOp.dynamic*clockRate<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"fdcl.power= "<<fdcl.power.readOp.dynamic*clockRate<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"inst_decoder.power= "<<inst_decoder.total_power.readOp.dynamic*clockRate<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"corepipe.power="<<corepipe.power.readOp.dynamic*clockRate<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"maxIEXEpower="<<maxIEXEpower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"maxFPUPower="<<maxFPUPower<<endl; cout<<"maxpower=" <<maxPower<<endl;

cout<<"clockNetwork.total_power="<<clockNetwork.total_power.readOp.dynamic*clockRate<<endl; cout<<"maxpower=" <<maxPower<<endl;

Implements processor_core.

void OOOCore::computeRuntimePower ( int  ithCore_  )  [virtual]

cout<<"icache.runtimeDynamicPower=" <<icache.runtimeDynamicPower<<endl;

cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"itlb.runtimeDynamicPower=" <<itlb.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"dtlb.runtimeDynamicPower=" <<dtlb.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"IB.runtimeDynamicPower=" <<IB.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"loadQ.runtimeDynamicPower=" <<loadQ.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"StoreQ.runtimeDynamicPower=" <<LSQ.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"iFRAT.runtimeDynamicPower=" <<iFRAT.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"iFRATCG.runtimeDynamicPower=" <<iFRATCG.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"iRRAT.runtimeDynamicPower=" <<iRRAT.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fFRAT.runtimeDynamicPower=" <<fFRAT.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fFRATCG.runtimeDynamicPower=" <<fFRATCG.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fRRAT.runtimeDynamicPower=" <<fRRAT.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"phyIRF.runtimeDynamicPower=" <<phyIRF.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"phyFRF.runtimeDynamicPower=" <<phyFRF.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"iISQ.runtimeDynamicPower=" <<iISQ.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fISQ.runtimeDynamicPower=" <<fISQ.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"ROB.runtimeDynamicPower=" <<ROB.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"iFRAT.runtimeDynamicPower=" <<iFRAT.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"iFRATCG.runtimeDynamicPower=" <<iFRATCG.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"iRRAT.runtimeDynamicPower=" <<iRRAT.runtimeDynamicPower<<endl; cout<<"integerRAT.runtimeDynamicPower=" <<iFRAT.runtimeDynamicPower+iRRAT.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"iFRAT.runtimeDynamicPower=" <<iFRAT.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"iFRATCG.runtimeDynamicPower=" <<iFRATCG.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fFRAT.runtimeDynamicPower=" <<fFRAT.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fFRATCG.runtimeDynamicPower=" <<fFRATCG.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fRRAT.runtimeDynamicPower=" <<fRRAT.runtimeDynamicPower<<endl; cout<<"integerRAT.runtimeDynamicPower=" <<fFRAT.runtimeDynamicPower+fRRAT.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fFRAT.runtimeDynamicPower=" <<fFRAT.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fFRATCG.runtimeDynamicPower=" <<fFRATCG.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"iISQ.runtimeDynamicPower=" <<iISQ.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fISQ.runtimeDynamicPower=" <<fISQ.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"IRF.runtimeDynamicPower=" <<IRF.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"FRF.runtimeDynamicPower=" <<FRF.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"ROB.runtimeDynamicPower=" <<ROB.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"predictor.runtimeDynamicPower=" <<predictor.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"BTB.runtimeDynamicPower=" <<BTB.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"int_bypass.runtimeDynamicPower=" <<int_bypass.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"intTagBypass.runtimeDynamicPower=" <<intTagBypass.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fp_bypass.runtimeDynamicPower=" <<fp_bypass.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fpTagBypass.runtimeDynamicPower=" <<fpTagBypass.runtimeDynamicPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"instruction_selection.power "<<instruction_selection.power.readOp.dynamic*XML->sys.core[ithCore].total_instructions/executionTime<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"idcl.power= "<<idcl.power.readOp.dynamic*XML->sys.core[ithCore].int_instructions/executionTime<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"fdcl.power= "<<fdcl.power.readOp.dynamic*XML->sys.core[ithCore].fp_instructions/executionTime<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"inst_decoder.power= "<<inst_decoder.total_power.readOp.dynamic*XML->sys.core[ithCore].total_instructions/executionTime<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"corepipe.power="<<corepipe.power.readOp.dynamic*clockRate<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"runtimeDynamicIEXEpower="<<runtimeDynamicIEXEpower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"runtimeDynamicFPUPower="<<runtimeDynamicFPUPower<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

cout<<"clockNetwork.total_power="<<clockNetwork.total_power.readOp.dynamic*clockRate<<endl; cout<<"runtimeDynamicPower=" <<runtimeDynamicPower<<endl;

Implements processor_core.

void OOOCore::initialize ( ParseXML XML_interface,
int  ithCore_,
InputParameter interface_ip_ 
) [virtual]

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

cout<<"IB.area="<<IB.area<<endl;

cout<<"loadQ.area="<<loadQ.area<<endl;

cout<<"LSQ.area="<<LSQ.area<<endl;

cout<<"iFRAT.area="<<iFRAT.area<<endl;

cout<<"iFRATCG.area="<<iFRATCG.area<<endl;

cout<<"iRRAT.area="<<iRRAT.area<<endl;

cout<<"iFRAT.area="<<iFRAT.area<<endl;

cout<<"iFRATCG.area="<<iFRATCG.area<<endl;

cout<<"iRRAT.area="<<iRRAT.area<<endl;

cout<<"iISQ.area="<<iISQ.area<<endl;

cout<<"phyIRF.area="<<phyIRF.area<<endl;

cout<<"fFRAT.area="<<fFRAT.area<<endl;

cout<<"fFRATCG.area="<<fFRATCG.area<<endl;

cout<<"fRRAT.area="<<fRRAT.area<<endl;

cout<<"fFRAT.area="<<fFRAT.area<<endl;

cout<<"fFRATCG.area="<<fFRATCG.area<<endl;

cout<<"fRRAT.area="<<fRRAT.area<<endl;

cout<<"fISQ.area="<<fISQ.area<<endl;

cout<<"phyFRF.area="<<phyFRF.area<<endl;

cout<<"ROB.area="<<ROB.area<<endl;

cout<<"iFRAT.area="<<iFRAT.area<<endl;

cout<<"iFRATCG.area="<<iFRATCG.area<<endl;

cout<<"iRRATarea="<<iRRAT.area<<endl;

cout<<"iFRAT.area="<<iFRAT.area<<endl;

cout<<"iFRATCG.area="<<iFRATCG.area<<endl;

cout<<"iISQ.area="<<iISQ.area<<endl;

cout<<"fFRAT.area="<<fFRAT.area<<endl;

cout<<"fFRATCG.area="<<fFRATCG.area<<endl;

cout<<"fRRAT.area="<<fRRAT.area<<endl;

cout<<"fFRAT.area="<<fFRAT.area<<endl;

cout<<"fFRATCG.area="<<fFRATCG.area<<endl;

cout<<"fISQ.area="<<fISQ.area<<endl;

cout<<"IRF.area="<<IRF.area<<endl;

cout<<"FRF.area="<<FRF.area<<endl;

cout<<"ROB.area="<<ROB.area<<endl;

cout<<"gpredictor.area="<<predictor.gpredictor.local_result.area<<endl;

cout<<"lpredictor.area="<<predictor.lpredictor.local_result.area<<endl;

cout<<"chooser.area="<<predictor.chooser.local_result.area<<endl;

cout<<"ras.area="<<predictor.ras.local_result.area*XML->sys.core[ithCore].number_hardware_threads<<endl;

cout<<"BTB.area="<<BTB.btb.local_result.area<<endl;

cout<<"area="<<area<<endl;

cout<<"area="<<area<<endl;

Implements processor_core.

Referenced by Processor::initialize().


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