diff options
author | Yasuko Eckert <yasuko.eckert@amd.com> | 2014-06-04 07:48:20 -0700 |
---|---|---|
committer | Yasuko Eckert <yasuko.eckert@amd.com> | 2014-06-04 07:48:20 -0700 |
commit | fbe3688de3bd0438cb52ea1871be0d3e4cceed39 (patch) | |
tree | 00cc1f98952b88c296a281e41c92384cd14ff344 | |
parent | 0deef376d96bfe0a3a2496714ac22471d9ee818a (diff) | |
download | gem5-fbe3688de3bd0438cb52ea1871be0d3e4cceed39.tar.xz |
ext: Add a McPAT regression tester
Add a regression tester to McPAT. Joel Hestness wrote these tests and Yasuko
Eckert modified them to reflect the new McPAT interface and other changes
the previous patch made.
22 files changed, 6573 insertions, 0 deletions
@@ -10,3 +10,4 @@ cscope.out m5out src/doxygen ext/dramsim2/DRAMSim2 +ext/mcpat/regression/*/*.out diff --git a/ext/mcpat/regression/README b/ext/mcpat/regression/README new file mode 100644 index 000000000..5a6772fc5 --- /dev/null +++ b/ext/mcpat/regression/README @@ -0,0 +1,75 @@ +regression.py + +Copyright (c) 2010-2014 Advanced Micro Devices, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer; +redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution; +neither the name of the copyright holders nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Authors: Yasuko Eckert <yasuko.eckert@amd.com> + Joel Hestness <hestness@cs.wisc.edu> (while interning at AMD) + + +Introduction +============ + +This regression tester is for the McPAT power model. +This tester can compile and runs McPAT on the input contained in the +specified directory, and then compares the output to that of a golden run in +order to ensure that specific power and area calculations do not change. + +Nine tests are included in the initial version of this tester in the directories: + $GEM5/ext/mcpat/regression/test-* + +In each directory, you will find a regression test input file +(power_region0.xml) and the golden-run output (region0.out.bak). +The tester's output file is saved as region0.out, which is then checked against +region0.out.bak. + + +Options +======= +--help, -h Show a help message and exit +--build, -b Build McPAT before running tests +--cleanup, -c Clean up the specified regression directory +--force, -f Force run regression even if directory isn't set up +--maketest, -m Set up the specified test directory +--verbose, -v Print verbose output + + +How to Use +========== + +The regression tester must be invoked from the McPAT directory. + +% cd $GEM5/ext/mcpat + + +To run all regression tests: +% ./regression/regression.py ./regression/ + + +To run a particular regression test, specify its directory to the tester: +% ./regression/regression.py ./regression/test-0 + +Specify the "-v" option to see a diff of the regression output. diff --git a/ext/mcpat/regression/regression.py b/ext/mcpat/regression/regression.py new file mode 100755 index 000000000..aabfec75d --- /dev/null +++ b/ext/mcpat/regression/regression.py @@ -0,0 +1,241 @@ +#!/usr/bin/env python + +# Copyright (c) 2010-2013 Advanced Micro Devices, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer; +# redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution; +# neither the name of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +SYNOPSIS + + ./regression/regression.py ./regression/ + +DESCRIPTION + + Runs regression tester for McPAT. + This tester can compile and runs McPAT on the input contained in the + specified directory, and then compares the output to that of a prior run in + order to ensure that specific power and area calculations do not change. + +AUTHORS + + Joel Hestness <hestness@cs.wisc.edu> (while interning at AMD) + Yasuko Eckert <yasuko.eckert@amd.com> +""" + +import os +import sys +import optparse +import re + +################################ +# Global Variables +################################ + +global mcpat_binary +mcpat_binary = "../../build/mcpat/mcpat" +global optionsparser + +################################ +# Global Functions +################################ + +def run_test(testdir): + test_passed = True + testfiles = os.listdir(testdir) + for testfile in testfiles: + # For each power_region file, run McPAT on it and check the + # output created against the regression + if re.match("power_region.*\.xml$", testfile): + # Get the region index of the test + fileparts = testfile.split(".") + region_index = fileparts[0][12:] + regression_test = os.path.join(testdir, testfile) + regression_output = os.path.join( + testdir, "region%s.out" % region_index) + regression_correct = os.path.join( + testdir, "region%s.out.ref" % region_index) + print "Running test: %s..." % regression_test + # Run McPAT on the input + os.system( + "%s -infile %s -print_level 10 > %s" % + (mcpat_binary, regression_test, regression_output) ) + if os.path.exists(regression_correct): + diff = os.popen( + "diff %s %s" % (regression_output, regression_correct), + "r").read() + if diff != "": + print "WARN: Differences found in %s" % regression_output + if options.verbose: + print diff + test_passed = False + else: + print "WARN: Regression test not set up: %s..." % regression_test + print "WARN: Not able to verify test" + test_passed = False + + if options.cleanup: + if options.verbose: + print "WARN: Cleaning (deleting) regression output file: "\ + "%s" % regression_output + os.system("rm -f %s" % regression_output) + + if test_passed: + print "PASSED: %s\n\n" % testdir + else: + print "FAILED: %s\n\n" % testdir + +def has_power_region_files(testdir): + files = os.listdir(testdir) + for file in files: + if "power_region" in file and ".xml" in file: + return True + +def is_valid_test_directory(testdir): + valid_regression = True + power_region_file_found = False + + files = os.listdir(testdir) + for file in files: + if "power_region" in file and ".xml" in file: + power_region_file_found = True + fileparts = file.split(".") + region_index = fileparts[0][12:] + regression_output = os.path.join( + testdir, "region%s.out.ref" % region_index) + if os.path.exists(regression_output): + if options.verbose: + print "Valid regression test: %s/%s" % (testdir, file) + else: + valid_regression = False + + return valid_regression and power_region_file_found + +################################ +# Execute here +################################ + +optionsparser = optparse.OptionParser( + formatter = optparse.TitledHelpFormatter(), + usage = globals()['__doc__']) +optionsparser.add_option( + "-b", "--build", action = "store_true", default = False, + help = "Build McPAT before running tests") +optionsparser.add_option( + "-c", "--cleanup", action = "store_true", default = False, + help = "Clean up the specified regression directory") +optionsparser.add_option( + "-f", "--force", action = "store_true", default = False, + help = "Force run regression even if directory isn't set up") +optionsparser.add_option( + "-m", "--maketest", action = "store_true", default = False, + help = "Set up the specified test directory") +optionsparser.add_option( + "-v", "--verbose", action = "store_true", default = False, + help = "Print verbose output") +(options, args) = optionsparser.parse_args() + +if not os.path.exists(mcpat_binary) and not options.build: + print "ERROR: McPAT binary does not exist: %s" % mcpat_binary + exit(0) + +if options.build: + print "Building McPAT..." + bin_dir = os.path.dirname(mcpat_binary) + directory = os.path.join(bin_dir, "../../ext/mcpat") + build_output = os.popen( + "cd %s; make clean; make -j 8 dbg 2>&1" % directory).read() + if "error" in build_output.lower(): + print "Error during build: %s" % build_output + exit(0) + +if len(args) < 1: + print "ERROR: Must specify regressions directory" + exit(0) + +# check params +rootdir = args[0]; +if not os.path.exists(rootdir): + print "ERROR: Regressions directory does not exist: %s" % rootdir + exit(0) + +if options.maketest: + # The specified rootdir must exist since we got here + # Check if directory has tests + list = os.listdir(rootdir) + found_test = False + for file in list: + if "power_region" in file and "out" not in file and "ref" not in file: + found_test = True + # Prepare to run the test in order to set it up + fileparts = file.split(".") + region_index = fileparts[0][12:] + regression_test = os.path.join(rootdir, file) + regression_output = os.path.join( + rootdir, "region%s.out.ref" % region_index) + if os.path.exists(regression_output): + print "WARN: Overwriting old regression output: " \ + "%s" % regression_output + # Run the test to set it up + print "Writing new regression output..." + os.system( + "%s -infile %s -print_level 10 > %s" % + (mcpat_binary, regression_test, regression_output)) + + if not found_test: + print "ERROR: Invalid test directory: %s" % rootdir + print "ERROR: Must contain XML file power_region*.xml" + + exit(0) + +found_test = False +if has_power_region_files(rootdir): + found_test = True + if is_valid_test_directory(rootdir) or options.force: + run_test(rootdir) + else: + print "WARN: Regression directory is not set up: %s" % rootdir +else: + folders = os.listdir(rootdir) + folders.sort() + for folder in folders: + testdir = os.path.join(rootdir, folder) + if os.path.isdir(testdir): + if has_power_region_files(testdir): + found_test = True + if is_valid_test_directory(testdir): + run_test(testdir) + else: + if options.force: + print "WARN: Regression directory is not set up: " \ + "%s" % testdir + print "WARN: Running test anyway: %s..." % testdir + run_test(testdir) + else: + print "Regression directory is not set up: %s" % testdir + else: + print "Not a valid test directory: %s" % testdir + +if not found_test: + print "No valid regressions found in %s" % rootdir diff --git a/ext/mcpat/regression/test-0/power_region0.xml b/ext/mcpat/regression/test-0/power_region0.xml new file mode 100644 index 000000000..bd21cc0e3 --- /dev/null +++ b/ext/mcpat/regression/test-0/power_region0.xml @@ -0,0 +1,404 @@ +<?xml version="1.0" ?> +<component id="root" name="root"> + <component id="system" name="system" type="System"> + <param name="core_tech_node" value="40"/> + <param name="target_core_clockrate" value="1700"/> + <param name="temperature" value="380"/> + <param name="interconnect_projection_type" value="1"/> + <param name="device_type" value="0"/> + <param name="longer_channel_device" value="0"/> + <param name="machine_bits" value="64"/> + <param name="virtual_address_width" value="64"/> + <param name="physical_address_width" value="36"/> + <param name="virtual_memory_page_size" value="4096"/> + <param name="wire_is_mat_type" value="2"/> + <param name="wire_os_mat_type" value="2"/> + <param name="delay_wt" value="100"/> + <param name="area_wt" value="0"/> + <param name="dynamic_power_wt" value="100"/> + <param name="leakage_power_wt" value="0"/> + <param name="cycle_time_wt" value="0"/> + <param name="delay_dev" value="10000"/> + <param name="area_dev" value="10000"/> + <param name="dynamic_power_dev" value="10000"/> + <param name="leakage_power_dev" value="10000"/> + <param name="cycle_time_dev" value="10000"/> + <param name="ed" value="2"/> + <param name="burst_len" value="1"/> + <param name="int_prefetch_w" value="1"/> + <param name="page_sz_bits" value="0"/> + <param name="rpters_in_htree" value="1"/> + <param name="ver_htree_wires_over_array" value="0"/> + <param name="nuca" value="0"/> + <param name="nuca_bank_count" value="0"/> + <param name="force_cache_config" value="0"/> + <param name="wt" value="0"/> + <param name="force_wiretype" value="0"/> + <param name="print_detail" value="1"/> + <param name="add_ecc_b_" value="1"/> + <param name="broadcast_addr_din_over_ver_htrees" value="0"/> + <stat name="total_cycles" value="150"/> + <component id="system.core0" name="core0" type="Core"> + <param name="clock_rate" value="1700"/> + <param name="opt_local" value="0"/> + <param name="instruction_length" value="32"/> + <param name="opcode_width" value="8"/> + <param name="x86" value="1"/> + <param name="micro_opcode_width" value="8"/> + <param name="machine_type" value="0"/> + <param name="number_hardware_threads" value="2"/> + <param name="fetch_width" value="1"/> + <param name="number_instruction_fetch_ports" value="1"/> + <param name="decode_width" value="2"/> + <param name="issue_width" value="2"/> + <param name="peak_issue_width" value="2"/> + <param name="commit_width" value="2"/> + <param name="fp_issue_width" value="2"/> + <param name="prediction_width" value="1"/> + <param name="int_pipelines" value="2"/> + <param name="fp_pipelines" value="1"/> + <param name="int_pipeline_depth" value="12"/> + <param name="fp_pipeline_depth" value="13"/> + <param name="ALU_per_core" value="2"/> + <param name="MUL_per_core" value="1"/> + <param name="FPU_per_core" value="1"/> + <param name="instruction_buffer_size" value="16"/> + <param name="instruction_window_scheme" value="0"/> + <param name="instruction_window_size" value="7"/> + <param name="fp_instruction_window_size" value="18"/> + <param name="ROB_size" value="56"/> + <param name="archi_Regs_IRF_size" value="30"/> + <param name="archi_Regs_FRF_size" value="48"/> + <param name="phy_Regs_IRF_size" value="34"/> + <param name="phy_Regs_FRF_size" value="40"/> + <param name="rename_scheme" value="0"/> + <param name="register_window_size" value="0"/> + <param name="register_window_throughput" value="4"/> + <param name="register_window_latency" value="4"/> + <param name="store_buffer_size" value="32"/> + <param name="load_buffer_size" value="22"/> + <param name="memory_ports" value="1"/> + <param name="RAS_size" value="16"/> + <param name="execu_wire_mat_type" value="2"/> + <param name="execu_bypass_base_width" value="1"/> + <param name="execu_bypass_base_height" value="1"/> + <param name="execu_bypass_start_wiring_level"value="3"/> + <param name="execu_bypass_route_over_perc" value="1"/> + <param name="globalCheckpoint" value="32"/> + <param name="perThreadState" value="8"/> + <param name="ROB_assoc" value="1"/> + <param name="ROB_nbanks" value="1"/> + <param name="ROB_tag_width" value="0"/> + <param name="scheduler_assoc" value="0"/> + <param name="scheduler_nbanks" value="1"/> + <param name="register_window_assoc" value="1"/> + <param name="register_window_nbanks" value="1"/> + <param name="register_window_tag_width" value="0"/> + <param name="register_window_rw_ports" value="1"/> + <param name="phy_Regs_IRF_assoc" value="1"/> + <param name="phy_Regs_IRF_nbanks" value="1"/> + <param name="phy_Regs_IRF_tag_width" value="0"/> + <param name="phy_Regs_IRF_rd_ports" value="1"/> + <param name="phy_Regs_IRF_wr_ports" value="1"/> + <param name="phy_Regs_FRF_assoc" value="1"/> + <param name="phy_Regs_FRF_nbanks" value="1"/> + <param name="phy_Regs_FRF_tag_width" value="0"/> + <param name="phy_Regs_FRF_rd_ports" value="1"/> + <param name="phy_Regs_FRF_wr_ports" value="1"/> + <param name="front_rat_nbanks" value="1"/> + <param name="front_rat_rw_ports" value="1"/> + <param name="retire_rat_nbanks" value="1"/> + <param name="retire_rat_rw_ports" value="0"/> + <param name="freelist_nbanks" value="1"/> + <param name="freelist_rw_ports" value="1"/> + <param name="load_buffer_assoc" value="0"/> + <param name="load_buffer_nbanks" value="1"/> + <param name="store_buffer_assoc" value="0"/> + <param name="store_buffer_nbanks" value="1"/> + <param name="instruction_buffer_assoc" value="1"/> + <param name="instruction_buffer_nbanks" value="1"/> + <param name="instruction_buffer_tag_width" value="0"/> + <stat name="total_instructions" value="100"/> + <stat name="int_instructions" value="80"/> + <stat name="fp_instructions" value="20"/> + <stat name="branch_instructions" value="25"/> + <stat name="branch_mispredictions" value="2"/> + <stat name="load_instructions" value="50"/> + <stat name="store_instructions" value="15"/> + <stat name="committed_instructions" value="100"/> + <stat name="committed_int_instructions" value="80"/> + <stat name="committed_fp_instructions" value="20"/> + <stat name="pipeline_duty_cycle" value="1"/> + <stat name="total_cycles" value="150"/> + <stat name="ROB_reads" value="100"/> + <stat name="ROB_writes" value="100"/> + <stat name="rename_reads" value="100"/> + <stat name="rename_writes" value="100"/> + <stat name="fp_rename_reads" value="100"/> + <stat name="fp_rename_writes" value="100"/> + <stat name="inst_window_reads" value="80"/> + <stat name="inst_window_writes" value="80"/> + <stat name="inst_window_wakeup_accesses" value="80"/> + <stat name="fp_inst_window_reads" value="20"/> + <stat name="fp_inst_window_writes" value="20"/> + <stat name="fp_inst_window_wakeup_accesses" value="20"/> + <stat name="int_regfile_reads" value="160"/> + <stat name="float_regfile_reads" value="40"/> + <stat name="int_regfile_writes" value="80"/> + <stat name="float_regfile_writes" value="20"/> + <stat name="function_calls" value="0"/> + <stat name="context_switches" value="0"/> + <stat name="ialu_accesses" value="70"/> + <stat name="fpu_accesses" value="20"/> + <stat name="mul_accesses" value="10"/> + <stat name="cdb_alu_accesses" value="70"/> + <stat name="cdb_mul_accesses" value="10"/> + <stat name="cdb_fpu_accesses" value="20"/> + <stat name="IFU_duty_cycle" value="1"/> + <stat name="LSU_duty_cycle" value="1"/> + <stat name="MemManU_I_duty_cycle" value="1"/> + <stat name="MemManU_D_duty_cycle" value="1"/> + <stat name="ALU_duty_cycle" value="1"/> + <stat name="MUL_duty_cycle" value="1"/> + <stat name="FPU_duty_cycle" value="1"/> + <stat name="ALU_cdb_duty_cycle" value="1"/> + <stat name="MUL_cdb_duty_cycle" value="1"/> + <stat name="FPU_cdb_duty_cycle" value="1"/> + <component id="system.core0.predictor" name="PBT" type="BranchPredictor"> + <param name="assoc" value="1"/> + <param name="nbanks" value="1"/> + <param name="local_l1_predictor_size" value="12"/> + <param name="local_l2_predictor_size" value="4"/> + <param name="local_predictor_entries" value="8192"/> + <param name="global_predictor_entries" value="8192"/> + <param name="global_predictor_bits" value="4"/> + <param name="chooser_predictor_entries" value="8192"/> + <param name="chooser_predictor_bits" value="4"/> + </component> + <component id="system.core0.itlb" name="itlb" type="InstructionTLB"> + <param name="number_entries" value="512"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="total_accesses" value="50"/> + <stat name="total_misses" value="0"/> + <stat name="conflicts" value="0"/> + </component> + <component id="system.core0.icache" name="Instruction Cache" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="0"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="device_type" value="0"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="read_accesses" value="50"/> + <stat name="read_misses" value="12"/> + <stat name="conflicts" value="1"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.core0.dtlb" name="dtlb" type="DataTLB"> + <param name="number_entries" value="512"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="read_accesses" value="65"/> + <stat name="read_misses" value="0"/> + <stat name="conflicts" value="0"/> + </component> + <component id="system.core0.dcache" name="Data Cache" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="8"/> + <param name="num_banks" value="1"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="miss_buffer_size" value="8"/> + <param name="fetch_buffer_size" value="8"/> + <param name="prefetch_buffer_size" value="8"/> + <param name="writeback_buffer_size" value="8"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="device_type" value="0"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="read_accesses" value="50"/> + <stat name="write_accesses" value="15"/> + <stat name="read_misses" value="12"/> + <stat name="write_misses" value="3"/> + <stat name="conflicts" value="1"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.core0.btargetbuf" name="btargetbuf" type="BranchTargetBuffer"> + <param name="size" value="8192"/> + <param name="block_size" value="4"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="1"/> + <param name="throughput" value="3"/> + <param name="rw_ports" value="1"/> + <stat name="read_accesses" value="25"/> + <stat name="write_accesses" value="25"/> + </component> + </component> + <component id="system.L20" name="L2 Cache" type="CacheUnit"> + <param name="level" value="2"/> + <param name="size" value="524288"/> + <param name="block_size" value="64"/> + <param name="assoc" value="16"/> + <param name="num_banks" value="1"/> + <param name="latency" value="8"/> + <param name="throughput" value="23"/> + <param name="miss_buffer_size" value="16"/> + <param name="fetch_buffer_size" value="16"/> + <param name="prefetch_buffer_size" value="16"/> + <param name="writeback_buffer_size" value="16"/> + <param name="clockrate" value="1700"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="device_type" value="0"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="1"/> + <param name="miss_buff_access_mode" value="0"/> + <param name="fetch_buff_access_mode" value="0"/> + <param name="prefetch_buff_access_mode" value="0"/> + <param name="writeback_buff_access_mode"value="0"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="read_accesses" value="15"/> + <stat name="write_accesses" value="5"/> + <stat name="read_misses" value="3"/> + <stat name="write_misses" value="1"/> + <stat name="conflicts" value="1"/> + <stat name="duty_cycle" value="1.0"/> + </component> + </component> +</component> diff --git a/ext/mcpat/regression/test-0/region0.out.ref b/ext/mcpat/regression/test-0/region0.out.ref new file mode 100644 index 000000000..3de30578f --- /dev/null +++ b/ext/mcpat/regression/test-0/region0.out.ref @@ -0,0 +1,595 @@ +McPAT (version 0.8 of Aug, 2010) is computing the target processor... + + +McPAT (version 0.8 of Aug, 2010) results (current print level is 5) +***************************************************************************************** + Technology 40 nm + Interconnect metal projection = conservative interconnect technology projection + Target Clock Rate (MHz) 1700 + +***************************************************************************************** + System: + Area = 15.1334 mm^2 + Peak Dynamic Power = 2.57757 W + Subthreshold Leakage Power = 5.86045 W + Gate Leakage Power = 0.233087 W + Runtime Dynamic Power = 1.55367 W + Runtime Dynamic Energy = 1.37089e-07 J + Total Runtime Energy = 6.74754e-07 J + + Core 0: + Area = 10.8081 mm^2 + Peak Dynamic Power = 2.45616 W + Subthreshold Leakage Power = 4.64481 W + Gate Leakage Power = 0.193831 W + Runtime Dynamic Power = 1.42385 W + Runtime Dynamic Energy = 1.25634e-07 J + Total Runtime Energy = 5.52573e-07 J + + Instruction Fetch Unit: + Area = 2.10081 mm^2 + Peak Dynamic Power = 0.33569 W + Subthreshold Leakage Power = 0.347428 W + Gate Leakage Power = 0.00868165 W + Runtime Dynamic Power = 0.220683 W + Runtime Dynamic Energy = 1.94721e-08 J + Total Runtime Energy = 5.08935e-08 J + + Instruction Cache: + Area = 0.970326 mm^2 + Peak Dynamic Power = 0.0549304 W + Subthreshold Leakage Power = 0.0678485 W + Gate Leakage Power = 0.00157419 W + Runtime Dynamic Power = 0.0505595 W + Runtime Dynamic Energy = 4.46113e-09 J + Total Runtime Energy = 1.05867e-08 J + + Data and Tag Arrays: + Area = 0.25887 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0622886 W + Gate Leakage Power = 0.00129234 W + Runtime Dynamic Power = 0.0464002 W + Runtime Dynamic Energy = 4.09413e-09 J + Total Runtime Energy = 9.70422e-09 J + + Miss Buffer: + Area = 0.262959 mm^2 + Peak Dynamic Power = 0.0192867 W + Subthreshold Leakage Power = 0.00194663 W + Gate Leakage Power = 9.86469e-05 W + Runtime Dynamic Power = 0.00146456 W + Runtime Dynamic Energy = 1.29226e-10 J + Total Runtime Energy = 3.09692e-10 J + + Fill Buffer: + Area = 0.224249 mm^2 + Peak Dynamic Power = 0.0178218 W + Subthreshold Leakage Power = 0.00180662 W + Gate Leakage Power = 9.16038e-05 W + Runtime Dynamic Power = 0.00134737 W + Runtime Dynamic Energy = 1.18886e-10 J + Total Runtime Energy = 2.86376e-10 J + + Prefetch Buffer: + Area = 0.224249 mm^2 + Peak Dynamic Power = 0.0178218 W + Subthreshold Leakage Power = 0.00180662 W + Gate Leakage Power = 9.16038e-05 W + Runtime Dynamic Power = 0.00134737 W + Runtime Dynamic Energy = 1.18886e-10 J + Total Runtime Energy = 2.86376e-10 J + + Branch Target Buffer: + Area = 0.526552 mm^2 + Peak Dynamic Power = 0.0433889 W + Subthreshold Leakage Power = 0.0869885 W + Gate Leakage Power = 0.00266245 W + Runtime Dynamic Power = 0.0237346 W + Runtime Dynamic Energy = 2.09423e-09 J + Total Runtime Energy = 1.00046e-08 J + + Branch Predictor: + Area = 0.594319 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.186556 W + Gate Leakage Power = 0.00424723 W + Runtime Dynamic Power = 0.0672658 W + Runtime Dynamic Energy = 5.93522e-09 J + Total Runtime Energy = 2.27708e-08 J + + Global Predictor: + Area = 0.129022 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0419609 W + Gate Leakage Power = 0.000962899 W + Runtime Dynamic Power = 0.0176358 W + Runtime Dynamic Energy = 1.5561e-09 J + Total Runtime Energy = 5.3435e-09 J + + Local Predictor, Level 1: + Area = 0.191924 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0589594 W + Gate Leakage Power = 0.00130932 W + Runtime Dynamic Power = 0.0261258 W + Runtime Dynamic Energy = 2.30522e-09 J + Total Runtime Energy = 7.62304e-09 J + + Local Predictor, Level 2: + Area = 0.129022 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0419609 W + Gate Leakage Power = 0.000962899 W + Runtime Dynamic Power = 0.00586825 W + Runtime Dynamic Energy = 5.17787e-10 J + Total Runtime Energy = 4.30518e-09 J + + Predictor Chooser: + Area = 0.129022 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0419609 W + Gate Leakage Power = 0.000962899 W + Runtime Dynamic Power = 0.0176358 W + Runtime Dynamic Energy = 1.5561e-09 J + Total Runtime Energy = 5.3435e-09 J + + RAS: + Area = 0.0153301 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0017144 W + Gate Leakage Power = 4.92127e-05 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 1.55613e-10 J + + Instruction Buffer: + Area = 0.0034347 mm^2 + Peak Dynamic Power = 0.011729 W + Subthreshold Leakage Power = 0.000650517 W + Gate Leakage Power = 1.85414e-05 W + Runtime Dynamic Power = 0.00390968 W + Runtime Dynamic Energy = 3.44972e-10 J + Total Runtime Energy = 4.04006e-10 J + + Instruction Opcode Decoder: + Area = 0.00289896 mm^2 + Peak Dynamic Power = 0.0752588 W + Subthreshold Leakage Power = 0.00253168 W + Gate Leakage Power = 8.37387e-05 W + Runtime Dynamic Power = 0.0250863 W + Runtime Dynamic Energy = 2.2135e-09 J + Total Runtime Energy = 2.44427e-09 J + + Instruction Operand Decoder: + Area = 0.000377341 mm^2 + Peak Dynamic Power = 0.0751236 W + Subthreshold Leakage Power = 0.00032028 W + Gate Leakage Power = 1.17596e-05 W + Runtime Dynamic Power = 0.0250412 W + Runtime Dynamic Energy = 2.20952e-09 J + Total Runtime Energy = 2.23881e-09 J + + Instruction Microcode Decoder: + Area = 0.00289896 mm^2 + Peak Dynamic Power = 0.0752588 W + Subthreshold Leakage Power = 0.00253168 W + Gate Leakage Power = 8.37387e-05 W + Runtime Dynamic Power = 0.0250863 W + Runtime Dynamic Energy = 2.2135e-09 J + Total Runtime Energy = 2.44427e-09 J + + Load/Store Unit: + Area = 1.69899 mm^2 + Peak Dynamic Power = 0.16674 W + Subthreshold Leakage Power = 0.0926715 W + Gate Leakage Power = 0.00259372 W + Runtime Dynamic Power = 0.142557 W + Runtime Dynamic Energy = 1.25786e-08 J + Total Runtime Energy = 2.09843e-08 J + + Data Cache: + Area = 1.58391 mm^2 + Peak Dynamic Power = 0.0928926 W + Subthreshold Leakage Power = 0.0789233 W + Gate Leakage Power = 0.00207502 W + Runtime Dynamic Power = 0.0922726 W + Runtime Dynamic Energy = 8.1417e-09 J + Total Runtime Energy = 1.52886e-08 J + + Data and Tag Arrays: + Area = 0.619642 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0607406 W + Gate Leakage Power = 0.00122316 W + Runtime Dynamic Power = 0.0861866 W + Runtime Dynamic Energy = 7.6047e-09 J + Total Runtime Energy = 1.30721e-08 J + + Miss Buffer: + Area = 0.270528 mm^2 + Peak Dynamic Power = 0.0245073 W + Subthreshold Leakage Power = 0.0048041 W + Gate Leakage Power = 0.000224896 W + Runtime Dynamic Power = 0.00214283 W + Runtime Dynamic Energy = 1.89073e-10 J + Total Runtime Energy = 6.32808e-10 J + + Fill Buffer: + Area = 0.231248 mm^2 + Peak Dynamic Power = 0.0227951 W + Subthreshold Leakage Power = 0.00445956 W + Gate Leakage Power = 0.000208987 W + Runtime Dynamic Power = 0.00197161 W + Runtime Dynamic Energy = 1.73965e-10 J + Total Runtime Energy = 5.85896e-10 J + + Prefetch Buffer: + Area = 0.231248 mm^2 + Peak Dynamic Power = 0.0227951 W + Subthreshold Leakage Power = 0.00445956 W + Gate Leakage Power = 0.000208987 W + Runtime Dynamic Power = 0.00157729 W + Runtime Dynamic Energy = 1.39172e-10 J + Total Runtime Energy = 5.51103e-10 J + + Writeback Buffer: + Area = 0.231248 mm^2 + Peak Dynamic Power = 0.0227951 W + Subthreshold Leakage Power = 0.00445956 W + Gate Leakage Power = 0.000208987 W + Runtime Dynamic Power = 0.000394322 W + Runtime Dynamic Energy = 3.47931e-11 J + Total Runtime Energy = 4.46724e-10 J + + Load Queue: + Area = 0.054217 mm^2 + Peak Dynamic Power = 0.0316525 W + Subthreshold Leakage Power = 0.00559768 W + Gate Leakage Power = 0.00022125 W + Runtime Dynamic Power = 0.0137161 W + Runtime Dynamic Energy = 1.21024e-09 J + Total Runtime Energy = 1.72368e-09 J + + Store Queue: + Area = 0.0608565 mm^2 + Peak Dynamic Power = 0.0421944 W + Subthreshold Leakage Power = 0.00815046 W + Gate Leakage Power = 0.000297452 W + Runtime Dynamic Power = 0.0365685 W + Runtime Dynamic Energy = 3.22663e-09 J + Total Runtime Energy = 3.97204e-09 J + + Memory Management Unit: + Area = 0.331371 mm^2 + Peak Dynamic Power = 0.318513 W + Subthreshold Leakage Power = 0.097099 W + Gate Leakage Power = 0.00441089 W + Runtime Dynamic Power = 0.122906 W + Runtime Dynamic Energy = 1.08447e-08 J + Total Runtime Energy = 1.98014e-08 J + + Instruction TLB: + Area = 0.131789 mm^2 + Peak Dynamic Power = 0.151159 W + Subthreshold Leakage Power = 0.0446376 W + Gate Leakage Power = 0.00203139 W + Runtime Dynamic Power = 0.0503864 W + Runtime Dynamic Energy = 4.44586e-09 J + Total Runtime Energy = 8.5637e-09 J + + Data TLB: + Area = 0.199582 mm^2 + Peak Dynamic Power = 0.167354 W + Subthreshold Leakage Power = 0.0524614 W + Gate Leakage Power = 0.00237949 W + Runtime Dynamic Power = 0.0725199 W + Runtime Dynamic Energy = 6.39881e-09 J + Total Runtime Energy = 1.12377e-08 J + + Execution Unit: + Area = 2.36584 mm^2 + Peak Dynamic Power = 1.52633 W + Subthreshold Leakage Power = 1.18035 W + Gate Leakage Power = 0.0498689 W + Runtime Dynamic Power = 0.59647 W + Runtime Dynamic Energy = 5.26297e-08 J + Total Runtime Energy = 1.61179e-07 J + + Int Bypass Data: + Area = 0.0024813 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.0288621 W + Runtime Dynamic Energy = 2.54666e-09 J + Total Runtime Energy = 2.54666e-09 J + + Int Bypass Tag: + Area = 0.000291384 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00338934 W + Runtime Dynamic Energy = 2.99059e-10 J + Total Runtime Energy = 2.99059e-10 J + + Mul Bypass Data: + Area = 0.00328459 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00545798 W + Runtime Dynamic Energy = 4.81587e-10 J + Total Runtime Energy = 4.81587e-10 J + + Mul Bypass Tag: + Area = 0.000366693 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.000609331 W + Runtime Dynamic Energy = 5.37645e-11 J + Total Runtime Energy = 5.37645e-11 J + + FP Bypass Data: + Area = 0.0039374 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.0130855 W + Runtime Dynamic Energy = 1.15461e-09 J + Total Runtime Energy = 1.15461e-09 J + + FP Bypass Tag: + Area = 0.000508858 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00169113 W + Runtime Dynamic Energy = 1.49218e-10 J + Total Runtime Energy = 1.49218e-10 J + + Register File Unit: + Area = 0.0603417 mm^2 + Peak Dynamic Power = 0.094149 W + Subthreshold Leakage Power = 0.00361325 W + Gate Leakage Power = 0.000100838 W + Runtime Dynamic Power = 0.0069439 W + Runtime Dynamic Energy = 6.12697e-10 J + Total Runtime Energy = 9.40411e-10 J + + Integer Register File: + Area = 0.0397387 mm^2 + Peak Dynamic Power = 0.0858804 W + Subthreshold Leakage Power = 0.00167327 W + Gate Leakage Power = 4.73072e-05 W + Runtime Dynamic Power = 0.00545273 W + Runtime Dynamic Energy = 4.81123e-10 J + Total Runtime Energy = 6.32938e-10 J + + FP Register File: + Area = 0.020603 mm^2 + Peak Dynamic Power = 0.00826856 W + Subthreshold Leakage Power = 0.00193998 W + Gate Leakage Power = 5.35312e-05 W + Runtime Dynamic Power = 0.00149118 W + Runtime Dynamic Energy = 1.31574e-10 J + Total Runtime Energy = 3.07472e-10 J + + Instruction Scheduler: + Area = 0.107117 mm^2 + Peak Dynamic Power = 0.107009 W + Subthreshold Leakage Power = 0.00250283 W + Gate Leakage Power = 7.07223e-05 W + Runtime Dynamic Power = 0.0156016 W + Runtime Dynamic Energy = 1.37661e-09 J + Total Runtime Energy = 1.60369e-09 J + + Integer Instruction Window: + Area = 0.0261741 mm^2 + Peak Dynamic Power = 0.0268581 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00358108 W + Runtime Dynamic Energy = 3.15977e-10 J + Total Runtime Energy = 3.15977e-10 J + + FP Instruction Window: + Area = 0.0232716 mm^2 + Peak Dynamic Power = 0.0133785 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.000891899 W + Runtime Dynamic Energy = 7.8697e-11 J + Total Runtime Energy = 7.8697e-11 J + + Reorder Buffer: + Area = 0.0576711 mm^2 + Peak Dynamic Power = 0.066772 W + Subthreshold Leakage Power = 0.00250283 W + Gate Leakage Power = 7.07223e-05 W + Runtime Dynamic Power = 0.0111287 W + Runtime Dynamic Energy = 9.81941e-10 J + Total Runtime Energy = 1.20902e-09 J + + Integer ALU(s): + Area = 0.138846 mm^2 + Peak Dynamic Power = 0.332578 W + Subthreshold Leakage Power = 0.201977 W + Gate Leakage Power = 0.00854828 W + Runtime Dynamic Power = 0.127022 W + Runtime Dynamic Energy = 1.12078e-08 J + Total Runtime Energy = 2.97836e-08 J + + Floating Point Unit(s): + Area = 1.8404 mm^2 + Peak Dynamic Power = 0.595559 W + Subthreshold Leakage Power = 0.669296 W + Gate Leakage Power = 0.0283266 W + Runtime Dynamic Power = 0.247009 W + Runtime Dynamic Energy = 2.17949e-08 J + Total Runtime Energy = 8.33498e-08 J + + Multiply/Divide Unit(s): + Area = 0.20827 mm^2 + Peak Dynamic Power = 0.39704 W + Subthreshold Leakage Power = 0.302965 W + Gate Leakage Power = 0.0128224 W + Runtime Dynamic Power = 0.146798 W + Runtime Dynamic Energy = 1.29528e-08 J + Total Runtime Energy = 4.08164e-08 J + + Undifferentiated Core: + Area = 3.88668 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 2.82694 W + Gate Leakage Power = 0.119645 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 2.59992e-07 J + + Rename Unit: + Area = 0.333151 mm^2 + Peak Dynamic Power = 0.10888 W + Subthreshold Leakage Power = 0.0255114 W + Gate Leakage Power = 0.000663381 W + Runtime Dynamic Power = 0.0713414 W + Runtime Dynamic Energy = 6.29483e-09 J + Total Runtime Energy = 8.60438e-09 J + + Int Front RAT: + Area = 0.129348 mm^2 + Peak Dynamic Power = 0.0382386 W + Subthreshold Leakage Power = 0.00828989 W + Gate Leakage Power = 0.000204367 W + Runtime Dynamic Power = 0.00761404 W + Runtime Dynamic Energy = 6.71827e-10 J + Total Runtime Energy = 1.42132e-09 J + + FP Front RAT: + Area = 0.166163 mm^2 + Peak Dynamic Power = 0.0432953 W + Subthreshold Leakage Power = 0.0126995 W + Gate Leakage Power = 0.000319816 W + Runtime Dynamic Power = 0.00862853 W + Runtime Dynamic Energy = 7.61341e-10 J + Total Runtime Energy = 1.9101e-09 J + + Integer Free List: + Area = 0.0120305 mm^2 + Peak Dynamic Power = 0.00394808 W + Subthreshold Leakage Power = 0.000639181 W + Gate Leakage Power = 2.0232e-05 W + Runtime Dynamic Power = 0.00203467 W + Runtime Dynamic Energy = 1.79529e-10 J + Total Runtime Energy = 2.37713e-10 J + + Int Retire RAT: + Area = 0.00606308 mm^2 + Peak Dynamic Power = 0.00325948 W + Subthreshold Leakage Power = 0.000496413 W + Gate Leakage Power = 1.45535e-05 W + Runtime Dynamic Power = 0.00108649 W + Runtime Dynamic Energy = 9.58669e-11 J + Total Runtime Energy = 1.40952e-10 J + + FP Retire RAT: + Area = 0.00751656 mm^2 + Peak Dynamic Power = 0.00404193 W + Subthreshold Leakage Power = 0.000709488 W + Gate Leakage Power = 1.94961e-05 W + Runtime Dynamic Power = 0.00134731 W + Runtime Dynamic Energy = 1.1888e-10 J + Total Runtime Energy = 1.83202e-10 J + + FP Free List: + Area = 0.0120305 mm^2 + Peak Dynamic Power = 0.00394808 W + Subthreshold Leakage Power = 0.000639181 W + Gate Leakage Power = 2.0232e-05 W + Runtime Dynamic Power = 0.00203467 W + Runtime Dynamic Energy = 1.79529e-10 J + Total Runtime Energy = 2.37713e-10 J + + Instruction Dependency Check?: + Area = 0 mm^2 + Peak Dynamic Power = 0.00607447 W + Subthreshold Leakage Power = 0.00101891 W + Gate Leakage Power = 3.23427e-05 W + Runtime Dynamic Power = 0.0242979 W + Runtime Dynamic Energy = 2.14393e-09 J + Total Runtime Energy = 2.23669e-09 J + + FP Dependency Check?: + Area = 0 mm^2 + Peak Dynamic Power = 0.00607447 W + Subthreshold Leakage Power = 0.00101891 W + Gate Leakage Power = 3.23427e-05 W + Runtime Dynamic Power = 0.0242979 W + Runtime Dynamic Energy = 2.14393e-09 J + Total Runtime Energy = 2.23669e-09 J + + Pipeline?: + Area = 0.0912321 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0748063 W + Gate Leakage Power = 0.00796757 W + Runtime Dynamic Power = 0.269895 W + Runtime Dynamic Energy = 2.38143e-08 J + Total Runtime Energy = 3.11178e-08 J + + L2 Cache: + Area = 4.32531 mm^2 + Peak Dynamic Power = 0.121415 W + Subthreshold Leakage Power = 1.21565 W + Gate Leakage Power = 0.0392567 W + Runtime Dynamic Power = 0.129821 W + Runtime Dynamic Energy = 1.14548e-08 J + Total Runtime Energy = 1.22181e-07 J + + Data and Tag Arrays: + Area = 3.33708 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 1.1905 W + Gate Leakage Power = 0.0381925 W + Runtime Dynamic Power = 0.127717 W + Runtime Dynamic Energy = 1.12691e-08 J + Total Runtime Energy = 1.19683e-07 J + + Miss Buffer: + Area = 0.281957 mm^2 + Peak Dynamic Power = 0.0322848 W + Subthreshold Leakage Power = 0.00670028 W + Gate Leakage Power = 0.000283174 W + Runtime Dynamic Power = 0.000747355 W + Runtime Dynamic Energy = 6.59431e-11 J + Total Runtime Energy = 6.8213e-10 J + + Fill Buffer: + Area = 0.235423 mm^2 + Peak Dynamic Power = 0.02971 W + Subthreshold Leakage Power = 0.00614777 W + Gate Leakage Power = 0.000260358 W + Runtime Dynamic Power = 0.000678694 W + Runtime Dynamic Energy = 5.98847e-11 J + Total Runtime Energy = 6.25308e-10 J + + Prefetch Buffer: + Area = 0.235423 mm^2 + Peak Dynamic Power = 0.02971 W + Subthreshold Leakage Power = 0.00614777 W + Gate Leakage Power = 0.000260358 W + Runtime Dynamic Power = 0.00050902 W + Runtime Dynamic Energy = 4.49136e-11 J + Total Runtime Energy = 6.10337e-10 J + + Writeback Buffer: + Area = 0.235423 mm^2 + Peak Dynamic Power = 0.02971 W + Subthreshold Leakage Power = 0.00614777 W + Gate Leakage Power = 0.000260358 W + Runtime Dynamic Power = 0.000169673 W + Runtime Dynamic Energy = 1.49712e-11 J + Total Runtime Energy = 5.80395e-10 J + diff --git a/ext/mcpat/regression/test-1/power_region0.xml b/ext/mcpat/regression/test-1/power_region0.xml new file mode 100644 index 000000000..390c71150 --- /dev/null +++ b/ext/mcpat/regression/test-1/power_region0.xml @@ -0,0 +1,811 @@ +<?xml version="1.0" ?> +<component id="root" name="root"> + <component id="system" name="system" type="System"> + <param name="core_tech_node" value="40"/> + <param name="target_core_clockrate" value="3000"/> + <param name="temperature" value="360"/> + <param name="interconnect_projection_type" value="0"/> + <param name="device_type" value="0"/> + <param name="machine_bits" value="64"/> + <param name="virtual_address_width" value="64"/> + <param name="physical_address_width" value="52"/> + <param name="virtual_memory_page_size" value="4096"/> + <param name="wire_is_mat_type" value="2"/> + <param name="wire_os_mat_type" value="2"/> + <param name="delay_wt" value="100"/> + <param name="area_wt" value="0"/> + <param name="dynamic_power_wt" value="100"/> + <param name="leakage_power_wt" value="0"/> + <param name="cycle_time_wt" value="0"/> + <param name="delay_dev" value="10000"/> + <param name="area_dev" value="10000"/> + <param name="dynamic_power_dev" value="10000"/> + <param name="leakage_power_dev" value="10000"/> + <param name="cycle_time_dev" value="10000"/> + <param name="ed" value="2"/> + <param name="burst_len" value="1"/> + <param name="int_prefetch_w" value="1"/> + <param name="page_sz_bits" value="0"/> + <param name="rpters_in_htree" value="1"/> + <param name="ver_htree_wires_over_array" value="0"/> + <param name="nuca" value="0"/> + <param name="nuca_bank_count" value="0"/> + <param name="force_cache_config" value="0"/> + <param name="wt" value="0"/> + <param name="force_wiretype" value="0"/> + <param name="print_detail" value="1"/> + <param name="add_ecc_b_" value="1"/> + <stat name="total_cycles" value="1856694"/> + <component id="system.core0" name="core0" type="Core"> + <param name="opt_local" value="0"/> + <param name="clock_rate" value="2000"/> + <param name="instruction_length" value="32"/> + <param name="opcode_width" value="6"/> + <param name="machine_type" value="1"/> + <param name="number_hardware_threads" value="1"/> + <param name="fetch_width" value="1"/> + <param name="number_instruction_fetch_ports" value="1"/> + <param name="decode_width" value="1"/> + <param name="issue_width" value="1"/> + <param name="peak_issue_width" value="1"/> + <param name="commit_width" value="1"/> + <param name="fp_issue_width" value="1"/> + <param name="prediction_width" value="1"/> + <param name="int_pipelines" value="1"/> + <param name="fp_pipelines" value="1"/> + <param name="int_pipeline_depth" value="7"/> + <param name="fp_pipeline_depth" value="10"/> + <param name="ALU_per_core" value="1"/> + <param name="FPU_per_core" value="1"/> + <param name="MUL_per_core" value="1"/> + <param name="instruction_buffer_size" value="16"/> + <param name="instruction_window_scheme" value="0"/> + <param name="instruction_window_size" value="0"/> + <param name="fp_instruction_window_size" value="0"/> + <param name="ROB_size" value="0"/> + <param name="archi_Regs_IRF_size" value="32"/> + <param name="archi_Regs_FRF_size" value="32"/> + <param name="phy_Regs_IRF_size" value="32"/> + <param name="phy_Regs_FRF_size" value="32"/> + <param name="rename_scheme" value="0"/> + <param name="register_window_size" value="0"/> + <param name="store_buffer_size" value="8"/> + <param name="load_buffer_size" value="0"/> + <param name="memory_ports" value="1"/> + <param name="RAS_size" value="32"/> + <param name="execu_wire_mat_type" value="2"/> + <param name="execu_bypass_base_width" value="1"/> + <param name="execu_bypass_base_height" value="1"/> + <param name="execu_bypass_start_wiring_level"value="3"/> + <param name="execu_bypass_route_over_perc" value="1"/> + <param name="globalCheckpoint" value="32"/> + <param name="perThreadState" value="8"/> + <param name="ROB_assoc" value="1"/> + <param name="ROB_nbanks" value="1"/> + <param name="ROB_tag_width" value="0"/> + <param name="scheduler_assoc" value="0"/> + <param name="scheduler_nbanks" value="1"/> + <param name="register_window_assoc" value="1"/> + <param name="register_window_nbanks" value="1"/> + <param name="register_window_tag_width" value="0"/> + <param name="register_window_rw_ports" value="1"/> + <param name="phy_Regs_IRF_assoc" value="1"/> + <param name="phy_Regs_IRF_nbanks" value="1"/> + <param name="phy_Regs_IRF_tag_width" value="0"/> + <param name="phy_Regs_IRF_rd_ports" value="1"/> + <param name="phy_Regs_IRF_wr_ports" value="1"/> + <param name="phy_Regs_FRF_assoc" value="1"/> + <param name="phy_Regs_FRF_nbanks" value="1"/> + <param name="phy_Regs_FRF_tag_width" value="0"/> + <param name="phy_Regs_FRF_rd_ports" value="1"/> + <param name="phy_Regs_FRF_wr_ports" value="1"/> + <param name="front_rat_nbanks" value="1"/> + <param name="front_rat_rw_ports" value="1"/> + <param name="retire_rat_nbanks" value="1"/> + <param name="retire_rat_rw_ports" value="0"/> + <param name="freelist_nbanks" value="1"/> + <param name="freelist_rw_ports" value="1"/> + <param name="load_buffer_assoc" value="0"/> + <param name="load_buffer_nbanks" value="1"/> + <param name="store_buffer_assoc" value="0"/> + <param name="store_buffer_nbanks" value="1"/> + <param name="instruction_buffer_assoc" value="1"/> + <param name="instruction_buffer_nbanks" value="1"/> + <param name="instruction_buffer_tag_width" value="0"/> + <stat name="total_instructions" value="332405"/> + <stat name="int_instructions" value="330557"/> + <stat name="fp_instructions" value="1649"/> + <stat name="branch_instructions" value="8263"/> + <stat name="branch_mispredictions" value="53"/> + <stat name="load_instructions" value="45636"/> + <stat name="store_instructions" value="44771"/> + <stat name="committed_instructions" value="332405"/> + <stat name="committed_int_instructions" value="330557"/> + <stat name="committed_fp_instructions" value="1649"/> + <stat name="total_cycles" value="9496951709"/> + <stat name="idle_cycles" value="0"/> + <stat name="busy_cycles" value="9496951709"/> + <stat name="ROB_reads" value="332405"/> + <stat name="ROB_writes" value="332405"/> + <stat name="rename_reads" value="960725"/> + <stat name="rename_writes" value="317221"/> + <stat name="fp_rename_reads" value="2772"/> + <stat name="fp_rename_writes" value="1288"/> + <stat name="inst_window_reads" value="330557"/> + <stat name="inst_window_writes" value="330557"/> + <stat name="inst_window_wakeup_accesses" value="330557"/> + <stat name="fp_inst_window_reads" value="1649"/> + <stat name="fp_inst_window_writes" value="1649"/> + <stat name="fp_inst_window_wakeup_accesses" value="1649"/> + <stat name="int_regfile_reads" value="960725"/> + <stat name="float_regfile_reads" value="2772"/> + <stat name="int_regfile_writes" value="317221"/> + <stat name="float_regfile_writes" value="1288"/> + <stat name="function_calls" value="5"/> + <stat name="context_switches" value="1"/> + <stat name="ialu_accesses" value="330157"/> + <stat name="fpu_accesses" value="1649"/> + <stat name="mul_accesses" value="200"/> + <stat name="cdb_alu_accesses" value="330157"/> + <stat name="cdb_mul_accesses" value="200"/> + <stat name="cdb_fpu_accesses" value="1649"/> + <stat name="IFU_duty_cycle" value="1"/> + <stat name="LSU_duty_cycle" value="1"/> + <stat name="MemManU_I_duty_cycle" value="1"/> + <stat name="MemManU_D_duty_cycle" value="1"/> + <stat name="ALU_duty_cycle" value="1"/> + <stat name="MUL_duty_cycle" value="1"/> + <stat name="FPU_duty_cycle" value="1"/> + <stat name="ALU_cdb_duty_cycle" value="1"/> + <stat name="MUL_cdb_duty_cycle" value="1"/> + <stat name="FPU_cdb_duty_cycle" value="1"/> + <component id="system.core0.bpred" name="bpred" type="BranchPredictor"> + <param name="assoc" value="1"/> + <param name="nbanks" value="1"/> + <param name="local_l1_predictor_size" value="10"/> + <param name="local_l2_predictor_size" value="3"/> + <param name="local_predictor_entries" value="1024"/> + <param name="global_predictor_entries" value="4096"/> + <param name="global_predictor_bits" value="2"/> + <param name="chooser_predictor_entries" value="4096"/> + <param name="chooser_predictor_bits" value="2"/> + </component> + <component id="system.core0.itlb" name="itlb" type="InstructionTLB"> + <param name="number_entries" value="64"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="total_accesses" value="8263"/> + <stat name="total_misses" value="5"/> + <stat name="conflicts" value="1"/> + </component> + <component id="system.core0.dtlb" name="dtlb" type="DataTLB"> + <param name="number_entries" value="64"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="read_accesses" value="108476"/> + <stat name="write_accesses" value="78"/> + <stat name="read_misses" value="7"/> + <stat name="write_misses" value="0"/> + <stat name="conflicts" value="7"/> + </component> + <component id="system.core0.btargetbuf" name="btargetbuf" type="BranchTargetBuffer"> + <param name="size" value="8192"/> + <param name="block_size" value="4"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="1"/> + <param name="throughput" value="3"/> + <param name="rw_ports" value="1"/> + <stat name="read_accesses" value="43"/> + <stat name="write_accesses" value="943"/> + </component> + </component> + <component id="system.core1" name="core1" type="Core"> + <param name="opt_local" value="0"/> + <param name="clock_rate" value="2000"/> + <param name="instruction_length" value="32"/> + <param name="opcode_width" value="6"/> + <param name="machine_type" value="1"/> + <param name="number_hardware_threads" value="1"/> + <param name="fetch_width" value="1"/> + <param name="number_instruction_fetch_ports" value="1"/> + <param name="decode_width" value="1"/> + <param name="issue_width" value="1"/> + <param name="peak_issue_width" value="1"/> + <param name="commit_width" value="1"/> + <param name="fp_issue_width" value="1"/> + <param name="prediction_width" value="1"/> + <param name="int_pipelines" value="1"/> + <param name="fp_pipelines" value="1"/> + <param name="int_pipeline_depth" value="7"/> + <param name="fp_pipeline_depth" value="10"/> + <param name="ALU_per_core" value="1"/> + <param name="FPU_per_core" value="1"/> + <param name="MUL_per_core" value="1"/> + <param name="instruction_buffer_size" value="16"/> + <param name="instruction_window_scheme" value="0"/> + <param name="instruction_window_size" value="0"/> + <param name="fp_instruction_window_size" value="0"/> + <param name="ROB_size" value="0"/> + <param name="archi_Regs_IRF_size" value="32"/> + <param name="archi_Regs_FRF_size" value="32"/> + <param name="phy_Regs_IRF_size" value="32"/> + <param name="phy_Regs_FRF_size" value="32"/> + <param name="rename_scheme" value="0"/> + <param name="register_window_size" value="0"/> + <param name="store_buffer_size" value="8"/> + <param name="load_buffer_size" value="0"/> + <param name="memory_ports" value="1"/> + <param name="RAS_size" value="32"/> + <param name="execu_wire_mat_type" value="2"/> + <param name="execu_bypass_base_width" value="1"/> + <param name="execu_bypass_base_height" value="1"/> + <param name="execu_bypass_start_wiring_level"value="3"/> + <param name="execu_bypass_route_over_perc" value="1"/> + <param name="globalCheckpoint" value="32"/> + <param name="perThreadState" value="8"/> + <param name="ROB_assoc" value="1"/> + <param name="ROB_nbanks" value="1"/> + <param name="ROB_tag_width" value="0"/> + <param name="scheduler_assoc" value="0"/> + <param name="scheduler_nbanks" value="1"/> + <param name="register_window_assoc" value="1"/> + <param name="register_window_nbanks" value="1"/> + <param name="register_window_tag_width" value="0"/> + <param name="register_window_rw_ports" value="1"/> + <param name="phy_Regs_IRF_assoc" value="1"/> + <param name="phy_Regs_IRF_nbanks" value="1"/> + <param name="phy_Regs_IRF_tag_width" value="0"/> + <param name="phy_Regs_IRF_rd_ports" value="1"/> + <param name="phy_Regs_IRF_wr_ports" value="1"/> + <param name="phy_Regs_FRF_assoc" value="1"/> + <param name="phy_Regs_FRF_nbanks" value="1"/> + <param name="phy_Regs_FRF_tag_width" value="0"/> + <param name="phy_Regs_FRF_rd_ports" value="1"/> + <param name="phy_Regs_FRF_wr_ports" value="1"/> + <param name="front_rat_nbanks" value="1"/> + <param name="front_rat_rw_ports" value="1"/> + <param name="retire_rat_nbanks" value="1"/> + <param name="retire_rat_rw_ports" value="0"/> + <param name="freelist_nbanks" value="1"/> + <param name="freelist_rw_ports" value="1"/> + <param name="load_buffer_assoc" value="0"/> + <param name="load_buffer_nbanks" value="1"/> + <param name="store_buffer_assoc" value="0"/> + <param name="store_buffer_nbanks" value="1"/> + <param name="instruction_buffer_assoc" value="1"/> + <param name="instruction_buffer_nbanks" value="1"/> + <param name="instruction_buffer_tag_width" value="0"/> + <stat name="total_instructions" value="4358"/> + <stat name="int_instructions" value="4336"/> + <stat name="fp_instructions" value="22"/> + <stat name="branch_instructions" value="1358"/> + <stat name="branch_mispredictions" value="14"/> + <stat name="load_instructions" value="715"/> + <stat name="store_instructions" value="406"/> + <stat name="committed_instructions" value="4358"/> + <stat name="committed_int_instructions" value="4336"/> + <stat name="committed_fp_instructions" value="22"/> + <stat name="total_cycles" value="9496737874"/> + <stat name="ROB_reads" value="4358"/> + <stat name="ROB_writes" value="4358"/> + <stat name="rename_reads" value="12614"/> + <stat name="rename_writes" value="4404"/> + <stat name="fp_rename_reads" value="22"/> + <stat name="fp_rename_writes" value="22"/> + <stat name="inst_window_reads" value="4336"/> + <stat name="inst_window_writes" value="4336"/> + <stat name="inst_window_wakeup_accesses" value="4336"/> + <stat name="fp_inst_window_reads" value="22"/> + <stat name="fp_inst_window_writes" value="22"/> + <stat name="fp_inst_window_wakeup_accesses" value="22"/> + <stat name="int_regfile_reads" value="12614"/> + <stat name="float_regfile_reads" value="44"/> + <stat name="int_regfile_writes" value="4404"/> + <stat name="float_regfile_writes" value="22"/> + <stat name="function_calls" value="3"/> + <stat name="context_switches" value="1"/> + <stat name="ialu_accesses" value="4236"/> + <stat name="fpu_accesses" value="22"/> + <stat name="mul_accesses" value="100"/> + <stat name="cdb_alu_accesses" value="4236"/> + <stat name="cdb_mul_accesses" value="100"/> + <stat name="cdb_fpu_accesses" value="22"/> + <stat name="IFU_duty_cycle" value="1"/> + <stat name="LSU_duty_cycle" value="1"/> + <stat name="MemManU_I_duty_cycle" value="1"/> + <stat name="MemManU_D_duty_cycle" value="1"/> + <stat name="ALU_duty_cycle" value="1"/> + <stat name="MUL_duty_cycle" value="1"/> + <stat name="FPU_duty_cycle" value="1"/> + <stat name="ALU_cdb_duty_cycle" value="1"/> + <stat name="MUL_cdb_duty_cycle" value="1"/> + <stat name="FPU_cdb_duty_cycle" value="1"/> + <component id="system.core1.bpred" name="bpred" type="BranchPredictor"> + <param name="assoc" value="1"/> + <param name="nbanks" value="1"/> + <param name="local_l1_predictor_size" value="10"/> + <param name="local_l2_predictor_size" value="3"/> + <param name="local_predictor_entries" value="1024"/> + <param name="global_predictor_entries" value="4096"/> + <param name="global_predictor_bits" value="2"/> + <param name="chooser_predictor_entries" value="4096"/> + <param name="chooser_predictor_bits" value="2"/> + </component> + <component id="system.core1.itlb" name="itlb" type="InstructionTLB"> + <param name="number_entries" value="64"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="total_accesses" value="253291"/> + <stat name="total_misses" value="6"/> + <stat name="conflicts" value="5"/> + </component> + <component id="system.core1.dtlb" name="dtlb" type="DataTLB"> + <param name="number_entries" value="64"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="read_accesses" value="91498"/> + <stat name="write_accesses" value="29"/> + <stat name="read_misses" value="3"/> + <stat name="write_misses" value="0"/> + <stat name="conflicts" value="3"/> + </component> + <component id="system.core1.btargetbuf" name="btargetbuf" type="BranchTargetBuffer"> + <param name="size" value="8192"/> + <param name="block_size" value="4"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="1"/> + <param name="throughput" value="3"/> + <param name="rw_ports" value="1"/> + <stat name="read_accesses" value="43"/> + <stat name="write_accesses" value="943"/> + </component> + </component> + <component id="system.mc" name="mc" type="MemoryController"> + <param name="mc_clock" value="800"/> + <param name="tech_type" value="2"/> + <param name="mc_type" value="0"/> + <param name="num_mcs" value="1"/> + <param name="type" value="0"/> + <param name="LVDS" value="1"/> + <param name="withPHY" value="1"/> + <param name="llc_line_length" value="64"/> + <param name="memory_channels_per_mc" value="2"/> + <param name="req_window_size_per_channel" value="128"/> + <param name="IO_buffer_size_per_channel" value="128"/> + <param name="databus_width" value="128"/> + <param name="addressbus_width" value="51"/> + <param name="opcode_width" value="16"/> + <param name="peak_transfer_rate" value="6400"/> + <param name="number_ranks" value="2"/> + <param name="reorder_buffer_assoc" value="0"/> + <param name="reorder_buffer_nbanks" value="1"/> + <param name="read_buffer_assoc" value="1"/> + <param name="read_buffer_nbanks" value="1"/> + <param name="read_buffer_tag_width" value="0"/> + <param name="write_buffer_assoc" value="1"/> + <param name="write_buffer_nbanks" value="1"/> + <param name="write_buffer_tag_width" value="0"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <stat name="memory_reads" value="274"/> + <stat name="memory_writes" value="86"/> + <stat name="duty_cycle" value="0.5"/> + </component> + <component id="system.l1_cntrl0" name="l1_cntrl0" type="CacheController"> + <component id="system.l1_cntrl0.L1DcacheMemory" name="L1DcacheMemory" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="2"/> + <param name="throughput" value="1"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="2"/> + <param name="device_type" value="0"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="num_data_array_reads" value="47291"/> + <stat name="num_data_array_writes" value="51619"/> + <stat name="num_tag_array_reads" value="91498"/> + <stat name="num_tag_array_writes" value="17078"/> + <stat name="read_misses" value="156"/> + <stat name="write_misses" value="92"/> + <stat name="conflicts" value="148"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.l1_cntrl0.L1IcacheMemory" name="L1IcacheMemory" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="2"/> + <param name="throughput" value="1"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="2"/> + <param name="device_type" value="0"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="num_data_array_reads" value="253831"/> + <stat name="num_data_array_writes" value="3497"/> + <stat name="num_tag_array_reads" value="253291"/> + <stat name="num_tag_array_writes" value="10845"/> + <stat name="read_misses" value="456"/> + <stat name="write_misses" value="92"/> + <stat name="conflicts" value="448"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.l1_cntrl0.L2cacheMemory" name="L2cacheMemory" type="CacheUnit"> + <param name="level" value="2"/> + <param name="size" value="2097152"/> + <param name="block_size" value="64"/> + <param name="assoc" value="16"/> + <param name="num_banks" value="1"/> + <param name="latency" value="10"/> + <param name="throughput" value="1"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="2"/> + <param name="device_type" value="0"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="1"/> + <param name="miss_buff_access_mode" value="0"/> + <param name="fetch_buff_access_mode" value="0"/> + <param name="prefetch_buff_access_mode" value="0"/> + <param name="writeback_buff_access_mode"value="0"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="num_data_array_reads" value="274"/> + <stat name="num_data_array_writes" value="8086"/> + <stat name="num_tag_array_reads" value="3959"/> + <stat name="num_tag_array_writes" value="12046"/> + <stat name="read_misses" value="56"/> + <stat name="write_misses" value="32"/> + <stat name="conflicts" value="88"/> + <stat name="duty_cycle" value="1"/> + </component> + </component> + <component id="system.l1_cntrl1" name="l1_cntrl1" type="CacheController"> + <component id="system.l1_cntrl1.L1DcacheMemory" name="L1DcacheMemory" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="2"/> + <param name="throughput" value="1"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="2"/> + <param name="device_type" value="0"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="num_data_array_reads" value="631"/> + <stat name="num_data_array_writes" value="527"/> + <stat name="num_tag_array_reads" value="6356"/> + <stat name="num_tag_array_writes" value="297"/> + <stat name="read_misses" value="36"/> + <stat name="write_misses" value="12"/> + <stat name="conflicts" value="48"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.l1_cntrl1.L1IcacheMemory" name="L1IcacheMemory" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="2"/> + <param name="throughput" value="1"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="2"/> + <param name="device_type" value="0"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="num_data_array_reads" value="2879"/> + <stat name="num_data_array_writes" value="182"/> + <stat name="num_tag_array_reads" value="8263"/> + <stat name="num_tag_array_writes" value="551"/> + <stat name="read_misses" value="156"/> + <stat name="write_misses" value="92"/> + <stat name="conflicts" value="148"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.l1_cntrl1.L2cacheMemory" name="L2cacheMemory" type="CacheUnit"> + <param name="level" value="2"/> + <param name="size" value="2097152"/> + <param name="block_size" value="64"/> + <param name="assoc" value="16"/> + <param name="num_banks" value="1"/> + <param name="latency" value="10"/> + <param name="throughput" value="1"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="2"/> + <param name="device_type" value="0"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="1"/> + <param name="miss_buff_access_mode" value="0"/> + <param name="fetch_buff_access_mode" value="0"/> + <param name="prefetch_buff_access_mode" value="0"/> + <param name="writeback_buff_access_mode"value="0"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="num_data_array_reads" value="3"/> + <stat name="num_data_array_writes" value="10"/> + <stat name="num_tag_array_reads" value="5210"/> + <stat name="num_tag_array_writes" value="13"/> + <stat name="read_misses" value="462"/> + <stat name="write_misses" value="0"/> + <stat name="conflicts" value="462"/> + <stat name="duty_cycle" value="1"/> + </component> + </component> + </component> +</component> diff --git a/ext/mcpat/regression/test-1/region0.out.ref b/ext/mcpat/regression/test-1/region0.out.ref new file mode 100644 index 000000000..790713a63 --- /dev/null +++ b/ext/mcpat/regression/test-1/region0.out.ref @@ -0,0 +1,1018 @@ +McPAT (version 0.8 of Aug, 2010) is computing the target processor... + + +McPAT (version 0.8 of Aug, 2010) results (current print level is 5) +***************************************************************************************** + Technology 40 nm + Interconnect metal projection = aggressive interconnect technology projection + Target Clock Rate (MHz) 3000 + +***************************************************************************************** + System: + Area = 49.2631 mm^2 + Peak Dynamic Power = 4.05637 W + Subthreshold Leakage Power = 7.51021 W + Gate Leakage Power = 0.474458 W + Runtime Dynamic Power = 0.775964 W + Runtime Dynamic Energy = 0.000480243 J + Total Runtime Energy = 0.00542193 J + + Core 0: + Area = 4.03988 mm^2 + Peak Dynamic Power = 1.13952 W + Subthreshold Leakage Power = 1.09948 W + Gate Leakage Power = 0.0880822 W + Runtime Dynamic Power = 0.382447 W + Runtime Dynamic Energy = 0.000236696 J + Total Runtime Energy = 0.000971678 J + + Instruction Fetch Unit: + Area = 0.646243 mm^2 + Peak Dynamic Power = 0.0998237 W + Subthreshold Leakage Power = 0.0641442 W + Gate Leakage Power = 0.00348734 W + Runtime Dynamic Power = 0.020159 W + Runtime Dynamic Energy = 1.24764e-05 J + Total Runtime Energy = 5.43334e-05 J + + Branch Target Buffer: + Area = 0.526882 mm^2 + Peak Dynamic Power = 0.05291 W + Subthreshold Leakage Power = 0.0468647 W + Gate Leakage Power = 0.00268178 W + Runtime Dynamic Power = 9.34726e-05 W + Runtime Dynamic Energy = 5.785e-08 J + Total Runtime Energy = 3.07221e-05 J + + Branch Predictor: + Area = 0.117913 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0166783 W + Gate Leakage Power = 0.000768254 W + Runtime Dynamic Power = 0.00746709 W + Runtime Dynamic Energy = 4.62137e-06 J + Total Runtime Energy = 1.5419e-05 J + + Global Predictor: + Area = 0.0375885 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.00584294 W + Gate Leakage Power = 0.000266459 W + Runtime Dynamic Power = 0.0026894 W + Runtime Dynamic Energy = 1.66447e-06 J + Total Runtime Energy = 5.44556e-06 J + + Local Predictor, Level 1: + Area = 0.0226899 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0029458 W + Gate Leakage Power = 0.000134 W + Runtime Dynamic Power = 0.00204006 W + Runtime Dynamic Energy = 1.26259e-06 J + Total Runtime Energy = 3.16867e-06 J + + Local Predictor, Level 2: + Area = 0.0111174 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.00161822 W + Gate Leakage Power = 7.85114e-05 W + Runtime Dynamic Power = 4.81956e-05 W + Runtime Dynamic Energy = 2.98282e-08 J + Total Runtime Energy = 1.07993e-06 J + + Predictor Chooser: + Area = 0.0375885 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.00584294 W + Gate Leakage Power = 0.000266459 W + Runtime Dynamic Power = 0.0026894 W + Runtime Dynamic Energy = 1.66447e-06 J + Total Runtime Energy = 5.44556e-06 J + + RAS: + Area = 0.00892889 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.000428398 W + Gate Leakage Power = 2.2826e-05 W + Runtime Dynamic Power = 3.36452e-08 W + Runtime Dynamic Energy = 2.08229e-11 J + Total Runtime Energy = 2.79282e-07 J + + Instruction Buffer: + Area = 0.000887187 mm^2 + Peak Dynamic Power = 0.00270456 W + Subthreshold Leakage Power = 8.79429e-05 W + Gate Leakage Power = 5.07123e-06 W + Runtime Dynamic Power = 0.000726299 W + Runtime Dynamic Energy = 4.49505e-07 J + Total Runtime Energy = 5.07071e-07 J + + Instruction Opcode Decoder: + Area = 0.000370909 mm^2 + Peak Dynamic Power = 0.022114 W + Subthreshold Leakage Power = 0.000341264 W + Gate Leakage Power = 2.1391e-05 W + Runtime Dynamic Power = 0.00593861 W + Runtime Dynamic Energy = 3.6754e-06 J + Total Runtime Energy = 3.89984e-06 J + + Instruction Operand Decoder: + Area = 0.00018867 mm^2 + Peak Dynamic Power = 0.0220952 W + Subthreshold Leakage Power = 0.000171916 W + Gate Leakage Power = 1.08411e-05 W + Runtime Dynamic Power = 0.00593357 W + Runtime Dynamic Energy = 3.67227e-06 J + Total Runtime Energy = 3.78538e-06 J + + Instruction Microcode Decoder: + Area = 0 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 0 J + + Load/Store Unit: + Area = 0.0429074 mm^2 + Peak Dynamic Power = 0.0147095 W + Subthreshold Leakage Power = 0.000986438 W + Gate Leakage Power = 8.4035e-05 W + Runtime Dynamic Power = 0.00214872 W + Runtime Dynamic Energy = 1.32984e-06 J + Total Runtime Energy = 1.99235e-06 J + + Store Queue: + Area = 0.0429074 mm^2 + Peak Dynamic Power = 0.0147095 W + Subthreshold Leakage Power = 0.000986438 W + Gate Leakage Power = 8.4035e-05 W + Runtime Dynamic Power = 0.00214872 W + Runtime Dynamic Energy = 1.32984e-06 J + Total Runtime Energy = 1.99235e-06 J + + Memory Management Unit: + Area = 0.0536541 mm^2 + Peak Dynamic Power = 0.0450214 W + Subthreshold Leakage Power = 0.00608426 W + Gate Leakage Power = 0.000426918 W + Runtime Dynamic Power = 0.00219981 W + Runtime Dynamic Energy = 1.36146e-06 J + Total Runtime Energy = 5.39121e-06 J + + Instruction TLB: + Area = 0.0183885 mm^2 + Peak Dynamic Power = 0.0215705 W + Subthreshold Leakage Power = 0.00282912 W + Gate Leakage Power = 0.000201432 W + Runtime Dynamic Power = 0.000144027 W + Runtime Dynamic Energy = 8.91382e-08 J + Total Runtime Energy = 1.96474e-06 J + + Data TLB: + Area = 0.0352657 mm^2 + Peak Dynamic Power = 0.0234509 W + Subthreshold Leakage Power = 0.00325513 W + Gate Leakage Power = 0.000225486 W + Runtime Dynamic Power = 0.00205578 W + Runtime Dynamic Energy = 1.27232e-06 J + Total Runtime Energy = 3.42647e-06 J + + Execution Unit: + Area = 2.14837 mm^2 + Peak Dynamic Power = 0.97997 W + Subthreshold Leakage Power = 0.576941 W + Gate Leakage Power = 0.0454688 W + Runtime Dynamic Power = 0.057217 W + Runtime Dynamic Energy = 3.54115e-05 J + Total Runtime Energy = 0.00042062 J + + Int Bypass Data: + Area = 0.0011767 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00909265 W + Runtime Dynamic Energy = 5.62742e-06 J + Total Runtime Energy = 5.62742e-06 J + + Int Bypass Tag: + Area = 0.000147088 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00113658 W + Runtime Dynamic Energy = 7.03428e-07 J + Total Runtime Energy = 7.03428e-07 J + + Mul Bypass Data: + Area = 0.00299957 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 1.40408e-05 W + Runtime Dynamic Energy = 8.68982e-09 J + Total Runtime Energy = 8.68982e-09 J + + Mul Bypass Tag: + Area = 0.000249964 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 1.17007e-06 W + Runtime Dynamic Energy = 7.24152e-10 J + Total Runtime Energy = 7.24152e-10 J + + FP Bypass Data: + Area = 0.0055603 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.000214596 W + Runtime Dynamic Energy = 1.32813e-07 J + Total Runtime Energy = 1.32813e-07 J + + FP Bypass Tag: + Area = 0.000504686 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 1.9478e-05 W + Runtime Dynamic Energy = 1.20549e-08 J + Total Runtime Energy = 1.20549e-08 J + + Register File Unit: + Area = 0.0196435 mm^2 + Peak Dynamic Power = 0.0336789 W + Subthreshold Leakage Power = 0.000856795 W + Gate Leakage Power = 4.5652e-05 W + Runtime Dynamic Power = 0.00398986 W + Runtime Dynamic Energy = 2.46931e-06 J + Total Runtime Energy = 3.02784e-06 J + + Integer Register File: + Area = 0.00982177 mm^2 + Peak Dynamic Power = 0.0249332 W + Subthreshold Leakage Power = 0.000428398 W + Gate Leakage Power = 2.2826e-05 W + Runtime Dynamic Power = 0.00397694 W + Runtime Dynamic Energy = 2.46132e-06 J + Total Runtime Energy = 2.74058e-06 J + + FP Register File: + Area = 0.00982177 mm^2 + Peak Dynamic Power = 0.00874563 W + Subthreshold Leakage Power = 0.000428398 W + Gate Leakage Power = 2.2826e-05 W + Runtime Dynamic Power = 1.29157e-05 W + Runtime Dynamic Energy = 7.99349e-09 J + Total Runtime Energy = 2.87255e-07 J + + Integer ALU(s): + Area = 0.0694232 mm^2 + Peak Dynamic Power = 0.157715 W + Subthreshold Leakage Power = 0.0542072 W + Gate Leakage Power = 0.00427414 W + Runtime Dynamic Power = 0.0420673 W + Runtime Dynamic Energy = 2.60354e-05 J + Total Runtime Energy = 6.22294e-05 J + + Floating Point Unit(s): + Area = 1.8404 mm^2 + Peak Dynamic Power = 0.473146 W + Subthreshold Leakage Power = 0.359256 W + Gate Leakage Power = 0.0283266 W + Runtime Dynamic Power = 0.000630328 W + Runtime Dynamic Energy = 3.90109e-07 J + Total Runtime Energy = 0.000240264 J + + Multiply/Divide Unit(s): + Area = 0.20827 mm^2 + Peak Dynamic Power = 0.31543 W + Subthreshold Leakage Power = 0.162622 W + Gate Leakage Power = 0.0128224 W + Runtime Dynamic Power = 5.09665e-05 W + Runtime Dynamic Energy = 3.1543e-08 J + Total Runtime Energy = 0.000108614 J + + Undifferentiated Core: + Area = 1.09115 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.425999 W + Gate Leakage Power = 0.0335892 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 0.000284438 J + + Pipeline?: + Area = 0.0575486 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0253286 W + Gate Leakage Power = 0.00502589 W + Runtime Dynamic Power = 0.300722 W + Runtime Dynamic Energy = 0.000186116 J + Total Runtime Energy = 0.000204903 J + + Core 1: + Area = 4.03988 mm^2 + Peak Dynamic Power = 1.13952 W + Subthreshold Leakage Power = 1.09948 W + Gate Leakage Power = 0.0880822 W + Runtime Dynamic Power = 0.308048 W + Runtime Dynamic Energy = 0.00019065 J + Total Runtime Energy = 0.000925632 J + + Instruction Fetch Unit: + Area = 0.646243 mm^2 + Peak Dynamic Power = 0.0998237 W + Subthreshold Leakage Power = 0.0641442 W + Gate Leakage Power = 0.00348734 W + Runtime Dynamic Power = 0.00038199 W + Runtime Dynamic Energy = 2.36413e-07 J + Total Runtime Energy = 4.20934e-05 J + + Branch Target Buffer: + Area = 0.526882 mm^2 + Peak Dynamic Power = 0.05291 W + Subthreshold Leakage Power = 0.0468647 W + Gate Leakage Power = 0.00268178 W + Runtime Dynamic Power = 9.34726e-05 W + Runtime Dynamic Energy = 5.785e-08 J + Total Runtime Energy = 3.07221e-05 J + + Branch Predictor: + Area = 0.117913 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0166783 W + Gate Leakage Power = 0.000768254 W + Runtime Dynamic Power = 0.000123345 W + Runtime Dynamic Energy = 7.63381e-08 J + Total Runtime Energy = 1.0874e-05 J + + Global Predictor: + Area = 0.0375885 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.00584294 W + Gate Leakage Power = 0.000266459 W + Runtime Dynamic Power = 4.13701e-05 W + Runtime Dynamic Energy = 2.56038e-08 J + Total Runtime Energy = 3.8067e-06 J + + Local Predictor, Level 1: + Area = 0.0226899 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0029458 W + Gate Leakage Power = 0.000134 W + Runtime Dynamic Power = 3.26641e-05 W + Runtime Dynamic Energy = 2.02158e-08 J + Total Runtime Energy = 1.9263e-06 J + + Local Predictor, Level 2: + Area = 0.0111174 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.00161822 W + Gate Leakage Power = 7.85114e-05 W + Runtime Dynamic Power = 7.92081e-06 W + Runtime Dynamic Energy = 4.90217e-09 J + Total Runtime Energy = 1.05501e-06 J + + Predictor Chooser: + Area = 0.0375885 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.00584294 W + Gate Leakage Power = 0.000266459 W + Runtime Dynamic Power = 4.13701e-05 W + Runtime Dynamic Energy = 2.56038e-08 J + Total Runtime Energy = 3.8067e-06 J + + RAS: + Area = 0.00892889 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.000428398 W + Gate Leakage Power = 2.2826e-05 W + Runtime Dynamic Power = 2.01871e-08 W + Runtime Dynamic Energy = 1.24938e-11 J + Total Runtime Energy = 2.79274e-07 J + + Instruction Buffer: + Area = 0.000887187 mm^2 + Peak Dynamic Power = 0.00270456 W + Subthreshold Leakage Power = 8.79429e-05 W + Gate Leakage Power = 5.07123e-06 W + Runtime Dynamic Power = 9.52215e-06 W + Runtime Dynamic Energy = 5.89324e-09 J + Total Runtime Energy = 6.34595e-08 J + + Instruction Opcode Decoder: + Area = 0.000370909 mm^2 + Peak Dynamic Power = 0.022114 W + Subthreshold Leakage Power = 0.000341264 W + Gate Leakage Power = 2.1391e-05 W + Runtime Dynamic Power = 7.78582e-05 W + Runtime Dynamic Energy = 4.81863e-08 J + Total Runtime Energy = 2.72633e-07 J + + Instruction Operand Decoder: + Area = 0.00018867 mm^2 + Peak Dynamic Power = 0.0220952 W + Subthreshold Leakage Power = 0.000171916 W + Gate Leakage Power = 1.08411e-05 W + Runtime Dynamic Power = 7.77921e-05 W + Runtime Dynamic Energy = 4.81454e-08 J + Total Runtime Energy = 1.61253e-07 J + + Instruction Microcode Decoder: + Area = 0 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 0 J + + Load/Store Unit: + Area = 0.0429074 mm^2 + Peak Dynamic Power = 0.0147095 W + Subthreshold Leakage Power = 0.000986438 W + Gate Leakage Power = 8.4035e-05 W + Runtime Dynamic Power = 2.6643e-05 W + Runtime Dynamic Energy = 1.64893e-08 J + Total Runtime Energy = 6.79003e-07 J + + Store Queue: + Area = 0.0429074 mm^2 + Peak Dynamic Power = 0.0147095 W + Subthreshold Leakage Power = 0.000986438 W + Gate Leakage Power = 8.4035e-05 W + Runtime Dynamic Power = 2.6643e-05 W + Runtime Dynamic Energy = 1.64893e-08 J + Total Runtime Energy = 6.79003e-07 J + + Memory Management Unit: + Area = 0.0536541 mm^2 + Peak Dynamic Power = 0.0450214 W + Subthreshold Leakage Power = 0.00608426 W + Gate Leakage Power = 0.000426918 W + Runtime Dynamic Power = 0.00614775 W + Runtime Dynamic Energy = 3.80483e-06 J + Total Runtime Energy = 7.83458e-06 J + + Instruction TLB: + Area = 0.0183885 mm^2 + Peak Dynamic Power = 0.0215705 W + Subthreshold Leakage Power = 0.00282912 W + Gate Leakage Power = 0.000201432 W + Runtime Dynamic Power = 0.00441402 W + Runtime Dynamic Energy = 2.73183e-06 J + Total Runtime Energy = 4.60743e-06 J + + Data TLB: + Area = 0.0352657 mm^2 + Peak Dynamic Power = 0.0234509 W + Subthreshold Leakage Power = 0.00325513 W + Gate Leakage Power = 0.000225486 W + Runtime Dynamic Power = 0.00173373 W + Runtime Dynamic Energy = 1.073e-06 J + Total Runtime Energy = 3.22715e-06 J + + Execution Unit: + Area = 2.14837 mm^2 + Peak Dynamic Power = 0.97997 W + Subthreshold Leakage Power = 0.576941 W + Gate Leakage Power = 0.0454688 W + Runtime Dynamic Power = 0.000768951 W + Runtime Dynamic Energy = 4.75902e-07 J + Total Runtime Energy = 0.000385684 J + + Int Bypass Data: + Area = 0.0011767 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.000116661 W + Runtime Dynamic Energy = 7.22013e-08 J + Total Runtime Energy = 7.22013e-08 J + + Int Bypass Tag: + Area = 0.000147088 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 1.45826e-05 W + Runtime Dynamic Energy = 9.02516e-09 J + Total Runtime Energy = 9.02516e-09 J + + Mul Bypass Data: + Area = 0.00299957 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 7.0204e-06 W + Runtime Dynamic Energy = 4.34491e-09 J + Total Runtime Energy = 4.34491e-09 J + + Mul Bypass Tag: + Area = 0.000249964 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 5.85033e-07 W + Runtime Dynamic Energy = 3.62076e-10 J + Total Runtime Energy = 3.62076e-10 J + + FP Bypass Data: + Area = 0.0055603 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 2.86301e-06 W + Runtime Dynamic Energy = 1.77191e-09 J + Total Runtime Energy = 1.77191e-09 J + + FP Bypass Tag: + Area = 0.000504686 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 2.59864e-07 W + Runtime Dynamic Energy = 1.60829e-10 J + Total Runtime Energy = 1.60829e-10 J + + Register File Unit: + Area = 0.0196435 mm^2 + Peak Dynamic Power = 0.0336789 W + Subthreshold Leakage Power = 0.000856795 W + Gate Leakage Power = 4.5652e-05 W + Runtime Dynamic Power = 5.33509e-05 W + Runtime Dynamic Energy = 3.30188e-08 J + Total Runtime Energy = 5.91542e-07 J + + Integer Register File: + Area = 0.00982177 mm^2 + Peak Dynamic Power = 0.0249332 W + Subthreshold Leakage Power = 0.000428398 W + Gate Leakage Power = 2.2826e-05 W + Runtime Dynamic Power = 5.31399e-05 W + Runtime Dynamic Energy = 3.28882e-08 J + Total Runtime Energy = 3.1215e-07 J + + FP Register File: + Area = 0.00982177 mm^2 + Peak Dynamic Power = 0.00874563 W + Subthreshold Leakage Power = 0.000428398 W + Gate Leakage Power = 2.2826e-05 W + Runtime Dynamic Power = 2.11025e-07 W + Runtime Dynamic Energy = 1.30603e-10 J + Total Runtime Energy = 2.79392e-07 J + + Integer ALU(s): + Area = 0.0694232 mm^2 + Peak Dynamic Power = 0.157715 W + Subthreshold Leakage Power = 0.0542072 W + Gate Leakage Power = 0.00427414 W + Runtime Dynamic Power = 0.000539735 W + Runtime Dynamic Energy = 3.34041e-07 J + Total Runtime Energy = 3.6528e-05 J + + Floating Point Unit(s): + Area = 1.8404 mm^2 + Peak Dynamic Power = 0.473146 W + Subthreshold Leakage Power = 0.359256 W + Gate Leakage Power = 0.0283266 W + Runtime Dynamic Power = 8.40947e-06 W + Runtime Dynamic Energy = 5.2046e-09 J + Total Runtime Energy = 0.000239879 J + + Multiply/Divide Unit(s): + Area = 0.20827 mm^2 + Peak Dynamic Power = 0.31543 W + Subthreshold Leakage Power = 0.162622 W + Gate Leakage Power = 0.0128224 W + Runtime Dynamic Power = 2.54832e-05 W + Runtime Dynamic Energy = 1.57715e-08 J + Total Runtime Energy = 0.000108598 J + + Undifferentiated Core: + Area = 1.09115 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.425999 W + Gate Leakage Power = 0.0335892 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 0.000284438 J + + Pipeline?: + Area = 0.0575486 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0253286 W + Gate Leakage Power = 0.00502589 W + Runtime Dynamic Power = 0.300722 W + Runtime Dynamic Energy = 0.000186116 J + Total Runtime Energy = 0.000204903 J + + Memory Controller: + Area = 10.9173 mm^2 + Peak Dynamic Power = 0.965899 W + Subthreshold Leakage Power = 0.418723 W + Gate Leakage Power = 0.0401924 W + Runtime Dynamic Power = 0.00330988 W + Runtime Dynamic Energy = 2.04848e-06 J + Total Runtime Energy = 0.00028607 J + + Front End: + Area = 1.294 mm^2 + Peak Dynamic Power = 0.315876 W + Subthreshold Leakage Power = 0.00544595 W + Gate Leakage Power = 0.00760632 W + Runtime Dynamic Power = 0.000502467 W + Runtime Dynamic Energy = 3.10976e-07 J + Total Runtime Energy = 8.389e-06 J + + Reorder Buffer: + Area = 0.807284 mm^2 + Peak Dynamic Power = 0.299616 W + Subthreshold Leakage Power = 0.00480834 W + Gate Leakage Power = 0.00729614 W + Runtime Dynamic Power = 0.000472543 W + Runtime Dynamic Energy = 2.92456e-07 J + Total Runtime Energy = 7.78389e-06 J + + Read Buffer: + Area = 0.243356 mm^2 + Peak Dynamic Power = 0.00813026 W + Subthreshold Leakage Power = 0.000318803 W + Gate Leakage Power = 0.00015509 W + Runtime Dynamic Power = 1.79972e-05 W + Runtime Dynamic Energy = 1.11385e-08 J + Total Runtime Energy = 3.0443e-07 J + + Write Buffer: + Area = 0.243356 mm^2 + Peak Dynamic Power = 0.00813026 W + Subthreshold Leakage Power = 0.000318803 W + Gate Leakage Power = 0.00015509 W + Runtime Dynamic Power = 1.19268e-05 W + Runtime Dynamic Energy = 7.38145e-09 J + Total Runtime Energy = 3.00673e-07 J + + Transaction Engine: + Area = 3.27456 mm^2 + Peak Dynamic Power = 0.650022 W + Subthreshold Leakage Power = 0.140627 W + Gate Leakage Power = 0.0110882 W + Runtime Dynamic Power = 0.000945261 W + Runtime Dynamic Energy = 5.8502e-07 J + Total Runtime Energy = 9.44812e-05 J + + Physical Interface (PHY): + Area = 6.34878 mm^2 + Peak Dynamic Power = 1.09577e-09 W + Subthreshold Leakage Power = 0.27265 W + Gate Leakage Power = 0.0214979 W + Runtime Dynamic Power = 0.00186216 W + Runtime Dynamic Energy = 1.15248e-06 J + Total Runtime Energy = 0.0001832 J + + Cache Controller: + Area = 15.133 mm^2 + Peak Dynamic Power = 0.405711 W + Subthreshold Leakage Power = 2.44626 W + Gate Leakage Power = 0.129051 W + Runtime Dynamic Power = 0.078717 W + Runtime Dynamic Energy = 4.87178e-05 J + Total Runtime Energy = 0.00164257 J + + L1DcacheMemory: + Area = 1.25506 mm^2 + Peak Dynamic Power = 0.135091 W + Subthreshold Leakage Power = 0.0389812 W + Gate Leakage Power = 0.00174265 W + Runtime Dynamic Power = 0.0126856 W + Runtime Dynamic Energy = 7.85111e-06 J + Total Runtime Energy = 3.3055e-05 J + + Data and Tag Arrays: + Area = 0.254127 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0348112 W + Gate Leakage Power = 0.00135065 W + Runtime Dynamic Power = 0.0126728 W + Runtime Dynamic Energy = 7.84319e-06 J + Total Runtime Energy = 3.02237e-05 J + + Miss Buffer: + Area = 0.290483 mm^2 + Peak Dynamic Power = 0.0363943 W + Subthreshold Leakage Power = 0.00111783 W + Gate Leakage Power = 0.000105058 W + Runtime Dynamic Power = 4.57482e-06 W + Runtime Dynamic Energy = 2.83135e-09 J + Total Runtime Energy = 7.59677e-07 J + + Fill Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 4.10795e-06 W + Runtime Dynamic Energy = 2.5424e-09 J + Total Runtime Energy = 6.91401e-07 J + + Prefetch Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 2.58404e-06 W + Runtime Dynamic Energy = 1.59925e-09 J + Total Runtime Energy = 6.90458e-07 J + + Writeback Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 1.52392e-06 W + Runtime Dynamic Energy = 9.4315e-10 J + Total Runtime Energy = 6.89802e-07 J + + L1IcacheMemory: + Area = 1.25506 mm^2 + Peak Dynamic Power = 0.135091 W + Subthreshold Leakage Power = 0.0389812 W + Gate Leakage Power = 0.00174265 W + Runtime Dynamic Power = 0.0267244 W + Runtime Dynamic Energy = 1.65397e-05 J + Total Runtime Energy = 4.17436e-05 J + + Data and Tag Arrays: + Area = 0.254127 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0348112 W + Gate Leakage Power = 0.00135065 W + Runtime Dynamic Power = 0.0266962 W + Runtime Dynamic Energy = 1.65222e-05 J + Total Runtime Energy = 3.89027e-05 J + + Miss Buffer: + Area = 0.290483 mm^2 + Peak Dynamic Power = 0.0363943 W + Subthreshold Leakage Power = 0.00111783 W + Gate Leakage Power = 0.000105058 W + Runtime Dynamic Power = 1.01089e-05 W + Runtime Dynamic Energy = 6.25637e-09 J + Total Runtime Energy = 7.63102e-07 J + + Fill Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 9.07725e-06 W + Runtime Dynamic Energy = 5.61789e-09 J + Total Runtime Energy = 6.94476e-07 J + + Prefetch Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 7.55333e-06 W + Runtime Dynamic Energy = 4.67474e-09 J + Total Runtime Energy = 6.93533e-07 J + + Writeback Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 1.52392e-06 W + Runtime Dynamic Energy = 9.4315e-10 J + Total Runtime Energy = 6.89802e-07 J + + L2cacheMemory: + Area = 12.6229 mm^2 + Peak Dynamic Power = 0.135528 W + Subthreshold Leakage Power = 2.3683 W + Gate Leakage Power = 0.125565 W + Runtime Dynamic Power = 0.039307 W + Runtime Dynamic Energy = 2.4327e-05 J + Total Runtime Energy = 0.00156777 J + + Data and Tag Arrays: + Area = 11.6149 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 2.36411 W + Gate Leakage Power = 0.125172 W + Runtime Dynamic Power = 0.0393024 W + Runtime Dynamic Energy = 2.43242e-05 J + Total Runtime Energy = 0.00156494 J + + Miss Buffer: + Area = 0.297582 mm^2 + Peak Dynamic Power = 0.0368312 W + Subthreshold Leakage Power = 0.00113039 W + Gate Leakage Power = 0.000106234 W + Runtime Dynamic Power = 1.64403e-06 W + Runtime Dynamic Energy = 1.01749e-09 J + Total Runtime Energy = 7.66362e-07 J + + Fill Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 1.45766e-06 W + Runtime Dynamic Energy = 9.02143e-10 J + Total Runtime Energy = 6.89761e-07 J + + Prefetch Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 9.27602e-07 W + Runtime Dynamic Energy = 5.74091e-10 J + Total Runtime Energy = 6.89433e-07 J + + Writeback Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 5.30058e-07 W + Runtime Dynamic Energy = 3.28052e-10 J + Total Runtime Energy = 6.89187e-07 J + + Cache Controller: + Area = 15.133 mm^2 + Peak Dynamic Power = 0.405711 W + Subthreshold Leakage Power = 2.44626 W + Gate Leakage Power = 0.129051 W + Runtime Dynamic Power = 0.00344278 W + Runtime Dynamic Energy = 2.13073e-06 J + Total Runtime Energy = 0.00159598 J + + L1DcacheMemory: + Area = 1.25506 mm^2 + Peak Dynamic Power = 0.135091 W + Subthreshold Leakage Power = 0.0389812 W + Gate Leakage Power = 0.00174265 W + Runtime Dynamic Power = 0.000196889 W + Runtime Dynamic Energy = 1.21854e-07 J + Total Runtime Energy = 2.53258e-05 J + + Data and Tag Arrays: + Area = 0.254127 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0348112 W + Gate Leakage Power = 0.00135065 W + Runtime Dynamic Power = 0.000194413 W + Runtime Dynamic Energy = 1.20322e-07 J + Total Runtime Energy = 2.25008e-05 J + + Miss Buffer: + Area = 0.290483 mm^2 + Peak Dynamic Power = 0.0363943 W + Subthreshold Leakage Power = 0.00111783 W + Gate Leakage Power = 0.000105058 W + Runtime Dynamic Power = 8.8545e-07 W + Runtime Dynamic Energy = 5.48003e-10 J + Total Runtime Energy = 7.57394e-07 J + + Fill Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 7.95088e-07 W + Runtime Dynamic Energy = 4.92078e-10 J + Total Runtime Energy = 6.89351e-07 J + + Prefetch Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 5.96316e-07 W + Runtime Dynamic Energy = 3.69059e-10 J + Total Runtime Energy = 6.89228e-07 J + + Writeback Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 1.98772e-07 W + Runtime Dynamic Energy = 1.2302e-10 J + Total Runtime Energy = 6.88982e-07 J + + L1IcacheMemory: + Area = 1.25506 mm^2 + Peak Dynamic Power = 0.135091 W + Subthreshold Leakage Power = 0.0389812 W + Gate Leakage Power = 0.00174265 W + Runtime Dynamic Power = 0.000394295 W + Runtime Dynamic Energy = 2.44029e-07 J + Total Runtime Energy = 2.54479e-05 J + + Data and Tag Arrays: + Area = 0.254127 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0348112 W + Gate Leakage Power = 0.00135065 W + Runtime Dynamic Power = 0.000381504 W + Runtime Dynamic Energy = 2.36112e-07 J + Total Runtime Energy = 2.26166e-05 J + + Miss Buffer: + Area = 0.290483 mm^2 + Peak Dynamic Power = 0.0363943 W + Subthreshold Leakage Power = 0.00111783 W + Gate Leakage Power = 0.000105058 W + Runtime Dynamic Power = 4.57482e-06 W + Runtime Dynamic Energy = 2.83135e-09 J + Total Runtime Energy = 7.59677e-07 J + + Fill Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 4.10795e-06 W + Runtime Dynamic Energy = 2.5424e-09 J + Total Runtime Energy = 6.91401e-07 J + + Prefetch Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 2.58404e-06 W + Runtime Dynamic Energy = 1.59925e-09 J + Total Runtime Energy = 6.90458e-07 J + + Writeback Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 1.52392e-06 W + Runtime Dynamic Energy = 9.4315e-10 J + Total Runtime Energy = 6.89802e-07 J + + L2cacheMemory: + Area = 12.6229 mm^2 + Peak Dynamic Power = 0.135528 W + Subthreshold Leakage Power = 2.3683 W + Gate Leakage Power = 0.125565 W + Runtime Dynamic Power = 0.00285159 W + Runtime Dynamic Energy = 1.76485e-06 J + Total Runtime Energy = 0.00154521 J + + Data and Tag Arrays: + Area = 11.6149 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 2.36411 W + Gate Leakage Power = 0.125172 W + Runtime Dynamic Power = 0.00282766 W + Runtime Dynamic Energy = 1.75003e-06 J + Total Runtime Energy = 0.00154236 J + + Miss Buffer: + Area = 0.297582 mm^2 + Peak Dynamic Power = 0.0368312 W + Subthreshold Leakage Power = 0.00113039 W + Gate Leakage Power = 0.000106234 W + Runtime Dynamic Power = 8.63117e-06 W + Runtime Dynamic Energy = 5.34181e-09 J + Total Runtime Energy = 7.70686e-07 J + + Fill Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 7.65272e-06 W + Runtime Dynamic Energy = 4.73625e-09 J + Total Runtime Energy = 6.93595e-07 J + + Prefetch Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 7.65272e-06 W + Runtime Dynamic Energy = 4.73625e-09 J + Total Runtime Energy = 6.93595e-07 J + + Writeback Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.032899 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 6.88859e-07 J + diff --git a/ext/mcpat/regression/test-2/power_region0.xml b/ext/mcpat/regression/test-2/power_region0.xml new file mode 100644 index 000000000..2c8521afb --- /dev/null +++ b/ext/mcpat/regression/test-2/power_region0.xml @@ -0,0 +1,242 @@ +<?xml version="1.0" ?> +<component id="root" name="root"> + <component id="system" name="system" type="System"> + <param name="core_tech_node" value="40"/> + <param name="target_core_clockrate" value="1400"/> + <param name="temperature" value="360"/> + <param name="interconnect_projection_type" value="0"/> + <param name="device_type" value="0"/> + <param name="machine_bits" value="64"/> + <param name="virtual_address_width" value="64"/> + <param name="physical_address_width" value="52"/> + <param name="virtual_memory_page_size" value="4096"/> + <param name="wire_is_mat_type" value="2"/> + <param name="wire_os_mat_type" value="2"/> + <param name="delay_wt" value="100"/> + <param name="area_wt" value="0"/> + <param name="dynamic_power_wt" value="100"/> + <param name="leakage_power_wt" value="0"/> + <param name="cycle_time_wt" value="0"/> + <param name="delay_dev" value="10000"/> + <param name="area_dev" value="10000"/> + <param name="dynamic_power_dev" value="10000"/> + <param name="leakage_power_dev" value="10000"/> + <param name="cycle_time_dev" value="10000"/> + <param name="ed" value="2"/> + <param name="burst_len" value="1"/> + <param name="int_prefetch_w" value="1"/> + <param name="page_sz_bits" value="0"/> + <param name="rpters_in_htree" value="1"/> + <param name="ver_htree_wires_over_array" value="0"/> + <param name="nuca" value="0"/> + <param name="nuca_bank_count" value="0"/> + <param name="force_cache_config" value="0"/> + <param name="wt" value="0"/> + <param name="force_wiretype" value="0"/> + <param name="print_detail" value="1"/> + <param name="add_ecc_b_" value="1"/> + <stat name="total_cycles" value="566948"/> + <component id="system.l1_cntrl0" name="l1_cntrl0" type="CacheController"> + <component id="system.l1_cntrl0.L1DcacheMemory" name="L1DcacheMemory" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="2"/> + <param name="throughput" value="1"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="2"/> + <param name="clockrate" value="2000"/> + <param name="device_type" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="num_data_array_reads" value="47291"/> + <stat name="num_data_array_writes" value="51619"/> + <stat name="num_tag_array_reads" value="91498"/> + <stat name="num_tag_array_writes" value="17078"/> + <stat name="read_misses" value="174"/> + <stat name="write_misses" value="12046"/> + <stat name="conflicts" value="12120"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.l1_cntrl0.L1IcacheMemory" name="L1IcacheMemory" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="2"/> + <param name="throughput" value="1"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="2"/> + <param name="clockrate" value="2000"/> + <param name="device_type" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="num_data_array_reads" value="253831"/> + <stat name="num_data_array_writes" value="3497"/> + <stat name="num_tag_array_reads" value="253291"/> + <stat name="num_tag_array_writes" value="10845"/> + <stat name="read_misses" value="100"/> + <stat name="conflicts" value="99"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.l1_cntrl0.L2cacheMemory" name="L2cacheMemory" type="CacheUnit"> + <param name="level" value="2"/> + <param name="size" value="2097152"/> + <param name="block_size" value="64"/> + <param name="assoc" value="16"/> + <param name="num_banks" value="1"/> + <param name="latency" value="10"/> + <param name="throughput" value="1"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="2"/> + <param name="clockrate" value="2000"/> + <param name="device_type" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="1"/> + <param name="miss_buff_access_mode" value="0"/> + <param name="fetch_buff_access_mode" value="0"/> + <param name="prefetch_buff_access_mode" value="0"/> + <param name="writeback_buff_access_mode"value="0"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="num_data_array_reads" value="3959"/> + <stat name="num_data_array_writes" value="8086"/> + <stat name="num_tag_array_reads" value="274"/> + <stat name="num_tag_array_writes" value="12046"/> + <stat name="read_misses" value="27"/> + <stat name="write_misses" value="1204"/> + <stat name="conflicts" value="1231"/> + <stat name="duty_cycle" value="1"/> + </component> + </component> + </component> +</component> diff --git a/ext/mcpat/regression/test-2/region0.out.ref b/ext/mcpat/regression/test-2/region0.out.ref new file mode 100644 index 000000000..dd6d62120 --- /dev/null +++ b/ext/mcpat/regression/test-2/region0.out.ref @@ -0,0 +1,190 @@ +McPAT (version 0.8 of Aug, 2010) is computing the target processor... + + +McPAT (version 0.8 of Aug, 2010) results (current print level is 5) +***************************************************************************************** + Technology 40 nm + Interconnect metal projection = aggressive interconnect technology projection + Target Clock Rate (MHz) 1400 + +***************************************************************************************** + System: + Area = 15.133 mm^2 + Peak Dynamic Power = 0.270474 W + Subthreshold Leakage Power = 2.44626 W + Gate Leakage Power = 0.129051 W + Runtime Dynamic Power = 0.123193 W + Runtime Dynamic Energy = 4.98884e-05 J + Total Runtime Energy = 0.00109279 J + + Cache Controller: + Area = 15.133 mm^2 + Peak Dynamic Power = 0.270474 W + Subthreshold Leakage Power = 2.44626 W + Gate Leakage Power = 0.129051 W + Runtime Dynamic Power = 0.123193 W + Runtime Dynamic Energy = 4.98884e-05 J + Total Runtime Energy = 0.00109279 J + + L1DcacheMemory: + Area = 1.25506 mm^2 + Peak Dynamic Power = 0.0900609 W + Subthreshold Leakage Power = 0.0389812 W + Gate Leakage Power = 0.00174265 W + Runtime Dynamic Power = 0.0203309 W + Runtime Dynamic Energy = 8.23325e-06 J + Total Runtime Energy = 2.47249e-05 J + + Data and Tag Arrays: + Area = 0.254127 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0348112 W + Gate Leakage Power = 0.00135065 W + Runtime Dynamic Power = 0.0193677 W + Runtime Dynamic Energy = 7.84319e-06 J + Total Runtime Energy = 2.24874e-05 J + + Miss Buffer: + Area = 0.290483 mm^2 + Peak Dynamic Power = 0.0242629 W + Subthreshold Leakage Power = 0.00111783 W + Gate Leakage Power = 0.000105058 W + Runtime Dynamic Power = 0.000344507 W + Runtime Dynamic Energy = 1.39512e-07 J + Total Runtime Energy = 6.34739e-07 J + + Fill Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.0219327 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 0.000309349 W + Runtime Dynamic Energy = 1.25275e-07 J + Total Runtime Energy = 5.76015e-07 J + + Prefetch Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.0219327 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 4.40481e-06 W + Runtime Dynamic Energy = 1.78378e-09 J + Total Runtime Energy = 4.52524e-07 J + + Writeback Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.0219327 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 0.000304944 W + Runtime Dynamic Energy = 1.23491e-07 J + Total Runtime Energy = 5.74231e-07 J + + L1IcacheMemory: + Area = 1.25506 mm^2 + Peak Dynamic Power = 0.0900609 W + Subthreshold Leakage Power = 0.0389812 W + Gate Leakage Power = 0.00174265 W + Runtime Dynamic Power = 0.0408072 W + Runtime Dynamic Energy = 1.65254e-05 J + Total Runtime Energy = 3.3017e-05 J + + Data and Tag Arrays: + Area = 0.254127 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0348112 W + Gate Leakage Power = 0.00135065 W + Runtime Dynamic Power = 0.0407993 W + Runtime Dynamic Energy = 1.65222e-05 J + Total Runtime Energy = 3.11664e-05 J + + Miss Buffer: + Area = 0.290483 mm^2 + Peak Dynamic Power = 0.0242629 W + Subthreshold Leakage Power = 0.00111783 W + Gate Leakage Power = 0.000105058 W + Runtime Dynamic Power = 2.8192e-06 W + Runtime Dynamic Energy = 1.14167e-09 J + Total Runtime Energy = 4.96368e-07 J + + Fill Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.0219327 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 2.5315e-06 W + Runtime Dynamic Energy = 1.02516e-09 J + Total Runtime Energy = 4.51765e-07 J + + Prefetch Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.0219327 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 2.5315e-06 W + Runtime Dynamic Energy = 1.02516e-09 J + Total Runtime Energy = 4.51765e-07 J + + Writeback Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.0219327 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 4.5074e-07 J + + L2cacheMemory: + Area = 12.6229 mm^2 + Peak Dynamic Power = 0.0903521 W + Subthreshold Leakage Power = 2.3683 W + Gate Leakage Power = 0.125565 W + Runtime Dynamic Power = 0.0620546 W + Runtime Dynamic Energy = 2.51298e-05 J + Total Runtime Energy = 0.00103505 J + + Data and Tag Arrays: + Area = 11.6149 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 2.36411 W + Gate Leakage Power = 0.125172 W + Runtime Dynamic Power = 0.0619571 W + Runtime Dynamic Energy = 2.50903e-05 J + Total Runtime Energy = 0.00103316 J + + Miss Buffer: + Area = 0.297582 mm^2 + Peak Dynamic Power = 0.0245541 W + Subthreshold Leakage Power = 0.00113039 W + Gate Leakage Power = 0.000106234 W + Runtime Dynamic Power = 3.51471e-05 W + Runtime Dynamic Energy = 1.42333e-08 J + Total Runtime Energy = 5.1502e-07 J + + Fill Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.0219327 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 3.11627e-05 W + Runtime Dynamic Energy = 1.26198e-08 J + Total Runtime Energy = 4.6336e-07 J + + Prefetch Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.0219327 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 6.83505e-07 W + Runtime Dynamic Energy = 2.76794e-10 J + Total Runtime Energy = 4.51017e-07 J + + Writeback Buffer: + Area = 0.236817 mm^2 + Peak Dynamic Power = 0.0219327 W + Subthreshold Leakage Power = 0.00101739 W + Gate Leakage Power = 9.56483e-05 W + Runtime Dynamic Power = 3.04792e-05 W + Runtime Dynamic Energy = 1.2343e-08 J + Total Runtime Energy = 4.63083e-07 J + diff --git a/ext/mcpat/regression/test-3/power_region0.xml b/ext/mcpat/regression/test-3/power_region0.xml new file mode 100644 index 000000000..80c8c113c --- /dev/null +++ b/ext/mcpat/regression/test-3/power_region0.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" ?> +<component id="root" name="root"> + <component id="system" name="system" type="System"> + <param name="core_tech_node" value="40"/> + <param name="target_core_clockrate" value="1000"/> + <param name="temperature" value="360"/> + <param name="interconnect_projection_type" value="0"/> + <param name="device_type" value="0"/> + <param name="machine_bits" value="64"/> + <param name="virtual_address_width" value="64"/> + <param name="physical_address_width" value="52"/> + <param name="virtual_memory_page_size" value="4096"/> + <param name="wire_is_mat_type" value="2"/> + <param name="wire_os_mat_type" value="2"/> + <param name="delay_wt" value="100"/> + <param name="area_wt" value="0"/> + <param name="dynamic_power_wt" value="100"/> + <param name="leakage_power_wt" value="0"/> + <param name="cycle_time_wt" value="0"/> + <param name="delay_dev" value="10000"/> + <param name="area_dev" value="10000"/> + <param name="dynamic_power_dev" value="10000"/> + <param name="leakage_power_dev" value="10000"/> + <param name="cycle_time_dev" value="10000"/> + <param name="ed" value="2"/> + <param name="burst_len" value="1"/> + <param name="int_prefetch_w" value="1"/> + <param name="page_sz_bits" value="0"/> + <param name="rpters_in_htree" value="1"/> + <param name="ver_htree_wires_over_array" value="0"/> + <param name="nuca" value="0"/> + <param name="nuca_bank_count" value="0"/> + <param name="force_cache_config" value="0"/> + <param name="wt" value="0"/> + <param name="force_wiretype" value="0"/> + <param name="print_detail" value="1"/> + <param name="add_ecc_b_" value="1"/> + <stat name="total_cycles" value="1856694"/> + <component id="system.mc" name="mc" type="MemoryController"> + <param name="mc_clock" value="800"/> + <param name="tech_type" value="0"/> + <param name="mc_type" value="0"/> + <param name="num_mcs" value="1"/> + <param name="type" value="0"/> + <param name="LVDS" value="1"/> + <param name="withPHY" value="0"/> + <param name="llc_line_length" value="64"/> + <param name="memory_channels_per_mc" value="2"/> + <param name="req_window_size_per_channel" value="128"/> + <param name="IO_buffer_size_per_channel" value="128"/> + <param name="databus_width" value="128"/> + <param name="addressbus_width" value="51"/> + <param name="opcode_width" value="16"/> + <param name="peak_transfer_rate" value="6400"/> + <param name="number_ranks" value="2"/> + <param name="reorder_buffer_assoc" value="0"/> + <param name="reorder_buffer_nbanks" value="1"/> + <param name="read_buffer_assoc" value="1"/> + <param name="read_buffer_nbanks" value="1"/> + <param name="read_buffer_tag_width" value="0"/> + <param name="write_buffer_assoc" value="1"/> + <param name="write_buffer_nbanks" value="1"/> + <param name="write_buffer_tag_width" value="0"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <stat name="memory_reads" value="5454"/> + <stat name="memory_writes" value="2424"/> + <stat name="duty_cycle" value="0.5"/> + </component> + </component> +</component> diff --git a/ext/mcpat/regression/test-3/region0.out.ref b/ext/mcpat/regression/test-3/region0.out.ref new file mode 100644 index 000000000..64cfc03bb --- /dev/null +++ b/ext/mcpat/regression/test-3/region0.out.ref @@ -0,0 +1,82 @@ +McPAT (version 0.8 of Aug, 2010) is computing the target processor... + + +McPAT (version 0.8 of Aug, 2010) results (current print level is 5) +***************************************************************************************** + Technology 40 nm + Interconnect metal projection = aggressive interconnect technology projection + Target Clock Rate (MHz) 1000 + +***************************************************************************************** + System: + Area = 10.1619 mm^2 + Peak Dynamic Power = 0.802936 W + Subthreshold Leakage Power = 0.435736 W + Gate Leakage Power = 0.0339261 W + Runtime Dynamic Power = 0.0198915 W + Runtime Dynamic Energy = 3.69324e-05 J + Total Runtime Energy = 0.00090895 J + + Memory Controller: + Area = 10.1619 mm^2 + Peak Dynamic Power = 0.802936 W + Subthreshold Leakage Power = 0.435736 W + Gate Leakage Power = 0.0339261 W + Runtime Dynamic Power = 0.0198915 W + Runtime Dynamic Energy = 3.69324e-05 J + Total Runtime Energy = 0.00090895 J + + Front End: + Area = 0.538603 mm^2 + Peak Dynamic Power = 0.152914 W + Subthreshold Leakage Power = 0.0224588 W + Gate Leakage Power = 0.00133997 W + Runtime Dynamic Power = 0.00210718 W + Runtime Dynamic Energy = 3.91238e-06 J + Total Runtime Energy = 4.80994e-05 J + + Reorder Buffer: + Area = 0.242439 mm^2 + Peak Dynamic Power = 0.116672 W + Subthreshold Leakage Power = 0.0135852 W + Gate Leakage Power = 0.000923575 W + Runtime Dynamic Power = 0.00165964 W + Runtime Dynamic Energy = 3.08145e-06 J + Total Runtime Energy = 3.00199e-05 J + + Read Buffer: + Area = 0.148082 mm^2 + Peak Dynamic Power = 0.018121 W + Subthreshold Leakage Power = 0.00443679 W + Gate Leakage Power = 0.000208199 W + Runtime Dynamic Power = 0.00026615 W + Runtime Dynamic Energy = 4.9416e-07 J + Total Runtime Energy = 9.11848e-06 J + + Write Buffer: + Area = 0.148082 mm^2 + Peak Dynamic Power = 0.018121 W + Subthreshold Leakage Power = 0.00443679 W + Gate Leakage Power = 0.000208199 W + Runtime Dynamic Power = 0.000181383 W + Runtime Dynamic Energy = 3.36773e-07 J + Total Runtime Energy = 8.9611e-06 J + + Transaction Engine: + Area = 3.27456 mm^2 + Peak Dynamic Power = 0.650022 W + Subthreshold Leakage Power = 0.140627 W + Gate Leakage Power = 0.0110882 W + Runtime Dynamic Power = 0.00689515 W + Runtime Dynamic Energy = 1.28022e-05 J + Total Runtime Energy = 0.000294491 J + + Physical Interface (PHY): + Area = 6.34878 mm^2 + Peak Dynamic Power = 1.09577e-09 W + Subthreshold Leakage Power = 0.27265 W + Gate Leakage Power = 0.0214979 W + Runtime Dynamic Power = 0.0108891 W + Runtime Dynamic Energy = 2.02178e-05 J + Total Runtime Energy = 0.00056636 J + diff --git a/ext/mcpat/regression/test-4/power_region0.xml b/ext/mcpat/regression/test-4/power_region0.xml new file mode 100644 index 000000000..5ea50d389 --- /dev/null +++ b/ext/mcpat/regression/test-4/power_region0.xml @@ -0,0 +1,208 @@ +<?xml version="1.0" ?> +<component id="root" name="root"> + <component id="system" name="system" type="System"> + <param name="core_tech_node" value="40"/> + <param name="target_core_clockrate" value="2400"/> + <param name="temperature" value="360"/> + <param name="interconnect_projection_type" value="0"/> + <param name="device_type" value="0"/> + <param name="machine_bits" value="64"/> + <param name="virtual_address_width" value="64"/> + <param name="physical_address_width" value="52"/> + <param name="virtual_memory_page_size" value="4096"/> + <param name="wire_is_mat_type" value="2"/> + <param name="wire_os_mat_type" value="2"/> + <param name="delay_wt" value="100"/> + <param name="area_wt" value="0"/> + <param name="dynamic_power_wt" value="100"/> + <param name="leakage_power_wt" value="0"/> + <param name="cycle_time_wt" value="0"/> + <param name="delay_dev" value="10000"/> + <param name="area_dev" value="10000"/> + <param name="dynamic_power_dev" value="10000"/> + <param name="leakage_power_dev" value="10000"/> + <param name="cycle_time_dev" value="10000"/> + <param name="ed" value="2"/> + <param name="burst_len" value="1"/> + <param name="int_prefetch_w" value="1"/> + <param name="page_sz_bits" value="0"/> + <param name="rpters_in_htree" value="1"/> + <param name="ver_htree_wires_over_array" value="0"/> + <param name="nuca" value="0"/> + <param name="nuca_bank_count" value="0"/> + <param name="force_cache_config" value="0"/> + <param name="wt" value="0"/> + <param name="force_wiretype" value="0"/> + <param name="print_detail" value="1"/> + <param name="add_ecc_b_" value="1"/> + <stat name="total_cycles" value="1856694"/> + <component id="system.core0" name="core0" type="Core"> + <param name="opt_local" value="0"/> + <param name="clock_rate" value="2000"/> + <param name="instruction_length" value="32"/> + <param name="opcode_width" value="6"/> + <param name="machine_type" value="1"/> + <param name="number_hardware_threads" value="1"/> + <param name="fetch_width" value="1"/> + <param name="number_instruction_fetch_ports" value="1"/> + <param name="decode_width" value="1"/> + <param name="issue_width" value="1"/> + <param name="peak_issue_width" value="1"/> + <param name="commit_width" value="1"/> + <param name="fp_issue_width" value="1"/> + <param name="prediction_width" value="1"/> + <param name="int_pipelines" value="1"/> + <param name="fp_pipelines" value="1"/> + <param name="int_pipeline_depth" value="7"/> + <param name="fp_pipeline_depth" value="10"/> + <param name="ALU_per_core" value="1"/> + <param name="FPU_per_core" value="1"/> + <param name="MUL_per_core" value="1"/> + <param name="instruction_buffer_size" value="16"/> + <param name="instruction_window_scheme" value="0"/> + <param name="instruction_window_size" value="0"/> + <param name="fp_instruction_window_size" value="0"/> + <param name="ROB_size" value="0"/> + <param name="archi_Regs_IRF_size" value="32"/> + <param name="archi_Regs_FRF_size" value="32"/> + <param name="phy_Regs_IRF_size" value="32"/> + <param name="phy_Regs_FRF_size" value="32"/> + <param name="rename_scheme" value="0"/> + <param name="register_window_size" value="0"/> + <param name="store_buffer_size" value="8"/> + <param name="load_buffer_size" value="0"/> + <param name="memory_ports" value="1"/> + <param name="RAS_size" value="32"/> + <param name="execu_wire_mat_type" value="2"/> + <param name="execu_bypass_base_width" value="1"/> + <param name="execu_bypass_base_height" value="1"/> + <param name="execu_bypass_start_wiring_level"value="3"/> + <param name="execu_bypass_route_over_perc" value="1"/> + <param name="globalCheckpoint" value="32"/> + <param name="perThreadState" value="8"/> + <param name="ROB_assoc" value="1"/> + <param name="ROB_nbanks" value="1"/> + <param name="ROB_tag_width" value="0"/> + <param name="scheduler_assoc" value="0"/> + <param name="scheduler_nbanks" value="1"/> + <param name="register_window_assoc" value="1"/> + <param name="register_window_nbanks" value="1"/> + <param name="register_window_tag_width" value="0"/> + <param name="register_window_rw_ports" value="1"/> + <param name="phy_Regs_IRF_assoc" value="1"/> + <param name="phy_Regs_IRF_nbanks" value="1"/> + <param name="phy_Regs_IRF_tag_width" value="0"/> + <param name="phy_Regs_IRF_rd_ports" value="1"/> + <param name="phy_Regs_IRF_wr_ports" value="1"/> + <param name="phy_Regs_FRF_assoc" value="1"/> + <param name="phy_Regs_FRF_nbanks" value="1"/> + <param name="phy_Regs_FRF_tag_width" value="0"/> + <param name="phy_Regs_FRF_rd_ports" value="1"/> + <param name="phy_Regs_FRF_wr_ports" value="1"/> + <param name="front_rat_nbanks" value="1"/> + <param name="front_rat_rw_ports" value="1"/> + <param name="retire_rat_nbanks" value="1"/> + <param name="retire_rat_rw_ports" value="0"/> + <param name="freelist_nbanks" value="1"/> + <param name="freelist_rw_ports" value="1"/> + <param name="load_buffer_assoc" value="0"/> + <param name="load_buffer_nbanks" value="1"/> + <param name="store_buffer_assoc" value="0"/> + <param name="store_buffer_nbanks" value="1"/> + <param name="instruction_buffer_assoc" value="1"/> + <param name="instruction_buffer_nbanks" value="1"/> + <param name="instruction_buffer_tag_width" value="0"/> + <stat name="total_instructions" value="332405"/> + <stat name="int_instructions" value="330557"/> + <stat name="fp_instructions" value="1649"/> + <stat name="branch_instructions" value="32405"/> + <stat name="branch_mispredictions" value="4132"/> + <stat name="load_instructions" value="45636"/> + <stat name="store_instructions" value="44771"/> + <stat name="committed_instructions" value="332405"/> + <stat name="committed_int_instructions" value="330557"/> + <stat name="committed_fp_instructions" value="1649"/> + <stat name="total_cycles" value="9496951709"/> + <stat name="idle_cycles" value="103"/> + <stat name="busy_cycles" value="9496951606"/> + <stat name="ROB_reads" value="332405"/> + <stat name="ROB_writes" value="332405"/> + <stat name="rename_reads" value="960725"/> + <stat name="rename_writes" value="317221"/> + <stat name="fp_rename_reads" value="2772"/> + <stat name="fp_rename_writes" value="1288"/> + <stat name="inst_window_reads" value="330557"/> + <stat name="inst_window_writes" value="330557"/> + <stat name="inst_window_wakeup_accesses" value="330557"/> + <stat name="fp_inst_window_reads" value="1649"/> + <stat name="fp_inst_window_writes" value="1649"/> + <stat name="fp_inst_window_wakeup_accesses" value="1649"/> + <stat name="int_regfile_reads" value="960725"/> + <stat name="float_regfile_reads" value="2772"/> + <stat name="int_regfile_writes" value="317221"/> + <stat name="float_regfile_writes" value="1288"/> + <stat name="function_calls" value="2546"/> + <stat name="context_switches" value="3"/> + <stat name="ialu_accesses" value="330157"/> + <stat name="fpu_accesses" value="1649"/> + <stat name="mul_accesses" value="400"/> + <stat name="cdb_alu_accesses" value="330157"/> + <stat name="cdb_mul_accesses" value="400"/> + <stat name="cdb_fpu_accesses" value="1649"/> + <stat name="IFU_duty_cycle" value="1"/> + <stat name="LSU_duty_cycle" value="1"/> + <stat name="MemManU_I_duty_cycle" value="1"/> + <stat name="MemManU_D_duty_cycle" value="1"/> + <stat name="ALU_duty_cycle" value="1"/> + <stat name="MUL_duty_cycle" value="1"/> + <stat name="FPU_duty_cycle" value="1"/> + <stat name="ALU_cdb_duty_cycle" value="1"/> + <stat name="MUL_cdb_duty_cycle" value="1"/> + <stat name="FPU_cdb_duty_cycle" value="1"/> + <component id="system.core0.bpred" name="bpred" type="BranchPredictor"> + <param name="assoc" value="1"/> + <param name="nbanks" value="1"/> + <param name="local_l1_predictor_size" value="10"/> + <param name="local_l2_predictor_size" value="3"/> + <param name="local_predictor_entries" value="1024"/> + <param name="global_predictor_entries" value="4096"/> + <param name="global_predictor_bits" value="2"/> + <param name="chooser_predictor_entries" value="4096"/> + <param name="chooser_predictor_bits" value="2"/> + </component> + <component id="system.core0.itlb" name="itlb" type="InstructionTLB"> + <param name="number_entries" value="64"/> + <param name="latency" value="2"/> + <param name="throughput" value="2"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="total_accesses" value="72"/> + <stat name="total_misses" value="36"/> + <stat name="conflicts" value="0"/> + </component> + <component id="system.core0.dtlb" name="dtlb" type="DataTLB"> + <param name="number_entries" value="64"/> + <param name="latency" value="2"/> + <param name="throughput" value="2"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="read_accesses" value="534"/> + <stat name="write_accesses" value="0"/> + <stat name="read_misses" value="25"/> + <stat name="write_misses" value="0"/> + <stat name="conflicts" value="0"/> + </component> + <component id="system.core0.btargetbuf" name="btargetbuf" type="BranchTargetBuffer"> + <param name="size" value="8192"/> + <param name="block_size" value="4"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="1"/> + <param name="throughput" value="3"/> + <param name="rw_ports" value="1"/> + <stat name="read_accesses" value="43"/> + <stat name="write_accesses" value="943"/> + </component> + </component> + </component> +</component> diff --git a/ext/mcpat/regression/test-4/region0.out.ref b/ext/mcpat/regression/test-4/region0.out.ref new file mode 100644 index 000000000..305020db9 --- /dev/null +++ b/ext/mcpat/regression/test-4/region0.out.ref @@ -0,0 +1,316 @@ +McPAT (version 0.8 of Aug, 2010) is computing the target processor... + + +McPAT (version 0.8 of Aug, 2010) results (current print level is 5) +***************************************************************************************** + Technology 40 nm + Interconnect metal projection = aggressive interconnect technology projection + Target Clock Rate (MHz) 2400 + +***************************************************************************************** + System: + Area = 4.03988 mm^2 + Peak Dynamic Power = 1.13952 W + Subthreshold Leakage Power = 1.09948 W + Gate Leakage Power = 0.0880822 W + Runtime Dynamic Power = 0.304667 W + Runtime Dynamic Energy = 0.000235697 J + Total Runtime Energy = 0.00115442 J + + Core 0: + Area = 4.03988 mm^2 + Peak Dynamic Power = 1.13952 W + Subthreshold Leakage Power = 1.09948 W + Gate Leakage Power = 0.0880822 W + Runtime Dynamic Power = 0.304667 W + Runtime Dynamic Energy = 0.000235697 J + Total Runtime Energy = 0.00115442 J + + Instruction Fetch Unit: + Area = 0.646243 mm^2 + Peak Dynamic Power = 0.0998237 W + Subthreshold Leakage Power = 0.0641442 W + Gate Leakage Power = 0.00348734 W + Runtime Dynamic Power = 0.0165339 W + Runtime Dynamic Energy = 1.2791e-05 J + Total Runtime Energy = 6.51122e-05 J + + Branch Target Buffer: + Area = 0.526882 mm^2 + Peak Dynamic Power = 0.05291 W + Subthreshold Leakage Power = 0.0468647 W + Gate Leakage Power = 0.00268178 W + Runtime Dynamic Power = 7.47781e-05 W + Runtime Dynamic Energy = 5.785e-08 J + Total Runtime Energy = 3.83881e-05 J + + Branch Predictor: + Area = 0.117913 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0166783 W + Gate Leakage Power = 0.000768254 W + Runtime Dynamic Power = 0.00638034 W + Runtime Dynamic Energy = 4.93598e-06 J + Total Runtime Energy = 1.8433e-05 J + + Global Predictor: + Area = 0.0375885 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.00584294 W + Gate Leakage Power = 0.000266459 W + Runtime Dynamic Power = 0.00224596 W + Runtime Dynamic Energy = 1.73753e-06 J + Total Runtime Energy = 6.4639e-06 J + + Local Predictor, Level 1: + Area = 0.0226899 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0029458 W + Gate Leakage Power = 0.000134 W + Runtime Dynamic Power = 0.00172351 W + Runtime Dynamic Energy = 1.33334e-06 J + Total Runtime Energy = 3.71595e-06 J + + Local Predictor, Level 2: + Area = 0.0111174 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.00161822 W + Gate Leakage Power = 7.85114e-05 W + Runtime Dynamic Power = 0.000151207 W + Runtime Dynamic Energy = 1.16977e-07 J + Total Runtime Energy = 1.42961e-06 J + + Predictor Chooser: + Area = 0.0375885 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.00584294 W + Gate Leakage Power = 0.000266459 W + Runtime Dynamic Power = 0.00224596 W + Runtime Dynamic Energy = 1.73753e-06 J + Total Runtime Energy = 6.4639e-06 J + + RAS: + Area = 0.00892889 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.000428398 W + Gate Leakage Power = 2.2826e-05 W + Runtime Dynamic Power = 1.37057e-05 W + Runtime Dynamic Energy = 1.0603e-08 J + Total Runtime Energy = 3.5968e-07 J + + Instruction Buffer: + Area = 0.000887187 mm^2 + Peak Dynamic Power = 0.00270456 W + Subthreshold Leakage Power = 8.79429e-05 W + Gate Leakage Power = 5.07123e-06 W + Runtime Dynamic Power = 0.000581039 W + Runtime Dynamic Energy = 4.49505e-07 J + Total Runtime Energy = 5.21463e-07 J + + Instruction Opcode Decoder: + Area = 0.000370909 mm^2 + Peak Dynamic Power = 0.022114 W + Subthreshold Leakage Power = 0.000341264 W + Gate Leakage Power = 2.1391e-05 W + Runtime Dynamic Power = 0.00475089 W + Runtime Dynamic Energy = 3.6754e-06 J + Total Runtime Energy = 3.95595e-06 J + + Instruction Operand Decoder: + Area = 0.00018867 mm^2 + Peak Dynamic Power = 0.0220952 W + Subthreshold Leakage Power = 0.000171916 W + Gate Leakage Power = 1.08411e-05 W + Runtime Dynamic Power = 0.00474686 W + Runtime Dynamic Energy = 3.67227e-06 J + Total Runtime Energy = 3.81366e-06 J + + Instruction Microcode Decoder: + Area = 0 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 0 J + + Load/Store Unit: + Area = 0.0429074 mm^2 + Peak Dynamic Power = 0.0147095 W + Subthreshold Leakage Power = 0.000986438 W + Gate Leakage Power = 8.4035e-05 W + Runtime Dynamic Power = 0.00171897 W + Runtime Dynamic Energy = 1.32984e-06 J + Total Runtime Energy = 2.15798e-06 J + + Store Queue: + Area = 0.0429074 mm^2 + Peak Dynamic Power = 0.0147095 W + Subthreshold Leakage Power = 0.000986438 W + Gate Leakage Power = 8.4035e-05 W + Runtime Dynamic Power = 0.00171897 W + Runtime Dynamic Energy = 1.32984e-06 J + Total Runtime Energy = 2.15798e-06 J + + Memory Management Unit: + Area = 0.0536541 mm^2 + Peak Dynamic Power = 0.0450214 W + Subthreshold Leakage Power = 0.00608426 W + Gate Leakage Power = 0.000426918 W + Runtime Dynamic Power = 9.42932e-06 W + Runtime Dynamic Energy = 7.29474e-09 J + Total Runtime Energy = 5.04449e-06 J + + Instruction TLB: + Area = 0.0183885 mm^2 + Peak Dynamic Power = 0.0215705 W + Subthreshold Leakage Power = 0.00282912 W + Gate Leakage Power = 0.000201432 W + Runtime Dynamic Power = 1.18848e-06 W + Runtime Dynamic Energy = 9.19436e-10 J + Total Runtime Energy = 2.34543e-06 J + + Data TLB: + Area = 0.0352657 mm^2 + Peak Dynamic Power = 0.0234509 W + Subthreshold Leakage Power = 0.00325513 W + Gate Leakage Power = 0.000225486 W + Runtime Dynamic Power = 8.24084e-06 W + Runtime Dynamic Energy = 6.3753e-09 J + Total Runtime Energy = 2.69906e-06 J + + Execution Unit: + Area = 2.14837 mm^2 + Peak Dynamic Power = 0.97997 W + Subthreshold Leakage Power = 0.576941 W + Gate Leakage Power = 0.0454688 W + Runtime Dynamic Power = 0.0458266 W + Runtime Dynamic Energy = 3.54525e-05 J + Total Runtime Energy = 0.000516963 J + + Int Bypass Data: + Area = 0.0011767 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00727412 W + Runtime Dynamic Energy = 5.62742e-06 J + Total Runtime Energy = 5.62742e-06 J + + Int Bypass Tag: + Area = 0.000147088 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.000909265 W + Runtime Dynamic Energy = 7.03428e-07 J + Total Runtime Energy = 7.03428e-07 J + + Mul Bypass Data: + Area = 0.00299957 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 2.24653e-05 W + Runtime Dynamic Energy = 1.73796e-08 J + Total Runtime Energy = 1.73796e-08 J + + Mul Bypass Tag: + Area = 0.000249964 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 1.87211e-06 W + Runtime Dynamic Energy = 1.4483e-09 J + Total Runtime Energy = 1.4483e-09 J + + FP Bypass Data: + Area = 0.0055603 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.000171677 W + Runtime Dynamic Energy = 1.32813e-07 J + Total Runtime Energy = 1.32813e-07 J + + FP Bypass Tag: + Area = 0.000504686 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 1.55824e-05 W + Runtime Dynamic Energy = 1.20549e-08 J + Total Runtime Energy = 1.20549e-08 J + + Register File Unit: + Area = 0.0196435 mm^2 + Peak Dynamic Power = 0.0336789 W + Subthreshold Leakage Power = 0.000856795 W + Gate Leakage Power = 4.5652e-05 W + Runtime Dynamic Power = 0.00319189 W + Runtime Dynamic Energy = 2.46931e-06 J + Total Runtime Energy = 3.16747e-06 J + + Integer Register File: + Area = 0.00982177 mm^2 + Peak Dynamic Power = 0.0249332 W + Subthreshold Leakage Power = 0.000428398 W + Gate Leakage Power = 2.2826e-05 W + Runtime Dynamic Power = 0.00318155 W + Runtime Dynamic Energy = 2.46132e-06 J + Total Runtime Energy = 2.8104e-06 J + + FP Register File: + Area = 0.00982177 mm^2 + Peak Dynamic Power = 0.00874563 W + Subthreshold Leakage Power = 0.000428398 W + Gate Leakage Power = 2.2826e-05 W + Runtime Dynamic Power = 1.03325e-05 W + Runtime Dynamic Energy = 7.99349e-09 J + Total Runtime Energy = 3.5707e-07 J + + Integer ALU(s): + Area = 0.0694232 mm^2 + Peak Dynamic Power = 0.157715 W + Subthreshold Leakage Power = 0.0542072 W + Gate Leakage Power = 0.00427414 W + Runtime Dynamic Power = 0.0336539 W + Runtime Dynamic Energy = 2.60354e-05 J + Total Runtime Energy = 7.12779e-05 J + + Floating Point Unit(s): + Area = 1.8404 mm^2 + Peak Dynamic Power = 0.473146 W + Subthreshold Leakage Power = 0.359256 W + Gate Leakage Power = 0.0283266 W + Runtime Dynamic Power = 0.000504262 W + Runtime Dynamic Energy = 3.90109e-07 J + Total Runtime Energy = 0.000300233 J + + Multiply/Divide Unit(s): + Area = 0.20827 mm^2 + Peak Dynamic Power = 0.31543 W + Subthreshold Leakage Power = 0.162622 W + Gate Leakage Power = 0.0128224 W + Runtime Dynamic Power = 8.15463e-05 W + Runtime Dynamic Energy = 6.30861e-08 J + Total Runtime Energy = 0.000135791 J + + Undifferentiated Core: + Area = 1.09115 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.425999 W + Gate Leakage Power = 0.0335892 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 0.000355548 J + + Pipeline?: + Area = 0.0575486 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0253286 W + Gate Leakage Power = 0.00502589 W + Runtime Dynamic Power = 0.240578 W + Runtime Dynamic Energy = 0.000186116 J + Total Runtime Energy = 0.000209599 J + diff --git a/ext/mcpat/regression/test-5/power_region0.xml b/ext/mcpat/regression/test-5/power_region0.xml new file mode 100644 index 000000000..26c57ed29 --- /dev/null +++ b/ext/mcpat/regression/test-5/power_region0.xml @@ -0,0 +1,338 @@ +<?xml version="1.0" ?> +<component id="root" name="root"> + <component id="system" name="system" type="System"> + <param name="core_tech_node" value="40"/> + <param name="target_core_clockrate" value="1700"/> + <param name="temperature" value="380"/> + <param name="interconnect_projection_type" value="1"/> + <param name="device_type" value="0"/> + <param name="longer_channel_device" value="0"/> + <param name="machine_bits" value="64"/> + <param name="virtual_address_width" value="64"/> + <param name="physical_address_width" value="36"/> + <param name="virtual_memory_page_size" value="4096"/> + <param name="wire_is_mat_type" value="2"/> + <param name="wire_os_mat_type" value="2"/> + <param name="delay_wt" value="100"/> + <param name="area_wt" value="0"/> + <param name="dynamic_power_wt" value="100"/> + <param name="leakage_power_wt" value="0"/> + <param name="cycle_time_wt" value="0"/> + <param name="delay_dev" value="10000"/> + <param name="area_dev" value="10000"/> + <param name="dynamic_power_dev" value="10000"/> + <param name="leakage_power_dev" value="10000"/> + <param name="cycle_time_dev" value="10000"/> + <param name="ed" value="2"/> + <param name="burst_len" value="1"/> + <param name="int_prefetch_w" value="1"/> + <param name="page_sz_bits" value="0"/> + <param name="rpters_in_htree" value="1"/> + <param name="ver_htree_wires_over_array" value="0"/> + <param name="nuca" value="0"/> + <param name="nuca_bank_count" value="0"/> + <param name="force_cache_config" value="0"/> + <param name="wt" value="0"/> + <param name="force_wiretype" value="0"/> + <param name="print_detail" value="1"/> + <param name="add_ecc_b_" value="1"/> + <stat name="total_cycles" value="150"/> + <component id="system.core0" name="core0" type="Core"> + <param name="clock_rate" value="1700"/> + <param name="opt_local" value="0"/> + <param name="instruction_length" value="32"/> + <param name="opcode_width" value="8"/> + <param name="x86" value="1"/> + <param name="micro_opcode_width" value="8"/> + <param name="machine_type" value="0"/> + <param name="number_hardware_threads" value="2"/> + <param name="fetch_width" value="1"/> + <param name="number_instruction_fetch_ports" value="1"/> + <param name="decode_width" value="2"/> + <param name="issue_width" value="2"/> + <param name="peak_issue_width" value="2"/> + <param name="commit_width" value="2"/> + <param name="fp_issue_width" value="2"/> + <param name="prediction_width" value="1"/> + <param name="int_pipelines" value="2"/> + <param name="fp_pipelines" value="1"/> + <param name="int_pipeline_depth" value="12"/> + <param name="fp_pipeline_depth" value="13"/> + <param name="ALU_per_core" value="2"/> + <param name="MUL_per_core" value="1"/> + <param name="FPU_per_core" value="1"/> + <param name="instruction_buffer_size" value="16"/> + <param name="instruction_window_scheme" value="0"/> + <param name="instruction_window_size" value="7"/> + <param name="fp_instruction_window_size" value="18"/> + <param name="ROB_size" value="56"/> + <param name="archi_Regs_IRF_size" value="30"/> + <param name="archi_Regs_FRF_size" value="48"/> + <param name="phy_Regs_IRF_size" value="34"/> + <param name="phy_Regs_FRF_size" value="40"/> + <param name="rename_scheme" value="0"/> + <param name="register_window_size" value="0"/> + <param name="store_buffer_size" value="32"/> + <param name="load_buffer_size" value="22"/> + <param name="memory_ports" value="1"/> + <param name="RAS_size" value="16"/> + <param name="execu_wire_mat_type" value="2"/> + <param name="execu_bypass_base_width" value="1"/> + <param name="execu_bypass_base_height" value="1"/> + <param name="execu_bypass_start_wiring_level"value="3"/> + <param name="execu_bypass_route_over_perc" value="1"/> + <param name="globalCheckpoint" value="32"/> + <param name="perThreadState" value="8"/> + <param name="ROB_assoc" value="1"/> + <param name="ROB_nbanks" value="1"/> + <param name="ROB_tag_width" value="0"/> + <param name="scheduler_assoc" value="0"/> + <param name="scheduler_nbanks" value="1"/> + <param name="register_window_assoc" value="1"/> + <param name="register_window_nbanks" value="1"/> + <param name="register_window_tag_width" value="0"/> + <param name="register_window_rw_ports" value="1"/> + <param name="phy_Regs_IRF_assoc" value="1"/> + <param name="phy_Regs_IRF_nbanks" value="1"/> + <param name="phy_Regs_IRF_tag_width" value="0"/> + <param name="phy_Regs_IRF_rd_ports" value="1"/> + <param name="phy_Regs_IRF_wr_ports" value="1"/> + <param name="phy_Regs_FRF_assoc" value="1"/> + <param name="phy_Regs_FRF_nbanks" value="1"/> + <param name="phy_Regs_FRF_tag_width" value="0"/> + <param name="phy_Regs_FRF_rd_ports" value="1"/> + <param name="phy_Regs_FRF_wr_ports" value="1"/> + <param name="front_rat_nbanks" value="1"/> + <param name="front_rat_rw_ports" value="1"/> + <param name="retire_rat_nbanks" value="1"/> + <param name="retire_rat_rw_ports" value="0"/> + <param name="freelist_nbanks" value="1"/> + <param name="freelist_rw_ports" value="1"/> + <param name="load_buffer_assoc" value="0"/> + <param name="load_buffer_nbanks" value="1"/> + <param name="store_buffer_assoc" value="0"/> + <param name="store_buffer_nbanks" value="1"/> + <param name="instruction_buffer_assoc" value="1"/> + <param name="instruction_buffer_nbanks" value="1"/> + <param name="instruction_buffer_tag_width" value="0"/> + <stat name="total_instructions" value="100"/> + <stat name="int_instructions" value="50"/> + <stat name="fp_instructions" value="50"/> + <stat name="branch_instructions" value="20"/> + <stat name="branch_mispredictions" value="2"/> + <stat name="load_instructions" value="50"/> + <stat name="store_instructions" value="15"/> + <stat name="committed_instructions" value="100"/> + <stat name="committed_int_instructions" value="50"/> + <stat name="committed_fp_instructions" value="50"/> + <stat name="pipeline_duty_cycle" value="1"/> + <stat name="total_cycles" value="150"/> + <stat name="idle_cycles" value="30"/> + <stat name="busy_cycles" value="120"/> + <stat name="ROB_reads" value="100"/> + <stat name="ROB_writes" value="100"/> + <stat name="rename_reads" value="100"/> + <stat name="rename_writes" value="50"/> + <stat name="fp_rename_reads" value="100"/> + <stat name="fp_rename_writes" value="50"/> + <stat name="inst_window_reads" value="50"/> + <stat name="inst_window_writes" value="50"/> + <stat name="inst_window_wakeup_accesses" value="50"/> + <stat name="fp_inst_window_reads" value="50"/> + <stat name="fp_inst_window_writes" value="50"/> + <stat name="fp_inst_window_wakeup_accesses" value="50"/> + <stat name="int_regfile_reads" value="100"/> + <stat name="float_regfile_reads" value="100"/> + <stat name="int_regfile_writes" value="50"/> + <stat name="float_regfile_writes" value="50"/> + <stat name="function_calls" value="0"/> + <stat name="context_switches" value="0"/> + <stat name="ialu_accesses" value="15"/> + <stat name="fpu_accesses" value="15"/> + <stat name="mul_accesses" value="15"/> + <stat name="cdb_alu_accesses" value="15"/> + <stat name="cdb_mul_accesses" value="15"/> + <stat name="cdb_fpu_accesses" value="15"/> + <stat name="IFU_duty_cycle" value="1"/> + <stat name="LSU_duty_cycle" value="1"/> + <stat name="MemManU_I_duty_cycle" value="1"/> + <stat name="MemManU_D_duty_cycle" value="1"/> + <stat name="ALU_duty_cycle" value="1"/> + <stat name="MUL_duty_cycle" value="1"/> + <stat name="FPU_duty_cycle" value="1"/> + <stat name="ALU_cdb_duty_cycle" value="1"/> + <stat name="MUL_cdb_duty_cycle" value="1"/> + <stat name="FPU_cdb_duty_cycle" value="1"/> + <component id="system.core0.predictor" name="PBT" type="BranchPredictor"> + <param name="assoc" value="1"/> + <param name="nbanks" value="1"/> + <param name="local_l1_predictor_size" value="12"/> + <param name="local_l2_predictor_size" value="4"/> + <param name="local_predictor_entries" value="8192"/> + <param name="global_predictor_entries" value="8192"/> + <param name="global_predictor_bits" value="4"/> + <param name="chooser_predictor_entries" value="8192"/> + <param name="chooser_predictor_bits" value="4"/> + </component> + <component id="system.core0.itlb" name="itlb" type="InstructionTLB"> + <param name="number_entries" value="512"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="total_accesses" value="50"/> + <stat name="total_misses" value="3"/> + <stat name="conflicts" value="3"/> + </component> + <component id="system.core0.icache" name="Instruction Cache" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="0"/> + <param name="device_type" value="0"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="read_accesses" value="50"/> + <stat name="read_misses" value="12"/> + <stat name="conflicts" value="1"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.core0.dtlb" name="dtlb" type="DataTLB"> + <param name="number_entries" value="512"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="read_accesses" value="65"/> + <stat name="read_misses" value="1"/> + <stat name="conflicts" value="1"/> + </component> + <component id="system.core0.dcache" name="Data Cache" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="8"/> + <param name="num_banks" value="1"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="miss_buffer_size" value="8"/> + <param name="fetch_buffer_size" value="8"/> + <param name="prefetch_buffer_size" value="8"/> + <param name="writeback_buffer_size" value="8"/> + <param name="device_type" value="0"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="read_accesses" value="50"/> + <stat name="write_accesses" value="15"/> + <stat name="read_misses" value="12"/> + <stat name="write_misses" value="3"/> + <stat name="conflicts" value="1"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.core0.btargetbuf" name="btargetbuf" type="BranchTargetBuffer"> + <param name="size" value="8192"/> + <param name="block_size" value="4"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="1"/> + <param name="throughput" value="3"/> + <param name="rw_ports" value="1"/> + <stat name="read_accesses" value="20"/> + <stat name="write_accesses" value="20"/> + </component> + </component> + </component> +</component> diff --git a/ext/mcpat/regression/test-5/region0.out.ref b/ext/mcpat/regression/test-5/region0.out.ref new file mode 100644 index 000000000..bbaa937ab --- /dev/null +++ b/ext/mcpat/regression/test-5/region0.out.ref @@ -0,0 +1,541 @@ +McPAT (version 0.8 of Aug, 2010) is computing the target processor... + + +McPAT (version 0.8 of Aug, 2010) results (current print level is 5) +***************************************************************************************** + Technology 40 nm + Interconnect metal projection = conservative interconnect technology projection + Target Clock Rate (MHz) 1700 + +***************************************************************************************** + System: + Area = 10.8081 mm^2 + Peak Dynamic Power = 2.45616 W + Subthreshold Leakage Power = 4.64481 W + Gate Leakage Power = 0.193831 W + Runtime Dynamic Power = 1.32073 W + Runtime Dynamic Energy = 1.16535e-07 J + Total Runtime Energy = 5.43474e-07 J + + Core 0: + Area = 10.8081 mm^2 + Peak Dynamic Power = 2.45616 W + Subthreshold Leakage Power = 4.64481 W + Gate Leakage Power = 0.193831 W + Runtime Dynamic Power = 1.32073 W + Runtime Dynamic Energy = 1.16535e-07 J + Total Runtime Energy = 5.43474e-07 J + + Instruction Fetch Unit: + Area = 2.10081 mm^2 + Peak Dynamic Power = 0.33569 W + Subthreshold Leakage Power = 0.347428 W + Gate Leakage Power = 0.00868165 W + Runtime Dynamic Power = 0.213414 W + Runtime Dynamic Energy = 1.88306e-08 J + Total Runtime Energy = 5.0252e-08 J + + Instruction Cache: + Area = 0.970326 mm^2 + Peak Dynamic Power = 0.0549304 W + Subthreshold Leakage Power = 0.0678485 W + Gate Leakage Power = 0.00157419 W + Runtime Dynamic Power = 0.0505595 W + Runtime Dynamic Energy = 4.46113e-09 J + Total Runtime Energy = 1.05867e-08 J + + Data and Tag Arrays: + Area = 0.25887 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0622886 W + Gate Leakage Power = 0.00129234 W + Runtime Dynamic Power = 0.0464002 W + Runtime Dynamic Energy = 4.09413e-09 J + Total Runtime Energy = 9.70422e-09 J + + Miss Buffer: + Area = 0.262959 mm^2 + Peak Dynamic Power = 0.0192867 W + Subthreshold Leakage Power = 0.00194663 W + Gate Leakage Power = 9.86469e-05 W + Runtime Dynamic Power = 0.00146456 W + Runtime Dynamic Energy = 1.29226e-10 J + Total Runtime Energy = 3.09692e-10 J + + Fill Buffer: + Area = 0.224249 mm^2 + Peak Dynamic Power = 0.0178218 W + Subthreshold Leakage Power = 0.00180662 W + Gate Leakage Power = 9.16038e-05 W + Runtime Dynamic Power = 0.00134737 W + Runtime Dynamic Energy = 1.18886e-10 J + Total Runtime Energy = 2.86376e-10 J + + Prefetch Buffer: + Area = 0.224249 mm^2 + Peak Dynamic Power = 0.0178218 W + Subthreshold Leakage Power = 0.00180662 W + Gate Leakage Power = 9.16038e-05 W + Runtime Dynamic Power = 0.00134737 W + Runtime Dynamic Energy = 1.18886e-10 J + Total Runtime Energy = 2.86376e-10 J + + Branch Target Buffer: + Area = 0.526552 mm^2 + Peak Dynamic Power = 0.0433889 W + Subthreshold Leakage Power = 0.0869885 W + Gate Leakage Power = 0.00266245 W + Runtime Dynamic Power = 0.0189877 W + Runtime Dynamic Energy = 1.67538e-09 J + Total Runtime Energy = 9.58576e-09 J + + Branch Predictor: + Area = 0.594319 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.186556 W + Gate Leakage Power = 0.00424723 W + Runtime Dynamic Power = 0.0647432 W + Runtime Dynamic Energy = 5.71264e-09 J + Total Runtime Energy = 2.25483e-08 J + + Global Predictor: + Area = 0.129022 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0419609 W + Gate Leakage Power = 0.000962899 W + Runtime Dynamic Power = 0.0172467 W + Runtime Dynamic Energy = 1.52177e-09 J + Total Runtime Energy = 5.30916e-09 J + + Local Predictor, Level 1: + Area = 0.191924 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0589594 W + Gate Leakage Power = 0.00130932 W + Runtime Dynamic Power = 0.0255552 W + Runtime Dynamic Energy = 2.25487e-09 J + Total Runtime Energy = 7.5727e-09 J + + Local Predictor, Level 2: + Area = 0.129022 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0419609 W + Gate Leakage Power = 0.000962899 W + Runtime Dynamic Power = 0.0046946 W + Runtime Dynamic Energy = 4.1423e-10 J + Total Runtime Energy = 4.20162e-09 J + + Predictor Chooser: + Area = 0.129022 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0419609 W + Gate Leakage Power = 0.000962899 W + Runtime Dynamic Power = 0.0172467 W + Runtime Dynamic Energy = 1.52177e-09 J + Total Runtime Energy = 5.30916e-09 J + + RAS: + Area = 0.0153301 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0017144 W + Gate Leakage Power = 4.92127e-05 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 1.55613e-10 J + + Instruction Buffer: + Area = 0.0034347 mm^2 + Peak Dynamic Power = 0.011729 W + Subthreshold Leakage Power = 0.000650517 W + Gate Leakage Power = 1.85414e-05 W + Runtime Dynamic Power = 0.00390968 W + Runtime Dynamic Energy = 3.44972e-10 J + Total Runtime Energy = 4.04006e-10 J + + Instruction Opcode Decoder: + Area = 0.00289896 mm^2 + Peak Dynamic Power = 0.0752588 W + Subthreshold Leakage Power = 0.00253168 W + Gate Leakage Power = 8.37387e-05 W + Runtime Dynamic Power = 0.0250863 W + Runtime Dynamic Energy = 2.2135e-09 J + Total Runtime Energy = 2.44427e-09 J + + Instruction Operand Decoder: + Area = 0.000377341 mm^2 + Peak Dynamic Power = 0.0751236 W + Subthreshold Leakage Power = 0.00032028 W + Gate Leakage Power = 1.17596e-05 W + Runtime Dynamic Power = 0.0250412 W + Runtime Dynamic Energy = 2.20952e-09 J + Total Runtime Energy = 2.23881e-09 J + + Instruction Microcode Decoder: + Area = 0.00289896 mm^2 + Peak Dynamic Power = 0.0752588 W + Subthreshold Leakage Power = 0.00253168 W + Gate Leakage Power = 8.37387e-05 W + Runtime Dynamic Power = 0.0250863 W + Runtime Dynamic Energy = 2.2135e-09 J + Total Runtime Energy = 2.44427e-09 J + + Load/Store Unit: + Area = 1.69899 mm^2 + Peak Dynamic Power = 0.16674 W + Subthreshold Leakage Power = 0.0926715 W + Gate Leakage Power = 0.00259372 W + Runtime Dynamic Power = 0.142557 W + Runtime Dynamic Energy = 1.25786e-08 J + Total Runtime Energy = 2.09843e-08 J + + Data Cache: + Area = 1.58391 mm^2 + Peak Dynamic Power = 0.0928926 W + Subthreshold Leakage Power = 0.0789233 W + Gate Leakage Power = 0.00207502 W + Runtime Dynamic Power = 0.0922726 W + Runtime Dynamic Energy = 8.1417e-09 J + Total Runtime Energy = 1.52886e-08 J + + Data and Tag Arrays: + Area = 0.619642 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0607406 W + Gate Leakage Power = 0.00122316 W + Runtime Dynamic Power = 0.0861866 W + Runtime Dynamic Energy = 7.6047e-09 J + Total Runtime Energy = 1.30721e-08 J + + Miss Buffer: + Area = 0.270528 mm^2 + Peak Dynamic Power = 0.0245073 W + Subthreshold Leakage Power = 0.0048041 W + Gate Leakage Power = 0.000224896 W + Runtime Dynamic Power = 0.00214283 W + Runtime Dynamic Energy = 1.89073e-10 J + Total Runtime Energy = 6.32808e-10 J + + Fill Buffer: + Area = 0.231248 mm^2 + Peak Dynamic Power = 0.0227951 W + Subthreshold Leakage Power = 0.00445956 W + Gate Leakage Power = 0.000208987 W + Runtime Dynamic Power = 0.00197161 W + Runtime Dynamic Energy = 1.73965e-10 J + Total Runtime Energy = 5.85896e-10 J + + Prefetch Buffer: + Area = 0.231248 mm^2 + Peak Dynamic Power = 0.0227951 W + Subthreshold Leakage Power = 0.00445956 W + Gate Leakage Power = 0.000208987 W + Runtime Dynamic Power = 0.00157729 W + Runtime Dynamic Energy = 1.39172e-10 J + Total Runtime Energy = 5.51103e-10 J + + Writeback Buffer: + Area = 0.231248 mm^2 + Peak Dynamic Power = 0.0227951 W + Subthreshold Leakage Power = 0.00445956 W + Gate Leakage Power = 0.000208987 W + Runtime Dynamic Power = 0.000394322 W + Runtime Dynamic Energy = 3.47931e-11 J + Total Runtime Energy = 4.46724e-10 J + + Load Queue: + Area = 0.054217 mm^2 + Peak Dynamic Power = 0.0316525 W + Subthreshold Leakage Power = 0.00559768 W + Gate Leakage Power = 0.00022125 W + Runtime Dynamic Power = 0.0137161 W + Runtime Dynamic Energy = 1.21024e-09 J + Total Runtime Energy = 1.72368e-09 J + + Store Queue: + Area = 0.0608565 mm^2 + Peak Dynamic Power = 0.0421944 W + Subthreshold Leakage Power = 0.00815046 W + Gate Leakage Power = 0.000297452 W + Runtime Dynamic Power = 0.0365685 W + Runtime Dynamic Energy = 3.22663e-09 J + Total Runtime Energy = 3.97204e-09 J + + Memory Management Unit: + Area = 0.331371 mm^2 + Peak Dynamic Power = 0.318513 W + Subthreshold Leakage Power = 0.097099 W + Gate Leakage Power = 0.00441089 W + Runtime Dynamic Power = 0.123948 W + Runtime Dynamic Energy = 1.09366e-08 J + Total Runtime Energy = 1.98933e-08 J + + Instruction TLB: + Area = 0.131789 mm^2 + Peak Dynamic Power = 0.151159 W + Subthreshold Leakage Power = 0.0446376 W + Gate Leakage Power = 0.00203139 W + Runtime Dynamic Power = 0.0511229 W + Runtime Dynamic Energy = 4.51085e-09 J + Total Runtime Energy = 8.62869e-09 J + + Data TLB: + Area = 0.199582 mm^2 + Peak Dynamic Power = 0.167354 W + Subthreshold Leakage Power = 0.0524614 W + Gate Leakage Power = 0.00237949 W + Runtime Dynamic Power = 0.072825 W + Runtime Dynamic Energy = 6.42574e-09 J + Total Runtime Energy = 1.12646e-08 J + + Execution Unit: + Area = 2.36584 mm^2 + Peak Dynamic Power = 1.52633 W + Subthreshold Leakage Power = 1.18035 W + Gate Leakage Power = 0.0498689 W + Runtime Dynamic Power = 0.517033 W + Runtime Dynamic Energy = 4.56205e-08 J + Total Runtime Energy = 1.5417e-07 J + + Int Bypass Data: + Area = 0.0024813 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00618474 W + Runtime Dynamic Energy = 5.45712e-10 J + Total Runtime Energy = 5.45712e-10 J + + Int Bypass Tag: + Area = 0.000291384 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.000726287 W + Runtime Dynamic Energy = 6.40842e-11 J + Total Runtime Energy = 6.40842e-11 J + + Mul Bypass Data: + Area = 0.00328459 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00818697 W + Runtime Dynamic Energy = 7.2238e-10 J + Total Runtime Energy = 7.2238e-10 J + + Mul Bypass Tag: + Area = 0.000366693 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.000913997 W + Runtime Dynamic Energy = 8.06468e-11 J + Total Runtime Energy = 8.06468e-11 J + + FP Bypass Data: + Area = 0.0039374 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00981414 W + Runtime Dynamic Energy = 8.65954e-10 J + Total Runtime Energy = 8.65954e-10 J + + FP Bypass Tag: + Area = 0.000508858 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00126835 W + Runtime Dynamic Energy = 1.11913e-10 J + Total Runtime Energy = 1.11913e-10 J + + Register File Unit: + Area = 0.0603417 mm^2 + Peak Dynamic Power = 0.094149 W + Subthreshold Leakage Power = 0.00361325 W + Gate Leakage Power = 0.000100838 W + Runtime Dynamic Power = 0.00713589 W + Runtime Dynamic Energy = 6.29638e-10 J + Total Runtime Energy = 9.57351e-10 J + + Integer Register File: + Area = 0.0397387 mm^2 + Peak Dynamic Power = 0.0858804 W + Subthreshold Leakage Power = 0.00167327 W + Gate Leakage Power = 4.73072e-05 W + Runtime Dynamic Power = 0.00340795 W + Runtime Dynamic Energy = 3.00702e-10 J + Total Runtime Energy = 4.52517e-10 J + + FP Register File: + Area = 0.020603 mm^2 + Peak Dynamic Power = 0.00826856 W + Subthreshold Leakage Power = 0.00193998 W + Gate Leakage Power = 5.35312e-05 W + Runtime Dynamic Power = 0.00372794 W + Runtime Dynamic Energy = 3.28936e-10 J + Total Runtime Energy = 5.04834e-10 J + + Instruction Scheduler: + Area = 0.107117 mm^2 + Peak Dynamic Power = 0.107009 W + Subthreshold Leakage Power = 0.00250283 W + Gate Leakage Power = 7.07223e-05 W + Runtime Dynamic Power = 0.0155966 W + Runtime Dynamic Energy = 1.37617e-09 J + Total Runtime Energy = 1.60325e-09 J + + Integer Instruction Window: + Area = 0.0261741 mm^2 + Peak Dynamic Power = 0.0268581 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00223817 W + Runtime Dynamic Energy = 1.97486e-10 J + Total Runtime Energy = 1.97486e-10 J + + FP Instruction Window: + Area = 0.0232716 mm^2 + Peak Dynamic Power = 0.0133785 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00222975 W + Runtime Dynamic Energy = 1.96742e-10 J + Total Runtime Energy = 1.96742e-10 J + + Reorder Buffer: + Area = 0.0576711 mm^2 + Peak Dynamic Power = 0.066772 W + Subthreshold Leakage Power = 0.00250283 W + Gate Leakage Power = 7.07223e-05 W + Runtime Dynamic Power = 0.0111287 W + Runtime Dynamic Energy = 9.81941e-10 J + Total Runtime Energy = 1.20902e-09 J + + Integer ALU(s): + Area = 0.138846 mm^2 + Peak Dynamic Power = 0.332578 W + Subthreshold Leakage Power = 0.201977 W + Gate Leakage Power = 0.00854828 W + Runtime Dynamic Power = 0.0778676 W + Runtime Dynamic Energy = 6.87067e-09 J + Total Runtime Energy = 2.54464e-08 J + + Floating Point Unit(s): + Area = 1.8404 mm^2 + Peak Dynamic Power = 0.595559 W + Subthreshold Leakage Power = 0.669296 W + Gate Leakage Power = 0.0283266 W + Runtime Dynamic Power = 0.233603 W + Runtime Dynamic Energy = 2.0612e-08 J + Total Runtime Energy = 8.21669e-08 J + + Multiply/Divide Unit(s): + Area = 0.20827 mm^2 + Peak Dynamic Power = 0.39704 W + Subthreshold Leakage Power = 0.302965 W + Gate Leakage Power = 0.0128224 W + Runtime Dynamic Power = 0.155735 W + Runtime Dynamic Energy = 1.37413e-08 J + Total Runtime Energy = 4.1605e-08 J + + Undifferentiated Core: + Area = 3.88668 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 2.82694 W + Gate Leakage Power = 0.119645 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 2.59992e-07 J + + Rename Unit: + Area = 0.333151 mm^2 + Peak Dynamic Power = 0.10888 W + Subthreshold Leakage Power = 0.0255114 W + Gate Leakage Power = 0.000663381 W + Runtime Dynamic Power = 0.0538848 W + Runtime Dynamic Energy = 4.75454e-09 J + Total Runtime Energy = 7.06408e-09 J + + Int Front RAT: + Area = 0.129348 mm^2 + Peak Dynamic Power = 0.0382386 W + Subthreshold Leakage Power = 0.00828989 W + Gate Leakage Power = 0.000204367 W + Runtime Dynamic Power = 0.0063731 W + Runtime Dynamic Energy = 5.62332e-10 J + Total Runtime Energy = 1.31183e-09 J + + FP Front RAT: + Area = 0.166163 mm^2 + Peak Dynamic Power = 0.0432953 W + Subthreshold Leakage Power = 0.0126995 W + Gate Leakage Power = 0.000319816 W + Runtime Dynamic Power = 0.00721588 W + Runtime Dynamic Energy = 6.36696e-10 J + Total Runtime Energy = 1.78546e-09 J + + Integer Free List: + Area = 0.0120305 mm^2 + Peak Dynamic Power = 0.00394808 W + Subthreshold Leakage Power = 0.000639181 W + Gate Leakage Power = 2.0232e-05 W + Runtime Dynamic Power = 0.00131603 W + Runtime Dynamic Energy = 1.1612e-10 J + Total Runtime Energy = 1.74304e-10 J + + Int Retire RAT: + Area = 0.00606308 mm^2 + Peak Dynamic Power = 0.00325948 W + Subthreshold Leakage Power = 0.000496413 W + Gate Leakage Power = 1.45535e-05 W + Runtime Dynamic Power = 0.000543246 W + Runtime Dynamic Energy = 4.79335e-11 J + Total Runtime Energy = 9.30188e-11 J + + FP Retire RAT: + Area = 0.00751656 mm^2 + Peak Dynamic Power = 0.00404193 W + Subthreshold Leakage Power = 0.000709488 W + Gate Leakage Power = 1.94961e-05 W + Runtime Dynamic Power = 0.000673654 W + Runtime Dynamic Energy = 5.94401e-11 J + Total Runtime Energy = 1.23762e-10 J + + FP Free List: + Area = 0.0120305 mm^2 + Peak Dynamic Power = 0.00394808 W + Subthreshold Leakage Power = 0.000639181 W + Gate Leakage Power = 2.0232e-05 W + Runtime Dynamic Power = 0.00131603 W + Runtime Dynamic Energy = 1.1612e-10 J + Total Runtime Energy = 1.74304e-10 J + + Instruction Dependency Check?: + Area = 0 mm^2 + Peak Dynamic Power = 0.00607447 W + Subthreshold Leakage Power = 0.00101891 W + Gate Leakage Power = 3.23427e-05 W + Runtime Dynamic Power = 0.0242979 W + Runtime Dynamic Energy = 2.14393e-09 J + Total Runtime Energy = 2.23669e-09 J + + FP Dependency Check?: + Area = 0 mm^2 + Peak Dynamic Power = 0.00607447 W + Subthreshold Leakage Power = 0.00101891 W + Gate Leakage Power = 3.23427e-05 W + Runtime Dynamic Power = 0.0121489 W + Runtime Dynamic Energy = 1.07197e-09 J + Total Runtime Energy = 1.16472e-09 J + + Pipeline?: + Area = 0.0912321 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0748063 W + Gate Leakage Power = 0.00796757 W + Runtime Dynamic Power = 0.269895 W + Runtime Dynamic Energy = 2.38143e-08 J + Total Runtime Energy = 3.11178e-08 J + diff --git a/ext/mcpat/regression/test-6/power_region0.xml b/ext/mcpat/regression/test-6/power_region0.xml new file mode 100644 index 000000000..9b21cdd72 --- /dev/null +++ b/ext/mcpat/regression/test-6/power_region0.xml @@ -0,0 +1,401 @@ +<?xml version="1.0" ?> +<component id="root" name="root"> + <component id="system" name="system" type="System"> + <param name="core_tech_node" value="40"/> + <param name="target_core_clockrate" value="1700"/> + <param name="temperature" value="380"/> + <param name="interconnect_projection_type" value="1"/> + <param name="device_type" value="0"/> + <param name="longer_channel_device" value="0"/> + <param name="machine_bits" value="64"/> + <param name="virtual_address_width" value="64"/> + <param name="physical_address_width" value="36"/> + <param name="virtual_memory_page_size" value="4096"/> + <param name="wire_is_mat_type" value="2"/> + <param name="wire_os_mat_type" value="2"/> + <param name="delay_wt" value="100"/> + <param name="area_wt" value="0"/> + <param name="dynamic_power_wt" value="100"/> + <param name="leakage_power_wt" value="0"/> + <param name="cycle_time_wt" value="0"/> + <param name="delay_dev" value="10000"/> + <param name="area_dev" value="10000"/> + <param name="dynamic_power_dev" value="10000"/> + <param name="leakage_power_dev" value="10000"/> + <param name="cycle_time_dev" value="10000"/> + <param name="ed" value="2"/> + <param name="burst_len" value="1"/> + <param name="int_prefetch_w" value="1"/> + <param name="page_sz_bits" value="0"/> + <param name="rpters_in_htree" value="1"/> + <param name="ver_htree_wires_over_array" value="0"/> + <param name="nuca" value="0"/> + <param name="nuca_bank_count" value="0"/> + <param name="force_cache_config" value="0"/> + <param name="wt" value="0"/> + <param name="force_wiretype" value="0"/> + <param name="print_detail" value="1"/> + <param name="add_ecc_b_" value="1"/> + <stat name="total_cycles" value="150"/> + <component id="system.core0" name="core0" type="Core"> + <param name="clock_rate" value="1700"/> + <param name="opt_local" value="0"/> + <param name="instruction_length" value="32"/> + <param name="opcode_width" value="8"/> + <param name="x86" value="1"/> + <param name="micro_opcode_width" value="8"/> + <param name="machine_type" value="0"/> + <param name="number_hardware_threads" value="2"/> + <param name="fetch_width" value="1"/> + <param name="number_instruction_fetch_ports" value="1"/> + <param name="decode_width" value="2"/> + <param name="issue_width" value="2"/> + <param name="peak_issue_width" value="2"/> + <param name="commit_width" value="2"/> + <param name="fp_issue_width" value="2"/> + <param name="prediction_width" value="1"/> + <param name="int_pipelines" value="2"/> + <param name="fp_pipelines" value="1"/> + <param name="int_pipeline_depth" value="12"/> + <param name="fp_pipeline_depth" value="13"/> + <param name="ALU_per_core" value="2"/> + <param name="MUL_per_core" value="1"/> + <param name="FPU_per_core" value="1"/> + <param name="instruction_buffer_size" value="16"/> + <param name="instruction_window_scheme" value="0"/> + <param name="instruction_window_size" value="7"/> + <param name="fp_instruction_window_size" value="18"/> + <param name="ROB_size" value="56"/> + <param name="archi_Regs_IRF_size" value="30"/> + <param name="archi_Regs_FRF_size" value="48"/> + <param name="phy_Regs_IRF_size" value="34"/> + <param name="phy_Regs_FRF_size" value="40"/> + <param name="rename_scheme" value="0"/> + <param name="register_window_size" value="0"/> + <param name="store_buffer_size" value="32"/> + <param name="load_buffer_size" value="22"/> + <param name="memory_ports" value="1"/> + <param name="RAS_size" value="16"/> + <param name="execu_wire_mat_type" value="2"/> + <param name="execu_bypass_base_width" value="1"/> + <param name="execu_bypass_base_height" value="1"/> + <param name="execu_bypass_start_wiring_level"value="3"/> + <param name="execu_bypass_route_over_perc" value="1"/> + <param name="globalCheckpoint" value="32"/> + <param name="perThreadState" value="8"/> + <param name="ROB_assoc" value="1"/> + <param name="ROB_nbanks" value="1"/> + <param name="ROB_tag_width" value="0"/> + <param name="scheduler_assoc" value="0"/> + <param name="scheduler_nbanks" value="1"/> + <param name="register_window_assoc" value="1"/> + <param name="register_window_nbanks" value="1"/> + <param name="register_window_tag_width" value="0"/> + <param name="register_window_rw_ports" value="1"/> + <param name="phy_Regs_IRF_assoc" value="1"/> + <param name="phy_Regs_IRF_nbanks" value="1"/> + <param name="phy_Regs_IRF_tag_width" value="0"/> + <param name="phy_Regs_IRF_rd_ports" value="1"/> + <param name="phy_Regs_IRF_wr_ports" value="1"/> + <param name="phy_Regs_FRF_assoc" value="1"/> + <param name="phy_Regs_FRF_nbanks" value="1"/> + <param name="phy_Regs_FRF_tag_width" value="0"/> + <param name="phy_Regs_FRF_rd_ports" value="1"/> + <param name="phy_Regs_FRF_wr_ports" value="1"/> + <param name="front_rat_nbanks" value="1"/> + <param name="front_rat_rw_ports" value="1"/> + <param name="retire_rat_nbanks" value="1"/> + <param name="retire_rat_rw_ports" value="0"/> + <param name="freelist_nbanks" value="1"/> + <param name="freelist_rw_ports" value="1"/> + <param name="load_buffer_assoc" value="0"/> + <param name="load_buffer_nbanks" value="1"/> + <param name="store_buffer_assoc" value="0"/> + <param name="store_buffer_nbanks" value="1"/> + <param name="instruction_buffer_assoc" value="1"/> + <param name="instruction_buffer_nbanks" value="1"/> + <param name="instruction_buffer_tag_width" value="0"/> + <stat name="total_instructions" value="100"/> + <stat name="int_instructions" value="50"/> + <stat name="fp_instructions" value="50"/> + <stat name="branch_instructions" value="20"/> + <stat name="branch_mispredictions" value="2"/> + <stat name="load_instructions" value="50"/> + <stat name="store_instructions" value="15"/> + <stat name="committed_instructions" value="100"/> + <stat name="committed_int_instructions" value="50"/> + <stat name="committed_fp_instructions" value="50"/> + <stat name="pipeline_duty_cycle" value="1"/> + <stat name="total_cycles" value="150"/> + <stat name="idle_cycles" value="30"/> + <stat name="busy_cycles" value="120"/> + <stat name="ROB_reads" value="100"/> + <stat name="ROB_writes" value="100"/> + <stat name="rename_reads" value="100"/> + <stat name="rename_writes" value="50"/> + <stat name="fp_rename_reads" value="100"/> + <stat name="fp_rename_writes" value="50"/> + <stat name="inst_window_reads" value="50"/> + <stat name="inst_window_writes" value="50"/> + <stat name="inst_window_wakeup_accesses" value="50"/> + <stat name="fp_inst_window_reads" value="50"/> + <stat name="fp_inst_window_writes" value="50"/> + <stat name="fp_inst_window_wakeup_accesses" value="50"/> + <stat name="int_regfile_reads" value="100"/> + <stat name="float_regfile_reads" value="100"/> + <stat name="int_regfile_writes" value="50"/> + <stat name="float_regfile_writes" value="50"/> + <stat name="function_calls" value="5"/> + <stat name="context_switches" value="0"/> + <stat name="ialu_accesses" value="15"/> + <stat name="fpu_accesses" value="15"/> + <stat name="mul_accesses" value="15"/> + <stat name="cdb_alu_accesses" value="15"/> + <stat name="cdb_mul_accesses" value="15"/> + <stat name="cdb_fpu_accesses" value="15"/> + <stat name="IFU_duty_cycle" value="1"/> + <stat name="LSU_duty_cycle" value="1"/> + <stat name="MemManU_I_duty_cycle" value="1"/> + <stat name="MemManU_D_duty_cycle" value="1"/> + <stat name="ALU_duty_cycle" value="1"/> + <stat name="MUL_duty_cycle" value="1"/> + <stat name="FPU_duty_cycle" value="1"/> + <stat name="ALU_cdb_duty_cycle" value="1"/> + <stat name="MUL_cdb_duty_cycle" value="1"/> + <stat name="FPU_cdb_duty_cycle" value="1"/> + <component id="system.core0.predictor" name="PBT" type="BranchPredictor"> + <param name="assoc" value="1"/> + <param name="nbanks" value="1"/> + <param name="local_l1_predictor_size" value="12"/> + <param name="local_l2_predictor_size" value="4"/> + <param name="local_predictor_entries" value="8192"/> + <param name="global_predictor_entries" value="8192"/> + <param name="global_predictor_bits" value="4"/> + <param name="chooser_predictor_entries" value="8192"/> + <param name="chooser_predictor_bits" value="4"/> + </component> + <component id="system.core0.itlb" name="itlb" type="InstructionTLB"> + <param name="number_entries" value="512"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="total_accesses" value="50"/> + <stat name="total_misses" value="10"/> + <stat name="conflicts" value="10"/> + </component> + <component id="system.core0.icache" name="Instruction Cache" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="miss_buffer_size" value="2"/> + <param name="fetch_buffer_size" value="2"/> + <param name="prefetch_buffer_size" value="2"/> + <param name="writeback_buffer_size" value="0"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="read_accesses" value="50"/> + <stat name="read_misses" value="12"/> + <stat name="conflicts" value="1"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.core0.dtlb" name="dtlb" type="DataTLB"> + <param name="number_entries" value="512"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="assoc" value="0"/> + <param name="nbanks" value="1"/> + <stat name="read_accesses" value="65"/> + <stat name="read_misses" value="40"/> + <stat name="conflicts" value="40"/> + </component> + <component id="system.core0.dcache" name="Data Cache" type="CacheUnit"> + <param name="level" value="1"/> + <param name="size" value="32768"/> + <param name="block_size" value="64"/> + <param name="assoc" value="8"/> + <param name="num_banks" value="1"/> + <param name="latency" value="8"/> + <param name="throughput" value="3"/> + <param name="miss_buffer_size" value="8"/> + <param name="fetch_buffer_size" value="8"/> + <param name="prefetch_buffer_size" value="8"/> + <param name="writeback_buffer_size" value="8"/> + <param name="clockrate" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="0"/> + <param name="miss_buff_access_mode" value="2"/> + <param name="fetch_buff_access_mode" value="2"/> + <param name="prefetch_buff_access_mode" value="2"/> + <param name="writeback_buff_access_mode"value="2"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="read_accesses" value="50"/> + <stat name="write_accesses" value="15"/> + <stat name="read_misses" value="12"/> + <stat name="write_misses" value="3"/> + <stat name="conflicts" value="1"/> + <stat name="duty_cycle" value="1"/> + </component> + <component id="system.core0.btargetbuf" name="btargetbuf" type="BranchTargetBuffer"> + <param name="size" value="8192"/> + <param name="block_size" value="4"/> + <param name="assoc" value="2"/> + <param name="num_banks" value="1"/> + <param name="latency" value="1"/> + <param name="throughput" value="3"/> + <param name="rw_ports" value="1"/> + <stat name="read_accesses" value="20"/> + <stat name="write_accesses" value="20"/> + </component> + </component> + <component id="system.L20" name="L2 Cache" type="CacheUnit"> + <param name="level" value="2"/> + <param name="size" value="524288"/> + <param name="block_size" value="64"/> + <param name="assoc" value="16"/> + <param name="num_banks" value="1"/> + <param name="latency" value="8"/> + <param name="throughput" value="23"/> + <param name="miss_buffer_size" value="16"/> + <param name="fetch_buffer_size" value="16"/> + <param name="prefetch_buffer_size" value="16"/> + <param name="writeback_buffer_size" value="16"/> + <param name="clockrate" value="1700"/> + <param name="device_type" value="0"/> + <param name="tech_type" value="0"/> + <param name="Directory_type" value="2"/> + <param name="core_type" value="1"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <param name="miss_buffer_assoc" value="0"/> + <param name="fetch_buffer_assoc" value="0"/> + <param name="prefetch_buffer_assoc" value="0"/> + <param name="writeback_buffer_assoc" value="0"/> + <param name="miss_buffer_banks" value="1"/> + <param name="fetch_buffer_banks" value="1"/> + <param name="prefetch_buffer_banks" value="1"/> + <param name="writeback_buffer_banks" value="1"/> + <param name="cache_access_mode" value="1"/> + <param name="miss_buff_access_mode" value="0"/> + <param name="fetch_buff_access_mode" value="0"/> + <param name="prefetch_buff_access_mode" value="0"/> + <param name="writeback_buff_access_mode"value="0"/> + <param name="cache_rw_ports" value="1"/> + <param name="cache_rd_ports" value="0"/> + <param name="cache_wr_ports" value="0"/> + <param name="cache_se_rd_ports" value="0"/> + <param name="cache_search_ports" value="0"/> + <param name="miss_buff_rw_ports" value="1"/> + <param name="miss_buff_rd_ports" value="0"/> + <param name="miss_buff_wr_ports" value="0"/> + <param name="miss_buff_se_rd_ports" value="0"/> + <param name="miss_buff_search_ports" value="1"/> + <param name="fetch_buff_rw_ports" value="1"/> + <param name="fetch_buff_rd_ports" value="0"/> + <param name="fetch_buff_wr_ports" value="0"/> + <param name="fetch_buff_se_rd_ports" value="0"/> + <param name="fetch_buff_search_ports" value="1"/> + <param name="pf_buff_rw_ports" value="1"/> + <param name="pf_buff_rd_ports" value="0"/> + <param name="pf_buff_wr_ports" value="0"/> + <param name="pf_buff_se_rd_ports" value="0"/> + <param name="pf_buff_search_ports" value="1"/> + <param name="wb_buff_rw_ports" value="1"/> + <param name="wb_buff_rd_ports" value="0"/> + <param name="wb_buff_wr_ports" value="0"/> + <param name="wb_buff_se_rd_ports" value="0"/> + <param name="wb_buff_search_ports" value="1"/> + <param name="pure_ram" value="0"/> + <stat name="read_accesses" value="52"/> + <stat name="write_accesses" value="3"/> + <stat name="read_misses" value="35"/> + <stat name="write_misses" value="3"/> + <stat name="conflicts" value="38"/> + <stat name="duty_cycle" value="1.0"/> + </component> + </component> +</component> diff --git a/ext/mcpat/regression/test-6/region0.out.ref b/ext/mcpat/regression/test-6/region0.out.ref new file mode 100644 index 000000000..0970fb8ae --- /dev/null +++ b/ext/mcpat/regression/test-6/region0.out.ref @@ -0,0 +1,595 @@ +McPAT (version 0.8 of Aug, 2010) is computing the target processor... + + +McPAT (version 0.8 of Aug, 2010) results (current print level is 5) +***************************************************************************************** + Technology 40 nm + Interconnect metal projection = conservative interconnect technology projection + Target Clock Rate (MHz) 1700 + +***************************************************************************************** + System: + Area = 15.1334 mm^2 + Peak Dynamic Power = 2.57757 W + Subthreshold Leakage Power = 5.86045 W + Gate Leakage Power = 0.233087 W + Runtime Dynamic Power = 1.94298 W + Runtime Dynamic Energy = 1.71439e-07 J + Total Runtime Energy = 7.09105e-07 J + + Core 0: + Area = 10.8081 mm^2 + Peak Dynamic Power = 2.45616 W + Subthreshold Leakage Power = 4.64481 W + Gate Leakage Power = 0.193831 W + Runtime Dynamic Power = 1.33452 W + Runtime Dynamic Energy = 1.17752e-07 J + Total Runtime Energy = 5.44691e-07 J + + Instruction Fetch Unit: + Area = 2.10081 mm^2 + Peak Dynamic Power = 0.33569 W + Subthreshold Leakage Power = 0.347428 W + Gate Leakage Power = 0.00868165 W + Runtime Dynamic Power = 0.213589 W + Runtime Dynamic Energy = 1.88461e-08 J + Total Runtime Energy = 5.02675e-08 J + + Instruction Cache: + Area = 0.970326 mm^2 + Peak Dynamic Power = 0.0549304 W + Subthreshold Leakage Power = 0.0678485 W + Gate Leakage Power = 0.00157419 W + Runtime Dynamic Power = 0.0505595 W + Runtime Dynamic Energy = 4.46113e-09 J + Total Runtime Energy = 1.05867e-08 J + + Data and Tag Arrays: + Area = 0.25887 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0622886 W + Gate Leakage Power = 0.00129234 W + Runtime Dynamic Power = 0.0464002 W + Runtime Dynamic Energy = 4.09413e-09 J + Total Runtime Energy = 9.70422e-09 J + + Miss Buffer: + Area = 0.262959 mm^2 + Peak Dynamic Power = 0.0192867 W + Subthreshold Leakage Power = 0.00194663 W + Gate Leakage Power = 9.86469e-05 W + Runtime Dynamic Power = 0.00146456 W + Runtime Dynamic Energy = 1.29226e-10 J + Total Runtime Energy = 3.09692e-10 J + + Fill Buffer: + Area = 0.224249 mm^2 + Peak Dynamic Power = 0.0178218 W + Subthreshold Leakage Power = 0.00180662 W + Gate Leakage Power = 9.16038e-05 W + Runtime Dynamic Power = 0.00134737 W + Runtime Dynamic Energy = 1.18886e-10 J + Total Runtime Energy = 2.86376e-10 J + + Prefetch Buffer: + Area = 0.224249 mm^2 + Peak Dynamic Power = 0.0178218 W + Subthreshold Leakage Power = 0.00180662 W + Gate Leakage Power = 9.16038e-05 W + Runtime Dynamic Power = 0.00134737 W + Runtime Dynamic Energy = 1.18886e-10 J + Total Runtime Energy = 2.86376e-10 J + + Branch Target Buffer: + Area = 0.526552 mm^2 + Peak Dynamic Power = 0.0433889 W + Subthreshold Leakage Power = 0.0869885 W + Gate Leakage Power = 0.00266245 W + Runtime Dynamic Power = 0.0189877 W + Runtime Dynamic Energy = 1.67538e-09 J + Total Runtime Energy = 9.58576e-09 J + + Branch Predictor: + Area = 0.594319 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.186556 W + Gate Leakage Power = 0.00424723 W + Runtime Dynamic Power = 0.0649181 W + Runtime Dynamic Energy = 5.72807e-09 J + Total Runtime Energy = 2.25637e-08 J + + Global Predictor: + Area = 0.129022 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0419609 W + Gate Leakage Power = 0.000962899 W + Runtime Dynamic Power = 0.0172467 W + Runtime Dynamic Energy = 1.52177e-09 J + Total Runtime Energy = 5.30916e-09 J + + Local Predictor, Level 1: + Area = 0.191924 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0589594 W + Gate Leakage Power = 0.00130932 W + Runtime Dynamic Power = 0.0255552 W + Runtime Dynamic Energy = 2.25487e-09 J + Total Runtime Energy = 7.5727e-09 J + + Local Predictor, Level 2: + Area = 0.129022 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0419609 W + Gate Leakage Power = 0.000962899 W + Runtime Dynamic Power = 0.0046946 W + Runtime Dynamic Energy = 4.1423e-10 J + Total Runtime Energy = 4.20162e-09 J + + Predictor Chooser: + Area = 0.129022 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0419609 W + Gate Leakage Power = 0.000962899 W + Runtime Dynamic Power = 0.0172467 W + Runtime Dynamic Energy = 1.52177e-09 J + Total Runtime Energy = 5.30916e-09 J + + RAS: + Area = 0.0153301 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0017144 W + Gate Leakage Power = 4.92127e-05 W + Runtime Dynamic Power = 0.000174881 W + Runtime Dynamic Energy = 1.54306e-11 J + Total Runtime Energy = 1.71043e-10 J + + Instruction Buffer: + Area = 0.0034347 mm^2 + Peak Dynamic Power = 0.011729 W + Subthreshold Leakage Power = 0.000650517 W + Gate Leakage Power = 1.85414e-05 W + Runtime Dynamic Power = 0.00390968 W + Runtime Dynamic Energy = 3.44972e-10 J + Total Runtime Energy = 4.04006e-10 J + + Instruction Opcode Decoder: + Area = 0.00289896 mm^2 + Peak Dynamic Power = 0.0752588 W + Subthreshold Leakage Power = 0.00253168 W + Gate Leakage Power = 8.37387e-05 W + Runtime Dynamic Power = 0.0250863 W + Runtime Dynamic Energy = 2.2135e-09 J + Total Runtime Energy = 2.44427e-09 J + + Instruction Operand Decoder: + Area = 0.000377341 mm^2 + Peak Dynamic Power = 0.0751236 W + Subthreshold Leakage Power = 0.00032028 W + Gate Leakage Power = 1.17596e-05 W + Runtime Dynamic Power = 0.0250412 W + Runtime Dynamic Energy = 2.20952e-09 J + Total Runtime Energy = 2.23881e-09 J + + Instruction Microcode Decoder: + Area = 0.00289896 mm^2 + Peak Dynamic Power = 0.0752588 W + Subthreshold Leakage Power = 0.00253168 W + Gate Leakage Power = 8.37387e-05 W + Runtime Dynamic Power = 0.0250863 W + Runtime Dynamic Energy = 2.2135e-09 J + Total Runtime Energy = 2.44427e-09 J + + Load/Store Unit: + Area = 1.69899 mm^2 + Peak Dynamic Power = 0.16674 W + Subthreshold Leakage Power = 0.0926715 W + Gate Leakage Power = 0.00259372 W + Runtime Dynamic Power = 0.142557 W + Runtime Dynamic Energy = 1.25786e-08 J + Total Runtime Energy = 2.09843e-08 J + + Data Cache: + Area = 1.58391 mm^2 + Peak Dynamic Power = 0.0928926 W + Subthreshold Leakage Power = 0.0789233 W + Gate Leakage Power = 0.00207502 W + Runtime Dynamic Power = 0.0922726 W + Runtime Dynamic Energy = 8.1417e-09 J + Total Runtime Energy = 1.52886e-08 J + + Data and Tag Arrays: + Area = 0.619642 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0607406 W + Gate Leakage Power = 0.00122316 W + Runtime Dynamic Power = 0.0861866 W + Runtime Dynamic Energy = 7.6047e-09 J + Total Runtime Energy = 1.30721e-08 J + + Miss Buffer: + Area = 0.270528 mm^2 + Peak Dynamic Power = 0.0245073 W + Subthreshold Leakage Power = 0.0048041 W + Gate Leakage Power = 0.000224896 W + Runtime Dynamic Power = 0.00214283 W + Runtime Dynamic Energy = 1.89073e-10 J + Total Runtime Energy = 6.32808e-10 J + + Fill Buffer: + Area = 0.231248 mm^2 + Peak Dynamic Power = 0.0227951 W + Subthreshold Leakage Power = 0.00445956 W + Gate Leakage Power = 0.000208987 W + Runtime Dynamic Power = 0.00197161 W + Runtime Dynamic Energy = 1.73965e-10 J + Total Runtime Energy = 5.85896e-10 J + + Prefetch Buffer: + Area = 0.231248 mm^2 + Peak Dynamic Power = 0.0227951 W + Subthreshold Leakage Power = 0.00445956 W + Gate Leakage Power = 0.000208987 W + Runtime Dynamic Power = 0.00157729 W + Runtime Dynamic Energy = 1.39172e-10 J + Total Runtime Energy = 5.51103e-10 J + + Writeback Buffer: + Area = 0.231248 mm^2 + Peak Dynamic Power = 0.0227951 W + Subthreshold Leakage Power = 0.00445956 W + Gate Leakage Power = 0.000208987 W + Runtime Dynamic Power = 0.000394322 W + Runtime Dynamic Energy = 3.47931e-11 J + Total Runtime Energy = 4.46724e-10 J + + Load Queue: + Area = 0.054217 mm^2 + Peak Dynamic Power = 0.0316525 W + Subthreshold Leakage Power = 0.00559768 W + Gate Leakage Power = 0.00022125 W + Runtime Dynamic Power = 0.0137161 W + Runtime Dynamic Energy = 1.21024e-09 J + Total Runtime Energy = 1.72368e-09 J + + Store Queue: + Area = 0.0608565 mm^2 + Peak Dynamic Power = 0.0421944 W + Subthreshold Leakage Power = 0.00815046 W + Gate Leakage Power = 0.000297452 W + Runtime Dynamic Power = 0.0365685 W + Runtime Dynamic Energy = 3.22663e-09 J + Total Runtime Energy = 3.97204e-09 J + + Memory Management Unit: + Area = 0.331371 mm^2 + Peak Dynamic Power = 0.318513 W + Subthreshold Leakage Power = 0.097099 W + Gate Leakage Power = 0.00441089 W + Runtime Dynamic Power = 0.137566 W + Runtime Dynamic Energy = 1.21382e-08 J + Total Runtime Energy = 2.10949e-08 J + + Instruction TLB: + Area = 0.131789 mm^2 + Peak Dynamic Power = 0.151159 W + Subthreshold Leakage Power = 0.0446376 W + Gate Leakage Power = 0.00203139 W + Runtime Dynamic Power = 0.0528415 W + Runtime Dynamic Energy = 4.66249e-09 J + Total Runtime Energy = 8.78034e-09 J + + Data TLB: + Area = 0.199582 mm^2 + Peak Dynamic Power = 0.167354 W + Subthreshold Leakage Power = 0.0524614 W + Gate Leakage Power = 0.00237949 W + Runtime Dynamic Power = 0.0847243 W + Runtime Dynamic Energy = 7.47567e-09 J + Total Runtime Energy = 1.23146e-08 J + + Execution Unit: + Area = 2.36584 mm^2 + Peak Dynamic Power = 1.52633 W + Subthreshold Leakage Power = 1.18035 W + Gate Leakage Power = 0.0498689 W + Runtime Dynamic Power = 0.517033 W + Runtime Dynamic Energy = 4.56205e-08 J + Total Runtime Energy = 1.5417e-07 J + + Int Bypass Data: + Area = 0.0024813 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00618474 W + Runtime Dynamic Energy = 5.45712e-10 J + Total Runtime Energy = 5.45712e-10 J + + Int Bypass Tag: + Area = 0.000291384 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.000726287 W + Runtime Dynamic Energy = 6.40842e-11 J + Total Runtime Energy = 6.40842e-11 J + + Mul Bypass Data: + Area = 0.00328459 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00818697 W + Runtime Dynamic Energy = 7.2238e-10 J + Total Runtime Energy = 7.2238e-10 J + + Mul Bypass Tag: + Area = 0.000366693 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.000913997 W + Runtime Dynamic Energy = 8.06468e-11 J + Total Runtime Energy = 8.06468e-11 J + + FP Bypass Data: + Area = 0.0039374 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00981414 W + Runtime Dynamic Energy = 8.65954e-10 J + Total Runtime Energy = 8.65954e-10 J + + FP Bypass Tag: + Area = 0.000508858 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00126835 W + Runtime Dynamic Energy = 1.11913e-10 J + Total Runtime Energy = 1.11913e-10 J + + Register File Unit: + Area = 0.0603417 mm^2 + Peak Dynamic Power = 0.094149 W + Subthreshold Leakage Power = 0.00361325 W + Gate Leakage Power = 0.000100838 W + Runtime Dynamic Power = 0.00713589 W + Runtime Dynamic Energy = 6.29638e-10 J + Total Runtime Energy = 9.57351e-10 J + + Integer Register File: + Area = 0.0397387 mm^2 + Peak Dynamic Power = 0.0858804 W + Subthreshold Leakage Power = 0.00167327 W + Gate Leakage Power = 4.73072e-05 W + Runtime Dynamic Power = 0.00340795 W + Runtime Dynamic Energy = 3.00702e-10 J + Total Runtime Energy = 4.52517e-10 J + + FP Register File: + Area = 0.020603 mm^2 + Peak Dynamic Power = 0.00826856 W + Subthreshold Leakage Power = 0.00193998 W + Gate Leakage Power = 5.35312e-05 W + Runtime Dynamic Power = 0.00372794 W + Runtime Dynamic Energy = 3.28936e-10 J + Total Runtime Energy = 5.04834e-10 J + + Instruction Scheduler: + Area = 0.107117 mm^2 + Peak Dynamic Power = 0.107009 W + Subthreshold Leakage Power = 0.00250283 W + Gate Leakage Power = 7.07223e-05 W + Runtime Dynamic Power = 0.0155966 W + Runtime Dynamic Energy = 1.37617e-09 J + Total Runtime Energy = 1.60325e-09 J + + Integer Instruction Window: + Area = 0.0261741 mm^2 + Peak Dynamic Power = 0.0268581 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00223817 W + Runtime Dynamic Energy = 1.97486e-10 J + Total Runtime Energy = 1.97486e-10 J + + FP Instruction Window: + Area = 0.0232716 mm^2 + Peak Dynamic Power = 0.0133785 W + Subthreshold Leakage Power = 0 W + Gate Leakage Power = 0 W + Runtime Dynamic Power = 0.00222975 W + Runtime Dynamic Energy = 1.96742e-10 J + Total Runtime Energy = 1.96742e-10 J + + Reorder Buffer: + Area = 0.0576711 mm^2 + Peak Dynamic Power = 0.066772 W + Subthreshold Leakage Power = 0.00250283 W + Gate Leakage Power = 7.07223e-05 W + Runtime Dynamic Power = 0.0111287 W + Runtime Dynamic Energy = 9.81941e-10 J + Total Runtime Energy = 1.20902e-09 J + + Integer ALU(s): + Area = 0.138846 mm^2 + Peak Dynamic Power = 0.332578 W + Subthreshold Leakage Power = 0.201977 W + Gate Leakage Power = 0.00854828 W + Runtime Dynamic Power = 0.0778676 W + Runtime Dynamic Energy = 6.87067e-09 J + Total Runtime Energy = 2.54464e-08 J + + Floating Point Unit(s): + Area = 1.8404 mm^2 + Peak Dynamic Power = 0.595559 W + Subthreshold Leakage Power = 0.669296 W + Gate Leakage Power = 0.0283266 W + Runtime Dynamic Power = 0.233603 W + Runtime Dynamic Energy = 2.0612e-08 J + Total Runtime Energy = 8.21669e-08 J + + Multiply/Divide Unit(s): + Area = 0.20827 mm^2 + Peak Dynamic Power = 0.39704 W + Subthreshold Leakage Power = 0.302965 W + Gate Leakage Power = 0.0128224 W + Runtime Dynamic Power = 0.155735 W + Runtime Dynamic Energy = 1.37413e-08 J + Total Runtime Energy = 4.1605e-08 J + + Undifferentiated Core: + Area = 3.88668 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 2.82694 W + Gate Leakage Power = 0.119645 W + Runtime Dynamic Power = 0 W + Runtime Dynamic Energy = 0 J + Total Runtime Energy = 2.59992e-07 J + + Rename Unit: + Area = 0.333151 mm^2 + Peak Dynamic Power = 0.10888 W + Subthreshold Leakage Power = 0.0255114 W + Gate Leakage Power = 0.000663381 W + Runtime Dynamic Power = 0.0538848 W + Runtime Dynamic Energy = 4.75454e-09 J + Total Runtime Energy = 7.06408e-09 J + + Int Front RAT: + Area = 0.129348 mm^2 + Peak Dynamic Power = 0.0382386 W + Subthreshold Leakage Power = 0.00828989 W + Gate Leakage Power = 0.000204367 W + Runtime Dynamic Power = 0.0063731 W + Runtime Dynamic Energy = 5.62332e-10 J + Total Runtime Energy = 1.31183e-09 J + + FP Front RAT: + Area = 0.166163 mm^2 + Peak Dynamic Power = 0.0432953 W + Subthreshold Leakage Power = 0.0126995 W + Gate Leakage Power = 0.000319816 W + Runtime Dynamic Power = 0.00721588 W + Runtime Dynamic Energy = 6.36696e-10 J + Total Runtime Energy = 1.78546e-09 J + + Integer Free List: + Area = 0.0120305 mm^2 + Peak Dynamic Power = 0.00394808 W + Subthreshold Leakage Power = 0.000639181 W + Gate Leakage Power = 2.0232e-05 W + Runtime Dynamic Power = 0.00131603 W + Runtime Dynamic Energy = 1.1612e-10 J + Total Runtime Energy = 1.74304e-10 J + + Int Retire RAT: + Area = 0.00606308 mm^2 + Peak Dynamic Power = 0.00325948 W + Subthreshold Leakage Power = 0.000496413 W + Gate Leakage Power = 1.45535e-05 W + Runtime Dynamic Power = 0.000543246 W + Runtime Dynamic Energy = 4.79335e-11 J + Total Runtime Energy = 9.30188e-11 J + + FP Retire RAT: + Area = 0.00751656 mm^2 + Peak Dynamic Power = 0.00404193 W + Subthreshold Leakage Power = 0.000709488 W + Gate Leakage Power = 1.94961e-05 W + Runtime Dynamic Power = 0.000673654 W + Runtime Dynamic Energy = 5.94401e-11 J + Total Runtime Energy = 1.23762e-10 J + + FP Free List: + Area = 0.0120305 mm^2 + Peak Dynamic Power = 0.00394808 W + Subthreshold Leakage Power = 0.000639181 W + Gate Leakage Power = 2.0232e-05 W + Runtime Dynamic Power = 0.00131603 W + Runtime Dynamic Energy = 1.1612e-10 J + Total Runtime Energy = 1.74304e-10 J + + Instruction Dependency Check?: + Area = 0 mm^2 + Peak Dynamic Power = 0.00607447 W + Subthreshold Leakage Power = 0.00101891 W + Gate Leakage Power = 3.23427e-05 W + Runtime Dynamic Power = 0.0242979 W + Runtime Dynamic Energy = 2.14393e-09 J + Total Runtime Energy = 2.23669e-09 J + + FP Dependency Check?: + Area = 0 mm^2 + Peak Dynamic Power = 0.00607447 W + Subthreshold Leakage Power = 0.00101891 W + Gate Leakage Power = 3.23427e-05 W + Runtime Dynamic Power = 0.0121489 W + Runtime Dynamic Energy = 1.07197e-09 J + Total Runtime Energy = 1.16472e-09 J + + Pipeline?: + Area = 0.0912321 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 0.0748063 W + Gate Leakage Power = 0.00796757 W + Runtime Dynamic Power = 0.269895 W + Runtime Dynamic Energy = 2.38143e-08 J + Total Runtime Energy = 3.11178e-08 J + + L2 Cache: + Area = 4.32531 mm^2 + Peak Dynamic Power = 0.121415 W + Subthreshold Leakage Power = 1.21565 W + Gate Leakage Power = 0.0392567 W + Runtime Dynamic Power = 0.608456 W + Runtime Dynamic Energy = 5.36873e-08 J + Total Runtime Energy = 1.64414e-07 J + + Data and Tag Arrays: + Area = 3.33708 mm^2 + Peak Dynamic Power = 0 W + Subthreshold Leakage Power = 1.1905 W + Gate Leakage Power = 0.0381925 W + Runtime Dynamic Power = 0.588461 W + Runtime Dynamic Energy = 5.1923e-08 J + Total Runtime Energy = 1.60337e-07 J + + Miss Buffer: + Area = 0.281957 mm^2 + Peak Dynamic Power = 0.0322848 W + Subthreshold Leakage Power = 0.00670028 W + Gate Leakage Power = 0.000283174 W + Runtime Dynamic Power = 0.00709987 W + Runtime Dynamic Energy = 6.26459e-10 J + Total Runtime Energy = 1.24265e-09 J + + Fill Buffer: + Area = 0.235423 mm^2 + Peak Dynamic Power = 0.02971 W + Subthreshold Leakage Power = 0.00614777 W + Gate Leakage Power = 0.000260358 W + Runtime Dynamic Power = 0.00644759 W + Runtime Dynamic Energy = 5.68905e-10 J + Total Runtime Energy = 1.13433e-09 J + + Prefetch Buffer: + Area = 0.235423 mm^2 + Peak Dynamic Power = 0.02971 W + Subthreshold Leakage Power = 0.00614777 W + Gate Leakage Power = 0.000260358 W + Runtime Dynamic Power = 0.00593857 W + Runtime Dynamic Energy = 5.23992e-10 J + Total Runtime Energy = 1.08941e-09 J + + Writeback Buffer: + Area = 0.235423 mm^2 + Peak Dynamic Power = 0.02971 W + Subthreshold Leakage Power = 0.00614777 W + Gate Leakage Power = 0.000260358 W + Runtime Dynamic Power = 0.00050902 W + Runtime Dynamic Energy = 4.49136e-11 J + Total Runtime Energy = 6.10337e-10 J + diff --git a/ext/mcpat/regression/test-7/power_region0.xml b/ext/mcpat/regression/test-7/power_region0.xml new file mode 100644 index 000000000..ad69e748e --- /dev/null +++ b/ext/mcpat/regression/test-7/power_region0.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" ?> +<component id="root" name="root"> + <component id="system" name="system" type="System"> + <param name="core_tech_node" value="40"/> + <param name="target_core_clockrate" value="1700"/> + <param name="temperature" value="380"/> + <param name="interconnect_projection_type" value="1"/> + <param name="device_type" value="0"/> + <param name="longer_channel_device" value="0"/> + <param name="machine_bits" value="64"/> + <param name="virtual_address_width" value="64"/> + <param name="physical_address_width" value="36"/> + <param name="virtual_memory_page_size" value="4096"/> + <param name="wire_is_mat_type" value="2"/> + <param name="wire_os_mat_type" value="2"/> + <param name="delay_wt" value="100"/> + <param name="area_wt" value="0"/> + <param name="dynamic_power_wt" value="100"/> + <param name="leakage_power_wt" value="0"/> + <param name="cycle_time_wt" value="0"/> + <param name="delay_dev" value="10000"/> + <param name="area_dev" value="10000"/> + <param name="dynamic_power_dev" value="10000"/> + <param name="leakage_power_dev" value="10000"/> + <param name="cycle_time_dev" value="10000"/> + <param name="ed" value="2"/> + <param name="burst_len" value="1"/> + <param name="int_prefetch_w" value="1"/> + <param name="page_sz_bits" value="0"/> + <param name="rpters_in_htree" value="1"/> + <param name="ver_htree_wires_over_array" value="0"/> + <param name="nuca" value="0"/> + <param name="nuca_bank_count" value="0"/> + <param name="force_cache_config" value="0"/> + <param name="wt" value="0"/> + <param name="force_wiretype" value="0"/> + <param name="print_detail" value="1"/> + <param name="add_ecc_b_" value="1"/> + <stat name="total_cycles" value="15"/> + <component id="system.NoC0" name="noc0" type="OnChipNetwork"> + <param name="clockrate" value="1700"/> + <param name="type" value="0"/> + <param name="horizontal_nodes" value="1"/> + <param name="vertical_nodes" value="1"/> + <param name="has_global_link" value="0"/> + <param name="link_len" value="1"/> + <param name="link_throughput" value="1"/> + <param name="link_latency" value="1"/> + <param name="input_ports" value="1"/> + <param name="output_ports" value="1"/> + <param name="global_linked_ports" value="1"/> + <param name="flit_bits" value="256"/> + <param name="chip_coverage" value="1"/> + <param name="link_routing_over_percentage" value="0.5"/> + <param name="has_global_link" value="0"/> + <param name="virtual_channel_per_port" value="2"/> + <param name="input_buffer_entries_per_vc" value="16"/> + <param name="M_traffic_pattern" value="1"/> + <param name="link_base_width" value="1"/> + <param name="link_base_height" value="1"/> + <param name="link_start_wiring_level" value="3"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <stat name="total_accesses" value="5"/> + <stat name="duty_cycle" value="1"/> + </component> + </component> +</component> diff --git a/ext/mcpat/regression/test-7/region0.out.ref b/ext/mcpat/regression/test-7/region0.out.ref new file mode 100644 index 000000000..f8acf4c46 --- /dev/null +++ b/ext/mcpat/regression/test-7/region0.out.ref @@ -0,0 +1,37 @@ +McPAT (version 0.8 of Aug, 2010) is computing the target processor... + + +McPAT (version 0.8 of Aug, 2010) results (current print level is 5) +***************************************************************************************** + Technology 40 nm + Interconnect metal projection = conservative interconnect technology projection + Target Clock Rate (MHz) 1700 + +***************************************************************************************** + System: + Area = 4.5263e-05 mm^2 + Peak Dynamic Power = 0.00021451 W + Subthreshold Leakage Power = 1.40646e-05 W + Gate Leakage Power = 5.95257e-07 W + Runtime Dynamic Power = 7.15034e-05 W + Runtime Dynamic Energy = 6.30912e-13 J + Total Runtime Energy = 7.60264e-13 J + + On-Chip Network: + Area = 4.5263e-05 mm^2 + Peak Dynamic Power = 0.00021451 W + Subthreshold Leakage Power = 1.40646e-05 W + Gate Leakage Power = 5.95257e-07 W + Runtime Dynamic Power = 7.15034e-05 W + Runtime Dynamic Energy = 6.30912e-13 J + Total Runtime Energy = 7.60264e-13 J + + Link: + Area = 4.5263e-05 mm^2 + Peak Dynamic Power = 0.00021451 W + Subthreshold Leakage Power = 1.40646e-05 W + Gate Leakage Power = 5.95257e-07 W + Runtime Dynamic Power = 7.15034e-05 W + Runtime Dynamic Energy = 6.30912e-13 J + Total Runtime Energy = 7.60264e-13 J + diff --git a/ext/mcpat/regression/test-8/power_region0.xml b/ext/mcpat/regression/test-8/power_region0.xml new file mode 100644 index 000000000..13b895d7c --- /dev/null +++ b/ext/mcpat/regression/test-8/power_region0.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" ?> +<component id="root" name="root"> + <component id="system" name="system" type="System"> + <param name="core_tech_node" value="40"/> + <param name="target_core_clockrate" value="1700"/> + <param name="temperature" value="380"/> + <param name="interconnect_projection_type" value="1"/> + <param name="device_type" value="0"/> + <param name="longer_channel_device" value="0"/> + <param name="machine_bits" value="64"/> + <param name="virtual_address_width" value="64"/> + <param name="physical_address_width" value="36"/> + <param name="virtual_memory_page_size" value="4096"/> + <param name="wire_is_mat_type" value="2"/> + <param name="wire_os_mat_type" value="2"/> + <param name="delay_wt" value="100"/> + <param name="area_wt" value="0"/> + <param name="dynamic_power_wt" value="100"/> + <param name="leakage_power_wt" value="0"/> + <param name="cycle_time_wt" value="0"/> + <param name="delay_dev" value="10000"/> + <param name="area_dev" value="10000"/> + <param name="dynamic_power_dev" value="10000"/> + <param name="leakage_power_dev" value="10000"/> + <param name="cycle_time_dev" value="10000"/> + <param name="ed" value="2"/> + <param name="burst_len" value="1"/> + <param name="int_prefetch_w" value="1"/> + <param name="page_sz_bits" value="0"/> + <param name="rpters_in_htree" value="1"/> + <param name="ver_htree_wires_over_array" value="0"/> + <param name="nuca" value="0"/> + <param name="nuca_bank_count" value="0"/> + <param name="force_cache_config" value="0"/> + <param name="wt" value="0"/> + <param name="force_wiretype" value="0"/> + <param name="print_detail" value="1"/> + <param name="add_ecc_b_" value="1"/> + <stat name="total_cycles" value="15"/> + <component id="system.tol2bus" name="bus" type="BusInterconnect"> + <param name="clockrate" value="1700"/> + <param name="link_throughput" value="1"/> + <param name="link_latency" value="1"/> + <param name="total_nodes" value="2"/> + <param name="input_ports" value="2"/> + <param name="output_ports" value="2"/> + <param name="global_linked_ports" value="1"/> + <param name="flit_bits" value="256"/> + <param name="chip_coverage" value="1"/> + <param name="pipelinable" value="1"/> + <param name="link_routing_over_percentage" value="0.5"/> + <param name="virtual_channel_per_port" value="1"/> + <param name="M_traffic_pattern" value="1"/> + <param name="link_len" value="1"/> + <param name="link_base_width" value="1"/> + <param name="link_base_height" value="1"/> + <param name="link_start_wiring_level" value="3"/> + <param name="wire_mat_type" value="2"/> + <param name="wire_type" value="0"/> + <stat name="total_accesses" value="5"/> + <stat name="duty_cycle" value="1"/> + </component> + </component> +</component> diff --git a/ext/mcpat/regression/test-8/region0.out.ref b/ext/mcpat/regression/test-8/region0.out.ref new file mode 100644 index 000000000..e2fd36f99 --- /dev/null +++ b/ext/mcpat/regression/test-8/region0.out.ref @@ -0,0 +1,37 @@ +McPAT (version 0.8 of Aug, 2010) is computing the target processor... + + +McPAT (version 0.8 of Aug, 2010) results (current print level is 5) +***************************************************************************************** + Technology 40 nm + Interconnect metal projection = conservative interconnect technology projection + Target Clock Rate (MHz) 1700 + +***************************************************************************************** + System: + Area = 1.13158e-05 mm^2 + Peak Dynamic Power = 5.36275e-05 W + Subthreshold Leakage Power = 3.51615e-06 W + Gate Leakage Power = 1.48814e-07 W + Runtime Dynamic Power = 1.78758e-05 W + Runtime Dynamic Energy = 1.57728e-13 J + Total Runtime Energy = 1.90066e-13 J + + Bus Interconnect: + Area = 1.13158e-05 mm^2 + Peak Dynamic Power = 5.36275e-05 W + Subthreshold Leakage Power = 3.51615e-06 W + Gate Leakage Power = 1.48814e-07 W + Runtime Dynamic Power = 1.78758e-05 W + Runtime Dynamic Energy = 1.57728e-13 J + Total Runtime Energy = 1.90066e-13 J + + Link: + Area = 1.13158e-05 mm^2 + Peak Dynamic Power = 5.36275e-05 W + Subthreshold Leakage Power = 3.51615e-06 W + Gate Leakage Power = 1.48814e-07 W + Runtime Dynamic Power = 1.78758e-05 W + Runtime Dynamic Energy = 1.57728e-13 J + Total Runtime Energy = 1.90066e-13 J + diff --git a/ext/mcpat/regression/verify_output.py b/ext/mcpat/regression/verify_output.py new file mode 100644 index 000000000..c37663c8f --- /dev/null +++ b/ext/mcpat/regression/verify_output.py @@ -0,0 +1,238 @@ +#!/usr/bin/env python + +# Copyright (c) 2010-2013 Advanced Micro Devices, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer; +# redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution; +# neither the name of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +SYNOPSIS + + ./regression/verify_output.py <McPAT output> + +DESCRIPTION + + Verify the output from McPAT. In particular, ensure that the values in the + file sum up hierarchically. + +AUTHORS + + Joel Hestness <hestness@cs.wisc.edu> (while interning at AMD) + Yasuko Eckert <yasuko.eckert@amd.com> + +""" + +import os +import sys +import optparse +import re + +root = None +curr_node = None + +optionsparser = optparse.OptionParser( + formatter = optparse.TitledHelpFormatter(), + usage = globals()['__doc__']) +optionsparser.add_option( + "-v", "--verbose", action = "store_true", default = False, + help = "verbose output") +(options, args) = optionsparser.parse_args() + +def warning(msg): + global options + if options.verbose: + print "WARNING: %s" %(msg) + +def toNumber(value): + try: + to_return = float(value) + except: + warning("Value, %s, is not a number" % value) + to_return = value + + return to_return + +def withinTolerance(reference, calculated, tolerance = 0.001): + if tolerance > 1: + warning("Tolernance is too large: %s" % tolerance) + upper_bound = reference * (1 + tolerance) + lower_bound = reference * (1 - tolerance) + return calculated <= upper_bound and calculated >= lower_bound + +class Component: + def __init__(self): + self.parent = None + self.name = None + self.area = None + self.peak_dynamic_power = None + self.subthreshold_leakage = None + self.gate_leakage = None + self.runtime_dynamic_power = None + self.runtime_dynamic_energy = None + self.total_runtime_energy = None + self.children = [] + self.hierarchy_level = None + + def print_data(self): + print "%s:" % self.name + print " Area = %s" % self.area + print " Peak Dynamic Power = %s" % self.peak_dynamic_power + print " Subthreshold Leakage = %s" % self.subthreshold_leakage + print " Gate Leakage = %s" % self.gate_leakage + print " Runtime Dynamic Power = %s" % self.runtime_dynamic_power + print " Runtime Dynamic Energy = %s" % self.runtime_dynamic_energy + print " Total Runtime Energy = %s" % self.total_runtime_energy + + def set_name_and_level(self, name_string): + self.name = name_string.lstrip().rstrip(":") + self.hierarchy_level = (len(re.match(r"\s*", name_string).group()) - 2) / 4 + + def verify_values(self): + if len(self.children) == 0: + return + temp_node = Component() + temp_node.area = 0 + temp_node.peak_dynamic_power = 0 + temp_node.subthreshold_leakage = 0 + temp_node.gate_leakage = 0 + temp_node.runtime_dynamic_power = 0 + temp_node.runtime_dynamic_energy = 0 + temp_node.total_runtime_energy = 0 + for child in self.children: + if child != self: + temp_node.area += child.area + temp_node.peak_dynamic_power += child.peak_dynamic_power + temp_node.subthreshold_leakage += child.subthreshold_leakage + temp_node.gate_leakage += child.gate_leakage + temp_node.runtime_dynamic_power += child.runtime_dynamic_power + temp_node.runtime_dynamic_energy += child.runtime_dynamic_energy + temp_node.total_runtime_energy += child.total_runtime_energy + child.verify_values() + + if not withinTolerance(self.area, temp_node.area): + print "WRONG: %s.area = %s != %s" % \ + (self.name, self.area, temp_node.area) + + if not withinTolerance( + self.peak_dynamic_power, temp_node.peak_dynamic_power): + print "WRONG: %s.peak_dynamic_power = %s != %s" % \ + (self.name, self.peak_dynamic_power, + temp_node.peak_dynamic_power) + + if not withinTolerance( + self.subthreshold_leakage, temp_node.subthreshold_leakage): + print "WRONG: %s.subthreshold_leakage = %s != %s" % \ + (self.name, self.subthreshold_leakage, + temp_node.subthreshold_leakage) + + if not withinTolerance(self.gate_leakage, temp_node.gate_leakage): + print "WRONG: %s.gate_leakage = %s != %s" % \ + (self.name, self.gate_leakage, temp_node.gate_leakage) + + if not withinTolerance( + self.runtime_dynamic_power, temp_node.runtime_dynamic_power): + print "WRONG: %s.runtime_dynamic_power = %s != %s" % \ + (self.name, self.runtime_dynamic_power, + temp_node.runtime_dynamic_power) + + if not withinTolerance( + self.runtime_dynamic_energy, temp_node.runtime_dynamic_energy): + print "WRONG: %s.runtime_dynamic_energy = %s != %s" % \ + (self.name, self.runtime_dynamic_energy, + temp_node.runtime_dynamic_energy) + + if not withinTolerance( + self.total_runtime_energy, temp_node.total_runtime_energy): + print "WRONG: %s.total_runtime_energy = %s != %s" % \ + (self.name, self.total_runtime_energy, + temp_node.total_runtime_energy) + +if len(args) < 1: + print "ERROR: Must specify a McPAT output file to verify" + exit(0) + +# check params +mcpat_output = args[0]; +if not os.path.exists(mcpat_output): + print "ERROR: Output file does not exist: %s" % mcpat_output + exit(0) + +output_file_handle = open(mcpat_output, 'r') +for line in output_file_handle: + line = line.rstrip() + if ":" in line: + # Start a new component + new_node = Component() + if root is None: + root = new_node + curr_node = new_node + else: + if ((curr_node.area is None) or + (curr_node.peak_dynamic_power is None) or + (curr_node.subthreshold_leakage is None) or + (curr_node.gate_leakage is None) or + (curr_node.runtime_dynamic_power is None) or + (curr_node.runtime_dynamic_energy is None) or + (curr_node.total_runtime_energy is None)): + print "ERROR: Some value is not specified for %s" % curr_node.name + curr_node.print_data() + exit(0) + + new_node.set_name_and_level(line) + while ( + (new_node.hierarchy_level <= curr_node.hierarchy_level) and + not curr_node is root): + curr_node = curr_node.parent + new_node.parent = curr_node + curr_node.children.append(new_node) + curr_node = new_node + + elif line is not "": + tokens = line.split() + if "Area" in line: + curr_node.area = toNumber(tokens[2]) + elif "Peak Dynamic Power" in line: + curr_node.peak_dynamic_power = toNumber(tokens[4]) + elif "Peak Dynamic" in line: + curr_node.peak_dynamic_power = toNumber(tokens[3]) + elif "Subthreshold Leakage Power" in line: + curr_node.subthreshold_leakage = toNumber(tokens[4]) + elif "Subthreshold Leakage" in line: + curr_node.subthreshold_leakage = toNumber(tokens[3]) + elif "Gate Leakage Power" in line: + curr_node.gate_leakage = toNumber(tokens[4]) + elif "Gate Leakage" in line: + curr_node.gate_leakage = toNumber(tokens[3]) + elif "Runtime Dynamic Power" in line: + curr_node.runtime_dynamic_power = toNumber(tokens[4]) + elif "Runtime Dynamic Energy" in line: + curr_node.runtime_dynamic_energy = toNumber(tokens[4]) + elif "Total Runtime Energy" in line: + curr_node.total_runtime_energy = toNumber(tokens[4]) + else: + warning("ERROR: Line not matched: %s" % line) + +curr_node = root + +curr_node.verify_values() |