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 |
ParseXML * | XML |
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 |
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().