Presentation is loading. Please wait.

Presentation is loading. Please wait.

ARM Processor.

Similar presentations


Presentation on theme: "ARM Processor."— Presentation transcript:

1 ARM Processor

2 History Started in 1983 as a project for Acorn Computers Ltd
The original processor was an advanced MOS Technology 6502 (an 8-bit microprocessor designed by MOS Technology in 1975 considered the least expensive at the time

3 History ARM1 ARM2 ARM3 Completed in 1985
First “real” production systems 32-bit data bus 26-bit address space 16 32-bit registers (one of these served as the program counter Only transistors Did not have microcode No cache Performed better than the 286 4 million instructions per second ARM3 Consisted of a 4kb cache

4 History In the late 1980’s Apple Computer started working with Acorn and the company became Advanced RISC Machines ARM6 Apple used the ARM6-based ARM 610 as the basis for the Apple Newton PDA

5 History ARM6 ARM7TDMI StrongARM 35000 transistors
Most successful implementation DEC licensed this design and produced the StrongARM StrongARM 233MHz Drew only 1 watt of power Took over by Intel in a lawsuit and since then Intel developed the XScale (found in products such as the Dell Axim)

6 History The following companies all licensed the basic ARM design for various uses Motorola IBM Texas Instruments Nintendo Philips VLSI Sharp Samsung

7 Uses Hard-drives Mobile phones Routers Calculators Toys
Accounts for over 75% of embedded CPU’s

8 Introduction to ARM RISC design
Most of the instructions can be executed in one clock cycle Low power consumption (no heat sinks or fans required) Easy to program Allows for pipelining Thumb NEON Jazelle

9 Registers 16 registers (R0 to R15 R13 – used for stack operations
R14 – used for the link register (used for storing return addresses in the construction of sub routines R15 – the program counter

10 ARM Assembly MODE 28 :REM If you have an A310 etc. try MODE 15
DIM mcode% :REM This line reserves 1024 bytes of memory REM which start at position mcode% P%=mcode% :REM P% is a reserved variable which acts as a pointer REM while assembling the code REM we wish the code to start at mcode% [ :REM Note this is the square bracket (to the right REM of the P key). REM This tells BASIC to enter the ARM assembler, all REM commands from now are in ARM assembler. ADD R0,R1,R2 :REM Our ARM code instruction MOV PC,R14 :REM This instruction copies the value in R14 (link REM register contains the return address to return to REM BASIC) into the program counter hence REM jumping to the next BASIC line after running REM our ARM code program. ] :REM Leave the ARM code assembler and return to BASIC.

11 ARM Assembly INPUT"Enter an integer value "B%
INPUT"Enter another integer value"C% REM These two lines therefore will give their values to R1 and R2. A%=USR(mcode%) :REM This line runs the ARM code starting REM at mcode% REM (our assembled code) returning the REM value in R0 to BASIC. PRINT"The answer is ";A% :REM Print the answer. END

12 ARM Assembly MODE28 DIM mcode% 1024 P%=mcode% [ ADD R0,R1,R2
MOV PC,R14 ] INPUT"Enter an integer value "B% INPUT"Enter another integer value"C% A%=USR(mcode%) PRINT"The answer is ";A% END

13 Listing 00008FD8 00008FD8 E ADD R0,R1,R2 00008FDC 1A0F00E MOV PC,R14

14 Another Example Code in C int gcd(int i, int j) { while (i != j)
if (i > j) i -= j; else j -= i; return i; }

15 Another Example Assembly Code b test loop subgt Ri,Ri,Rj
suble Rj,Rj,Ri test cmp Ri,Rj bne loop


Download ppt "ARM Processor."

Similar presentations


Ads by Google