gem5  v22.0.0.2
Public Member Functions | Public Attributes | List of all members
gem5::minor::Fetch1::Fetch1ThreadInfo Struct Reference

Stage cycle-by-cycle state. More...

#include <fetch1.hh>

Public Member Functions

 Fetch1ThreadInfo ()
 
 Fetch1ThreadInfo (const Fetch1ThreadInfo &other)
 

Public Attributes

FetchState state = FetchWaitingForPC
 
std::unique_ptr< PCStateBasepc
 Fetch PC value. More...
 
Addr fetchAddr = 0
 The address we're currently fetching lines from. More...
 
InstSeqNum streamSeqNum = InstId::firstStreamSeqNum
 Stream sequence number. More...
 
InstSeqNum predictionSeqNum = InstId::firstPredictionSeqNum
 Prediction sequence number. More...
 
bool blocked = false
 Blocked indication for report. More...
 
bool wakeupGuard = false
 Signal to guard against sleeping first cycle of wakeup. More...
 

Detailed Description

Stage cycle-by-cycle state.

Definition at line 244 of file fetch1.hh.

Constructor & Destructor Documentation

◆ Fetch1ThreadInfo() [1/2]

gem5::minor::Fetch1::Fetch1ThreadInfo::Fetch1ThreadInfo ( )
inline

Definition at line 247 of file fetch1.hh.

◆ Fetch1ThreadInfo() [2/2]

gem5::minor::Fetch1::Fetch1ThreadInfo::Fetch1ThreadInfo ( const Fetch1ThreadInfo other)
inline

Definition at line 249 of file fetch1.hh.

Member Data Documentation

◆ blocked

bool gem5::minor::Fetch1::Fetch1ThreadInfo::blocked = false

Blocked indication for report.

Definition at line 279 of file fetch1.hh.

Referenced by gem5::minor::Fetch1::minorTrace().

◆ fetchAddr

Addr gem5::minor::Fetch1::Fetch1ThreadInfo::fetchAddr = 0

The address we're currently fetching lines from.

Definition at line 265 of file fetch1.hh.

Referenced by gem5::minor::Fetch1::changeStream(), gem5::minor::Fetch1::fetchLine(), and gem5::minor::Fetch1::wakeupFetch().

◆ pc

std::unique_ptr<PCStateBase> gem5::minor::Fetch1::Fetch1ThreadInfo::pc

Fetch PC value.

This is updated by branches from Execute, branch prediction targets from Fetch2. This is only valid immediately following a redirect from one of those two sources.

Definition at line 262 of file fetch1.hh.

Referenced by gem5::minor::Fetch1::changeStream(), gem5::minor::Fetch1::processResponse(), and gem5::minor::Fetch1::wakeupFetch().

◆ predictionSeqNum

InstSeqNum gem5::minor::Fetch1::Fetch1ThreadInfo::predictionSeqNum = InstId::firstPredictionSeqNum

Prediction sequence number.

This changes when requests from Execute or Fetch2 ask for a change of fetch address and is used to tag lines by the prediction to which they belong. Fetch2 originates prediction sequence numbers.

Definition at line 276 of file fetch1.hh.

Referenced by gem5::minor::Fetch1::fetchLine(), gem5::minor::Fetch1::FetchRequest::isDiscardable(), and gem5::minor::Fetch1::updateExpectedSeqNums().

◆ state

FetchState gem5::minor::Fetch1::Fetch1ThreadInfo::state = FetchWaitingForPC

◆ streamSeqNum

InstSeqNum gem5::minor::Fetch1::Fetch1ThreadInfo::streamSeqNum = InstId::firstStreamSeqNum

Stream sequence number.

This changes on request from Execute and is used to tag instructions by the fetch stream to which they belong. Execute originates new prediction sequence numbers.

Definition at line 270 of file fetch1.hh.

Referenced by gem5::minor::Fetch1::evaluate(), gem5::minor::Fetch1::fetchLine(), gem5::minor::Fetch1::FetchRequest::isDiscardable(), gem5::minor::Fetch1::minorTrace(), and gem5::minor::Fetch1::updateExpectedSeqNums().

◆ wakeupGuard

bool gem5::minor::Fetch1::Fetch1ThreadInfo::wakeupGuard = false

Signal to guard against sleeping first cycle of wakeup.

Definition at line 282 of file fetch1.hh.

Referenced by gem5::minor::Fetch1::changeStream(), and gem5::minor::Fetch1::wakeupFetch().


The documentation for this struct was generated from the following file:

Generated on Thu Jul 28 2022 13:34:09 for gem5 by doxygen 1.8.17