scoreboard.hh (10935:acd48ddd725f) | scoreboard.hh (12104:edd63f9c6184) |
---|---|
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 --- 53 unchanged lines hidden (view full) --- 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 | 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 --- 53 unchanged lines hidden (view full) --- 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 76 /** Count of the number of in-flight instructions that 77 * have results for each register */ 78 std::vector<Index> numResults; 79 80 /** Count of the number of results which can't be predicted */ --- 23 unchanged lines hidden (view full) --- 104 returnCycle(numRegs, Cycles(0)), 105 writingInst(numRegs, 0) 106 { } 107 108 public: 109 /** Sets scoreboard_index to the index into numResults of the 110 * given register index. Returns true if the given register 111 * is in the scoreboard and false if it isn't */ | 70 /** Type to use when indexing numResults */ 71 typedef unsigned short int Index; 72 73 /** Count of the number of in-flight instructions that 74 * have results for each register */ 75 std::vector<Index> numResults; 76 77 /** Count of the number of results which can't be predicted */ --- 23 unchanged lines hidden (view full) --- 101 returnCycle(numRegs, Cycles(0)), 102 writingInst(numRegs, 0) 103 { } 104 105 public: 106 /** Sets scoreboard_index to the index into numResults of the 107 * given register index. Returns true if the given register 108 * is in the scoreboard and false if it isn't */ |
112 bool findIndex(RegIndex reg, Index &scoreboard_index); | 109 bool findIndex(RegId reg, Index &scoreboard_index); |
113 114 /** Mark up an instruction's effects by incrementing 115 * numResults counts. If mark_unpredictable is true, the inst's 116 * destination registers are marked as being unpredictable without 117 * an estimated retire time */ 118 void markupInstDests(MinorDynInstPtr inst, Cycles retire_time, 119 ThreadContext *thread_context, bool mark_unpredictable); 120 --- 25 unchanged lines hidden --- | 110 111 /** Mark up an instruction's effects by incrementing 112 * numResults counts. If mark_unpredictable is true, the inst's 113 * destination registers are marked as being unpredictable without 114 * an estimated retire time */ 115 void markupInstDests(MinorDynInstPtr inst, Cycles retire_time, 116 ThreadContext *thread_context, bool mark_unpredictable); 117 --- 25 unchanged lines hidden --- |