rob.hh (13429:a1e199fd8122) rob.hh (13562:8fe39a3fc056)
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

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

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

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

46
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#include "enums/SMTQueuePolicy.hh"
54
55struct DerivO3CPUParams;
56
57/**
58 * ROB class. The ROB is largely what drives squashing.
59 */
60template <class Impl>
61class ROB

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

70
71 /** Possible ROB statuses. */
72 enum Status {
73 Running,
74 Idle,
75 ROBSquashing
76 };
77
55
56struct DerivO3CPUParams;
57
58/**
59 * ROB class. The ROB is largely what drives squashing.
60 */
61template <class Impl>
62class ROB

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

71
72 /** Possible ROB statuses. */
73 enum Status {
74 Running,
75 Idle,
76 ROBSquashing
77 };
78
78 /** SMT ROB Sharing Policy */
79 enum ROBPolicy{
80 Dynamic,
81 Partitioned,
82 Threshold
83 };
84
85 private:
86 /** Per-thread ROB status. */
87 Status robStatus[Impl::MaxThreads];
88
89 /** ROB resource sharing policy for SMT mode. */
79 private:
80 /** Per-thread ROB status. */
81 Status robStatus[Impl::MaxThreads];
82
83 /** ROB resource sharing policy for SMT mode. */
90 ROBPolicy robPolicy;
84 SMTQueuePolicy robPolicy;
91
92 public:
93 /** ROB constructor.
94 * @param _cpu The cpu object pointer.
95 * @param params The cpu params including several ROB-specific parameters.
96 */
97 ROB(O3CPU *_cpu, DerivO3CPUParams *params);
98

--- 243 unchanged lines hidden ---
85
86 public:
87 /** ROB constructor.
88 * @param _cpu The cpu object pointer.
89 * @param params The cpu params including several ROB-specific parameters.
90 */
91 ROB(O3CPU *_cpu, DerivO3CPUParams *params);
92

--- 243 unchanged lines hidden ---