Skip to content

Class simtix::pipelined::ExecuteStage

ClassList > simtix > pipelined > ExecuteStage

Execute the instruction. More...

  • #include <execute_stage.h>

Public Functions

Type Name
void Execute ()
Perform the Execute stage operations.
ExecuteStage (PipelinedSMImpl * sm, const PipelinedSM::Param & p)
Constructor of ExecuteStage .
~ExecuteStage () = default

Protected Attributes

Type Name
std::vector< FixedLatencyUnit > alu_array_
std::vector< BaseFunctionUnit * > fu_array_
std::vector< FixedLatencyUnit > idiv_array_
std::vector< FixedLatencyUnit > imul_array_
const uint32_t kExecuteWidth
uint32_t prioritized_fu_id_
PipelinedSMImpl *const sm_

Protected Functions

Type Name
void CollectFinishedInstr ()
Execute instruction and issue it to commit stage.
void DispatchPendingInstr ()
Dispatch instruction to appropriate execution unit.

Detailed Description

This stage is responsible for dispatching instruction to appropriate execution unit, executing instruction and issuing ready instruction to commit stage.

Public Functions Documentation

function Execute

Perform the Execute stage operations.

void simtix::pipelined::ExecuteStage::Execute () 

Execute the instruction from execute_iq then transfer the instruction to commit stage.


function ExecuteStage

Constructor of ExecuteStage .

simtix::pipelined::ExecuteStage::ExecuteStage (
    PipelinedSMImpl * sm,
    const PipelinedSM::Param & p
) 

Parameters:

  • sm Pointer to the PipelinedSMImpl instance.
  • p Pipeline configuration parameters from pipeline.h.

function ~ExecuteStage

simtix::pipelined::ExecuteStage::~ExecuteStage () = default

Protected Attributes Documentation

variable alu_array_

std::vector<FixedLatencyUnit> simtix::pipelined::ExecuteStage::alu_array_;

variable fu_array_

std::vector<BaseFunctionUnit *> simtix::pipelined::ExecuteStage::fu_array_;

variable idiv_array_

std::vector<FixedLatencyUnit> simtix::pipelined::ExecuteStage::idiv_array_;

variable imul_array_

std::vector<FixedLatencyUnit> simtix::pipelined::ExecuteStage::imul_array_;

variable kExecuteWidth

const uint32_t simtix::pipelined::ExecuteStage::kExecuteWidth;

variable prioritized_fu_id_

uint32_t simtix::pipelined::ExecuteStage::prioritized_fu_id_;

variable sm_

PipelinedSMImpl* const simtix::pipelined::ExecuteStage::sm_;

Protected Functions Documentation

function CollectFinishedInstr

Execute instruction and issue it to commit stage.

void simtix::pipelined::ExecuteStage::CollectFinishedInstr () 


function DispatchPendingInstr

Dispatch instruction to appropriate execution unit.

void simtix::pipelined::ExecuteStage::DispatchPendingInstr () 



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