• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

sst/elements/genericProc/ssBackEnd/smpProc.h

00001 // Copyright 2010 Sandia Corporation. Under the terms
00002 // of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S.
00003 // Government retains certain rights in this software.
00004 // 
00005 // Copyright (c) 2007,2010, Sandia Corporation
00006 // All rights reserved.
00007 // 
00008 // This file is part of the SST software package. For license
00009 // information, see the LICENSE file in the top level directory of the
00010 // distribution.
00011 
00012 
00013 #ifndef SMPPROC_H
00014 #define SMPPROC_H
00015 
00016 #include "ssb.h"
00017 #include "ssb_memory.h"
00018 #include <map>
00019 
00020 using namespace std;
00021 
00022 class mainProc;
00023 
00024 //: Conventinoal SMP processor
00025 class smpProc {
00026   typedef enum {INVALID, SHARED, EXCLUSIVE} blkTag;
00027   typedef map<simAddress, blkTag> tagMap;
00028   tagMap blkTags;
00029   void writeBackBlock(simAddress);
00030   unsigned long long invalidates[2];
00031   unsigned long long busMemAccess;
00032   unsigned long long writeBacks;
00033   mainProc *myMainProc;
00034   simAddress getBAddr(simAddress a);
00035 public:
00036   smpProc(mainProc *mp);
00037   //virtual unsigned getFEBDelay() {return 8;}
00038   virtual void noteWrite(const simAddress a);
00039   virtual void busReadMiss(simAddress);
00040   virtual void busWriteMiss(simAddress);
00041   virtual void busWriteHit(simAddress);
00042   virtual void finish();
00043 
00044   virtual void handleCoher(const simAddress, const enum mem_cmd cmd);
00045 };
00046 
00047 #endif

Generated on Fri Oct 22 2010 11:02:24 for SST by  doxygen 1.7.1