Esempio n. 1
0
        public Proc(Cache cache, AuxCache aux_cache, L1Cache l1_cache, string trace_fname)
        {
            pid = pmax;
            pmax++;

            //components
            inst_wnd = new InstWnd(Config.proc.inst_wnd_max);
            mshr     = new List <Req>(Config.proc.mshr_max);
            wb_q     = new List <Req>(2 * Config.proc.wb_q_max);

            //other components
            Stat.procs[pid].trace_fname = trace_fname;
            trace          = new Trace(pid, trace_fname);
            this.cache     = cache;
            this.aux_cache = aux_cache;
            this.l1_cache  = l1_cache;


            cache_hit_queue   = new LinkedList <Req>();
            mem_queue         = new LinkedList <Req>();
            pollution_vector  = new CachePollutionVector();
            service_counter   = new ServiceCounter();
            t_excess_per_proc = new double[Config.N];
            stride_prefetcher = new StridePrefetcher();

            //initialize
            curr_rd_req        = get_req();
            total_read_latency = 0;
            high_priority_total_miss_latency = 0;
            high_priority_total_hit_latency  = 0;
            high_priority_total_misses       = 0;

            total_miss_latency = 0;
            total_hit_latency  = 0;
        }
Esempio n. 2
0
        public Proc(Cache cache, L1Cache l1_cache, string trace_fname)
        {
            pid = pmax;
            pmax++;

            //components
            inst_wnd = new InstWnd(Config.proc.inst_wnd_max);
            mshr = new List<ulong>(Config.proc.mshr_max);
            wb_q = new List<Req>(2 * Config.proc.wb_q_max);

            //other components
            Stat.procs[pid].trace_fname = trace_fname;
            trace = new Trace(pid, trace_fname);
            this.cache = cache;
            this.l1_cache = l1_cache;

            cache_hit_queue = new LinkedList<Req>();
            mem_queue = new LinkedList<Req>();
            criticality_table = new ulong[1024]; 
            criticality_running_table = new ulong[1024]; 

            //initialize
            curr_rd_req = get_req();
            total_read_latency = 0;            
        }
Esempio n. 3
0
        public Proc(Cache cache, L1Cache l1_cache, string trace_fname)
        {
            pid = pmax;
            pmax++;

            //components
            inst_wnd = new InstWnd(Config.proc.inst_wnd_max);
            mshr     = new List <ulong>(Config.proc.mshr_max);
            wb_q     = new List <Req>(2 * Config.proc.wb_q_max);

            //other components
            Stat.procs[pid].trace_fname = trace_fname;
            trace         = new Trace(pid, trace_fname);
            this.cache    = cache;
            this.l1_cache = l1_cache;

            cache_hit_queue           = new LinkedList <Req>();
            mem_queue                 = new LinkedList <Req>();
            criticality_table         = new ulong[1024];
            criticality_running_table = new ulong[1024];

            //initialize
            curr_rd_req        = get_req();
            total_read_latency = 0;
        }
Esempio n. 4
0
        public Proc(string trace_fname)
        {
            pid = pmax;
            pmax++;
            //components
            inst_wnd = new InstWnd(Config.proc.inst_wnd_max);
            mshr     = new List <ulong>(Config.proc.mshr_max);
            wb_q     = new List <Req>(2 * Config.proc.wb_q_max);

            //other components
            Stat.procs[pid].trace_fname = trace_fname;
            trace = new Trace(pid, trace_fname);

            //initialize
            curr_rd_req = get_req();
        }