Design and implementation of a queue compiler

  • Authors:
  • Arquimedes Canedo;Ben A. Abderazek;Masahiro Sowa

  • Affiliations:
  • IBM Tokyo Research Laboratory, 1623-14 Shimotsuruma, Yamato-shi, Kanagawa-ken 242-8502, Japan;Department of Computer Hardware, University of Aizu, Aizu-Wakamatsu, Fukushima-ken 965-8580, Japan;Graduate School of Information Systems, The University of Electro-Communications, Chofugaoka 1-5-1, Chofu-shi, 182-8585 Tokyo, Japan

  • Venue:
  • Microprocessors & Microsystems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Queue processors are a viable alternative for high performance embedded computing and parallel processing. We present the design and implementation of a compiler for a queue-based processor. Instructions of a queue processor implicitly reference their operands making the programs free of false dependencies. Compiling for a queue machine differs from traditional compilation methods for register machines. The queue compiler is responsible for scheduling the program in level-order manner to expose natural parallelism and calculating instructions relative offset values to access their operands. This paper describes the phases and data structures used in the queue compiler to compile C programs into assembly code for the QueueCore, an embedded queue processor. Experimental results demonstrate that our compiler produces good code in terms of parallelism and code size when compared to code produced by a traditional compiler for a RISC processor.