The ARM Processor
The ARM Processor
The ARM Processor
History of ARM
Acorn Computers: a British computer company founded in Cambridge, England, in 1978, by Hermann Hauser and Chris Curry. The company produced a number of computers which were especially popular in the UK. These included the Acorn Electron, the BBC Micro and the Acorn Archimedes. Acorn's BBC Micro computer dominated the UK educational computer market during the 1980s and early 1990s. VLSI Technology, Inc. produced the first ARM processor based on Acorn designs. ARM based PCs did not sell well, Acorn acquired by Olivetti in 1985 ARM contracted to develop for Apple for the Apple Newton Handheld built by VLSI. The company was broken up into several independent operations in 2000, one of which, notably, was ARM Holdings ARM holdings primary business model is to license its RISC based designs to other manufactures.
Disadvantages
Poor code density compared with CISCs Doesnt execute x86 code
Minimize the power supply voltage Minimize the circuit activity Minimize the number of gates Minimize the clock frequency
Minimize voltage
Choose the lowest clock frequency that delivers the required performance, then set the poser supply voltage as low as is practical. Off-chip capacitances are much higher than on-chip loads Avoid clocking unnecessary circuit functions and to employ sleep modes where possible
ARM Architecture
RISC features incorporated by ARM
Delayed branches
N: Negative; the last ALU operation which changed the flags produced a negative result Z: Zero; the last ALU operation which changed the flags produced a zero result C: Carry; the last ALU operation which changed the flags generated a carry-out. V: Overflow; the last arithmetic ALU operation which changed the flags generated an overflow into the sign bit.
Viewed as a linear array of bytes numbered from 0 to 232-1 Data items may be
8-bit bytes 16-bit half-words 32-bit words
The instruction set will only process (add, subtract, etc.) values which are in registers (or specified directly within the instruction itself), and will always place the results of such processing into a register The only operations which apply to memory state are one which copy memory values into registers (load instructions) or copy register values from memory (store instructions)
These use and change only register values These copy memory values into registers (load instructions) or copy values into memory (store instructions). An additional form, useful only in systems code, exchanges a memory value with a register value.
Control flow instructions cause execution to switch to a different address, either permanently (branch instructions) or saving a return address to resume the original sequence (branch and link instructions) or trapping into system code (supervisor calls)
The ARM processor supports a protected supervisor mode. The protection mechanism to ensures that the user code cannot gain supervisor privileges without appropriate checks being carried out to ensure that the code is not attempting illegal operations
All ARM instructions are 32 bits wide and are aligned on 4-byte boundaries The exception is the compressed 16 bit Thumb instructions
Conditional execution of every instruction Inclusion of load and store multiple register instructions Ability to perform a general shift operation and a general ALU operation in a single instruction that executes in a single clock cycle Open instruction set extension through the coprocessor instruction set, including adding new registers and data types A very dense 16-bit compressed representation of the instruction set in the Thumb architecture
The ARM handles I/O peripherals as memory-mapped devices with interrupt support. The internal registers in these devices appear as addressable locations within the ARMs memory map and may be read and written using the same (load-store) instructions as any other memory location Peripherals may attract the processors attention by making an interrupt request using either the normal interrupt (IRQ) or the fast interrupt (FIQ) input
Principal components
addresses
The data registers The instruction decoder and associated control logic
Fetch The instruction is fetched from memory and placed in the instruction pipeline Decode The instruction is decoded and the data path control signals prepared for the next cycle. In this stage the instruction owns the decode logic but not the data path Execute The instruction owns the data path; the register bank is read, an operand shifted, the ALU result generated and written back into a destination register
Summary
The ARM processor has a rich history both in academia and in the commercial space. It uses innovative architectural design to achieve high performance with low power consumption. It is highly utilized in mobile and embedded devices due to its power characteristics and is one of the most populous processors currently used. It utilizes the RISC instruction set to achieve this performance. It also uses a variety of organizational designs such as pipelining, in addition to the instruction set. The ARM processor is a robust development platform that will be in use for many years to come.