206a207,245
> void incrWb(InstSeqNum &sn)
> {
> if (++wbOutstanding == wbMax)
> ableToIssue = false;
> DPRINTF(IEW, "wbOutstanding: %i\n", wbOutstanding);
> #if DEBUG
> wbList.insert(sn);
> #endif
> }
>
> void decrWb(InstSeqNum &sn)
> {
> if (wbOutstanding-- == wbMax)
> ableToIssue = true;
> DPRINTF(IEW, "wbOutstanding: %i\n", wbOutstanding);
> #if DEBUG
> assert(wbList.find(sn) != wbList.end());
> wbList.erase(sn);
> #endif
> }
>
> #if DEBUG
> std::set<InstSeqNum> wbList;
>
> void dumpWb()
> {
> std::set<InstSeqNum>::iterator wb_it = wbList.begin();
> while (wb_it != wbList.end()) {
> cprintf("[sn:%lli]\n",
> (*wb_it));
> wb_it++;
> }
> }
> #endif
>
> bool canIssue() { return ableToIssue; }
>
> bool ableToIssue;
>
387,391c426,427
< /** Width of issue's read path, in instructions. The read path is both
< * the skid buffer and the rename instruction queue.
< * Note to self: is this really different than issueWidth?
< */
< unsigned issueReadWidth;
---
> /** Width of dispatch, in instructions. */
> unsigned dispatchWidth;
405a442,452
> /** Number of instructions in flight that will writeback. */
> unsigned wbOutstanding;
>
> /** Writeback width. */
> unsigned wbWidth;
>
> /** Writeback width * writeback depth, where writeback depth is
> * the number of cycles of writing back instructions that can be
> * buffered. */
> unsigned wbMax;
>