gem5 v24.0.0.0
Loading...
Searching...
No Matches
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.
 
Addr fetchAddr = 0
 The address we're currently fetching lines from.
 
InstSeqNum streamSeqNum = InstId::firstStreamSeqNum
 Stream sequence number.
 
InstSeqNum predictionSeqNum = InstId::firstPredictionSeqNum
 Prediction sequence number.
 
bool blocked = false
 Blocked indication for report.
 
bool wakeupGuard = false
 Signal to guard against sleeping first cycle of wakeup.
 

Detailed Description

Stage cycle-by-cycle state.

Definition at line 243 of file fetch1.hh.

Constructor & Destructor Documentation

◆ Fetch1ThreadInfo() [1/2]

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

Definition at line 246 of file fetch1.hh.

◆ Fetch1ThreadInfo() [2/2]

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

Definition at line 248 of file fetch1.hh.

Member Data Documentation

◆ blocked

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

Blocked indication for report.

Definition at line 278 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 264 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 261 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 275 of file fetch1.hh.

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

◆ state

◆ 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 269 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 281 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 Tue Jun 18 2024 16:24:20 for gem5 by doxygen 1.11.0