arm architecture basics.pdf

Upload: swarnadeep-dhar

Post on 04-Jun-2018

240 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 ARM Architecture Basics.pdf

    1/66

    K D E &

    CDAC K B

    1CDAC K , B

    CENE FO DEELOMEN OF ADANCED COMING

    AM A B

  • 8/13/2019 ARM Architecture Basics.pdf

    2/66

    AM H

    IC & CIC D

    AM F

    AM O

    AM

    AM

    E & I AM F O

    2CDAC K , B

  • 8/13/2019 ARM Architecture Basics.pdf

    3/66

  • 8/13/2019 ARM Architecture Basics.pdf

    4/66

    AM H

    AM A IC M(19831985)

    A C L, C, E

    AM A IC M 1990

    AM L, 1990AM

  • 8/13/2019 ARM Architecture Basics.pdf

    5/66

    AM H

    K 32

    C

    AM1 1985

    O AM AM7DMI,

  • 8/13/2019 ARM Architecture Basics.pdf

    6/66

    A IC M

    AM C IC

    AM .

    AM

  • 8/13/2019 ARM Architecture Basics.pdf

    7/66

    C AM

    3

    A

    A

    E

    F

    F NEC

    N

    I

    IBM

    M

    Motorola

    Panasonic

    Qualcomm Sharp

    Sanyo

    Sun Microsystems

    Sony

    Symbian

    Texas Instruments

    Toshiba Wipro

    .And many more

  • 8/13/2019 ARM Architecture Basics.pdf

    8/66

    AM A

    Apple iPod Nano Ford Sync In-Car Comm &

    Entertainment System

    Nokia N93 Sony Playstation 3 (60GB)

  • 8/13/2019 ARM Architecture Basics.pdf

    9/66

    AM

  • 8/13/2019 ARM Architecture Basics.pdf

    10/66

    AM A

  • 8/13/2019 ARM Architecture Basics.pdf

    11/66

    IC D

    IC

    A .I IC

    L .

    E : AM, AMEL A, MI, C

  • 8/13/2019 ARM Architecture Basics.pdf

    12/66

    CIC D

    CIC .

    CIC

    .

    .

    E : I 86 , M 68000.

  • 8/13/2019 ARM Architecture Basics.pdf

    13/66

    IC D

    I

    L A

  • 8/13/2019 ARM Architecture Basics.pdf

    14/66

    L A

    M

    LD ;

    ;

    A .

  • 8/13/2019 ARM Architecture Basics.pdf

    15/66

    AM D

    H

    AM I

  • 8/13/2019 ARM Architecture Basics.pdf

    16/66

    I

    16

    C E I

  • 8/13/2019 ARM Architecture Basics.pdf

    17/66

    AM D

    AM IC A I

    L A

    L N G

    B ICE

    HMB

    D I

    C E I 32 B

  • 8/13/2019 ARM Architecture Basics.pdf

    18/66

    AM F

  • 8/13/2019 ARM Architecture Basics.pdf

    19/66

    AM

    Incrementer

    Address Register

    ALU

    Barrel Shifter

    MAC

    Register Filer0 r15

    Sign Extend

    InstructionDecoder

    Read

    Data

    A B Acc

    Rd

    ResultBA

    r15

    pc

    Rn Rm

    N

    Address

  • 8/13/2019 ARM Architecture Basics.pdf

    20/66

    AM L A

    G

    37 , 32

    17 18 16

    2

  • 8/13/2019 ARM Architecture Basics.pdf

    21/66

    M

    0 12 G

    13 ()

    14 L ()

    15 C () C C

    R0R1

    R2

    R6

    R3

    R5

    R4

    R7

    R8

    R9R10

    R11

    R14

    R13R12

    R15

    CPSR

    SPSR

  • 8/13/2019 ARM Architecture Basics.pdf

    22/66

    C

    N Z C V I F T Mode

    31 30 29 28 7 6 5 4 0

    Condition Flags Processor ModeInterruptMasks

    Thumb State

    Function

    Bit

    FieldsFlags Status Extension Control

    AM

  • 8/13/2019 ARM Architecture Basics.pdf

    23/66

    M

    D

    & NA

    F I

    I

    Privileged

    Nonprivileged

  • 8/13/2019 ARM Architecture Basics.pdf

    24/66

  • 8/13/2019 ARM Architecture Basics.pdf

    25/66

    B

    B

    E

    B 16

    I ,

    E I

  • 8/13/2019 ARM Architecture Basics.pdf

    26/66

    C

    r0

    r1

    r2

    r3

    r4

    r5

    r6

    r7

    r8r9

    r10

    r11

    r12

    r13 sp

    r14 lrr15 pc

    cpsr

    -

    User Mode

    r13_irq

    r14_irq

    spsr_irq

    InterruptRequest

    Mode

    This change causes user

    register r13 and r14 tobe banked

    The user registers are

    replaced with registersr13_irq and r14_irq

    spsr stores the previous

    mode cpsr

  • 8/13/2019 ARM Architecture Basics.pdf

    27/66

    M

    : 4:0

    A 10111

    F I 10001

    I 10010

    10011

    11111 11011

    10000

    cpsr is not copied into the spsrwhen a modechange is forced due to a program writingdirectly to the cpsr.

  • 8/13/2019 ARM Architecture Basics.pdf

    28/66

    O M

    M C4:0

    10000

    FI 10001

    I 10010

    M 10011A 10111

    I 11011

    11111

  • 8/13/2019 ARM Architecture Basics.pdf

    29/66

    M

    FI F I

    I I

    E

    A E

  • 8/13/2019 ARM Architecture Basics.pdf

    30/66

    I

    AM

    J

    The Jazelle instruction set is a closed instruction set and isnot openly available.

    To take advantage of Jazelle extra software has to belicensed from both ARM Limited and Sun Microsystems.

  • 8/13/2019 ARM Architecture Basics.pdf

    31/66

    I

    ( 0)

    ( 1)

    I 32 16

    C I 58 30

    C E M O

    D I A

    AL

    AL

    / N

    15 G + C 8 G + 7 +

    C

  • 8/13/2019 ARM Architecture Basics.pdf

    32/66

    I

    ( 0, 1)

    I 8

    C I O 60%

    ;

  • 8/13/2019 ARM Architecture Basics.pdf

    33/66

    I M

    A

    IFI

    I I 1, F

    FI 1

  • 8/13/2019 ARM Architecture Basics.pdf

    34/66

    C F

    /

    C C

    ,

    N N B 31 1

  • 8/13/2019 ARM Architecture Basics.pdf

    35/66

    C F

    C

    AL

    I B ,

    C

    C

  • 8/13/2019 ARM Architecture Basics.pdf

    36/66

    C

    0 0 1 0 0 1 0 10011

    31 30 29 28 7 6 5 4 0

    nzCvq svci F tFunction

    Bit

    FieldsFlags Status Extension Control

    0

    24

    0

    27

    j

    cpsr = nzCvqjiFt_SVC

  • 8/13/2019 ARM Architecture Basics.pdf

    37/66

  • 8/13/2019 ARM Architecture Basics.pdf

    38/66

    I IC

    AM7

  • 8/13/2019 ARM Architecture Basics.pdf

    39/66

    AM7

    F

    D

    E

    Fetch Decode Execute

  • 8/13/2019 ARM Architecture Basics.pdf

    40/66

    ADD

    SUB ADD

    CMP SUB ADD

    Fetch Decode Execute

    Cycle 1

    Cycle 2

    Cycle 3

    Time

    F A

    AM9 F

  • 8/13/2019 ARM Architecture Basics.pdf

    41/66

    AM9 F

    Fetch Decode Execute Memory Write

    H

    L

    I 13% 5

    1.1 D MI MH

    AM9 F

  • 8/13/2019 ARM Architecture Basics.pdf

    42/66

    AM9 F

    F

    D

    E A AL

    M (B/D)

    D . O AL

    (B) ,

    AM10

  • 8/13/2019 ARM Architecture Basics.pdf

    43/66

    AM10

    Fetch Decode Execute Memory WriteIssue

    I 34% 6

    1.3 D MI MH

    C AM7 AM9 AM10

    AM I

  • 8/13/2019 ARM Architecture Basics.pdf

    44/66

    AM I

    MSR

    ADD

    AND

    SUB

    MSR

    ADD

    AND

    MSR

    ADD

    cpsrIFt_SVC

    cpsrIFt_SVC

    cpsriFt_SVC

    Fetch Decode Execute

    Cycle 1

    Cycle 2

    Cycle 3

    Time

    Cycle 4

    C

  • 8/13/2019 ARM Architecture Basics.pdf

    45/66

    C

    A

    C

    AM

    AM E

  • 8/13/2019 ARM Architecture Basics.pdf

    46/66

    AM E

    AM I, , C,

    Exceptions

    E , I,

  • 8/13/2019 ARM Architecture Basics.pdf

    47/66

    ,

    C

    ,

    A

  • 8/13/2019 ARM Architecture Basics.pdf

    48/66

    A

    /

    EE 000000000 00000

    I NDEF 000000004 00004

    I I 000000008 00008

    A AB 00000000C 0000C

    D A DAB 0000000010 00010

    0000000014 00014

    I I 0000000018 00018

    F I FI 000000001C 0001C

    E , I,

  • 8/13/2019 ARM Architecture Basics.pdf

    49/66

    ,

    I

    E

  • 8/13/2019 ARM Architecture Basics.pdf

    50/66

    E

    1. (H )

    2. D A

    3. FI

    4. I

    5. A6. I,

    C E

  • 8/13/2019 ARM Architecture Basics.pdf

    51/66

    C E

    AM

    I , ,

    C

    M M

    C

    C

  • 8/13/2019 ARM Architecture Basics.pdf

    52/66

    C

    C

    C

    AM

    M M

  • 8/13/2019 ARM Architecture Basics.pdf

    53/66

    M M

    MM

    C.

    MM

    .

    M

    C

    C

  • 8/13/2019 ARM Architecture Basics.pdf

    54/66

    C AM A ,

    , C

    . A

    .

    AM 15 , CM,

    D

  • 8/13/2019 ARM Architecture Basics.pdf

    55/66

    DescriptionParts Bits Architecture

    Mode 4:0 all processor mode

    T 5 ARMv4T Thumb stateI & F 7:6 all interrupt masksJ 24 ARMv5TEJ Jazelle stateQ 27 ARMv5TE condition flag

    V 28 all condition flagC 29 all condition flagZ 30 all condition flagN 31 all condition flag

    AM

  • 8/13/2019 ARM Architecture Basics.pdf

    56/66

    AM7, AM9, AM10 AM11

    7, 9, 10, 11

    AM

  • 8/13/2019 ARM Architecture Basics.pdf

    57/66

    (+ cache)

    ARM11

    eight-stage3350.4 mW/MHz

    1.2Harvard16 x 32

    ARM7

    three-stage800.06 mW/MHz

    0.97Von Neumann8 x 32

    ARM10

    six-stage2600. 5 mW/MHz

    1.3Harvard16 x 32

    (+ cache)

    ARM9

    five-stage1500.19 mW/MHz

    1.1Harvard8 x 32

    (+ cache)

    Pipeline depthTypical MHz

    MIPS/MHz

    MultiplierArchitecture

    mW/MHz

    AM F

  • 8/13/2019 ARM Architecture Basics.pdf

    58/66

    A

  • 8/13/2019 ARM Architecture Basics.pdf

    59/66

    Revision Example coreImplementation

    ISA enhancement

    ARMv1 ARM1 First ARM Processor26 bit addressingARMv2 ARM2 32 bit multiplier

    32 bit coprocessor supportARMv2a ARM3 On chip cache

    Atomic swap instruction

    ARMv3 ARM6 & ARM7DI 32 bit addressingSeparate cpsr & spsrNew modes UNDEF, ABORTMMU support virtual memory

    ARMv3M ARM7MARMv4 StrongARM Signed & unsigned long multiplyLoad store instructionNew Mode - System

    A

  • 8/13/2019 ARM Architecture Basics.pdf

    60/66

    Revision Example coreImplementation

    ISA enhancement

    ARMv4T ARM7TDMI & ARM9T ThumbARMv5TE ARM9E & ARM10E Superset of the ARMv4TExtra inst. added for changing statebetween ARM & ThumbEnhanced multiply instructions

    Extra DSP type instructionsFaster multiply accumulate

    ARMv5TEJ ARM7EJ & ARM926EJ Java acceleration

    ARMv6 ARM11 New multimedia instructions

    I A

  • 8/13/2019 ARM Architecture Basics.pdf

    61/66

    2

    4 *

    5 * *

    5 * * *

    6 * * * *

    6 * * * * *

    62 * * * * *

    AM

  • 8/13/2019 ARM Architecture Basics.pdf

    62/66

    AM7 F

    AM7EJ

    AM7DMI

    AM7DMI

    AM720

    AM9/9E F

    AM920

    AM922

    AM926EJ

    AM940

    AM946E

    AM966E

    AM968E

    F F

    F10

    AM10 F

    AM1020E

    AM1022E

    AM1026EJ

    ARM11 Family

    ARM1136J-S

    ARM1136JF-S

    ARM1156T2(F)-S

    ARM1176JZ(F)-S

    ARM11 MPCore

    Cortex Family

    Cortex-A8

    Cortex-M1 Cortex-M3

    Cortex-R4

    Other Processors/Microarchitectures

    StrongARM (DEC-Intel) Xscale (Intel- Marvell Tech)

    Other

    C F

  • 8/13/2019 ARM Architecture Basics.pdf

    63/66

    AM CA -A O

    AM CA8, AM CA9

    AM C -E

    AM C4(F)

    AM CM E , M

    AM CM0, AM CM1, AM CM3

  • 8/13/2019 ARM Architecture Basics.pdf

    64/66

    AM

    E =1

    AME =0

    A

  • 8/13/2019 ARM Architecture Basics.pdf

    65/66

    AM D G B AN. , D , C

    AM O C A B

    . B. F.

    AM A M BD .

  • 8/13/2019 ARM Architecture Basics.pdf

    66/66