Dear All, I would like to configure the McPat xml file for obtaining the benchmark power analysis from the gem5 FS stats. However, the current stat file has lots of missing parameter in corresponding to Mcpat xml file. It will be very kind to me if anyone can provide me the script to generate the xml file from the current stats files or I would like to know how I can find the value/results of the attached parameters or stats from the gem5 stats or ini or json file.
Thanks a lot. Best regards, F. A. Faisal
<component id="system.mem" name="mem"> <!-- Main memory property --> <param name="device_clock" value="200"/> <param name="peak_transfer_rate" value="6400"/> <param name="capacity_per_channel" value="4096"/> <param name="Block_width_of_DRAM_chip" value="64"/> <param name="output_width_of_DRAM_chip" value="8"/> <param name="page_size_of_DRAM_chip" value="8"/> <param name="burstlength_of_DRAM_chip" value="8"/> <stat name="memory_accesses" value="0"/> <stat name="memory_reads" value="0"/> <stat name="memory_writes" value="0"/> </component> <component id="system.mc" name="mc"> <param name="peak_transfer_rate" value="1600"/> <param name="block_size" value="16"/><!--B--> <param name="addressbus_width" value="32"/> <stat name="memory_accesses" value="6666"/> <stat name="memory_reads" value="3333"/> <stat name="memory_writes" value="3333"/> </component> <component id="system.L20" name="L20"> <stat name="read_accesses" value="stats.system.l2.ReadReq_accesses"/> <stat name="write_accesses" value="stats.system.l2.ReadExReq_accesses"/> <stat name="read_misses" value="stats.system.l2.ReadReq_misses"/> <stat name="write_misses" value="stats.system.l2.ReadExReq_misses"/> <stat name="conflicts" value="stats.system.l2.replacements"/> <stat name="duty_cycle" value="0.5"/> </component> <component id="system.core0.dcache" name="dcache"> <param name="dcache_config" value="config.system.cpu.dcache.size,config.system.cpu.dcache.tags.block_size,config.system.cpu.dcache.assoc,1,1,config.system.cpu.dcache.response_latency,config.system.cpu.dcache.tags.block_size,0"/> <param name="buffer_sizes" value="config.system.cpu.dcache.mshrs,config.system.cpu.dcache.mshrs,config.system.cpu.dcache.mshrs,config.system.cpu.dcache.mshrs"/> miss_buffer_size(MSHR),fill_buffer_size,prefetch_buffer_size,wb_buffer_size--> <stat name="read_accesses" value="stats.system.cpu.dcache.ReadReq_accesses::total"/> <stat name="write_accesses" value="stats.system.cpu.dcache.WriteReq_accesses::total"/> <stat name="read_misses" value="stats.system.cpu.dcache.ReadReq_misses::total"/> <stat name="write_misses" value="stats.system.cpu.dcache.WriteReq_misses::total"/> <stat name="conflicts" value="stats.system.cpu.dcache.tags.replacements"/> </component> <component id="system.core0.dtlb" name="dtlb"> <param name="number_entries" value="config.system.cpu.dtb.size"/> </component> <component id="system.core0.icache" name="icache"> <param name="icache_config" value="config.system.cpu.icache.size,config.system.cpu.icache.tags.block_size,config.system.cpu.icache.assoc,1,1,config.system.cpu.icache.response_latency,config.system.cpu.icache.tags.block_size,0"/> <param name="buffer_sizes" value="config.system.cpu.icache.mshrs,config.system.cpu.icache.mshrs,config.system.cpu.icache.mshrs,config.system.cpu.icache.mshrs"/> </component> <stat name="ROB_reads" value="stats.system.cpu.rob.rob_reads"/> <stat name="ROB_writes" value="stats.system.cpu.rob.rob_writes”/> <stat name="rename_reads" value="stats.system.cpu.rename.int_rename_lookups"/> <!--lookup in renaming logic --> <stat name="rename_writes" value="int(stats.system.cpu.rename.RenamedOperands * stats.system.cpu.rename.int_rename_lookups / stats.system.cpu.rename.RenameLookups)"/><!--update dest regs. renaming logic --> <stat name="fp_rename_reads" value="stats.system.cpu.rename.fp_rename_lookups"/> <stat name="fp_rename_writes" value="int(stats.system.cpu.rename.RenamedOperands * stats.system.cpu.rename.fp_rename_lookups / stats.system.cpu.rename.RenameLookups)"/> <!-- decode and rename stage use this, should be total ic - nop --> <!-- Inst window stats --> <stat name="inst_window_reads" value="stats.system.cpu.iq.int_inst_queue_reads"/> <stat name="inst_window_writes" value="stats.system.cpu.iq.int_inst_queue_writes"/> <stat name="inst_window_wakeup_accesses" value="stats.system.cpu.iq.int_inst_queue_wakeup_accesses"/> <stat name="fp_inst_window_reads" value="stats.system.cpu.iq.fp_inst_queue_reads"/> <stat name="fp_inst_window_writes" value="stats.system.cpu.iq.fp_inst_queue_writes"/> <stat name="fp_inst_window_wakeup_accesses" value="stats.system.cpu.iq.fp_inst_queue_wakeup_accesses"/> <!-- RF accesses --> <stat name="int_regfile_reads" value="stats.system.cpu.int_regfile_reads"/> <stat name="float_regfile_reads" value="stats.system.cpu.fp_regfile_reads"/> <stat name="int_regfile_writes" value="stats.system.cpu.int_regfile_writes"/> <stat name="float_regfile_writes" value="stats.system.cpu.fp_regfile_writes"/> <param name="phy_Regs_IRF_size" value="config.system.cpu.numPhysIntRegs"/> <param name="phy_Regs_FRF_size" value="config.system.cpu.numPhysFloatRegs"/> <param name="store_buffer_size" value="config.system.cpu.SQEntries"/> <param name="load_buffer_size" value="config.system.cpu.LQEntries"/> <param name="memory_ports" value="2"/> <param name="RAS_size" value="config.system.cpu.branchPred.RASSize"/> <stat name="committed_int_instructions" value="stats.system.cpu.commit.int_insts"/> <stat name="committed_fp_instructions" value="stats.system.cpu.commit.fp_insts"/> <stat name="total_instructions" value="stats.system.cpu.iq.iqInstsIssued"/> <stat name="int_instructions" value="stats.system.cpu.iq.FU_type_0::No_OpClass + stats.system.cpu.iq.FU_type_0::IntAlu + stats.system.cpu.iq.FU_type_0::IntMult + stats.system.cpu.iq.FU_type_0::IntDiv + stats.system.cpu.iq.FU_type_0::IprAccess"/> <stat name="fp_instructions" value="stats.system.cpu.iq.FU_type_0::FloatAdd + stats.system.cpu.iq.FU_type_0::FloatCmp + stats.system.cpu.iq.FU_type_0::FloatCvt + stats.system.cpu.iq.FU_type_0::FloatMult + stats.system.cpu.iq.FU_type_0::FloatDiv + stats.system.cpu.iq.FU_type_0::FloatSqrt"/> <param name="number_of_BTB" value="2"/> <component id="system.core0.BTB" name="BTB"> <param name="BTB_config" value="5120,4,2,1, 1,3"/> <stat name="read_accesses" value="stats.system.cpu.branchPred.BTBLookups"/> <stat name="write_accesses" value="stats.system.cpu.commit.branches"/> </component> <component id="system.L1Directory0" name="L1Directory0"> <param name="Directory_type" value="0"/> <param name="Dir_config" value="4096,2,0,1,100,100, 8"/> <param name="buffer_sizes" value="8, 8, 8, 8"/> <param name="clockrate" value="3400"/> <param name="ports" value="1,1,1"/> <param name="device_type" value="0"/> <stat name="read_accesses" value="800000"/> <stat name="write_accesses" value="27276"/> <stat name="read_misses" value="1632"/> <stat name="write_misses" value="183"/> <stat name="conflicts" value="20"/> </component>
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users