Compilation Support for Superscalar Processors

نویسندگان

  • CARNEGIE MELLON
  • Mikko H. Lipasti
  • H. Lipasti
چکیده

This thesis describes work done in two areas of compilation support for superscalar processors; register allocation and instruction scheduling. Chapter 1 describes an approach to register allocation for superscalar processors that supports dynamic and speculative out-of-order execution of instructions and guarantees precise interrupts without expensive hardware for managing register usage and maintaining an in-order processor state. The approach is called extended register allocation, and is based on a graph-coloring paradigm for storage allocation first introduced by Chaitin in [2]. Chapter 2 presents a novel approach to performing aggressive instruction scheduling in the context of the superscalar IBM RS/6000 processor architecture[4, 5]. The approach seeks to enhance the instruction-level parallelism visible to the processor by speculatively moving instructions across conditional branches at compile-time, and taking appropriate measures to preserve correct program semantics. Results are presented which indicate that speedups of up to 6% are achievable on the existing RS/6000 implementation, while performance gains of up to 54% are possible with simple extensions to the current implementation in conjunction with the aggressive instruction scheduler that has been implemented. Chapter 3 explores the interaction of the register allocation and instruction scheduling [35, 42], and makes an attempt at developing a better understanding of the underlying interdependencies between the two techniques. A novel framework for integrating the two techniques, based on the ideas presented and the concept of coagulation [41,40] is also presented.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallelization of multimedia applications on the multi-level computing architecture

The Multi-Level Computing Architecture (MLCA) is a novel parallel System-on-a-Chip architecture targeted for multimedia applications. It features a top level controller that automatically extracts task level parallelism using techniques similar to how instruction level parallelism is extracted by superscalar processors. This allows the MLCA to support a simple programming model that is similar ...

متن کامل

Inter-block Scoreboard Scheduling in a JIT Compiler for VLIW Processors

We present a postpass instruction scheduling technique suitable for Just-In-Time (JIT) compilers targeted to VLIW processors. Its key features are: reduced compilation time and memory requirements; satisfaction of scheduling constraints along all program paths; and the ability to preserve existing prepass schedules, including software pipelines. This is achieved by combining two ideas: instruct...

متن کامل

Spatial Computation — Summary of the Ph.d. Thesis — 2 Motivation

Software compilation technology for targeting predicated architectures can be naturally adapted for performing the automatic synthesis of application-specific, custom hardware dataflow machines. This compilation methodology translates media processing kernels into hardware with a high degree of instructionlevel and pipeline parallelism. However, the resulting distributed computation structures ...

متن کامل

Heterogeneous BISR-approach using System Level Synthesis Flexibility

| We propose a novel methodology for designing fault-tolerant real-time system to achieve optimal productivity on a single-chip multiprocessor platform using the heterogeneous builtin-self-repair(BISR) based graceful degradation and yield enhancement technique as an embedded optimization engine which exploits task-level scheduling and algorithm selection exibility. We also developed a hardware ...

متن کامل

Practical Extended Register Allocation 8 Application to Speculative Execution 9

This thesis describes work done in two areas of compilation support for superscalar processors; register allocation and instruction scheduling. Chapter 1 describes an approach to register allocation for superscalar processors that supports dynamic and speculative out-of-order execution of instructions and guarantees precise interrupts without expensive hardware for managing register usage and m...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992