comm.hh (2674:6d4afef73a20) | comm.hh (2935:d1223a6c9156) |
---|---|
1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 74 unchanged lines hidden (view full) --- 83 84 int size; 85 86 DynInstPtr insts[Impl::MaxWidth]; 87 88 bool squash[Impl::MaxThreads]; 89 bool branchMispredict[Impl::MaxThreads]; 90 bool branchTaken[Impl::MaxThreads]; | 1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 74 unchanged lines hidden (view full) --- 83 84 int size; 85 86 DynInstPtr insts[Impl::MaxWidth]; 87 88 bool squash[Impl::MaxThreads]; 89 bool branchMispredict[Impl::MaxThreads]; 90 bool branchTaken[Impl::MaxThreads]; |
91 bool condDelaySlotBranch[Impl::MaxThreads]; |
|
91 uint64_t mispredPC[Impl::MaxThreads]; 92 uint64_t nextPC[Impl::MaxThreads]; 93 InstSeqNum squashedSeqNum[Impl::MaxThreads]; 94 95 bool includeSquashInst[Impl::MaxThreads]; 96}; 97 98template<class Impl> --- 9 unchanged lines hidden (view full) --- 108template<class Impl> 109struct TimeBufStruct { 110 struct decodeComm { 111 bool squash; 112 bool predIncorrect; 113 uint64_t branchAddr; 114 115 InstSeqNum doneSeqNum; | 92 uint64_t mispredPC[Impl::MaxThreads]; 93 uint64_t nextPC[Impl::MaxThreads]; 94 InstSeqNum squashedSeqNum[Impl::MaxThreads]; 95 96 bool includeSquashInst[Impl::MaxThreads]; 97}; 98 99template<class Impl> --- 9 unchanged lines hidden (view full) --- 109template<class Impl> 110struct TimeBufStruct { 111 struct decodeComm { 112 bool squash; 113 bool predIncorrect; 114 uint64_t branchAddr; 115 116 InstSeqNum doneSeqNum; |
117 InstSeqNum bdelayDoneSeqNum; |
|
116 117 // @todo: Might want to package this kind of branch stuff into a single 118 // struct as it is used pretty frequently. 119 bool branchMispredict; 120 bool branchTaken; 121 uint64_t mispredPC; 122 uint64_t nextPC; 123 --- 36 unchanged lines hidden (view full) --- 160 uint64_t mispredPC; 161 uint64_t nextPC; 162 163 // Represents the instruction that has either been retired or 164 // squashed. Similar to having a single bus that broadcasts the 165 // retired or squashed sequence number. 166 InstSeqNum doneSeqNum; 167 | 118 119 // @todo: Might want to package this kind of branch stuff into a single 120 // struct as it is used pretty frequently. 121 bool branchMispredict; 122 bool branchTaken; 123 uint64_t mispredPC; 124 uint64_t nextPC; 125 --- 36 unchanged lines hidden (view full) --- 162 uint64_t mispredPC; 163 uint64_t nextPC; 164 165 // Represents the instruction that has either been retired or 166 // squashed. Similar to having a single bus that broadcasts the 167 // retired or squashed sequence number. 168 InstSeqNum doneSeqNum; 169 |
170 InstSeqNum bdelayDoneSeqNum; 171 bool squashDelaySlot; 172 |
|
168 //Just in case we want to do a commit/squash on a cycle 169 //(necessary for multiple ROBs?) 170 bool commitInsts; 171 InstSeqNum squashSeqNum; 172 173 // Communication specifically to the IQ to tell the IQ that it can 174 // schedule a non-speculative instruction. 175 InstSeqNum nonSpecSeqNum; --- 23 unchanged lines hidden --- | 173 //Just in case we want to do a commit/squash on a cycle 174 //(necessary for multiple ROBs?) 175 bool commitInsts; 176 InstSeqNum squashSeqNum; 177 178 // Communication specifically to the IQ to tell the IQ that it can 179 // schedule a non-speculative instruction. 180 InstSeqNum nonSpecSeqNum; --- 23 unchanged lines hidden --- |