jQuery / Prototype Developer

Saturday, 10 November 2012

ARM processors




ARM is a 32-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by ARM Holdings. It was known as the Advanced RISC Machine, and before that as the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in terms of numbers produced.Originally conceived by Acorn Computers for use in its personal computers, the first ARM-based products were the Acorn Archimedes range introduced in 1987.



The relative simplicity of ARM processors makes them suitable for low power applications. As a result, they have become dominant in the mobile and embedded electronics market, as relatively low-cost, small microprocessors and microcontrollers. In 2005, about 98% of the more than one billion mobile phones sold each year used at least one ARM processor. As of 2009[update], ARM processors account for approximately 90% of all embedded 32-bit RISC processors and are used extensively in consumer electronics, including PDAs, mobile phones, digital media and music players, hand-held game consoles, calculators and computer peripherals such as hard drives and routers.




OPERATING MODES

The Programmers Model can be split into two elements - first of all, the processor modes and secondly, the processor registers. So let’s start by looking at the modes.
Now the typical application will run in an unprivileged mode know as “User” mode, whereas the various exception types will be dealt with in one of the privileged modes : Fast Interrupt, Supervisor, Abort, Normal Interrupt and Undefined (and we will look at what causes each of the exceptions later on).
NB - spell out the word FIQ, otherwise you are saying something rude in German!
One question here is what is the difference between the privileged and unprivileged modes? Well in reality very little really - the ARM core has an output signal (nTRANS on ARM7TDMI, InTRANS, DnTRANS on 9, or encoded as part of HPROT or BPROT in AMBA) which indicates whether the current mode is privileged or unprivileged, and this can be used, for instance, by a memory controller to only allow IO access in a privileged mode. In addition some operations are only permitted in a privileged mode, such as directly changing the mode and enabling of interrupts.
All current ARM cores implement system mode (added in architecture v4). This is simply a privileged version of user mode.  Important for re-entrant exceptions because no exceptions can cause system mode to be entered.

The ARM has seven basic operating modes:
      USER : unprivileged mode under which most tasks run
      FIQ : entered when a high priority (fast) interrupt is raised
      IRQ : entered when a low priority (normal) interrupt is raised
      SUPERVISOR :entered on reset and when a Software Interrupt instruction is executed
      ABORT: used to handle memory access violations
      UDEF: used to handle undefined instructions
      SYSTEM :  privileged mode using the same registers as user mode


 3-STAGE PIPELINING




 


 The ARM7 and earlier implementations have a three stage pipeline; the stages being fetch, decode.
1)     Fetch
Ø  The instruction is fetched from memory and placed in the instruction pipeline.
2)     Decode
Ø  The instruction is decoded and the datapath control signals prepared for the next cycle.
3)     Execute
Ø  The register bank is read, an operand shifted, the ALU result generated and written back into destination register.


Want more??:


No comments:

Post a Comment