Open Access
Subscription Access
Open Access
Subscription Access
Optimization of Bank Switching Instructions in Microcontrollers Having Partitioned Memory Architectures
Subscribe/Renew Journal
This paper describes an optimization algorithm and its implementation, developed for a static machine code analyzer which helps to eliminate the redundant bank switching instructions in partitioned memory architectures. The Optimization algorithm rests on a relation matrix formed for the memory bank state transition corresponding to each bank selection instruction. Redundant data and program 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 and the results obtained for a sample program is presented.
Keywords
Debugging Aids, Memory Bank Switching, Optimization, Real-Time and Embedded Systems, Software Development.
User
Subscription
Login to verify subscription
Font Size
Information
Abstract Views: 198
PDF Views: 1