lsq_impl.hh (9444:ab47fe7f03f0) lsq_impl.hh (9868:44a67004d6b4)
1/*
2 * Copyright (c) 2011-2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

56template <class Impl>
57LSQ<Impl>::LSQ(O3CPU *cpu_ptr, IEW *iew_ptr, DerivO3CPUParams *params)
58 : cpu(cpu_ptr), iewStage(iew_ptr),
59 LQEntries(params->LQEntries),
60 SQEntries(params->SQEntries),
61 numThreads(params->numThreads),
62 retryTid(-1)
63{
1/*
2 * Copyright (c) 2011-2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

56template <class Impl>
57LSQ<Impl>::LSQ(O3CPU *cpu_ptr, IEW *iew_ptr, DerivO3CPUParams *params)
58 : cpu(cpu_ptr), iewStage(iew_ptr),
59 LQEntries(params->LQEntries),
60 SQEntries(params->SQEntries),
61 numThreads(params->numThreads),
62 retryTid(-1)
63{
64 assert(numThreads > 0 && numThreads <= Impl::MaxThreads);
65
64 //**********************************************/
65 //************ Handle SMT Parameters ***********/
66 //**********************************************/
67 std::string policy = params->smtLSQPolicy;
68
69 //Convert string to lowercase
70 std::transform(policy.begin(), policy.end(), policy.begin(),
71 (int(*)(int)) tolower);

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

104 "%i entries per LQ | %i entries per SQ\n",
105 maxLQEntries,maxSQEntries);
106 } else {
107 assert(0 && "Invalid LSQ Sharing Policy.Options Are:{Dynamic,"
108 "Partitioned, Threshold}");
109 }
110
111 //Initialize LSQs
66 //**********************************************/
67 //************ Handle SMT Parameters ***********/
68 //**********************************************/
69 std::string policy = params->smtLSQPolicy;
70
71 //Convert string to lowercase
72 std::transform(policy.begin(), policy.end(), policy.begin(),
73 (int(*)(int)) tolower);

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

106 "%i entries per LQ | %i entries per SQ\n",
107 maxLQEntries,maxSQEntries);
108 } else {
109 assert(0 && "Invalid LSQ Sharing Policy.Options Are:{Dynamic,"
110 "Partitioned, Threshold}");
111 }
112
113 //Initialize LSQs
114 thread = new LSQUnit[numThreads];
112 for (ThreadID tid = 0; tid < numThreads; tid++) {
113 thread[tid].init(cpu, iew_ptr, params, this,
114 maxLQEntries, maxSQEntries, tid);
115 thread[tid].setDcachePort(&cpu_ptr->getDataPort());
116 }
117}
118
119

--- 538 unchanged lines hidden ---
115 for (ThreadID tid = 0; tid < numThreads; tid++) {
116 thread[tid].init(cpu, iew_ptr, params, this,
117 maxLQEntries, maxSQEntries, tid);
118 thread[tid].setDcachePort(&cpu_ptr->getDataPort());
119 }
120}
121
122

--- 538 unchanged lines hidden ---