P. 1
ARM Processor

ARM Processor

|Views: 32|Likes:
Published by Vijayendra Yadav

More info:

Published by: Vijayendra Yadav on Apr 24, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less





ARM Processor

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

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

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 ARM6basis for the Apple Newton PDA .

History   ARM6  35000 transistors Most successful implementation DEC licensed this design and produced the 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) ARM7TDMI    StrongARM    .

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

Uses       HardHard-drives Mobile phones Routers Calculators Toys Accounts for over 75% of embedded CPU s .

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 .

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 .

ADD R0. REM This tells BASIC to enter the ARM assembler. try MODE 15 DIM mcode% 1024 :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).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.R1.ARM Assembly MODE 28 :REM If you have an A310 etc. all REM commands from now are in ARM assembler. ] :REM Leave the ARM code assembler and return to BASIC.R2 :REM Our ARM code instruction MOV PC. .

A% :REM Print the answer.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. END . PRINT"The answer is ". 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.

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

R1.Listing    00008FD8 00008FD8 00008FDC E0810002 1A0F00E ADD R0.R14 .R2 MOV PC.

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

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

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->