Title :
Optimization of Bank Switching Instructions in Embedded Systems through Static Analysis of Machine Codes
Author :
Chacko, Mariamma ; Jacob, Poulose
Author_Institution :
Dept. of Ship Technol., Cochin Univ. of Sci. & Technol., Cochin
Abstract :
This paper describes a static machine code analyzer which helps to eliminate the redundant bank switching instructions in partitioned memory architectures. Our approach rests on a state transition diagram representing the memory bank switching corresponding to each bank selection instruction. Redundant data memory bank selection instructions in the intraprocedural sequence, loops and interprocedural routines in the application program are eliminated. Analysis is done at machine code levels, so no software or runtime overhead. This results in reduced code size as well as increased execution speed. No assertion or annotated assembly code is needed. This method scales well into large number of memory blocks as well as other architectures, once appropriate information is available. A prototype based on PIC 16F87X microcontrollers is described. A detailed algorithm is prescribed in this paper.
Keywords :
embedded systems; memory architecture; PIC 16F87X microcontrollers; bank switching instruction optimization; intraprocedural sequence; machine codes; memory blocks; partitioned memory architectures; redundant data memory bank selection instructions; static analysis; static machine code analyzer; Application software; Assembly; Embedded software; Embedded system; Memory architecture; Microcontrollers; Optimizing compilers; Random access memory; Runtime; Software safety;
Conference_Titel :
Advance Computing Conference, 2009. IACC 2009. IEEE International
Conference_Location :
Patiala
Print_ISBN :
978-1-4244-2927-1
Electronic_ISBN :
978-1-4244-2928-8
DOI :
10.1109/IADCC.2009.4808984