Process Algebraic Model of Superscalar Processor Programs for Instruction Level Timing Analysis

This paper illustrates a formal technique for describing timing properties and resource constraints of pipelined out of order superscalar processor instructions at a high level. The degree of parallelism depends on the multiplicity of hardware functional units as well as data dependencies among instructions. Thus, the timing properties of a superscalar program are difficult to analyze and predict. We describe how to model the instruction level architecture of a superscalar processor using ACSR and how to derive the temporal behavior of an assembly program using ACSR laws. Our approach is to model superscalar processor registers as ACSR resources, instructions as ACSR processes, and use ACSR priorities to achieve maximum possible instruction-level parallelism.

[1]  Jin-Young Choi,et al.  Timing analysis of superscalar processor programs using ACSR , 1994, Proceedings of 11th IEEE Workshop on Real-Time Operating Systems and Software.

[2]  Paul D. Franzon,et al.  System-level specification of instruction sets , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[3]  Insup Lee,et al.  A process algebraic approach to the specification and analysis of resource-bound real-time systems , 1994, Proc. IEEE.

[4]  Mike Johnson,et al.  Superscalar microprocessor design , 1991, Prentice Hall series in innovative technology.

[5]  Sang Lyul Min,et al.  Efficient worst case timing analysis of data caching , 1996, Proceedings Real-Time Technology and Applications.

[6]  Isabelle Puaut,et al.  Worst Case Execution Time Analysis for a Processor with Branch Prediction , 2004, Real-Time Systems.