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().
1.7.1