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 |
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]; |
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 --- |