diff options
| author | bd <bdunahu@operationnull.com> | 2025-03-05 14:17:45 -0500 | 
|---|---|---|
| committer | bd <bdunahu@operationnull.com> | 2025-03-05 14:17:45 -0500 | 
| commit | db158de830e4fd4ab20ef5d357e24147c7a9281d (patch) | |
| tree | a00ae7890a5b8eba91f81ac84d20a5ee0c5be0d6 /inc/cache.h | |
| parent | b4d1e8248400015f2fd0c4b0f04cf33dc867e9cd (diff) | |
constructors + method declarations for cache, dram, reponse, storage
Diffstat (limited to 'inc/cache.h')
| -rw-r--r-- | inc/cache.h | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/inc/cache.h b/inc/cache.h new file mode 100644 index 0000000..e808727 --- /dev/null +++ b/inc/cache.h @@ -0,0 +1,25 @@ +#ifndef CACHE_H +#define CACHE_H +#include <storage.h> + +class Cache : public Storage +{ +  public: +  /** +   * Constructor. +   * @param The number of `lines` contained in memory. The total number of +   * words is this number multiplied by 4. +   * @param The next lowest level in storage. Methods from this object are +   * called in case of a cache miss. +   * @param The number of clock cycles each access takes. +   * @return A new cache object. +   */ +  Cache(int lines, Storage *lower, int delay); +  ~Cache(); + +  Response *write(Accessor accessor, signed int data, int address) override; +  Response *read(Accessor accessor, int address) override; +  int **view(int base, int lines) override; +}; + +#endif /* CACHE_H_INCLUDED */ | 
