Deleted Added
sdiff udiff text old ( 9444:ab47fe7f03f0 ) new ( 9954:72a72649a156 )
full compact
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

--- 38 unchanged lines hidden (view full) ---

47#include <string>
48#include <utility>
49#include <vector>
50
51#include "arch/registers.hh"
52#include "base/types.hh"
53#include "config/the_isa.hh"
54
55/**
56 * ROB class. The ROB is largely what drives squashing.
57 */
58template <class Impl>
59class ROB
60{
61 protected:
62 typedef TheISA::RegIndex RegIndex;

--- 23 unchanged lines hidden (view full) ---

86 /** Per-thread ROB status. */
87 Status robStatus[Impl::MaxThreads];
88
89 /** ROB resource sharing policy for SMT mode. */
90 ROBPolicy robPolicy;
91
92 public:
93 /** ROB constructor.
94 * @param _numEntries Number of entries in ROB.
95 * @param _squashWidth Number of instructions that can be squashed in a
96 * single cycle.
97 * @param _smtROBPolicy ROB Partitioning Scheme for SMT.
98 * @param _smtROBThreshold Max Resources(by %) a thread can have in the ROB.
99 * @param _numThreads The number of active threads.
100 */
101 ROB(O3CPU *_cpu, unsigned _numEntries, unsigned _squashWidth,
102 std::string smtROBPolicy, unsigned _smtROBThreshold,
103 ThreadID _numThreads);
104
105 std::string name() const;
106
107 /** Sets pointer to the list of active threads.
108 * @param at_ptr Pointer to the list of active threads.
109 */
110 void setActiveThreads(std::list<ThreadID> *at_ptr);
111

--- 236 unchanged lines hidden ---