ReplacementPolicy.py revision 10970:ea8bdb1d9f1e
16908SBrad.Beckmann@amd.com# 26908SBrad.Beckmann@amd.com# Copyright (c) 2013 Advanced Micro Devices, Inc 36908SBrad.Beckmann@amd.com# All rights reserved. 46908SBrad.Beckmann@amd.com# 56908SBrad.Beckmann@amd.com# Redistribution and use in source and binary forms, with or without 66908SBrad.Beckmann@amd.com# modification, are permitted provided that the following conditions are 76908SBrad.Beckmann@amd.com# met: redistributions of source code must retain the above copyright 86908SBrad.Beckmann@amd.com# notice, this list of conditions and the following disclaimer; 96908SBrad.Beckmann@amd.com# redistributions in binary form must reproduce the above copyright 106908SBrad.Beckmann@amd.com# notice, this list of conditions and the following disclaimer in the 116908SBrad.Beckmann@amd.com# documentation and/or other materials provided with the distribution; 126908SBrad.Beckmann@amd.com# neither the name of the copyright holders nor the names of its 136908SBrad.Beckmann@amd.com# contributors may be used to endorse or promote products derived from 146908SBrad.Beckmann@amd.com# this software without specific prior written permission. 156908SBrad.Beckmann@amd.com# 166908SBrad.Beckmann@amd.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 176908SBrad.Beckmann@amd.com# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 186908SBrad.Beckmann@amd.com# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 196908SBrad.Beckmann@amd.com# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 206908SBrad.Beckmann@amd.com# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 216908SBrad.Beckmann@amd.com# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 226908SBrad.Beckmann@amd.com# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 236908SBrad.Beckmann@amd.com# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 246908SBrad.Beckmann@amd.com# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 256908SBrad.Beckmann@amd.com# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 266908SBrad.Beckmann@amd.com# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 276908SBrad.Beckmann@amd.com# 286908SBrad.Beckmann@amd.com# Author: Derek Hower 296908SBrad.Beckmann@amd.com 306908SBrad.Beckmann@amd.comfrom m5.params import * 316908SBrad.Beckmann@amd.comfrom m5.proxy import * 326908SBrad.Beckmann@amd.comfrom m5.SimObject import SimObject 336908SBrad.Beckmann@amd.com 349100SBrad.Beckmann@amd.comclass ReplacementPolicy(SimObject): 356908SBrad.Beckmann@amd.com type = 'ReplacementPolicy' 366908SBrad.Beckmann@amd.com cxx_class = 'AbstractReplacementPolicy' 376908SBrad.Beckmann@amd.com cxx_header = 'mem/ruby/structures/AbstractReplacementPolicy.hh' 386908SBrad.Beckmann@amd.com 396908SBrad.Beckmann@amd.com block_size = Param.Int(Parent.cache_line_size, "block size in bytes") 407551SBrad.Beckmann@amd.com 416908SBrad.Beckmann@amd.com size = Param.MemorySize(Parent.size, "capacity in bytes") 426908SBrad.Beckmann@amd.com 436908SBrad.Beckmann@amd.com assoc = Param.Int(Parent.assoc, "associativity") 446908SBrad.Beckmann@amd.com