Compilation techniques for a reconfigurable LIW architecture |
| |
Authors: | Rajiv Gupta Mary Lou Soffa |
| |
Affiliation: | (1) Philips Laboratories, North American Philips Corporation, 345 Scarborough Road, 10510 Briarcliff Manor, NY, USA;(2) Department of Computer Science, University of Pittsburgh, 15260 Pittsburgh, PA, USA |
| |
Abstract: | Matching an application to an architecture in structure and size is a way of achieving higher computation speed. This paper presents a combination of a compiler and a reconfigurable long instruction word (RLIW) architecture as an approach to the matching problem. Configurations suitable for the execution of different parts of a program are determined by a compiler, and code is generated for both reconfiguring the hardware and performing the computation. The RLIW machine, consisting of multiple processing and global data memory modules, effectively utilizes the fine-grained parallelism detected in programs by a compiler. The long word instructions control the operation of processing and memory modules in the system. To reduce the data transfer between processing modules and data memory modules, we provide reconfigurable interconnections among the processing modules which permit direct communication. The compiler uses new techniques, including region scheduling, generation of code for reconfiguration of the system, and memory allocation techniques, to achieve improved performance. Algorithms for packing operations into long word instructions and techniques for effectively assigning memory modules to the operands required by an instruction are developed. Results of the experiments to evaluate the system indicate that speedups of 60–300% can be obtained for both scientific and nonscientific programs. The reconfigurable architecture is responsible for much of the speedup. Also, the results indicate that the major problem of memory bottleneck faced in designing parallel systems is successfully attacked.This paper represents work done while the author was at the University of Pittsburgh |
| |
Keywords: | reconfigurable architecture long instruction word parallel memories program dependence graph fine-grained parallelism code scheduling code optimizations |
本文献已被 SpringerLink 等数据库收录! |
|