scoreboard.hh (10934:5af8f40d8f2c) scoreboard.hh (10935:acd48ddd725f)
1/*
2 * Copyright (c) 2013-2014 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

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

55
56/** A scoreboard of register dependencies including, for each register:
57 * The number of in-flight instructions which will generate a result for
58 * this register */
59class Scoreboard : public Named
60{
61 public:
62 /** The number of registers in the Scoreboard. These
1/*
2 * Copyright (c) 2013-2014 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

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

55
56/** A scoreboard of register dependencies including, for each register:
57 * The number of in-flight instructions which will generate a result for
58 * this register */
59class Scoreboard : public Named
60{
61 public:
62 /** The number of registers in the Scoreboard. These
63 * are just the integer, CC, float and vector registers packed
63 * are just the integer, CC and float registers packed
64 * together with integer regs in the range [0,NumIntRegs-1],
64 * together with integer regs in the range [0,NumIntRegs-1],
65 * CC regs in the range [NumIntRegs, NumIntRegs + NumCCRegs - 1],
66 * float regs in the range
67 * [NumIntRegs + NumCCRegs, NumFloatRegs + NumIntRegs + NumCCRegs - 1]
68 * and vector regs in the range [NumFloatRegs + NumIntRegs + NumCCRegs,
69 * NumFloatRegs + NumIntRegs + NumCCRegs + NumVectorRegs - 1]*/
65 * CC regs in the range [NumIntRegs, NumIntRegs+NumCCRegs-1]
66 * and float regs in the range
67 * [NumIntRegs+NumCCRegs, NumFloatRegs+NumIntRegs+NumCCRegs-1] */
70 const unsigned numRegs;
71
72 /** Type to use for thread context registers */
73 typedef TheISA::RegIndex RegIndex;
74
75 /** Type to use when indexing numResults */
76 typedef unsigned short int Index;
77

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

94 /** The execute sequence number of the most recent inst to generate this
95 * register value */
96 std::vector<InstSeqNum> writingInst;
97
98 public:
99 Scoreboard(const std::string &name) :
100 Named(name),
101 numRegs(TheISA::NumIntRegs + TheISA::NumCCRegs +
68 const unsigned numRegs;
69
70 /** Type to use for thread context registers */
71 typedef TheISA::RegIndex RegIndex;
72
73 /** Type to use when indexing numResults */
74 typedef unsigned short int Index;
75

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

92 /** The execute sequence number of the most recent inst to generate this
93 * register value */
94 std::vector<InstSeqNum> writingInst;
95
96 public:
97 Scoreboard(const std::string &name) :
98 Named(name),
99 numRegs(TheISA::NumIntRegs + TheISA::NumCCRegs +
102 TheISA::NumFloatRegs + TheISA::NumVectorRegs),
100 TheISA::NumFloatRegs),
103 numResults(numRegs, 0),
104 numUnpredictableResults(numRegs, 0),
105 fuIndices(numRegs, 0),
106 returnCycle(numRegs, Cycles(0)),
107 writingInst(numRegs, 0)
108 { }
109
110 public:

--- 37 unchanged lines hidden ---
101 numResults(numRegs, 0),
102 numUnpredictableResults(numRegs, 0),
103 fuIndices(numRegs, 0),
104 returnCycle(numRegs, Cycles(0)),
105 writingInst(numRegs, 0)
106 { }
107
108 public:

--- 37 unchanged lines hidden ---