Machine modeling and loop optimization for horizontal microcoded machines
Abstract
Long Instruction Word (LIW) architecture exploits parallelism between various functional units. In order to produce efficient code for such an architecture, the microcode compiler will have to expose a relatively large degree of fine grain parallelism and it will have to take into account the fine level characteristics of the architecture. The goal of this paper is to focus on two main aspects of the compilation process for LIW architectures : micromachine modeling and loop optimization. The machine model that has been defined is firstly described. Then a new loop optimization algorithm based on the loop unrolling technique is introduced and compared to the classical software pipeling algorithm. This algorithm differs from the traditional lopp unrolling algorithm because the unrolling of the loop is only used to find a cyclic scheduling of the loop, then this scheduling allows a software pipelining to be constructed.