A Compiler Integrated Assistance for Optimum Data Allocation in Banked Memory Embedded Processors


Autoria(s): Mariamma, Chacko; Poulose Jacob,K
Data(s)

21/08/2014

21/08/2014

01/01/2012

Resumo

Bank switching in embedded processors having partitioned memory architecture results in code size as well as run time overhead. An algorithm and its application to assist the compiler in eliminating the redundant bank switching codes introduced and deciding the optimum data allocation to banked memory is presented in this work. A relation matrix formed for the memory bank state transition corresponding to each bank selection instruction is used for the detection of redundant codes. Data allocation to memory is done by considering all possible permutation of memory banks and combination of data. The compiler output corresponding to each data mapping scheme is subjected to a static machine code analysis which identifies the one with minimum number of bank switching codes. Even though the method is compiler independent, the algorithm utilizes certain architectural features of the target processor. A prototype based on PIC 16F87X microcontrollers is described. This method scales well into larger number of memory blocks and other architectures so that high performance compilers can integrate this technique for efficient code generation. The technique is illustrated with an example

International Journal of Software Engineering and Its Applications Vol. 6, No. 1, January, 2012

Cochin University of Science and Technology

Identificador

http://dyuthi.cusat.ac.in/purl/4668

Idioma(s)

en

Palavras-Chave #Banked Memory #Optimization #Data Allocation #Compilers #Embedded Systems
Tipo

Article