/[smarc]/smarc/src/vmachine/cache.h
ViewVC logotype

Diff of /smarc/src/vmachine/cache.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by misto, Sat Dec 28 16:28:11 2002 UTC revision 1.4 by misto, Sun Dec 29 23:45:23 2002 UTC
# Line 36  Line 36 
36   */   */
37  class cache : public circuit {  class cache : public circuit {
38          private:          private:
39                    const unsigned int mem_size;
40                  vector<bit_word> mem;                  vector<bit_word> mem;
41                    
42          public:          public:
43                  enum mode { wr, rd };                  enum mode { wr, rd };
44                    enum size { byte, ubyte, half, uhalf, word };
45    
46                  cache() // 64*4*1024 = 256K                  cache() // 64*4*1024 = 256K
47                          : circuit(2, 1), mem(64*1024) {};                          : circuit(2, 1), mem_size(64 * 1024),
48                                    mem(mem_size) {};
49    
50                  void process( mode m = rd ){                  void process( mode m = rd, size s = word );
                         // mode: 0 - rd,  1 - write  
                         unsigned long addr = (get_in(1)).b();  
   
                         if (m == rd)  
                                 set_out(0 , mem[ addr/4 ] );  
                         else  
                                 mem[ addr/4 ] = get_in( 1 );  
                 }  
51  };  };
52    
53  #endif  #endif

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26