
---------- Begin Simulation Statistics ----------
sim_seconds                                  0.000003                       # Number of seconds simulated
sim_ticks                                     2820500                       # Number of ticks simulated
final_tick                                    2820500                       # Number of ticks from beginning of simulation (restored from checkpoints and never reset)
sim_freq                                 1000000000000                       # Frequency of simulated ticks
host_inst_rate                                 973752                       # Simulator instruction rate (inst/s)
host_op_rate                                   969638                       # Simulator op (including micro ops) rate (op/s)
host_tick_rate                              482917179                       # Simulator tick rate (ticks/s)
host_mem_usage                                 239104                       # Number of bytes of host memory used
host_seconds                                     0.01                       # Real time elapsed on the host
sim_insts                                        5641                       # Number of instructions simulated
sim_ops                                          5641                       # Number of ops (including micro ops) simulated
system.voltage_domain.voltage                       1                       # Voltage in Volts
system.clk_domain.clock                          1000                       # Clock period in ticks
system.physmem.pwrStateResidencyTicks::UNDEFINED      2820500                       # Cumulative time (in ticks) in various power states
system.physmem.bytes_read::cpu.inst             22568                       # Number of bytes read from this memory
system.physmem.bytes_read::cpu.data              4301                       # Number of bytes read from this memory
system.physmem.bytes_read::total                26869                       # Number of bytes read from this memory
system.physmem.bytes_inst_read::cpu.inst        22568                       # Number of instructions bytes read from this memory
system.physmem.bytes_inst_read::total           22568                       # Number of instructions bytes read from this memory
system.physmem.bytes_written::cpu.data           3601                       # Number of bytes written to this memory
system.physmem.bytes_written::total              3601                       # Number of bytes written to this memory
system.physmem.num_reads::cpu.inst               5642                       # Number of read requests responded to by this memory
system.physmem.num_reads::cpu.data               1135                       # Number of read requests responded to by this memory
system.physmem.num_reads::total                  6777                       # Number of read requests responded to by this memory
system.physmem.num_writes::cpu.data               901                       # Number of write requests responded to by this memory
system.physmem.num_writes::total                  901                       # Number of write requests responded to by this memory
system.physmem.bw_read::cpu.inst           8001418188                       # Total read bandwidth from this memory (bytes/s)
system.physmem.bw_read::cpu.data           1524906931                       # Total read bandwidth from this memory (bytes/s)
system.physmem.bw_read::total              9526325120                       # Total read bandwidth from this memory (bytes/s)
system.physmem.bw_inst_read::cpu.inst      8001418188                       # Instruction read bandwidth from this memory (bytes/s)
system.physmem.bw_inst_read::total         8001418188                       # Instruction read bandwidth from this memory (bytes/s)
system.physmem.bw_write::cpu.data          1276723985                       # Write bandwidth from this memory (bytes/s)
system.physmem.bw_write::total             1276723985                       # Write bandwidth from this memory (bytes/s)
system.physmem.bw_total::cpu.inst          8001418188                       # Total bandwidth to/from this memory (bytes/s)
system.physmem.bw_total::cpu.data          2801630917                       # Total bandwidth to/from this memory (bytes/s)
system.physmem.bw_total::total            10803049105                       # Total bandwidth to/from this memory (bytes/s)
system.pwrStateResidencyTicks::UNDEFINED      2820500                       # Cumulative time (in ticks) in various power states
system.cpu_clk_domain.clock                       500                       # Clock period in ticks
system.cpu.dtb.read_hits                            0                       # DTB read hits
system.cpu.dtb.read_misses                          0                       # DTB read misses
system.cpu.dtb.read_accesses                        0                       # DTB read accesses
system.cpu.dtb.write_hits                           0                       # DTB write hits
system.cpu.dtb.write_misses                         0                       # DTB write misses
system.cpu.dtb.write_accesses                       0                       # DTB write accesses
system.cpu.dtb.hits                                 0                       # DTB hits
system.cpu.dtb.misses                               0                       # DTB misses
system.cpu.dtb.accesses                             0                       # DTB accesses
system.cpu.itb.read_hits                            0                       # DTB read hits
system.cpu.itb.read_misses                          0                       # DTB read misses
system.cpu.itb.read_accesses                        0                       # DTB read accesses
system.cpu.itb.write_hits                           0                       # DTB write hits
system.cpu.itb.write_misses                         0                       # DTB write misses
system.cpu.itb.write_accesses                       0                       # DTB write accesses
system.cpu.itb.hits                                 0                       # DTB hits
system.cpu.itb.misses                               0                       # DTB misses
system.cpu.itb.accesses                             0                       # DTB accesses
system.cpu.workload.numSyscalls                     7                       # Number of system calls
system.cpu.pwrStateResidencyTicks::ON         2820500                       # Cumulative time (in ticks) in various power states
system.cpu.numCycles                             5642                       # number of cpu cycles simulated
system.cpu.numWorkItemsStarted                      0                       # number of work items this cpu started
system.cpu.numWorkItemsCompleted                    0                       # number of work items this cpu completed
system.cpu.committedInsts                        5641                       # Number of instructions committed
system.cpu.committedOps                          5641                       # Number of ops (including micro ops) committed
system.cpu.num_int_alu_accesses                  4957                       # Number of integer alu accesses
system.cpu.num_fp_alu_accesses                      2                       # Number of float alu accesses
system.cpu.num_func_calls                         191                       # number of times a function call or return occured
system.cpu.num_conditional_control_insts          651                       # number of instructions that are conditional controls
system.cpu.num_int_insts                         4957                       # number of integer instructions
system.cpu.num_fp_insts                             2                       # number of float instructions
system.cpu.num_int_register_reads                7072                       # number of times the integer registers were read
system.cpu.num_int_register_writes               3291                       # number of times the integer registers were written
system.cpu.num_fp_register_reads                    3                       # number of times the floating registers were read
system.cpu.num_fp_register_writes                   1                       # number of times the floating registers were written
system.cpu.num_mem_refs                          2037                       # number of memory refs
system.cpu.num_load_insts                        1135                       # Number of load instructions
system.cpu.num_store_insts                        902                       # Number of store instructions
system.cpu.num_idle_cycles                          0                       # Number of idle cycles
system.cpu.num_busy_cycles                       5642                       # Number of busy cycles
system.cpu.not_idle_fraction                        1                       # Percentage of non-idle cycles
system.cpu.idle_fraction                            0                       # Percentage of idle cycles
system.cpu.Branches                               886                       # Number of branches fetched
system.cpu.op_class::No_OpClass                   641     11.36%     11.36% # Class of executed instruction
system.cpu.op_class::IntAlu                      2960     52.46%     63.82% # Class of executed instruction
system.cpu.op_class::IntMult                        2      0.04%     63.86% # Class of executed instruction
system.cpu.op_class::IntDiv                         0      0.00%     63.86% # Class of executed instruction
system.cpu.op_class::FloatAdd                       2      0.04%     63.90% # Class of executed instruction
system.cpu.op_class::FloatCmp                       0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::FloatCvt                       0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::FloatMult                      0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::FloatMultAcc                   0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::FloatDiv                       0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::FloatMisc                      0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::FloatSqrt                      0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdAdd                        0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdAddAcc                     0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdAlu                        0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdCmp                        0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdCvt                        0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdMisc                       0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdMult                       0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdMultAcc                    0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdShift                      0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdShiftAcc                   0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdSqrt                       0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdFloatAdd                   0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdFloatAlu                   0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdFloatCmp                   0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdFloatCvt                   0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdFloatDiv                   0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdFloatMisc                  0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdFloatMult                  0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdFloatMultAcc               0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::SimdFloatSqrt                  0      0.00%     63.90% # Class of executed instruction
system.cpu.op_class::MemRead                     1135     20.12%     84.01% # Class of executed instruction
system.cpu.op_class::MemWrite                     902     15.99%    100.00% # Class of executed instruction
system.cpu.op_class::FloatMemRead                   0      0.00%    100.00% # Class of executed instruction
system.cpu.op_class::FloatMemWrite                  0      0.00%    100.00% # Class of executed instruction
system.cpu.op_class::IprAccess                      0      0.00%    100.00% # Class of executed instruction
system.cpu.op_class::InstPrefetch                   0      0.00%    100.00% # Class of executed instruction
system.cpu.op_class::total                       5642                       # Class of executed instruction
system.membus.snoop_filter.tot_requests             0                       # Total number of requests made to the snoop filter.
system.membus.snoop_filter.hit_single_requests            0                       # Number of requests hitting in the snoop filter with a single holder of the requested data.
system.membus.snoop_filter.hit_multi_requests            0                       # Number of requests hitting in the snoop filter with multiple (>1) holders of the requested data.
system.membus.snoop_filter.tot_snoops               0                       # Total number of snoops made to the snoop filter.
system.membus.snoop_filter.hit_single_snoops            0                       # Number of snoops hitting in the snoop filter with a single holder of the requested data.
system.membus.snoop_filter.hit_multi_snoops            0                       # Number of snoops hitting in the snoop filter with multiple (>1) holders of the requested data.
system.membus.pwrStateResidencyTicks::UNDEFINED      2820500                       # Cumulative time (in ticks) in various power states
system.membus.trans_dist::ReadReq                6777                       # Transaction distribution
system.membus.trans_dist::ReadResp               6777                       # Transaction distribution
system.membus.trans_dist::WriteReq                901                       # Transaction distribution
system.membus.trans_dist::WriteResp               901                       # Transaction distribution
system.membus.pkt_count_system.cpu.icache_port::system.physmem.port        11284                       # Packet count per connected master and slave (bytes)
system.membus.pkt_count_system.cpu.dcache_port::system.physmem.port         4072                       # Packet count per connected master and slave (bytes)
system.membus.pkt_count::total                  15356                       # Packet count per connected master and slave (bytes)
system.membus.pkt_size_system.cpu.icache_port::system.physmem.port        22568                       # Cumulative packet size per connected master and slave (bytes)
system.membus.pkt_size_system.cpu.dcache_port::system.physmem.port         7902                       # Cumulative packet size per connected master and slave (bytes)
system.membus.pkt_size::total                   30470                       # Cumulative packet size per connected master and slave (bytes)
system.membus.snoops                                0                       # Total snoops (count)
system.membus.snoopTraffic                          0                       # Total snoop traffic (bytes)
system.membus.snoop_fanout::samples              7678                       # Request fanout histogram
system.membus.snoop_fanout::mean                    0                       # Request fanout histogram
system.membus.snoop_fanout::stdev                   0                       # Request fanout histogram
system.membus.snoop_fanout::underflows              0      0.00%      0.00% # Request fanout histogram
system.membus.snoop_fanout::0                    7678    100.00%    100.00% # Request fanout histogram
system.membus.snoop_fanout::1                       0      0.00%    100.00% # Request fanout histogram
system.membus.snoop_fanout::overflows               0      0.00%    100.00% # Request fanout histogram
system.membus.snoop_fanout::min_value               0                       # Request fanout histogram
system.membus.snoop_fanout::max_value               0                       # Request fanout histogram
system.membus.snoop_fanout::total                7678                       # Request fanout histogram

---------- End Simulation Statistics   ----------
