Title :
Exploiting conditional instructions in code generation for embedded VLIW processors
Author_Institution :
Dept. of Comput. Sci., Dortmund Univ., Germany
Abstract :
This paper presents a new code optimization technique for a class of embedded processors. Modern embedded processor architectures show deep instruction pipelines and highly parallel VLIW-like instruction sets. For such architectures, any change in the control flow of a machine program due to a conditional jump may cause a significant code performance penalty. Therefore, the instruction sets of recent VLIW machines offer support for branch-free execution of conditional statements in the form of so-called conditional instructions. Whether an if-then-else statement is implemented by a conditional jump scheme or by conditional instructions has a strong impact on its worst-case execution time. However the optimal selection is difficult particularly for nested conditionals. We present a dynamic programming technique for selecting the fastest implementation for nested if-then-else statements based on estimations. The efficacy is demonstrated for a real-life VLIW DSP.
Keywords :
digital signal processing chips; dynamic programming; embedded systems; instruction sets; parallel architectures; pipeline processing; DSP; VLIW-like instruction sets; branch-free execution; code generation; code optimization technique; code performance penalty; conditional instructions; control flow; deep instruction pipelines; dynamic programming technique; embedded VLIW processors; if-then-else statement; nested conditionals; worst-case execution time; Application software; Birth disorders; Computer science; Digital signal processing; Dynamic programming; Instruction sets; Pipelines; Telecommunication control; Testing; VLIW;
Conference_Titel :
Design, Automation and Test in Europe Conference and Exhibition 1999. Proceedings
Conference_Location :
Munich, Germany
Print_ISBN :
0-7695-0078-1
DOI :
10.1109/DATE.1999.761104