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 and float registers packed |
64 * together with integer regs in the range [0,NumIntRegs-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] */ |
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 + |
100 TheISA::NumFloatRegs), |
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 --- |