tagged.hh revision 5034
16906SBrad.Beckmann@amd.com/*
26906SBrad.Beckmann@amd.com * Copyright (c) 2005 The Regents of The University of Michigan
36906SBrad.Beckmann@amd.com * All rights reserved.
46906SBrad.Beckmann@amd.com *
56906SBrad.Beckmann@amd.com * Redistribution and use in source and binary forms, with or without
66906SBrad.Beckmann@amd.com * modification, are permitted provided that the following conditions are
76906SBrad.Beckmann@amd.com * met: redistributions of source code must retain the above copyright
86906SBrad.Beckmann@amd.com * notice, this list of conditions and the following disclaimer;
96906SBrad.Beckmann@amd.com * redistributions in binary form must reproduce the above copyright
106906SBrad.Beckmann@amd.com * notice, this list of conditions and the following disclaimer in the
116906SBrad.Beckmann@amd.com * documentation and/or other materials provided with the distribution;
126906SBrad.Beckmann@amd.com * neither the name of the copyright holders nor the names of its
136906SBrad.Beckmann@amd.com * contributors may be used to endorse or promote products derived from
146906SBrad.Beckmann@amd.com * this software without specific prior written permission.
156906SBrad.Beckmann@amd.com *
166906SBrad.Beckmann@amd.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
176906SBrad.Beckmann@amd.com * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
186906SBrad.Beckmann@amd.com * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
196906SBrad.Beckmann@amd.com * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
206906SBrad.Beckmann@amd.com * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
216906SBrad.Beckmann@amd.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
226906SBrad.Beckmann@amd.com * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
236906SBrad.Beckmann@amd.com * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
246906SBrad.Beckmann@amd.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
256906SBrad.Beckmann@amd.com * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
266906SBrad.Beckmann@amd.com * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
276906SBrad.Beckmann@amd.com *
286906SBrad.Beckmann@amd.com * Authors: Ron Dreslinski
296906SBrad.Beckmann@amd.com */
308183Snilay@cs.wisc.edu
316906SBrad.Beckmann@amd.com/**
326906SBrad.Beckmann@amd.com * @file
336906SBrad.Beckmann@amd.com * Describes a tagged prefetcher.
349100SBrad.Beckmann@amd.com */
3510529Smorr@cs.wisc.edu
366906SBrad.Beckmann@amd.com#ifndef __MEM_CACHE_PREFETCH_TAGGED_PREFETCHER_HH__
376906SBrad.Beckmann@amd.com#define __MEM_CACHE_PREFETCH_TAGGED_PREFETCHER_HH__
386906SBrad.Beckmann@amd.com
396906SBrad.Beckmann@amd.com#include "mem/cache/prefetch/base_prefetcher.hh"
406906SBrad.Beckmann@amd.com
416906SBrad.Beckmann@amd.comclass TaggedPrefetcher : public BasePrefetcher
426906SBrad.Beckmann@amd.com{
437538SBrad.Beckmann@amd.com  protected:
447538SBrad.Beckmann@amd.com
457538SBrad.Beckmann@amd.com    Tick latency;
4610519Snilay@cs.wisc.edu    int degree;
476906SBrad.Beckmann@amd.com
486906SBrad.Beckmann@amd.com  public:
496906SBrad.Beckmann@amd.com
506906SBrad.Beckmann@amd.com    TaggedPrefetcher(const BaseCacheParams *p);
516906SBrad.Beckmann@amd.com
526906SBrad.Beckmann@amd.com    ~TaggedPrefetcher() {}
536906SBrad.Beckmann@amd.com
546906SBrad.Beckmann@amd.com    void calculatePrefetch(PacketPtr &pkt, std::list<Addr> &addresses,
556906SBrad.Beckmann@amd.com                           std::list<Tick> &delays);
566906SBrad.Beckmann@amd.com};
576906SBrad.Beckmann@amd.com
586906SBrad.Beckmann@amd.com#endif // __MEM_CACHE_PREFETCH_TAGGED_PREFETCHER_HH__
596906SBrad.Beckmann@amd.com