• DocumentCode
    1821313
  • Title

    Comparison of Bank Change Mechanisms for Banked Reduced Encoding Architectures

  • Author

    Lee, Je-Hyung ; Moon, Soo-Mook ; Choi, Hyung-Kyu

  • Author_Institution
    Seoul Nat. Univ., Seoul, South Korea
  • Volume
    2
  • fYear
    2009
  • fDate
    29-31 Aug. 2009
  • Firstpage
    334
  • Lastpage
    341
  • Abstract
    Embedded systems often require small code size due to their tight memory constraints. Although the reduced encoding architectures such as the ARM THUMB or the MIPS-16 can successfully reduce the code size due to its half-sized instructions, they suffer from higher spills due to their shortened register fields which constrain available registers, thus affecting the code size and the performance negatively. One solution is reconstructing the original register file into the banked one and allowing only one bank to be active at a time using a bank change instruction. This can make all of the original registers available for register allocation, thus reducing the spills. This requires efficient banked register allocation by partitioning the code into two regions, one for each register bank. One important factor that affects the partitioning is the bank change mechanism, and two bank change mechanisms have been proposed, toggling and selection. Toggling simplifies the code partitioning, while selection is flexible in the code partitioning which, in theory, can distribute the register pressure better. This paper evaluates both mechanisms in the same context of dual register banks to understand their impact on the code size and the performance. Our experimental results indicate that selection fails to achieve smaller code or better performance than toggling due to excessive inter-bank copies even when it can partition regions aggressively.
  • Keywords
    bank data processing; embedded systems; optimising compilers; storage management; ARM THUMB; MIPS-16; bank change mechanisms; banked reduced encoding architectures; embedded systems; memory constraints; register allocation; register file; Computer architecture; Embedded computing; Embedded system; Encoding; Government; Moon; Registers; Research and development; Thumb; Virtual machining; banked register; code optimization; embedded system; register allocation; register bank;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computational Science and Engineering, 2009. CSE '09. International Conference on
  • Conference_Location
    Vancouver, BC
  • Print_ISBN
    978-1-4244-5334-4
  • Electronic_ISBN
    978-0-7695-3823-5
  • Type

    conf

  • DOI
    10.1109/CSE.2009.358
  • Filename
    5284079