Open Access Open Access  Restricted Access Subscription Access
Open Access Open Access Open Access  Restricted Access Restricted Access Subscription Access

Optimization of Bank Switching Instructions in Microcontrollers Having Partitioned Memory Architectures


Affiliations
1 Department of Ship Technology, Cochin University of Science and Technology, Cochin, India
2 Department of Computer Science, Cochin University of Science and Technology, Cochin, India
     

   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
Notifications
Font Size

Abstract Views: 198

PDF Views: 1




  • Optimization of Bank Switching Instructions in Microcontrollers Having Partitioned Memory Architectures

Abstract Views: 198  |  PDF Views: 1

Authors

Mariamma Chacko
Department of Ship Technology, Cochin University of Science and Technology, Cochin, India
K. Poulose Jacob
Department of Computer Science, Cochin University of Science and Technology, Cochin, India

Abstract


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.