Class simtix::pipelined::FetchBuf
ClassList > simtix > pipelined > FetchBuf
Implement a buffer for fetching instructions.
#include <fetch_buf.h>
Classes
Type | Name |
---|---|
struct | Entry Represent a single fetch buffer entry containing fetched instructions and control data. |
Public Functions
Type | Name |
---|---|
void | Allocate (Warp * warp, uint64_t fetch_addr, std::optional< uint32_t > ssw) Allocate an fetch buffer entry. |
FetchBuf (const PipelinedSM::Param & p) Construtor of Fetch Buffer. |
|
Entry * | GetPendingFetchReq () Retrieve the first pending fetch request. |
Entry * | GetPendingFetchResp () Retrieve the first pending fetch response. |
void | ServePendingFetchReq () Notify that the first pending fetch request is served. |
void | ServePendingFetchResp () Notify that the first pending fetch response is served. |
bool | empty () const |
bool | full () const |
Protected Attributes
Type | Name |
---|---|
std::vector< Entry > | buf_ |
sim::SizedQueue< uint32_t > | free_ids_ |
sim::SizedQueue< uint32_t > | pending_req_ids_ |
sim::SizedQueue< uint32_t > | pending_resp_ids_ |
Public Functions Documentation
function Allocate
Allocate an fetch buffer entry.
void simtix::pipelined::FetchBuf::Allocate (
Warp * warp,
uint64_t fetch_addr,
std::optional< uint32_t > ssw
)
Parameters:
warp
Pointer to the warp for the fetch entry.fetch_addr
The address for the fetch entry.ssw
Spatial sub-warp ID.
function FetchBuf
Construtor of Fetch Buffer.
Parameters:
p
Pipeline configuration parameters from pipeline.h.
function GetPendingFetchReq
Retrieve the first pending fetch request.
Returns:
The first pending fetch request if present, otherwise nullptr.
function GetPendingFetchResp
Retrieve the first pending fetch response.
Returns:
The first pending fetch response if present, otherwise nullptr.
function ServePendingFetchReq
Notify that the first pending fetch request is served.
function ServePendingFetchResp
Notify that the first pending fetch response is served.
function empty
function full
Protected Attributes Documentation
variable buf_
variable free_ids_
variable pending_req_ids_
variable pending_resp_ids_
The documentation for this class was generated from the following file projects/simtix/src/simtix/sm/pipelined/fetch_buf.h