Execution Models for Processors and Instructions - Archive ouverte HAL Access content directly
Conference Papers Year : 2010

Execution Models for Processors and Instructions

(1) , (2) , (2)
1
2
Pavlu Viktor
  • Function : Author
  • PersonId : 882814
Krall Andreas
  • Function : Author
  • PersonId : 882815

Abstract

Modeling the execution of a processor and its instructions is a challenging problem, in particular in the presence of long pipelines, parallelism, and out-of-order execution. A naive approach based on finite state automata inevitably leads to an explosion in the number of states and is thus only applicable to simple minimalistic processors. During their execution, instructions may only proceed forward through the processor's datapath towards the end of the pipeline. The state of later pipeline stages is thus independent of potential hazards in preceding stages. This also applies for data hazards, i.e., we may observe data by-passing from a later stage to an earlier one, but not in the other direction. Based on this observation, we explore the use of a series of parallel finite automata to model the execution states of the processor's resources individually. The automaton model captures state updates of the individual resources along with the movement of instructions through the pipeline. A highly-flexible synchronization scheme built into the automata enables an elegant modeling of parallel computations, pipelining, and even out-of-order execution. An interesting property of our approach is the ability to model a subset of a given processor using a sub-automaton of the full execution model.
Not file

Dates and versions

ensl-00537179 , version 1 (17-11-2010)

Identifiers

  • HAL Id : ensl-00537179 , version 1

Cite

Florian Brandner, Pavlu Viktor, Krall Andreas. Execution Models for Processors and Instructions. NORCHIP 2010, IEEE, Nov 2010, Finland. ⟨ensl-00537179⟩
125 View
0 Download

Share

Gmail Facebook Twitter LinkedIn More