source: trunk/IPs/systemC/Environnement/Cache/src/Cache.cpp @ 78

Last change on this file since 78 was 78, checked in by rosiere, 16 years ago

Add :

  • Execute_loop (must be test systemC)
  • Prediction
    • Direction : predifined scheme
    • Branch Target Buffer
  • iFetch_unit
    • ifetch_queue
    • pc management
  • Decod_unit
    • coming soon : support for custom operation
  • Rename_unit
    • RAT
    • Free_list
    • Dependence RAW check
    • Load store unit pointer
  • New Environnement (hierarchy_memory will remove in a next version)


Modif :

  • Manage Custom Operation
  • All component in execute_loop to use the new statistics management

Not Finish :

  • Return Address Stack
  • Environnement
File size: 1.2 KB
Line 
1#include "../include/Cache.h"
2#include <sstream>
3
4namespace environnement {
5namespace cache {
6
7  Cache::Cache (std::string name,
8                Parameters * param)
9  {
10    this->name  = name;
11    this->param = param;
12
13    cache_shared = new cache_multilevel::Cache_MultiLevel (name+"_cache_shared",param->param_cache_shared);
14
15    icache_dedicated = new cache_multilevel::Cache_MultiLevel * [param->nb_cache_dedicated];
16    dcache_dedicated = new cache_multilevel::Cache_MultiLevel * [param->nb_cache_dedicated];
17
18      for (uint32_t i=0; i<param->nb_cache_dedicated; i++)
19        {
20          {
21            std::stringstream str;
22            str << name << "_icache_dedicated_" << i;
23
24            icache_dedicated [i] = new cache_multilevel::Cache_MultiLevel(str.str(),param->param_icache_dedicated [i]);
25          }
26          {
27            std::stringstream str;
28            str << name << "_dcache_dedicated_" << i;
29
30            dcache_dedicated [i] = new cache_multilevel::Cache_MultiLevel(str.str(),param->param_dcache_dedicated [i]);
31          }
32        }
33  }
34
35  Cache::~Cache (void)
36  {
37    for (uint32_t i=0; i<param->nb_cache_dedicated; i++)
38      {
39        delete    icache_dedicated [i];
40        delete    dcache_dedicated [i];
41      }
42    delete [] icache_dedicated;
43    delete [] dcache_dedicated;
44    delete    cache_shared    ;
45  }
46};
47};
Note: See TracBrowser for help on using the repository browser.