46 #ifndef __CPU_MINOR_SCOREBOARD_HH__
47 #define __CPU_MINOR_SCOREBOARD_HH__
74 typedef unsigned short int Index;
std::vector< Index > numUnpredictableResults
Count of the number of results which can't be predicted.
const std::string & name() const
Cycles is a wrapper class for representing cycle counts, i.e.
Top level definition of the Minor in-order CPU model.
unsigned short int Index
Type to use when indexing numResults.
ThreadContext is the external interface to all thread state for anything outside of the CPU...
This file contains miscellaneous classes and functions for formatting general trace information and a...
void minorTrace() const
MinorTraceIF interface.
std::vector< int > fuIndices
Index of the FU generating this result.
std::vector< InstSeqNum > writingInst
The execute sequence number of the most recent inst to generate this register value.
void clearInstDests(MinorDynInstPtr inst, bool clear_unpredictable)
Clear down the dependencies for this instruction.
void markupInstDests(MinorDynInstPtr inst, Cycles retire_time, ThreadContext *thread_context, bool mark_unpredictable)
Mark up an instruction's effects by incrementing numResults counts.
Scoreboard(const std::string &name)
bool canInstIssue(MinorDynInstPtr inst, const std::vector< Cycles > *src_reg_relative_latencies, const std::vector< bool > *cant_forward_from_fu_indices, Cycles now, ThreadContext *thread_context)
Can this instruction be issued.
InstSeqNum execSeqNumToWaitFor(MinorDynInstPtr inst, ThreadContext *thread_context)
Returns the exec sequence number of the most recent inst on which the given inst depends.
std::vector< Index > numResults
Count of the number of in-flight instructions that have results for each register.
A scoreboard of register dependencies including, for each register: The number of in-flight instructi...
bool findIndex(RegIndex reg, Index &scoreboard_index)
Sets scoreboard_index to the index into numResults of the given register index.
The dynamic instruction and instruction/line id (sequence numbers) definition for Minor...
TheISA::RegIndex RegIndex
Type to use for thread context registers.
std::vector< Cycles > returnCycle
The estimated cycle number that the result will be presented.
const unsigned numRegs
The number of registers in the Scoreboard.