Skip to content

Class simtix::AtomicArbitrator

ClassList > simtix > AtomicArbitrator

Inherits the following classes: simtix::BaseArbitrator

Public Types inherited from simtix::BaseArbitrator

See simtix::BaseArbitrator

Type Name
typedef std::function< void()> OnReady

Public Functions

Type Name
AtomicArbitrator (const ArchParam & p)
virtual void PushRegfileReadReq (const std::vector< Thread * > & active_threads, uint32_t reg_id, int64_t * data, OnReady on_ready) override
virtual void PushRegfileWriteReq (const std::vector< Thread * > & active_threads, uint32_t reg_id, int64_t * data, OnReady on_ready) override
virtual void PushRegfileWriteReq (const std::vector< Thread * > & active_threads, uint32_t reg_id, int64_t data, OnReady on_ready) override
virtual int64_t ReadRegfile (uint32_t wid, uint32_t tid, uint32_t reg_id) override
virtual void WriteRegfile (uint32_t wid, uint32_t tid, uint32_t reg_id, int64_t data) override
~AtomicArbitrator () = default

Public Functions inherited from simtix::BaseArbitrator

See simtix::BaseArbitrator

Type Name
virtual void PushRegfileReadReq (const std::vector< Thread * > & active_threads, uint32_t reg_id, int64_t * data, OnReady on_ready) = 0
virtual void PushRegfileWriteReq (const std::vector< Thread * > & active_threads, uint32_t reg_id, int64_t * data, OnReady on_ready) = 0
virtual void PushRegfileWriteReq (const std::vector< Thread * > & active_threads, uint32_t reg_id, int64_t data, OnReady on_ready) = 0
virtual int64_t ReadRegfile (uint32_t wid, uint32_t tid, uint32_t reg_id) = 0
virtual void WriteRegfile (uint32_t wid, uint32_t tid, uint32_t reg_id, int64_t data) = 0
virtual ~BaseArbitrator () = default

Public Functions Documentation

function AtomicArbitrator

explicit simtix::AtomicArbitrator::AtomicArbitrator (
    const ArchParam & p
) 

function PushRegfileReadReq

virtual void simtix::AtomicArbitrator::PushRegfileReadReq (
    const std::vector< Thread * > & active_threads,
    uint32_t reg_id,
    int64_t * data,
    OnReady on_ready
) override

Implements simtix::BaseArbitrator::PushRegfileReadReq


function PushRegfileWriteReq [1/2]

virtual void simtix::AtomicArbitrator::PushRegfileWriteReq (
    const std::vector< Thread * > & active_threads,
    uint32_t reg_id,
    int64_t * data,
    OnReady on_ready
) override

Implements simtix::BaseArbitrator::PushRegfileWriteReq


function PushRegfileWriteReq [2/2]

virtual void simtix::AtomicArbitrator::PushRegfileWriteReq (
    const std::vector< Thread * > & active_threads,
    uint32_t reg_id,
    int64_t data,
    OnReady on_ready
) override

Implements simtix::BaseArbitrator::PushRegfileWriteReq


function ReadRegfile

inline virtual int64_t simtix::AtomicArbitrator::ReadRegfile (
    uint32_t wid,
    uint32_t tid,
    uint32_t reg_id
) override

Implements simtix::BaseArbitrator::ReadRegfile


function WriteRegfile

inline virtual void simtix::AtomicArbitrator::WriteRegfile (
    uint32_t wid,
    uint32_t tid,
    uint32_t reg_id,
    int64_t data
) override

Implements simtix::BaseArbitrator::WriteRegfile


function ~AtomicArbitrator

simtix::AtomicArbitrator::~AtomicArbitrator () = default


The documentation for this class was generated from the following file projects/simtix/src/simtix/sm/arbitrator/atomic.h