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