rob_impl.hh (13449:2f7efa89c58b) | rob_impl.hh (13453:4a7a060ea26e) |
---|---|
1/* 2 * Copyright (c) 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 --- 89 unchanged lines hidden (view full) --- 98 //Divide up by threshold amount 99 for (ThreadID tid = 0; tid < numThreads; tid++) { 100 maxEntries[tid] = threshold; 101 } 102 } else { 103 panic("Invalid ROB sharing policy. Options are: Dynamic, " 104 "Partitioned, Threshold"); 105 } | 1/* 2 * Copyright (c) 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 --- 89 unchanged lines hidden (view full) --- 98 //Divide up by threshold amount 99 for (ThreadID tid = 0; tid < numThreads; tid++) { 100 maxEntries[tid] = threshold; 101 } 102 } else { 103 panic("Invalid ROB sharing policy. Options are: Dynamic, " 104 "Partitioned, Threshold"); 105 } |
106 for (ThreadID tid = numThreads; tid < Impl::MaxThreads; tid++) { 107 maxEntries[tid] = 0; 108 } |
|
106 107 resetState(); 108} 109 110template <class Impl> 111void 112ROB<Impl>::resetState() 113{ | 109 110 resetState(); 111} 112 113template <class Impl> 114void 115ROB<Impl>::resetState() 116{ |
114 for (ThreadID tid = 0; tid < numThreads; tid++) { 115 doneSquashing[tid] = true; | 117 for (ThreadID tid = 0; tid < Impl::MaxThreads; tid++) { |
116 threadEntries[tid] = 0; 117 squashIt[tid] = instList[tid].end(); 118 squashedSeqNum[tid] = 0; | 118 threadEntries[tid] = 0; 119 squashIt[tid] = instList[tid].end(); 120 squashedSeqNum[tid] = 0; |
121 doneSquashing[tid] = true; |
|
119 } 120 numInstsInROB = 0; 121 122 // Initialize the "universal" ROB head & tail point to invalid 123 // pointers 124 head = instList[0].end(); 125 tail = instList[0].end(); 126} --- 440 unchanged lines hidden --- | 122 } 123 numInstsInROB = 0; 124 125 // Initialize the "universal" ROB head & tail point to invalid 126 // pointers 127 head = instList[0].end(); 128 tail = instList[0].end(); 129} --- 440 unchanged lines hidden --- |