Jump to content

26-bit computing

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Signalhead (talk | contribs) at 17:21, 18 September 2008 (Spelling error corrected: "seperated" ==> sepArated). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In ARM processor architecture, 26-bit refers to the design used in the original ARM processors, where the Program Counter(PC) and Processor Status Register(PSR) were combined into one 32-bit register (R15), the Status flags filling the high 6 bits and the Program Counter taking up the lower "26" bits.

Infact, because the Program Counter is always word-aligned the lowest two bits are always zero which allowed the designers to reuse these two bits to hold the processor's mode bits too. The 4 modes allowed were USR26; SVC26; IRQ26; FIQ26, contrast this with the 32 possible modes available when the program status was separated from the program counter in more recent ARM architectures.

This design enabled more efficient program execution, as the Program Counter and Status flags could be saved and restored with a single operation. This resulted in faster subroutine calls and interrupt response than traditional designs, which would have to do two register load/saves when calling or returning from a subroutine.

History

Despite being 32-bit internally, processors prior to the ARM6 had only a 26-bit PC and address bus, and were consequently limited to 64MB of addressable memory. This was still a vast amount of memory at the time, but because of this limitation, architectures since have included various steps away from the original 26-bit design.

The ARM6 introduced a 32-bit PC and separate PSR, as well as a 32-bit address bus, allowing 4GB of memory to be addressed. The change in the PC/PSR layout caused incompatibility with code written for previous architectures, so the processor also included a 26-bit compatibility mode which used the old PC/PSR combination. The processor could still address 4GB in this mode, but could not execute anything above address 3FFFFFC (64MB). This mode was used by RISC OS running on the Acorn Risc PC to utilise the new processors while retaining compatibility with existing software.

More recent ARM architectures such as Intel's XScale have dropped the 26-bit mode altogether.