fu_pool.hh (10807:dac26eb4cb64) fu_pool.hh (10814:46b6043bd32c)
1/*
2 * Copyright (c) 2012-2013 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

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

38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 *
40 * Authors: Kevin Lim
41 */
42
43#ifndef __CPU_O3_FU_POOL_HH__
44#define __CPU_O3_FU_POOL_HH__
45
1/*
2 * Copyright (c) 2012-2013 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

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

38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 *
40 * Authors: Kevin Lim
41 */
42
43#ifndef __CPU_O3_FU_POOL_HH__
44#define __CPU_O3_FU_POOL_HH__
45
46#include <array>
46#include <bitset>
47#include <list>
48#include <string>
49#include <vector>
50
51#include "cpu/op_class.hh"
52#include "params/FUPool.hh"
53#include "sim/sim_object.hh"

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

66 * them as their scheduled execution events complete. This limits units in this
67 * model to either have identical issue and op latencies, or 1 cycle issue
68 * latencies.
69 */
70class FUPool : public SimObject
71{
72 private:
73 /** Maximum op execution latencies, per op class. */
47#include <bitset>
48#include <list>
49#include <string>
50#include <vector>
51
52#include "cpu/op_class.hh"
53#include "params/FUPool.hh"
54#include "sim/sim_object.hh"

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

67 * them as their scheduled execution events complete. This limits units in this
68 * model to either have identical issue and op latencies, or 1 cycle issue
69 * latencies.
70 */
71class FUPool : public SimObject
72{
73 private:
74 /** Maximum op execution latencies, per op class. */
74 Cycles maxOpLatencies[Num_OpClasses];
75 std::array<Cycles, Num_OpClasses> maxOpLatencies;
75 /** Whether op is pipelined or not. */
76 /** Whether op is pipelined or not. */
76 bool pipelined[Num_OpClasses];
77 std::array<bool, Num_OpClasses> pipelined;
77
78 /** Bitvector listing capabilities of this FU pool. */
79 std::bitset<Num_OpClasses> capabilityList;
80
81 /** Bitvector listing which FUs are busy. */
82 std::vector<bool> unitBusy;
83
84 /** List of units to be freed at the end of this cycle. */

--- 90 unchanged lines hidden ---
78
79 /** Bitvector listing capabilities of this FU pool. */
80 std::bitset<Num_OpClasses> capabilityList;
81
82 /** Bitvector listing which FUs are busy. */
83 std::vector<bool> unitBusy;
84
85 /** List of units to be freed at the end of this cycle. */

--- 90 unchanged lines hidden ---