112647Santhony.gutierrez@amd.com# Copyright (c) 2011-2015 Advanced Micro Devices, Inc. 212647Santhony.gutierrez@amd.com# All rights reserved. 311308Santhony.gutierrez@amd.com# 412647Santhony.gutierrez@amd.com# For use for simulation and test purposes only 511308Santhony.gutierrez@amd.com# 612647Santhony.gutierrez@amd.com# Redistribution and use in source and binary forms, with or without 712647Santhony.gutierrez@amd.com# modification, are permitted provided that the following conditions are met: 811308Santhony.gutierrez@amd.com# 912647Santhony.gutierrez@amd.com# 1. Redistributions of source code must retain the above copyright notice, 1012647Santhony.gutierrez@amd.com# this list of conditions and the following disclaimer. 1111308Santhony.gutierrez@amd.com# 1212647Santhony.gutierrez@amd.com# 2. Redistributions in binary form must reproduce the above copyright notice, 1312647Santhony.gutierrez@amd.com# this list of conditions and the following disclaimer in the documentation 1412647Santhony.gutierrez@amd.com# and/or other materials provided with the distribution. 1511308Santhony.gutierrez@amd.com# 1612647Santhony.gutierrez@amd.com# 3. Neither the name of the copyright holder nor the names of its 1712647Santhony.gutierrez@amd.com# contributors may be used to endorse or promote products derived from this 1812647Santhony.gutierrez@amd.com# software without specific prior written permission. 1911308Santhony.gutierrez@amd.com# 2012647Santhony.gutierrez@amd.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 2112647Santhony.gutierrez@amd.com# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2212647Santhony.gutierrez@amd.com# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2312647Santhony.gutierrez@amd.com# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 2412647Santhony.gutierrez@amd.com# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2512647Santhony.gutierrez@amd.com# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2612647Santhony.gutierrez@amd.com# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2712647Santhony.gutierrez@amd.com# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2812647Santhony.gutierrez@amd.com# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2912647Santhony.gutierrez@amd.com# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 3012647Santhony.gutierrez@amd.com# POSSIBILITY OF SUCH DAMAGE. 3111308Santhony.gutierrez@amd.com# 3212647Santhony.gutierrez@amd.com# Authors: Myrto Papadopoulou 3311308Santhony.gutierrez@amd.com 3413774Sandreas.sandberg@arm.comfrom __future__ import print_function 3513774Sandreas.sandberg@arm.comfrom __future__ import absolute_import 3613774Sandreas.sandberg@arm.com 3711308Santhony.gutierrez@amd.comdef tlb_options(parser): 3811308Santhony.gutierrez@amd.com 3911308Santhony.gutierrez@amd.com #=================================================================== 4011308Santhony.gutierrez@amd.com # TLB Configuration 4111308Santhony.gutierrez@amd.com #=================================================================== 4211308Santhony.gutierrez@amd.com 4311308Santhony.gutierrez@amd.com parser.add_option("--TLB-config", type="string", default="perCU", 4411308Santhony.gutierrez@amd.com help="Options are: perCU (default), mono, 2CU, or perLane") 4511308Santhony.gutierrez@amd.com 4611308Santhony.gutierrez@amd.com #=================================================================== 4711308Santhony.gutierrez@amd.com # L1 TLB Options (D-TLB, I-TLB, Dispatcher-TLB) 4811308Santhony.gutierrez@amd.com #=================================================================== 4911308Santhony.gutierrez@amd.com 5011308Santhony.gutierrez@amd.com parser.add_option("--L1TLBentries", type='int', default="32") 5111308Santhony.gutierrez@amd.com parser.add_option("--L1TLBassoc", type='int', default="32") 5211308Santhony.gutierrez@amd.com parser.add_option("--L1AccessLatency", type='int', default="1", 5311308Santhony.gutierrez@amd.com help="latency in gpu cycles") 5411308Santhony.gutierrez@amd.com parser.add_option("--L1MissLatency", type='int', default="750", 5511308Santhony.gutierrez@amd.com help="latency (in gpu cycles) of a page walk, " 5611308Santhony.gutierrez@amd.com "if this is a last level TLB") 5711308Santhony.gutierrez@amd.com parser.add_option("--L1MaxOutstandingReqs", type='int', default="64") 5811308Santhony.gutierrez@amd.com parser.add_option("--L1AccessDistanceStat", action="store_true") 5911308Santhony.gutierrez@amd.com parser.add_option("--tot-L1TLB-size", type="int", default="0") 6011308Santhony.gutierrez@amd.com 6111308Santhony.gutierrez@amd.com #=================================================================== 6211308Santhony.gutierrez@amd.com # L2 TLB Options 6311308Santhony.gutierrez@amd.com #=================================================================== 6411308Santhony.gutierrez@amd.com 6511308Santhony.gutierrez@amd.com parser.add_option("--L2TLBentries", type='int', default="4096") 6611308Santhony.gutierrez@amd.com parser.add_option("--L2TLBassoc", type='int', default="32") 6711308Santhony.gutierrez@amd.com parser.add_option("--L2AccessLatency", type='int', default="69", 6811308Santhony.gutierrez@amd.com help="latency in gpu cycles") 6911308Santhony.gutierrez@amd.com parser.add_option("--L2MissLatency", type='int', default="750", 7011308Santhony.gutierrez@amd.com help="latency (in gpu cycles) of a page walk, " 7111308Santhony.gutierrez@amd.com "if this is a last level TLB") 7211308Santhony.gutierrez@amd.com parser.add_option("--L2MaxOutstandingReqs", type='int', default="64") 7311308Santhony.gutierrez@amd.com parser.add_option("--L2AccessDistanceStat", action="store_true") 7411308Santhony.gutierrez@amd.com 7511308Santhony.gutierrez@amd.com #=================================================================== 7611308Santhony.gutierrez@amd.com # L3 TLB Options 7711308Santhony.gutierrez@amd.com #=================================================================== 7811308Santhony.gutierrez@amd.com 7911308Santhony.gutierrez@amd.com parser.add_option("--L3TLBentries", type='int', default="8192") 8011308Santhony.gutierrez@amd.com parser.add_option("--L3TLBassoc", type='int', default="32") 8111308Santhony.gutierrez@amd.com parser.add_option("--L3AccessLatency", type='int', default="150", 8211308Santhony.gutierrez@amd.com help="latency in gpu cycles") 8311308Santhony.gutierrez@amd.com parser.add_option("--L3MissLatency", type='int', default="750", 8411308Santhony.gutierrez@amd.com help="latency (in gpu cycles) of a page walk") 8511308Santhony.gutierrez@amd.com parser.add_option("--L3MaxOutstandingReqs", type='int', default="64") 8611308Santhony.gutierrez@amd.com parser.add_option("--L3AccessDistanceStat", action="store_true") 8711308Santhony.gutierrez@amd.com 8811308Santhony.gutierrez@amd.com #=================================================================== 8911308Santhony.gutierrez@amd.com # L1 TLBCoalescer Options 9011308Santhony.gutierrez@amd.com #=================================================================== 9111308Santhony.gutierrez@amd.com 9211308Santhony.gutierrez@amd.com parser.add_option("--L1ProbesPerCycle", type='int', default="2") 9311308Santhony.gutierrez@amd.com parser.add_option("--L1CoalescingWindow", type='int', default="1") 9411308Santhony.gutierrez@amd.com parser.add_option("--L1DisableCoalescing", action="store_true") 9511308Santhony.gutierrez@amd.com 9611308Santhony.gutierrez@amd.com #=================================================================== 9711308Santhony.gutierrez@amd.com # L2 TLBCoalescer Options 9811308Santhony.gutierrez@amd.com #=================================================================== 9911308Santhony.gutierrez@amd.com 10011308Santhony.gutierrez@amd.com parser.add_option("--L2ProbesPerCycle", type='int', default="2") 10111308Santhony.gutierrez@amd.com parser.add_option("--L2CoalescingWindow", type='int', default="1") 10211308Santhony.gutierrez@amd.com parser.add_option("--L2DisableCoalescing", action="store_true") 10311308Santhony.gutierrez@amd.com 10411308Santhony.gutierrez@amd.com #=================================================================== 10511308Santhony.gutierrez@amd.com # L3 TLBCoalescer Options 10611308Santhony.gutierrez@amd.com #=================================================================== 10711308Santhony.gutierrez@amd.com 10811308Santhony.gutierrez@amd.com parser.add_option("--L3ProbesPerCycle", type='int', default="2") 10911308Santhony.gutierrez@amd.com parser.add_option("--L3CoalescingWindow", type='int', default="1") 11011308Santhony.gutierrez@amd.com parser.add_option("--L3DisableCoalescing", action="store_true") 111