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