fetch_impl.hh (13429:a1e199fd8122) fetch_impl.hh (13453:4a7a060ea26e)
1/*
2 * Copyright (c) 2010-2014 ARM Limited
3 * Copyright (c) 2012-2013 AMD
4 * All rights reserved.
5 *
6 * The license below extends only to copyright in the software and shall
7 * not be construed as granting a license to any other intellectual
8 * property including but not limited to intellectual property relating

--- 66 unchanged lines hidden (view full) ---

75#include "sim/system.hh"
76#include "cpu/o3/isa_specific.hh"
77
78using namespace std;
79
80template<class Impl>
81DefaultFetch<Impl>::DefaultFetch(O3CPU *_cpu, DerivO3CPUParams *params)
82 : cpu(_cpu),
1/*
2 * Copyright (c) 2010-2014 ARM Limited
3 * Copyright (c) 2012-2013 AMD
4 * All rights reserved.
5 *
6 * The license below extends only to copyright in the software and shall
7 * not be construed as granting a license to any other intellectual
8 * property including but not limited to intellectual property relating

--- 66 unchanged lines hidden (view full) ---

75#include "sim/system.hh"
76#include "cpu/o3/isa_specific.hh"
77
78using namespace std;
79
80template<class Impl>
81DefaultFetch<Impl>::DefaultFetch(O3CPU *_cpu, DerivO3CPUParams *params)
82 : cpu(_cpu),
83 branchPred(nullptr),
83 decodeToFetchDelay(params->decodeToFetchDelay),
84 renameToFetchDelay(params->renameToFetchDelay),
85 iewToFetchDelay(params->iewToFetchDelay),
86 commitToFetchDelay(params->commitToFetchDelay),
87 fetchWidth(params->fetchWidth),
88 decodeWidth(params->decodeWidth),
89 retryPkt(NULL),
90 retryTid(InvalidThreadID),

--- 47 unchanged lines hidden (view full) ---

138 fatal("Invalid Fetch Policy. Options Are: {SingleThread,"
139 " RoundRobin,LSQcount,IQcount}\n");
140 }
141
142 // Get the size of an instruction.
143 instSize = sizeof(TheISA::MachInst);
144
145 for (int i = 0; i < Impl::MaxThreads; i++) {
84 decodeToFetchDelay(params->decodeToFetchDelay),
85 renameToFetchDelay(params->renameToFetchDelay),
86 iewToFetchDelay(params->iewToFetchDelay),
87 commitToFetchDelay(params->commitToFetchDelay),
88 fetchWidth(params->fetchWidth),
89 decodeWidth(params->decodeWidth),
90 retryPkt(NULL),
91 retryTid(InvalidThreadID),

--- 47 unchanged lines hidden (view full) ---

139 fatal("Invalid Fetch Policy. Options Are: {SingleThread,"
140 " RoundRobin,LSQcount,IQcount}\n");
141 }
142
143 // Get the size of an instruction.
144 instSize = sizeof(TheISA::MachInst);
145
146 for (int i = 0; i < Impl::MaxThreads; i++) {
146 decoder[i] = NULL;
147 fetchStatus[i] = Idle;
148 decoder[i] = nullptr;
149 pc[i] = 0;
150 fetchOffset[i] = 0;
151 macroop[i] = nullptr;
152 delayedCommit[i] = false;
153 memReq[i] = nullptr;
154 stalls[i] = {false, false};
147 fetchBuffer[i] = NULL;
148 fetchBufferPC[i] = 0;
149 fetchBufferValid[i] = false;
155 fetchBuffer[i] = NULL;
156 fetchBufferPC[i] = 0;
157 fetchBufferValid[i] = false;
158 lastIcacheStall[i] = 0;
159 issuePipelinedIfetch[i] = false;
150 }
151
152 branchPred = params->branchPred;
153
154 for (ThreadID tid = 0; tid < numThreads; tid++) {
155 decoder[tid] = new TheISA::Decoder(params->isa[tid]);
156 // Create space to buffer the cache line data,
157 // which may not hold the entire cache line.

--- 1519 unchanged lines hidden ---
160 }
161
162 branchPred = params->branchPred;
163
164 for (ThreadID tid = 0; tid < numThreads; tid++) {
165 decoder[tid] = new TheISA::Decoder(params->isa[tid]);
166 // Create space to buffer the cache line data,
167 // which may not hold the entire cache line.

--- 1519 unchanged lines hidden ---