DRAMSys_gem5 functional examples, essential files and doc

This commit intends to provide functional examples and doc.
This commit is contained in:
Éder F. Zulian
2018-08-30 12:57:59 +02:00
parent 0ae7eb842e
commit b0343beac1
13 changed files with 3163 additions and 0 deletions

1
.gitignore vendored
View File

@@ -20,3 +20,4 @@ DRAMSys/analyzer/scripts/__pycache__/
*.pyc
*.autosave
*__pycache__*
DRAMSys/gem5/boot_linux/linux-aarch32-ael.img

View File

@@ -0,0 +1,247 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: G Pages: 1 -->
<svg width="582pt" height="970pt"
viewBox="0.00 0.00 582.00 970.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 966)">
<title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-966 578,-966 578,4 -4,4"/>
<g id="clust1" class="cluster"><title>cluster_root</title>
<g id="a_clust1"><a xlink:title="eventq_index&#61;0&#10;full_system&#61;false&#10;sim_quantum&#61;0&#10;time_sync_enable&#61;false&#10;time_sync_period&#61;100000000000&#10;time_sync_spin_threshold&#61;100000000">
<path fill="#bab6ae" stroke="#000000" d="M20,-8C20,-8 554,-8 554,-8 560,-8 566,-14 566,-20 566,-20 566,-942 566,-942 566,-948 560,-954 554,-954 554,-954 20,-954 20,-954 14,-954 8,-948 8,-942 8,-942 8,-20 8,-20 8,-14 14,-8 20,-8"/>
<text text-anchor="middle" x="287" y="-938.8" font-family="Arial" font-size="14.00" fill="#000000">root </text>
<text text-anchor="middle" x="287" y="-923.8" font-family="Arial" font-size="14.00" fill="#000000">: Root</text>
</a>
</g>
</g>
<g id="clust2" class="cluster"><title>cluster_system</title>
<g id="a_clust2"><a xlink:title="boot_osflags&#61;a&#10;cache_line_size&#61;64&#10;clk_domain&#61;system.clk_domain&#10;default_p_state&#61;UNDEFINED&#10;eventq_index&#61;0&#10;exit_on_work_items&#61;false&#10;init_param&#61;0&#10;kernel&#61;&#10;kernel_addr_check&#61;false&#10;kernel_extras&#61;&#10;load_addr_mask&#61;18446744073709551615&#10;load_offset&#61;0&#10;mem_mode&#61;timing&#10;mem_ranges&#61;0:536870911:0:0:0:0&#10;memories&#61;system.physmem&#10;mmap_using_noreserve&#61;false&#10;multi_thread&#61;false&#10;num_work_ids&#61;16&#10;p_state_clk_gate_bins&#61;20&#10;p_state_clk_gate_max&#61;1000000000000&#10;p_state_clk_gate_min&#61;1000&#10;power_model&#61;&#10;readfile&#61;&#10;symbolfile&#61;&#10;thermal_components&#61;&#10;thermal_model&#61;Null&#10;work_begin_ckpt_count&#61;0&#10;work_begin_cpu_id_exit&#61;&#45;1&#10;work_begin_exit_count&#61;0&#10;work_cpus_ckpt_count&#61;0&#10;work_end_ckpt_count&#61;0&#10;work_end_exit_count&#61;0&#10;work_item_id&#61;&#45;1">
<path fill="#e4e7eb" stroke="#000000" d="M28,-16C28,-16 546,-16 546,-16 552,-16 558,-22 558,-28 558,-28 558,-896 558,-896 558,-902 552,-908 546,-908 546,-908 28,-908 28,-908 22,-908 16,-902 16,-896 16,-896 16,-28 16,-28 16,-22 22,-16 28,-16"/>
<text text-anchor="middle" x="287" y="-892.8" font-family="Arial" font-size="14.00" fill="#000000">system </text>
<text text-anchor="middle" x="287" y="-877.8" font-family="Arial" font-size="14.00" fill="#000000">: System</text>
</a>
</g>
</g>
<g id="clust3" class="cluster"><title>cluster_system_membus</title>
<g id="a_clust3"><a xlink:title="clk_domain&#61;system.clk_domain&#10;default_p_state&#61;UNDEFINED&#10;eventq_index&#61;0&#10;forward_latency&#61;4&#10;frontend_latency&#61;3&#10;p_state_clk_gate_bins&#61;20&#10;p_state_clk_gate_max&#61;1000000000000&#10;p_state_clk_gate_min&#61;1000&#10;point_of_coherency&#61;true&#10;point_of_unification&#61;true&#10;power_model&#61;&#10;response_latency&#61;2&#10;snoop_filter&#61;system.membus.snoop_filter&#10;snoop_response_latency&#61;4&#10;system&#61;system&#10;use_default_range&#61;false&#10;width&#61;16">
<path fill="#6f798c" stroke="#000000" d="M317,-155C317,-155 441,-155 441,-155 447,-155 453,-161 453,-167 453,-167 453,-234 453,-234 453,-240 447,-246 441,-246 441,-246 317,-246 317,-246 311,-246 305,-240 305,-234 305,-234 305,-167 305,-167 305,-161 311,-155 317,-155"/>
<text text-anchor="middle" x="379" y="-230.8" font-family="Arial" font-size="14.00" fill="#000000">membus </text>
<text text-anchor="middle" x="379" y="-215.8" font-family="Arial" font-size="14.00" fill="#000000">: SystemXBar</text>
</a>
</g>
</g>
<g id="clust5" class="cluster"><title>cluster_system_external_memory</title>
<g id="a_clust5"><a xlink:title="addr_ranges&#61;0:536870911:0:0:0:0&#10;clk_domain&#61;system.clk_domain&#10;default_p_state&#61;UNDEFINED&#10;eventq_index&#61;0&#10;p_state_clk_gate_bins&#61;20&#10;p_state_clk_gate_max&#61;1000000000000&#10;p_state_clk_gate_min&#61;1000&#10;port_data&#61;transactor&#10;port_type&#61;tlm_slave&#10;power_model&#61;">
<path fill="#bab6ae" stroke="#000000" d="M362,-24C362,-24 468,-24 468,-24 474,-24 480,-30 480,-36 480,-36 480,-103 480,-103 480,-109 474,-115 468,-115 468,-115 362,-115 362,-115 356,-115 350,-109 350,-103 350,-103 350,-36 350,-36 350,-30 356,-24 362,-24"/>
<text text-anchor="middle" x="415" y="-99.8" font-family="Arial" font-size="14.00" fill="#000000">external_memory </text>
<text text-anchor="middle" x="415" y="-84.8" font-family="Arial" font-size="14.00" fill="#000000">: ExternalSlave</text>
</a>
</g>
</g>
<g id="clust6" class="cluster"><title>cluster_system_tol2bus</title>
<g id="a_clust6"><a xlink:title="clk_domain&#61;system.cpu_clk_domain&#10;default_p_state&#61;UNDEFINED&#10;eventq_index&#61;0&#10;forward_latency&#61;0&#10;frontend_latency&#61;1&#10;p_state_clk_gate_bins&#61;20&#10;p_state_clk_gate_max&#61;1000000000000&#10;p_state_clk_gate_min&#61;1000&#10;point_of_coherency&#61;false&#10;point_of_unification&#61;true&#10;power_model&#61;&#10;response_latency&#61;1&#10;snoop_filter&#61;system.tol2bus.snoop_filter&#10;snoop_response_latency&#61;1&#10;system&#61;system&#10;use_default_range&#61;false&#10;width&#61;32">
<path fill="#6f798c" stroke="#000000" d="M351,-417C351,-417 475,-417 475,-417 481,-417 487,-423 487,-429 487,-429 487,-496 487,-496 487,-502 481,-508 475,-508 475,-508 351,-508 351,-508 345,-508 339,-502 339,-496 339,-496 339,-429 339,-429 339,-423 345,-417 351,-417"/>
<text text-anchor="middle" x="413" y="-492.8" font-family="Arial" font-size="14.00" fill="#000000">tol2bus </text>
<text text-anchor="middle" x="413" y="-477.8" font-family="Arial" font-size="14.00" fill="#000000">: L2XBar</text>
</a>
</g>
</g>
<g id="clust11" class="cluster"><title>cluster_system_l2</title>
<g id="a_clust11"><a xlink:title="addr_ranges&#61;0:18446744073709551615:0:0:0:0&#10;assoc&#61;8&#10;clk_domain&#61;system.cpu_clk_domain&#10;clusivity&#61;mostly_incl&#10;data_latency&#61;20&#10;default_p_state&#61;UNDEFINED&#10;demand_mshr_reserve&#61;1&#10;eventq_index&#61;0&#10;is_read_only&#61;false&#10;max_miss_count&#61;0&#10;mshrs&#61;20&#10;p_state_clk_gate_bins&#61;20&#10;p_state_clk_gate_max&#61;1000000000000&#10;p_state_clk_gate_min&#61;1000&#10;power_model&#61;&#10;prefetch_on_access&#61;false&#10;prefetcher&#61;Null&#10;replacement_policy&#61;system.l2.replacement_policy&#10;response_latency&#61;20&#10;sequential_access&#61;false&#10;size&#61;2097152&#10;system&#61;system&#10;tag_latency&#61;20&#10;tags&#61;system.l2.tags&#10;tgts_per_mshr&#61;12&#10;warmup_percentage&#61;0&#10;write_buffers&#61;8&#10;writeback_clean&#61;false">
<path fill="#bab6ae" stroke="#000000" d="M370,-286C370,-286 538,-286 538,-286 544,-286 550,-292 550,-298 550,-298 550,-365 550,-365 550,-371 544,-377 538,-377 538,-377 370,-377 370,-377 364,-377 358,-371 358,-365 358,-365 358,-298 358,-298 358,-292 364,-286 370,-286"/>
<text text-anchor="middle" x="454" y="-361.8" font-family="Arial" font-size="14.00" fill="#000000">l2 </text>
<text text-anchor="middle" x="454" y="-346.8" font-family="Arial" font-size="14.00" fill="#000000">: L2Cache</text>
</a>
</g>
</g>
<g id="clust17" class="cluster"><title>cluster_system_cpu</title>
<g id="a_clust17"><a xlink:title="branchPred&#61;Null&#10;checker&#61;Null&#10;clk_domain&#61;system.cpu_clk_domain&#10;cpu_id&#61;0&#10;default_p_state&#61;UNDEFINED&#10;do_checkpoint_insts&#61;true&#10;do_quiesce&#61;true&#10;do_statistics_insts&#61;true&#10;dstage2_mmu&#61;system.cpu.dstage2_mmu&#10;dtb&#61;system.cpu.dtb&#10;eventq_index&#61;0&#10;function_trace&#61;false&#10;function_trace_start&#61;0&#10;interrupts&#61;system.cpu.interrupts&#10;isa&#61;system.cpu.isa&#10;istage2_mmu&#61;system.cpu.istage2_mmu&#10;itb&#61;system.cpu.itb&#10;max_insts_all_threads&#61;0&#10;max_insts_any_thread&#61;0&#10;max_loads_all_threads&#61;0&#10;max_loads_any_thread&#61;0&#10;numThreads&#61;1&#10;p_state_clk_gate_bins&#61;20&#10;p_state_clk_gate_max&#61;1000000000000&#10;p_state_clk_gate_min&#61;1000&#10;power_gating_on_idle&#61;false&#10;power_model&#61;&#10;profile&#61;0&#10;progress_interval&#61;0&#10;pwr_gating_latency&#61;300&#10;simpoint_start_insts&#61;&#10;socket_id&#61;0&#10;switched_out&#61;false&#10;syscallRetryLatency&#61;10000&#10;system&#61;system&#10;tracer&#61;system.cpu.tracer&#10;wait_for_remote_gdb&#61;false&#10;workload&#61;system.cpu.workload">
<path fill="#bbc6d9" stroke="#000000" d="M36,-540C36,-540 538,-540 538,-540 544,-540 550,-546 550,-552 550,-552 550,-850 550,-850 550,-856 544,-862 538,-862 538,-862 36,-862 36,-862 30,-862 24,-856 24,-850 24,-850 24,-552 24,-552 24,-546 30,-540 36,-540"/>
<text text-anchor="middle" x="287" y="-846.8" font-family="Arial" font-size="14.00" fill="#000000">cpu </text>
<text text-anchor="middle" x="287" y="-831.8" font-family="Arial" font-size="14.00" fill="#000000">: TimingSimpleCPU</text>
</a>
</g>
</g>
<g id="clust19" class="cluster"><title>cluster_system_cpu_dtb</title>
<g id="a_clust19"><a xlink:title="eventq_index&#61;0&#10;is_stage2&#61;false&#10;size&#61;64&#10;sys&#61;system&#10;walker&#61;system.cpu.dtb.walker">
<path fill="#bab6ae" stroke="#000000" d="M258,-671C258,-671 378,-671 378,-671 384,-671 390,-677 390,-683 390,-683 390,-804 390,-804 390,-810 384,-816 378,-816 378,-816 258,-816 258,-816 252,-816 246,-810 246,-804 246,-804 246,-683 246,-683 246,-677 252,-671 258,-671"/>
<text text-anchor="middle" x="318" y="-800.8" font-family="Arial" font-size="14.00" fill="#000000">dtb </text>
<text text-anchor="middle" x="318" y="-785.8" font-family="Arial" font-size="14.00" fill="#000000">: ArmTLB</text>
</a>
</g>
</g>
<g id="clust20" class="cluster"><title>cluster_system_cpu_dtb_walker</title>
<g id="a_clust20"><a xlink:title="clk_domain&#61;system.cpu_clk_domain&#10;default_p_state&#61;UNDEFINED&#10;eventq_index&#61;0&#10;is_stage2&#61;false&#10;num_squash_per_cycle&#61;2&#10;p_state_clk_gate_bins&#61;20&#10;p_state_clk_gate_max&#61;1000000000000&#10;p_state_clk_gate_min&#61;1000&#10;power_model&#61;&#10;sys&#61;system">
<path fill="#9f9c95" stroke="#000000" d="M266,-679C266,-679 370,-679 370,-679 376,-679 382,-685 382,-691 382,-691 382,-758 382,-758 382,-764 376,-770 370,-770 370,-770 266,-770 266,-770 260,-770 254,-764 254,-758 254,-758 254,-691 254,-691 254,-685 260,-679 266,-679"/>
<text text-anchor="middle" x="318" y="-754.8" font-family="Arial" font-size="14.00" fill="#000000">walker </text>
<text text-anchor="middle" x="318" y="-739.8" font-family="Arial" font-size="14.00" fill="#000000">: ArmTableWalker</text>
</a>
</g>
</g>
<g id="clust22" class="cluster"><title>cluster_system_cpu_itb</title>
<g id="a_clust22"><a xlink:title="eventq_index&#61;0&#10;is_stage2&#61;false&#10;size&#61;64&#10;sys&#61;system&#10;walker&#61;system.cpu.itb.walker">
<path fill="#bab6ae" stroke="#000000" d="M410,-671C410,-671 530,-671 530,-671 536,-671 542,-677 542,-683 542,-683 542,-804 542,-804 542,-810 536,-816 530,-816 530,-816 410,-816 410,-816 404,-816 398,-810 398,-804 398,-804 398,-683 398,-683 398,-677 404,-671 410,-671"/>
<text text-anchor="middle" x="470" y="-800.8" font-family="Arial" font-size="14.00" fill="#000000">itb </text>
<text text-anchor="middle" x="470" y="-785.8" font-family="Arial" font-size="14.00" fill="#000000">: ArmTLB</text>
</a>
</g>
</g>
<g id="clust23" class="cluster"><title>cluster_system_cpu_itb_walker</title>
<g id="a_clust23"><a xlink:title="clk_domain&#61;system.cpu_clk_domain&#10;default_p_state&#61;UNDEFINED&#10;eventq_index&#61;0&#10;is_stage2&#61;false&#10;num_squash_per_cycle&#61;2&#10;p_state_clk_gate_bins&#61;20&#10;p_state_clk_gate_max&#61;1000000000000&#10;p_state_clk_gate_min&#61;1000&#10;power_model&#61;&#10;sys&#61;system">
<path fill="#9f9c95" stroke="#000000" d="M418,-679C418,-679 522,-679 522,-679 528,-679 534,-685 534,-691 534,-691 534,-758 534,-758 534,-764 528,-770 522,-770 522,-770 418,-770 418,-770 412,-770 406,-764 406,-758 406,-758 406,-691 406,-691 406,-685 412,-679 418,-679"/>
<text text-anchor="middle" x="470" y="-754.8" font-family="Arial" font-size="14.00" fill="#000000">walker </text>
<text text-anchor="middle" x="470" y="-739.8" font-family="Arial" font-size="14.00" fill="#000000">: ArmTableWalker</text>
</a>
</g>
</g>
<g id="clust30" class="cluster"><title>cluster_system_cpu_icache</title>
<g id="a_clust30"><a xlink:title="addr_ranges&#61;0:18446744073709551615:0:0:0:0&#10;assoc&#61;2&#10;clk_domain&#61;system.cpu_clk_domain&#10;clusivity&#61;mostly_incl&#10;data_latency&#61;2&#10;default_p_state&#61;UNDEFINED&#10;demand_mshr_reserve&#61;1&#10;eventq_index&#61;0&#10;is_read_only&#61;true&#10;max_miss_count&#61;0&#10;mshrs&#61;4&#10;p_state_clk_gate_bins&#61;20&#10;p_state_clk_gate_max&#61;1000000000000&#10;p_state_clk_gate_min&#61;1000&#10;power_model&#61;&#10;prefetch_on_access&#61;false&#10;prefetcher&#61;Null&#10;replacement_policy&#61;system.cpu.icache.replacement_policy&#10;response_latency&#61;2&#10;sequential_access&#61;false&#10;size&#61;32768&#10;system&#61;system&#10;tag_latency&#61;2&#10;tags&#61;system.cpu.icache.tags&#10;tgts_per_mshr&#61;20&#10;warmup_percentage&#61;0&#10;write_buffers&#61;8&#10;writeback_clean&#61;true">
<path fill="#bab6ae" stroke="#000000" d="M244,-548C244,-548 412,-548 412,-548 418,-548 424,-554 424,-560 424,-560 424,-627 424,-627 424,-633 418,-639 412,-639 412,-639 244,-639 244,-639 238,-639 232,-633 232,-627 232,-627 232,-560 232,-560 232,-554 238,-548 244,-548"/>
<text text-anchor="middle" x="328" y="-623.8" font-family="Arial" font-size="14.00" fill="#000000">icache </text>
<text text-anchor="middle" x="328" y="-608.8" font-family="Arial" font-size="14.00" fill="#000000">: L1_ICache</text>
</a>
</g>
</g>
<g id="clust33" class="cluster"><title>cluster_system_cpu_dcache</title>
<g id="a_clust33"><a xlink:title="addr_ranges&#61;0:18446744073709551615:0:0:0:0&#10;assoc&#61;2&#10;clk_domain&#61;system.cpu_clk_domain&#10;clusivity&#61;mostly_incl&#10;data_latency&#61;2&#10;default_p_state&#61;UNDEFINED&#10;demand_mshr_reserve&#61;1&#10;eventq_index&#61;0&#10;is_read_only&#61;false&#10;max_miss_count&#61;0&#10;mshrs&#61;4&#10;p_state_clk_gate_bins&#61;20&#10;p_state_clk_gate_max&#61;1000000000000&#10;p_state_clk_gate_min&#61;1000&#10;power_model&#61;&#10;prefetch_on_access&#61;false&#10;prefetcher&#61;Null&#10;replacement_policy&#61;system.cpu.dcache.replacement_policy&#10;response_latency&#61;2&#10;sequential_access&#61;false&#10;size&#61;65536&#10;system&#61;system&#10;tag_latency&#61;2&#10;tags&#61;system.cpu.dcache.tags&#10;tgts_per_mshr&#61;20&#10;warmup_percentage&#61;0&#10;write_buffers&#61;8&#10;writeback_clean&#61;false">
<path fill="#bab6ae" stroke="#000000" d="M44,-548C44,-548 212,-548 212,-548 218,-548 224,-554 224,-560 224,-560 224,-627 224,-627 224,-633 218,-639 212,-639 212,-639 44,-639 44,-639 38,-639 32,-633 32,-627 32,-627 32,-560 32,-560 32,-554 38,-548 44,-548"/>
<text text-anchor="middle" x="128" y="-623.8" font-family="Arial" font-size="14.00" fill="#000000">dcache </text>
<text text-anchor="middle" x="128" y="-608.8" font-family="Arial" font-size="14.00" fill="#000000">: L1_DCache</text>
</a>
</g>
</g>
<!-- system_system_port -->
<g id="node1" class="node"><title>system_system_port</title>
<path fill="#b6b8bc" stroke="#000000" d="M264.5,-294.5C264.5,-294.5 335.5,-294.5 335.5,-294.5 341.5,-294.5 347.5,-300.5 347.5,-306.5 347.5,-306.5 347.5,-318.5 347.5,-318.5 347.5,-324.5 341.5,-330.5 335.5,-330.5 335.5,-330.5 264.5,-330.5 264.5,-330.5 258.5,-330.5 252.5,-324.5 252.5,-318.5 252.5,-318.5 252.5,-306.5 252.5,-306.5 252.5,-300.5 258.5,-294.5 264.5,-294.5"/>
<text text-anchor="middle" x="300" y="-308.8" font-family="Arial" font-size="14.00" fill="#000000">system_port</text>
</g>
<!-- system_membus_slave -->
<g id="node3" class="node"><title>system_membus_slave</title>
<path fill="#586070" stroke="#000000" d="M325,-163.5C325,-163.5 355,-163.5 355,-163.5 361,-163.5 367,-169.5 367,-175.5 367,-175.5 367,-187.5 367,-187.5 367,-193.5 361,-199.5 355,-199.5 355,-199.5 325,-199.5 325,-199.5 319,-199.5 313,-193.5 313,-187.5 313,-187.5 313,-175.5 313,-175.5 313,-169.5 319,-163.5 325,-163.5"/>
<text text-anchor="middle" x="340" y="-177.8" font-family="Arial" font-size="14.00" fill="#000000">slave</text>
</g>
<!-- system_system_port&#45;&gt;system_membus_slave -->
<g id="edge1" class="edge"><title>system_system_port&#45;&gt;system_membus_slave</title>
<path fill="none" stroke="black" d="M305.312,-294.37C312.036,-272.685 323.697,-235.078 331.625,-209.51"/>
<polygon fill="black" stroke="black" points="335.048,-210.289 334.666,-199.701 328.362,-208.216 335.048,-210.289"/>
</g>
<!-- system_membus_master -->
<g id="node2" class="node"><title>system_membus_master</title>
<path fill="#586070" stroke="#000000" d="M397,-163.5C397,-163.5 433,-163.5 433,-163.5 439,-163.5 445,-169.5 445,-175.5 445,-175.5 445,-187.5 445,-187.5 445,-193.5 439,-199.5 433,-199.5 433,-199.5 397,-199.5 397,-199.5 391,-199.5 385,-193.5 385,-187.5 385,-187.5 385,-175.5 385,-175.5 385,-169.5 391,-163.5 397,-163.5"/>
<text text-anchor="middle" x="415" y="-177.8" font-family="Arial" font-size="14.00" fill="#000000">master</text>
</g>
<!-- system_external_memory_port -->
<g id="node4" class="node"><title>system_external_memory_port</title>
<path fill="#94918b" stroke="#000000" d="M400,-32.5C400,-32.5 430,-32.5 430,-32.5 436,-32.5 442,-38.5 442,-44.5 442,-44.5 442,-56.5 442,-56.5 442,-62.5 436,-68.5 430,-68.5 430,-68.5 400,-68.5 400,-68.5 394,-68.5 388,-62.5 388,-56.5 388,-56.5 388,-44.5 388,-44.5 388,-38.5 394,-32.5 400,-32.5"/>
<text text-anchor="middle" x="415" y="-46.8" font-family="Arial" font-size="14.00" fill="#000000">port</text>
</g>
<!-- system_membus_master&#45;&gt;system_external_memory_port -->
<g id="edge2" class="edge"><title>system_membus_master&#45;&gt;system_external_memory_port</title>
<path fill="none" stroke="black" d="M415,-163.37C415,-141.781 415,-104.412 415,-78.852"/>
<polygon fill="black" stroke="black" points="418.5,-78.701 415,-68.7011 411.5,-78.7011 418.5,-78.701"/>
</g>
<!-- system_tol2bus_master -->
<g id="node5" class="node"><title>system_tol2bus_master</title>
<path fill="#586070" stroke="#000000" d="M431,-425.5C431,-425.5 467,-425.5 467,-425.5 473,-425.5 479,-431.5 479,-437.5 479,-437.5 479,-449.5 479,-449.5 479,-455.5 473,-461.5 467,-461.5 467,-461.5 431,-461.5 431,-461.5 425,-461.5 419,-455.5 419,-449.5 419,-449.5 419,-437.5 419,-437.5 419,-431.5 425,-425.5 431,-425.5"/>
<text text-anchor="middle" x="449" y="-439.8" font-family="Arial" font-size="14.00" fill="#000000">master</text>
</g>
<!-- system_l2_cpu_side -->
<g id="node8" class="node"><title>system_l2_cpu_side</title>
<path fill="#94918b" stroke="#000000" d="M377.5,-294.5C377.5,-294.5 428.5,-294.5 428.5,-294.5 434.5,-294.5 440.5,-300.5 440.5,-306.5 440.5,-306.5 440.5,-318.5 440.5,-318.5 440.5,-324.5 434.5,-330.5 428.5,-330.5 428.5,-330.5 377.5,-330.5 377.5,-330.5 371.5,-330.5 365.5,-324.5 365.5,-318.5 365.5,-318.5 365.5,-306.5 365.5,-306.5 365.5,-300.5 371.5,-294.5 377.5,-294.5"/>
<text text-anchor="middle" x="403" y="-308.8" font-family="Arial" font-size="14.00" fill="#000000">cpu_side</text>
</g>
<!-- system_tol2bus_master&#45;&gt;system_l2_cpu_side -->
<g id="edge3" class="edge"><title>system_tol2bus_master&#45;&gt;system_l2_cpu_side</title>
<path fill="none" stroke="black" d="M442.892,-425.37C435.124,-403.588 421.63,-365.744 412.51,-340.17"/>
<polygon fill="black" stroke="black" points="415.789,-338.945 409.134,-330.701 409.196,-341.296 415.789,-338.945"/>
</g>
<!-- system_tol2bus_slave -->
<g id="node6" class="node"><title>system_tol2bus_slave</title>
<path fill="#586070" stroke="#000000" d="M359,-425.5C359,-425.5 389,-425.5 389,-425.5 395,-425.5 401,-431.5 401,-437.5 401,-437.5 401,-449.5 401,-449.5 401,-455.5 395,-461.5 389,-461.5 389,-461.5 359,-461.5 359,-461.5 353,-461.5 347,-455.5 347,-449.5 347,-449.5 347,-437.5 347,-437.5 347,-431.5 353,-425.5 359,-425.5"/>
<text text-anchor="middle" x="374" y="-439.8" font-family="Arial" font-size="14.00" fill="#000000">slave</text>
</g>
<!-- system_l2_mem_side -->
<g id="node7" class="node"><title>system_l2_mem_side</title>
<path fill="#94918b" stroke="#000000" d="M470,-294.5C470,-294.5 530,-294.5 530,-294.5 536,-294.5 542,-300.5 542,-306.5 542,-306.5 542,-318.5 542,-318.5 542,-324.5 536,-330.5 530,-330.5 530,-330.5 470,-330.5 470,-330.5 464,-330.5 458,-324.5 458,-318.5 458,-318.5 458,-306.5 458,-306.5 458,-300.5 464,-294.5 470,-294.5"/>
<text text-anchor="middle" x="500" y="-308.8" font-family="Arial" font-size="14.00" fill="#000000">mem_side</text>
</g>
<!-- system_l2_mem_side&#45;&gt;system_membus_slave -->
<g id="edge4" class="edge"><title>system_l2_mem_side&#45;&gt;system_membus_slave</title>
<path fill="none" stroke="black" d="M466.462,-294.374C430.995,-276.175 379.636,-249.529 376,-246 365.309,-235.623 356.845,-221.384 350.817,-209.019"/>
<polygon fill="black" stroke="black" points="353.856,-207.248 346.509,-199.614 347.491,-210.163 353.856,-207.248"/>
</g>
<!-- system_cpu_icache_port -->
<g id="node9" class="node"><title>system_cpu_icache_port</title>
<path fill="#959ead" stroke="#000000" d="M158.5,-687.5C158.5,-687.5 225.5,-687.5 225.5,-687.5 231.5,-687.5 237.5,-693.5 237.5,-699.5 237.5,-699.5 237.5,-711.5 237.5,-711.5 237.5,-717.5 231.5,-723.5 225.5,-723.5 225.5,-723.5 158.5,-723.5 158.5,-723.5 152.5,-723.5 146.5,-717.5 146.5,-711.5 146.5,-711.5 146.5,-699.5 146.5,-699.5 146.5,-693.5 152.5,-687.5 158.5,-687.5"/>
<text text-anchor="middle" x="192" y="-701.8" font-family="Arial" font-size="14.00" fill="#000000">icache_port</text>
</g>
<!-- system_cpu_icache_cpu_side -->
<g id="node14" class="node"><title>system_cpu_icache_cpu_side</title>
<path fill="#94918b" stroke="#000000" d="M251.5,-556.5C251.5,-556.5 302.5,-556.5 302.5,-556.5 308.5,-556.5 314.5,-562.5 314.5,-568.5 314.5,-568.5 314.5,-580.5 314.5,-580.5 314.5,-586.5 308.5,-592.5 302.5,-592.5 302.5,-592.5 251.5,-592.5 251.5,-592.5 245.5,-592.5 239.5,-586.5 239.5,-580.5 239.5,-580.5 239.5,-568.5 239.5,-568.5 239.5,-562.5 245.5,-556.5 251.5,-556.5"/>
<text text-anchor="middle" x="277" y="-570.8" font-family="Arial" font-size="14.00" fill="#000000">cpu_side</text>
</g>
<!-- system_cpu_icache_port&#45;&gt;system_cpu_icache_cpu_side -->
<g id="edge5" class="edge"><title>system_cpu_icache_port&#45;&gt;system_cpu_icache_cpu_side</title>
<path fill="none" stroke="black" d="M203.287,-687.37C217.83,-665.299 243.24,-626.736 260.093,-601.158"/>
<polygon fill="black" stroke="black" points="263.086,-602.977 265.666,-592.701 257.241,-599.126 263.086,-602.977"/>
</g>
<!-- system_cpu_dcache_port -->
<g id="node10" class="node"><title>system_cpu_dcache_port</title>
<path fill="#959ead" stroke="#000000" d="M44,-687.5C44,-687.5 116,-687.5 116,-687.5 122,-687.5 128,-693.5 128,-699.5 128,-699.5 128,-711.5 128,-711.5 128,-717.5 122,-723.5 116,-723.5 116,-723.5 44,-723.5 44,-723.5 38,-723.5 32,-717.5 32,-711.5 32,-711.5 32,-699.5 32,-699.5 32,-693.5 38,-687.5 44,-687.5"/>
<text text-anchor="middle" x="80" y="-701.8" font-family="Arial" font-size="14.00" fill="#000000">dcache_port</text>
</g>
<!-- system_cpu_dcache_cpu_side -->
<g id="node16" class="node"><title>system_cpu_dcache_cpu_side</title>
<path fill="#94918b" stroke="#000000" d="M51.5,-556.5C51.5,-556.5 102.5,-556.5 102.5,-556.5 108.5,-556.5 114.5,-562.5 114.5,-568.5 114.5,-568.5 114.5,-580.5 114.5,-580.5 114.5,-586.5 108.5,-592.5 102.5,-592.5 102.5,-592.5 51.5,-592.5 51.5,-592.5 45.5,-592.5 39.5,-586.5 39.5,-580.5 39.5,-580.5 39.5,-568.5 39.5,-568.5 39.5,-562.5 45.5,-556.5 51.5,-556.5"/>
<text text-anchor="middle" x="77" y="-570.8" font-family="Arial" font-size="14.00" fill="#000000">cpu_side</text>
</g>
<!-- system_cpu_dcache_port&#45;&gt;system_cpu_dcache_cpu_side -->
<g id="edge6" class="edge"><title>system_cpu_dcache_port&#45;&gt;system_cpu_dcache_cpu_side</title>
<path fill="none" stroke="black" d="M79.6016,-687.37C79.0996,-665.781 78.2305,-628.412 77.6361,-602.852"/>
<polygon fill="black" stroke="black" points="81.1317,-602.617 77.4,-592.701 74.1336,-602.78 81.1317,-602.617"/>
</g>
<!-- system_cpu_dtb_walker_port -->
<g id="node11" class="node"><title>system_cpu_dtb_walker_port</title>
<path fill="#7f7c77" stroke="#000000" d="M332,-687.5C332,-687.5 362,-687.5 362,-687.5 368,-687.5 374,-693.5 374,-699.5 374,-699.5 374,-711.5 374,-711.5 374,-717.5 368,-723.5 362,-723.5 362,-723.5 332,-723.5 332,-723.5 326,-723.5 320,-717.5 320,-711.5 320,-711.5 320,-699.5 320,-699.5 320,-693.5 326,-687.5 332,-687.5"/>
<text text-anchor="middle" x="347" y="-701.8" font-family="Arial" font-size="14.00" fill="#000000">port</text>
</g>
<!-- system_cpu_dtb_walker_port&#45;&gt;system_tol2bus_slave -->
<g id="edge7" class="edge"><title>system_cpu_dtb_walker_port&#45;&gt;system_tol2bus_slave</title>
<path fill="none" stroke="black" d="M372.891,-687.286C394.271,-672.443 422.04,-651.485 428,-639 446.956,-599.293 439.197,-582.551 428,-540 427.873,-539.519 404.902,-498.972 388.965,-470.873"/>
<polygon fill="black" stroke="black" points="391.851,-468.867 383.873,-461.896 385.763,-472.321 391.851,-468.867"/>
</g>
<!-- system_cpu_itb_walker_port -->
<g id="node12" class="node"><title>system_cpu_itb_walker_port</title>
<path fill="#7f7c77" stroke="#000000" d="M440,-687.5C440,-687.5 470,-687.5 470,-687.5 476,-687.5 482,-693.5 482,-699.5 482,-699.5 482,-711.5 482,-711.5 482,-717.5 476,-723.5 470,-723.5 470,-723.5 440,-723.5 440,-723.5 434,-723.5 428,-717.5 428,-711.5 428,-711.5 428,-699.5 428,-699.5 428,-693.5 434,-687.5 440,-687.5"/>
<text text-anchor="middle" x="455" y="-701.8" font-family="Arial" font-size="14.00" fill="#000000">port</text>
</g>
<!-- system_cpu_itb_walker_port&#45;&gt;system_tol2bus_slave -->
<g id="edge8" class="edge"><title>system_cpu_itb_walker_port&#45;&gt;system_tol2bus_slave</title>
<path fill="none" stroke="black" d="M456.757,-687.277C459.189,-656.32 461.061,-589.855 439,-540 431.233,-522.448 421.246,-523.554 410,-508 401.505,-496.25 393.412,-482.319 387.059,-470.503"/>
<polygon fill="black" stroke="black" points="390.112,-468.788 382.363,-461.563 383.915,-472.044 390.112,-468.788"/>
</g>
<!-- system_cpu_icache_mem_side -->
<g id="node13" class="node"><title>system_cpu_icache_mem_side</title>
<path fill="#94918b" stroke="#000000" d="M344,-556.5C344,-556.5 404,-556.5 404,-556.5 410,-556.5 416,-562.5 416,-568.5 416,-568.5 416,-580.5 416,-580.5 416,-586.5 410,-592.5 404,-592.5 404,-592.5 344,-592.5 344,-592.5 338,-592.5 332,-586.5 332,-580.5 332,-580.5 332,-568.5 332,-568.5 332,-562.5 338,-556.5 344,-556.5"/>
<text text-anchor="middle" x="374" y="-570.8" font-family="Arial" font-size="14.00" fill="#000000">mem_side</text>
</g>
<!-- system_cpu_icache_mem_side&#45;&gt;system_tol2bus_slave -->
<g id="edge9" class="edge"><title>system_cpu_icache_mem_side&#45;&gt;system_tol2bus_slave</title>
<path fill="none" stroke="black" d="M374,-556.37C374,-534.781 374,-497.412 374,-471.852"/>
<polygon fill="black" stroke="black" points="377.5,-471.701 374,-461.701 370.5,-471.701 377.5,-471.701"/>
</g>
<!-- system_cpu_dcache_mem_side -->
<g id="node15" class="node"><title>system_cpu_dcache_mem_side</title>
<path fill="#94918b" stroke="#000000" d="M144,-556.5C144,-556.5 204,-556.5 204,-556.5 210,-556.5 216,-562.5 216,-568.5 216,-568.5 216,-580.5 216,-580.5 216,-586.5 210,-592.5 204,-592.5 204,-592.5 144,-592.5 144,-592.5 138,-592.5 132,-586.5 132,-580.5 132,-580.5 132,-568.5 132,-568.5 132,-562.5 138,-556.5 144,-556.5"/>
<text text-anchor="middle" x="174" y="-570.8" font-family="Arial" font-size="14.00" fill="#000000">mem_side</text>
</g>
<!-- system_cpu_dcache_mem_side&#45;&gt;system_tol2bus_slave -->
<g id="edge10" class="edge"><title>system_cpu_dcache_mem_side&#45;&gt;system_tol2bus_slave</title>
<path fill="none" stroke="black" d="M200.558,-556.37C236.122,-533.432 299.303,-492.68 338.799,-467.205"/>
<polygon fill="black" stroke="black" points="340.825,-470.063 347.332,-461.701 337.031,-464.18 340.825,-470.063"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,553 @@
[root]
type=Root
children=system
eventq_index=0
full_system=false
sim_quantum=0
time_sync_enable=false
time_sync_period=100000000000
time_sync_spin_threshold=100000000
[system]
type=System
children=clk_domain cpu cpu_clk_domain cpu_voltage_domain dvfs_handler external_memory l2 membus physmem tol2bus voltage_domain
boot_osflags=a
cache_line_size=64
clk_domain=system.clk_domain
default_p_state=UNDEFINED
eventq_index=0
exit_on_work_items=false
init_param=0
kernel=
kernel_addr_check=false
kernel_extras=
load_addr_mask=18446744073709551615
load_offset=0
mem_mode=timing
mem_ranges=0:536870911:0:0:0:0
memories=system.physmem
mmap_using_noreserve=false
multi_thread=false
num_work_ids=16
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
readfile=
symbolfile=
thermal_components=
thermal_model=Null
work_begin_ckpt_count=0
work_begin_cpu_id_exit=-1
work_begin_exit_count=0
work_cpus_ckpt_count=0
work_end_ckpt_count=0
work_end_exit_count=0
work_item_id=-1
system_port=system.membus.slave[0]
[system.clk_domain]
type=SrcClockDomain
clock=1000
domain_id=-1
eventq_index=0
init_perf_level=0
voltage_domain=system.voltage_domain
[system.cpu]
type=TimingSimpleCPU
children=dcache dstage2_mmu dtb icache interrupts isa istage2_mmu itb tracer workload
branchPred=Null
checker=Null
clk_domain=system.cpu_clk_domain
cpu_id=0
default_p_state=UNDEFINED
do_checkpoint_insts=true
do_quiesce=true
do_statistics_insts=true
dstage2_mmu=system.cpu.dstage2_mmu
dtb=system.cpu.dtb
eventq_index=0
function_trace=false
function_trace_start=0
interrupts=system.cpu.interrupts
isa=system.cpu.isa
istage2_mmu=system.cpu.istage2_mmu
itb=system.cpu.itb
max_insts_all_threads=0
max_insts_any_thread=0
max_loads_all_threads=0
max_loads_any_thread=0
numThreads=1
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_gating_on_idle=false
power_model=
profile=0
progress_interval=0
pwr_gating_latency=300
simpoint_start_insts=
socket_id=0
switched_out=false
syscallRetryLatency=10000
system=system
tracer=system.cpu.tracer
wait_for_remote_gdb=false
workload=system.cpu.workload
dcache_port=system.cpu.dcache.cpu_side
icache_port=system.cpu.icache.cpu_side
[system.cpu.dcache]
type=Cache
children=replacement_policy tags
addr_ranges=0:18446744073709551615:0:0:0:0
assoc=2
clk_domain=system.cpu_clk_domain
clusivity=mostly_incl
data_latency=2
default_p_state=UNDEFINED
demand_mshr_reserve=1
eventq_index=0
is_read_only=false
max_miss_count=0
mshrs=4
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
prefetch_on_access=false
prefetcher=Null
replacement_policy=system.cpu.dcache.replacement_policy
response_latency=2
sequential_access=false
size=65536
system=system
tag_latency=2
tags=system.cpu.dcache.tags
tgts_per_mshr=20
warmup_percentage=0
write_buffers=8
writeback_clean=false
cpu_side=system.cpu.dcache_port
mem_side=system.tol2bus.slave[1]
[system.cpu.dcache.replacement_policy]
type=LRURP
eventq_index=0
[system.cpu.dcache.tags]
type=BaseSetAssoc
assoc=2
block_size=64
clk_domain=system.cpu_clk_domain
data_latency=2
default_p_state=UNDEFINED
eventq_index=0
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
replacement_policy=system.cpu.dcache.replacement_policy
sequential_access=false
size=65536
tag_latency=2
warmup_percentage=0
[system.cpu.dstage2_mmu]
type=ArmStage2MMU
children=stage2_tlb
eventq_index=0
stage2_tlb=system.cpu.dstage2_mmu.stage2_tlb
sys=system
tlb=system.cpu.dtb
[system.cpu.dstage2_mmu.stage2_tlb]
type=ArmTLB
children=walker
eventq_index=0
is_stage2=true
size=32
sys=system
walker=system.cpu.dstage2_mmu.stage2_tlb.walker
[system.cpu.dstage2_mmu.stage2_tlb.walker]
type=ArmTableWalker
clk_domain=system.cpu_clk_domain
default_p_state=UNDEFINED
eventq_index=0
is_stage2=true
num_squash_per_cycle=2
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
sys=system
[system.cpu.dtb]
type=ArmTLB
children=walker
eventq_index=0
is_stage2=false
size=64
sys=system
walker=system.cpu.dtb.walker
[system.cpu.dtb.walker]
type=ArmTableWalker
clk_domain=system.cpu_clk_domain
default_p_state=UNDEFINED
eventq_index=0
is_stage2=false
num_squash_per_cycle=2
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
sys=system
port=system.tol2bus.slave[3]
[system.cpu.icache]
type=Cache
children=replacement_policy tags
addr_ranges=0:18446744073709551615:0:0:0:0
assoc=2
clk_domain=system.cpu_clk_domain
clusivity=mostly_incl
data_latency=2
default_p_state=UNDEFINED
demand_mshr_reserve=1
eventq_index=0
is_read_only=true
max_miss_count=0
mshrs=4
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
prefetch_on_access=false
prefetcher=Null
replacement_policy=system.cpu.icache.replacement_policy
response_latency=2
sequential_access=false
size=32768
system=system
tag_latency=2
tags=system.cpu.icache.tags
tgts_per_mshr=20
warmup_percentage=0
write_buffers=8
writeback_clean=true
cpu_side=system.cpu.icache_port
mem_side=system.tol2bus.slave[0]
[system.cpu.icache.replacement_policy]
type=LRURP
eventq_index=0
[system.cpu.icache.tags]
type=BaseSetAssoc
assoc=2
block_size=64
clk_domain=system.cpu_clk_domain
data_latency=2
default_p_state=UNDEFINED
eventq_index=0
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
replacement_policy=system.cpu.icache.replacement_policy
sequential_access=false
size=32768
tag_latency=2
warmup_percentage=0
[system.cpu.interrupts]
type=ArmInterrupts
eventq_index=0
[system.cpu.isa]
type=ArmISA
decoderFlavour=Generic
eventq_index=0
fpsid=1090793632
id_aa64afr0_el1=0
id_aa64afr1_el1=0
id_aa64dfr0_el1=1052678
id_aa64dfr1_el1=0
id_aa64isar0_el1=0
id_aa64isar1_el1=0
id_aa64mmfr0_el1=15728642
id_aa64mmfr1_el1=0
id_isar0=34607377
id_isar1=34677009
id_isar2=555950401
id_isar3=17899825
id_isar4=268501314
id_isar5=0
id_mmfr0=270536963
id_mmfr1=0
id_mmfr2=19070976
id_mmfr3=34611729
impdef_nop=false
midr=1091551472
pmu=Null
system=system
vecRegRenameMode=Full
[system.cpu.istage2_mmu]
type=ArmStage2MMU
children=stage2_tlb
eventq_index=0
stage2_tlb=system.cpu.istage2_mmu.stage2_tlb
sys=system
tlb=system.cpu.itb
[system.cpu.istage2_mmu.stage2_tlb]
type=ArmTLB
children=walker
eventq_index=0
is_stage2=true
size=32
sys=system
walker=system.cpu.istage2_mmu.stage2_tlb.walker
[system.cpu.istage2_mmu.stage2_tlb.walker]
type=ArmTableWalker
clk_domain=system.cpu_clk_domain
default_p_state=UNDEFINED
eventq_index=0
is_stage2=true
num_squash_per_cycle=2
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
sys=system
[system.cpu.itb]
type=ArmTLB
children=walker
eventq_index=0
is_stage2=false
size=64
sys=system
walker=system.cpu.itb.walker
[system.cpu.itb.walker]
type=ArmTableWalker
clk_domain=system.cpu_clk_domain
default_p_state=UNDEFINED
eventq_index=0
is_stage2=false
num_squash_per_cycle=2
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
sys=system
port=system.tol2bus.slave[2]
[system.cpu.tracer]
type=ExeTracer
eventq_index=0
[system.cpu.workload]
type=Process
cmd=../../DRAMSys/gem5/gem5_se/Bubblesort
cwd=
drivers=
egid=100
env=
errout=cerr
euid=100
eventq_index=0
executable=../../DRAMSys/gem5/gem5_se/Bubblesort
gid=100
input=cin
kvmInSE=false
maxStackSize=67108864
output=cout
pgid=100
pid=100
ppid=0
simpoint=0
system=system
uid=100
useArchPT=false
[system.cpu_clk_domain]
type=SrcClockDomain
clock=500
domain_id=-1
eventq_index=0
init_perf_level=0
voltage_domain=system.cpu_voltage_domain
[system.cpu_voltage_domain]
type=VoltageDomain
eventq_index=0
voltage=1.0
[system.dvfs_handler]
type=DVFSHandler
domains=
enable=false
eventq_index=0
sys_clk_domain=system.clk_domain
transition_latency=100000000
[system.external_memory]
type=ExternalSlave
addr_ranges=0:536870911:0:0:0:0
clk_domain=system.clk_domain
default_p_state=UNDEFINED
eventq_index=0
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
port_data=transactor
port_type=tlm_slave
power_model=
port=system.membus.master[0]
[system.l2]
type=Cache
children=replacement_policy tags
addr_ranges=0:18446744073709551615:0:0:0:0
assoc=8
clk_domain=system.cpu_clk_domain
clusivity=mostly_incl
data_latency=20
default_p_state=UNDEFINED
demand_mshr_reserve=1
eventq_index=0
is_read_only=false
max_miss_count=0
mshrs=20
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
prefetch_on_access=false
prefetcher=Null
replacement_policy=system.l2.replacement_policy
response_latency=20
sequential_access=false
size=2097152
system=system
tag_latency=20
tags=system.l2.tags
tgts_per_mshr=12
warmup_percentage=0
write_buffers=8
writeback_clean=false
cpu_side=system.tol2bus.master[0]
mem_side=system.membus.slave[1]
[system.l2.replacement_policy]
type=LRURP
eventq_index=0
[system.l2.tags]
type=BaseSetAssoc
assoc=8
block_size=64
clk_domain=system.cpu_clk_domain
data_latency=20
default_p_state=UNDEFINED
eventq_index=0
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
replacement_policy=system.l2.replacement_policy
sequential_access=false
size=2097152
tag_latency=20
warmup_percentage=0
[system.membus]
type=CoherentXBar
children=snoop_filter
clk_domain=system.clk_domain
default_p_state=UNDEFINED
eventq_index=0
forward_latency=4
frontend_latency=3
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
point_of_coherency=true
point_of_unification=true
power_model=
response_latency=2
snoop_filter=system.membus.snoop_filter
snoop_response_latency=4
system=system
use_default_range=false
width=16
master=system.external_memory.port
slave=system.system_port system.l2.mem_side
[system.membus.snoop_filter]
type=SnoopFilter
eventq_index=0
lookup_latency=1
max_capacity=8388608
system=system
[system.physmem]
type=SimpleMemory
bandwidth=73.000000
clk_domain=system.clk_domain
conf_table_reported=true
default_p_state=UNDEFINED
eventq_index=0
in_addr_map=true
kvm_map=true
latency=30000
latency_var=0
null=false
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
range=0:134217727:0:0:0:0
[system.tol2bus]
type=CoherentXBar
children=snoop_filter
clk_domain=system.cpu_clk_domain
default_p_state=UNDEFINED
eventq_index=0
forward_latency=0
frontend_latency=1
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
point_of_coherency=false
point_of_unification=true
power_model=
response_latency=1
snoop_filter=system.tol2bus.snoop_filter
snoop_response_latency=1
system=system
use_default_range=false
width=32
master=system.l2.cpu_side
slave=system.cpu.icache.mem_side system.cpu.dcache.mem_side system.cpu.itb.walker.port system.cpu.dtb.walker.port
[system.tol2bus.snoop_filter]
type=SnoopFilter
eventq_index=0
lookup_latency=0
max_capacity=8388608
system=system
[system.voltage_domain]
type=VoltageDomain
eventq_index=0
voltage=1.0

View File

@@ -0,0 +1,553 @@
[root]
type=Root
children=system
eventq_index=0
full_system=false
sim_quantum=0
time_sync_enable=false
time_sync_period=100000000000
time_sync_spin_threshold=100000000
[system]
type=System
children=clk_domain cpu cpu_clk_domain cpu_voltage_domain dvfs_handler external_memory l2 membus physmem tol2bus voltage_domain
boot_osflags=a
cache_line_size=64
clk_domain=system.clk_domain
default_p_state=UNDEFINED
eventq_index=0
exit_on_work_items=false
init_param=0
kernel=
kernel_addr_check=false
kernel_extras=
load_addr_mask=18446744073709551615
load_offset=0
mem_mode=timing
mem_ranges=0:536870911:0:0:0:0
memories=system.physmem
mmap_using_noreserve=false
multi_thread=false
num_work_ids=16
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
readfile=
symbolfile=
thermal_components=
thermal_model=Null
work_begin_ckpt_count=0
work_begin_cpu_id_exit=-1
work_begin_exit_count=0
work_cpus_ckpt_count=0
work_end_ckpt_count=0
work_end_exit_count=0
work_item_id=-1
system_port=system.membus.slave[0]
[system.clk_domain]
type=SrcClockDomain
clock=1000
domain_id=-1
eventq_index=0
init_perf_level=0
voltage_domain=system.voltage_domain
[system.cpu]
type=TimingSimpleCPU
children=dcache dstage2_mmu dtb icache interrupts isa istage2_mmu itb tracer workload
branchPred=Null
checker=Null
clk_domain=system.cpu_clk_domain
cpu_id=0
default_p_state=UNDEFINED
do_checkpoint_insts=true
do_quiesce=true
do_statistics_insts=true
dstage2_mmu=system.cpu.dstage2_mmu
dtb=system.cpu.dtb
eventq_index=0
function_trace=false
function_trace_start=0
interrupts=system.cpu.interrupts
isa=system.cpu.isa
istage2_mmu=system.cpu.istage2_mmu
itb=system.cpu.itb
max_insts_all_threads=0
max_insts_any_thread=0
max_loads_all_threads=0
max_loads_any_thread=0
numThreads=1
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_gating_on_idle=false
power_model=
profile=0
progress_interval=0
pwr_gating_latency=300
simpoint_start_insts=
socket_id=0
switched_out=false
syscallRetryLatency=10000
system=system
tracer=system.cpu.tracer
wait_for_remote_gdb=false
workload=system.cpu.workload
dcache_port=system.cpu.dcache.cpu_side
icache_port=system.cpu.icache.cpu_side
[system.cpu.dcache]
type=Cache
children=replacement_policy tags
addr_ranges=0:18446744073709551615:0:0:0:0
assoc=2
clk_domain=system.cpu_clk_domain
clusivity=mostly_incl
data_latency=2
default_p_state=UNDEFINED
demand_mshr_reserve=1
eventq_index=0
is_read_only=false
max_miss_count=0
mshrs=4
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
prefetch_on_access=false
prefetcher=Null
replacement_policy=system.cpu.dcache.replacement_policy
response_latency=2
sequential_access=false
size=65536
system=system
tag_latency=2
tags=system.cpu.dcache.tags
tgts_per_mshr=20
warmup_percentage=0
write_buffers=8
writeback_clean=false
cpu_side=system.cpu.dcache_port
mem_side=system.tol2bus.slave[1]
[system.cpu.dcache.replacement_policy]
type=LRURP
eventq_index=0
[system.cpu.dcache.tags]
type=BaseSetAssoc
assoc=2
block_size=64
clk_domain=system.cpu_clk_domain
data_latency=2
default_p_state=UNDEFINED
eventq_index=0
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
replacement_policy=system.cpu.dcache.replacement_policy
sequential_access=false
size=65536
tag_latency=2
warmup_percentage=0
[system.cpu.dstage2_mmu]
type=ArmStage2MMU
children=stage2_tlb
eventq_index=0
stage2_tlb=system.cpu.dstage2_mmu.stage2_tlb
sys=system
tlb=system.cpu.dtb
[system.cpu.dstage2_mmu.stage2_tlb]
type=ArmTLB
children=walker
eventq_index=0
is_stage2=true
size=32
sys=system
walker=system.cpu.dstage2_mmu.stage2_tlb.walker
[system.cpu.dstage2_mmu.stage2_tlb.walker]
type=ArmTableWalker
clk_domain=system.cpu_clk_domain
default_p_state=UNDEFINED
eventq_index=0
is_stage2=true
num_squash_per_cycle=2
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
sys=system
[system.cpu.dtb]
type=ArmTLB
children=walker
eventq_index=0
is_stage2=false
size=64
sys=system
walker=system.cpu.dtb.walker
[system.cpu.dtb.walker]
type=ArmTableWalker
clk_domain=system.cpu_clk_domain
default_p_state=UNDEFINED
eventq_index=0
is_stage2=false
num_squash_per_cycle=2
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
sys=system
port=system.tol2bus.slave[3]
[system.cpu.icache]
type=Cache
children=replacement_policy tags
addr_ranges=0:18446744073709551615:0:0:0:0
assoc=2
clk_domain=system.cpu_clk_domain
clusivity=mostly_incl
data_latency=2
default_p_state=UNDEFINED
demand_mshr_reserve=1
eventq_index=0
is_read_only=true
max_miss_count=0
mshrs=4
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
prefetch_on_access=false
prefetcher=Null
replacement_policy=system.cpu.icache.replacement_policy
response_latency=2
sequential_access=false
size=32768
system=system
tag_latency=2
tags=system.cpu.icache.tags
tgts_per_mshr=20
warmup_percentage=0
write_buffers=8
writeback_clean=true
cpu_side=system.cpu.icache_port
mem_side=system.tol2bus.slave[0]
[system.cpu.icache.replacement_policy]
type=LRURP
eventq_index=0
[system.cpu.icache.tags]
type=BaseSetAssoc
assoc=2
block_size=64
clk_domain=system.cpu_clk_domain
data_latency=2
default_p_state=UNDEFINED
eventq_index=0
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
replacement_policy=system.cpu.icache.replacement_policy
sequential_access=false
size=32768
tag_latency=2
warmup_percentage=0
[system.cpu.interrupts]
type=ArmInterrupts
eventq_index=0
[system.cpu.isa]
type=ArmISA
decoderFlavour=Generic
eventq_index=0
fpsid=1090793632
id_aa64afr0_el1=0
id_aa64afr1_el1=0
id_aa64dfr0_el1=1052678
id_aa64dfr1_el1=0
id_aa64isar0_el1=0
id_aa64isar1_el1=0
id_aa64mmfr0_el1=15728642
id_aa64mmfr1_el1=0
id_isar0=34607377
id_isar1=34677009
id_isar2=555950401
id_isar3=17899825
id_isar4=268501314
id_isar5=0
id_mmfr0=270536963
id_mmfr1=0
id_mmfr2=19070976
id_mmfr3=34611729
impdef_nop=false
midr=1091551472
pmu=Null
system=system
vecRegRenameMode=Full
[system.cpu.istage2_mmu]
type=ArmStage2MMU
children=stage2_tlb
eventq_index=0
stage2_tlb=system.cpu.istage2_mmu.stage2_tlb
sys=system
tlb=system.cpu.itb
[system.cpu.istage2_mmu.stage2_tlb]
type=ArmTLB
children=walker
eventq_index=0
is_stage2=true
size=32
sys=system
walker=system.cpu.istage2_mmu.stage2_tlb.walker
[system.cpu.istage2_mmu.stage2_tlb.walker]
type=ArmTableWalker
clk_domain=system.cpu_clk_domain
default_p_state=UNDEFINED
eventq_index=0
is_stage2=true
num_squash_per_cycle=2
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
sys=system
[system.cpu.itb]
type=ArmTLB
children=walker
eventq_index=0
is_stage2=false
size=64
sys=system
walker=system.cpu.itb.walker
[system.cpu.itb.walker]
type=ArmTableWalker
clk_domain=system.cpu_clk_domain
default_p_state=UNDEFINED
eventq_index=0
is_stage2=false
num_squash_per_cycle=2
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
sys=system
port=system.tol2bus.slave[2]
[system.cpu.tracer]
type=ExeTracer
eventq_index=0
[system.cpu.workload]
type=Process
cmd=../../DRAMSys/gem5/gem5_se/hello
cwd=
drivers=
egid=100
env=
errout=cerr
euid=100
eventq_index=0
executable=../../DRAMSys/gem5/gem5_se/hello
gid=100
input=cin
kvmInSE=false
maxStackSize=67108864
output=cout
pgid=100
pid=100
ppid=0
simpoint=0
system=system
uid=100
useArchPT=false
[system.cpu_clk_domain]
type=SrcClockDomain
clock=500
domain_id=-1
eventq_index=0
init_perf_level=0
voltage_domain=system.cpu_voltage_domain
[system.cpu_voltage_domain]
type=VoltageDomain
eventq_index=0
voltage=1.0
[system.dvfs_handler]
type=DVFSHandler
domains=
enable=false
eventq_index=0
sys_clk_domain=system.clk_domain
transition_latency=100000000
[system.external_memory]
type=ExternalSlave
addr_ranges=0:536870911:0:0:0:0
clk_domain=system.clk_domain
default_p_state=UNDEFINED
eventq_index=0
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
port_data=transactor
port_type=tlm_slave
power_model=
port=system.membus.master[0]
[system.l2]
type=Cache
children=replacement_policy tags
addr_ranges=0:18446744073709551615:0:0:0:0
assoc=8
clk_domain=system.cpu_clk_domain
clusivity=mostly_incl
data_latency=20
default_p_state=UNDEFINED
demand_mshr_reserve=1
eventq_index=0
is_read_only=false
max_miss_count=0
mshrs=20
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
prefetch_on_access=false
prefetcher=Null
replacement_policy=system.l2.replacement_policy
response_latency=20
sequential_access=false
size=2097152
system=system
tag_latency=20
tags=system.l2.tags
tgts_per_mshr=12
warmup_percentage=0
write_buffers=8
writeback_clean=false
cpu_side=system.tol2bus.master[0]
mem_side=system.membus.slave[1]
[system.l2.replacement_policy]
type=LRURP
eventq_index=0
[system.l2.tags]
type=BaseSetAssoc
assoc=8
block_size=64
clk_domain=system.cpu_clk_domain
data_latency=20
default_p_state=UNDEFINED
eventq_index=0
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
replacement_policy=system.l2.replacement_policy
sequential_access=false
size=2097152
tag_latency=20
warmup_percentage=0
[system.membus]
type=CoherentXBar
children=snoop_filter
clk_domain=system.clk_domain
default_p_state=UNDEFINED
eventq_index=0
forward_latency=4
frontend_latency=3
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
point_of_coherency=true
point_of_unification=true
power_model=
response_latency=2
snoop_filter=system.membus.snoop_filter
snoop_response_latency=4
system=system
use_default_range=false
width=16
master=system.external_memory.port
slave=system.system_port system.l2.mem_side
[system.membus.snoop_filter]
type=SnoopFilter
eventq_index=0
lookup_latency=1
max_capacity=8388608
system=system
[system.physmem]
type=SimpleMemory
bandwidth=73.000000
clk_domain=system.clk_domain
conf_table_reported=true
default_p_state=UNDEFINED
eventq_index=0
in_addr_map=true
kvm_map=true
latency=30000
latency_var=0
null=false
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
power_model=
range=0:134217727:0:0:0:0
[system.tol2bus]
type=CoherentXBar
children=snoop_filter
clk_domain=system.cpu_clk_domain
default_p_state=UNDEFINED
eventq_index=0
forward_latency=0
frontend_latency=1
p_state_clk_gate_bins=20
p_state_clk_gate_max=1000000000000
p_state_clk_gate_min=1000
point_of_coherency=false
point_of_unification=true
power_model=
response_latency=1
snoop_filter=system.tol2bus.snoop_filter
snoop_response_latency=1
system=system
use_default_range=false
width=32
master=system.l2.cpu_side
slave=system.cpu.icache.mem_side system.cpu.dcache.mem_side system.cpu.itb.walker.port system.cpu.dtb.walker.port
[system.tol2bus.snoop_filter]
type=SnoopFilter
eventq_index=0
lookup_latency=0
max_capacity=8388608
system=system
[system.voltage_domain]
type=VoltageDomain
eventq_index=0
voltage=1.0

BIN
DRAMSys/gem5/gem5_se/hello Executable file

Binary file not shown.

View File

@@ -0,0 +1,28 @@
<simconfig>
<SimulationName value="ddr3" />
<Debug value="0" />
<DatabaseRecording value="1" />
<PowerAnalysis value="1" />
<EnableWindowing value = "1" />
<WindowSize value="1000" />
<ThermalSimulation value="0"/>
<SimulationProgressBar value="1"/>
<NumberOfMemChannels value="1"/>
<NumberOfDevicesOnDIMM value = "8" />
<CheckTLM2Protocol value = "0" />
<AddressOffset value = "0" />
<ECCControllerMode value = "Disabled" />
<ErrorChipSeed value="42" />
<ErrorCSVFile value="" />
<!-- Modes:
- NoStorage,
- Store (store data without errormodel),
- ErrorModel (store data with errormodel)
-->
<StoreMode value="Store" />
<!-- Gem5 Related Configuration:
In the memory controller file the storage mode should be set to Store
E.g. the DRAM is located at 0x80000000 for gem5
-->
<AddressOffset value = "2147483648" />
</simconfig>

View File

@@ -0,0 +1,28 @@
<simconfig>
<SimulationName value="ddr3" />
<Debug value="0" />
<DatabaseRecording value="1" />
<PowerAnalysis value="1" />
<EnableWindowing value = "1" />
<WindowSize value="1000" />
<ThermalSimulation value="0"/>
<SimulationProgressBar value="1"/>
<NumberOfMemChannels value="1"/>
<NumberOfDevicesOnDIMM value = "8" />
<CheckTLM2Protocol value = "0" />
<AddressOffset value = "0" />
<ECCControllerMode value = "Disabled" />
<ErrorChipSeed value="42" />
<ErrorCSVFile value="" />
<!-- Modes:
- NoStorage,
- Store (store data without errormodel),
- ErrorModel (store data with errormodel)
-->
<StoreMode value="Store" />
<!-- Gem5 Related Configuration:
In the memory controller file the storage mode should be set to Store
E.g. the DRAM is located at 0x80000000 for gem5
<AddressOffset value = "2147483648" />
-->
</simconfig>

View File

@@ -0,0 +1,25 @@
<simulation>
<!-- Simulation file identifier -->
<simulationid id="ddr3-example"></simulationid>
<!-- Configuration for the DRAMSys Simulator -->
<simconfig src="ddr3_boot_linux.xml" />
<!-- Temperature Simulator Configuration -->
<thermalconfig src="config.xml" />
<!-- Memory Device Specification: Which Device is on the DDR3 DIMM -->
<memspec src="MICRON_1Gb_DDR3-1600_8bit_G.xml"></memspec>
<!-- Addressmapping Configuration of the Memory Controller -->
<addressmapping src="am_ddr3_8x1Gbx8_dimm_p1KB_brc.xml"></addressmapping>
<!-- Memory Controller Configuration: -->
<mcconfig src="fifoStrict.xml"/>
<!--
The following trace setup is only used in standalone mode.
In library mode e.g. in Platform Architect the trace setup is ignored.
-->
<tracesetup>
<!--
This device mimics an image processing application
running on an FPGA with 200 Mhz.
-->
<device clkMhz="200">ddr3_example.stl</device>
</tracesetup>
</simulation>

View File

@@ -0,0 +1,25 @@
<simulation>
<!-- Simulation file identifier -->
<simulationid id="ddr3-example"></simulationid>
<!-- Configuration for the DRAMSys Simulator -->
<simconfig src="ddr3_gem5_se.xml" />
<!-- Temperature Simulator Configuration -->
<thermalconfig src="config.xml" />
<!-- Memory Device Specification: Which Device is on the DDR3 DIMM -->
<memspec src="MICRON_1Gb_DDR3-1600_8bit_G.xml"></memspec>
<!-- Addressmapping Configuration of the Memory Controller -->
<addressmapping src="am_ddr3_8x1Gbx8_dimm_p1KB_brc.xml"></addressmapping>
<!-- Memory Controller Configuration: -->
<mcconfig src="fifoStrict.xml"/>
<!--
The following trace setup is only used in standalone mode.
In library mode e.g. in Platform Architect the trace setup is ignored.
-->
<tracesetup>
<!--
This device mimics an image processing application
running on an FPGA with 200 Mhz.
-->
<device clkMhz="200">ddr3_example.stl</device>
</tracesetup>
</simulation>

View File

@@ -1547,6 +1547,50 @@ Lets run the simulation for some seconds and then stop the simulation with
**CTRL-C**. Observe the output of the simulation in the trace analyzer. The trace
database file is stored in the gem5 directory in the building directory.
### Gem5 SE mode and DRAMSys
All essential files for some functional examples are provided.
Execute a hello world application:
``` bash
./DRAMSys_gem5 /home/eder/repos/dram.vp.system/DRAMSys/library/resources/simulations/ddr3-gem5-se.xml ../../DRAMSys/gem5/configs/hello.ini
```
A **Hello world!** message should be printed to the standard output.
Execute a bubble sort application:
``` bash
./DRAMSys_gem5 /home/eder/repos/dram.vp.system/DRAMSys/library/resources/simulations/ddr3-gem5-se.xml ../../DRAMSys/gem5/configs/bubblesort.ini
```
Wait some minutes for the bubble sort application to finish.
The hello application binary was copied from gem5 repository. The bubble sort application was obtained with [gem5.TnT](https://github.com/tukl-msd/gem5.TnT).
Command template for generating **.ini** configuration files follows:
``` bash
build/ARM/gem5.opt configs/example/se.py -c <application> --mem-size=512MB --mem-channels=1 --caches --l2cache --mem-type=SimpleMemory --cpu-type=TimingSimpleCPU --num-cpu=1 --tlm-memory=transactor
```
An overview of the architcture being simulated is presented below:
![arch](DRAMSys/docs/images/gem5_se_mode_arch.png)
Note: this is a gem5 generated file, therefore DRAMSys is omitted. DRAMSys is
direct connected as external tlm slave.
Note: workaround in se.py required:
```
...
if options.tlm_memory:
system.physmem = SimpleMemory()
MemConfig.config_mem(options, system)
...
```
### Boot Linux with gem5 and DRAMSys
The procedure is very similar to the traffic generator example above.
@@ -1607,6 +1651,29 @@ Then start DRAMSys_gem5 with the following command:
For further sophisticated address mappings or scenarios checkout the file DRAMSys/gem5/main.cpp
All essential files for a functional example are provided.
Unzip the disk image:
``` bash
tar -xaf DRAMSys/gem5/boot_linux/linux-aarch32-ael.img.tar.gz -C DRAMSys/gem5/boot_linux/
```
Execute the example:
``` bash
./DRAMSys_gem5 ../../DRAMSys/library/resources/simulations/ddr3-boot-linux.xml ../../DRAMSys/gem5/configs/boot_linux.ini
```
Open a new terminal and connect to gem5:
``` bash
telnet localhost 3456
```
Wait some minutes for the Linux boot process to complete then login. Username is **root** no password required.
### DRAMSys with gem5 Elastic Traces
For understanding elastic traces and their generation, study the [gem5 wiki](http://gem5.org/TraceCPU) and the paper [13].