Title :
Memory binding for performance optimization of control-flow intensive behavioral descriptions
Author :
Khouri, Kamal S. ; Lakshminarayana, Ganesh ; Jha, Niraj K.
Author_Institution :
Freescale Semicond., Austin, TX, USA
fDate :
5/1/2005 12:00:00 AM
Abstract :
This paper presents a memory binding algorithm for behaviors, used in application-specific integrated circuits (ASICs), that are characterized by the presence of conditionals and deeply nested loops that access memory extensively through arrays. Unlike previous works, this algorithm examines the effects of branch probabilities and allocation constraints. First, we demonstrate, through examples, the importance of incorporating branch probabilities and allocation constraint information when searching for a performance-efficient memory binding. We also show the interdependence of these two factors and how varying one without considering the other may greatly affect the performance of the behavior. Second, we introduce a memory binding algorithm that has the ability to examine numerous bindings by employing an efficient performance estimation procedure. The estimation procedure exploits locality of execution, which is an inherent characteristic of target behaviors. This enables the performance estimation technique to look at the global impact of the different bindings, given the allocation constraints. We tested our algorithm using a number of benchmarks from the parallel computing domain. A series of experiments demonstrates the algorithm´s ability to produce bindings that optimize performance, meet memory allocation constraints, and adapt to different resource constraints and branch probabilities. One limitation of our algorithm is that, in its current form, it is not well suited for system-on-a-chip synthesis where there is complex communication between general-purpose microprocessors that use custom-designed arrays. Results show that the algorithm requires 41% fewer memories with a performance loss of only 0.2% when compared to a parallel memory architecture. When compared to the best of a series of random memory bindings, the algorithm improves schedule performance by 22%.
Keywords :
application specific integrated circuits; high level synthesis; memory architecture; optimisation; storage allocation; application-specific integrated circuits; behavioral synthesis; branch probabilities; control-flow intensive behavioral descriptions; custom-designed arrays; general-purpose microprocessors; high-level synthesis; memory allocation constraints; memory binding; memory optimization; nested loops; parallel computing; parallel memory; performance estimation; performance optimization; schedule performance; system-on-a-chip synthesis; Application specific integrated circuits; Benchmark testing; Constraint optimization; Memory architecture; Memory management; Microprocessors; Parallel processing; Performance loss; Resource management; System-on-a-chip; Behavioral synthesis; binding; control-flow intesive designs; high-level synthesis; memory optimization;
Journal_Title :
Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
DOI :
10.1109/TVLSI.2005.844292