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