第二章 ARM 技术概述

Post on 24-Jan-2016

65 views 0 download

description

第二章 ARM 技术概述. 本章将对 ARM 技术进行全面论述,通过本章的学习,使大家对 ARM 技术有个全面的了解和掌握,建立起以 ARM 技术为基础的嵌入式系统应用和以 ARM 核为基础的嵌入式 SoC 芯片设计的技术基础。. 本章的主要内容为:. 2.1 ARM 体系结构的发展历史和技术特征. 2.2 ARM 体系结构不同版本的发展概述. 2.3 Thumb 技术介绍. 2.4 ARM 处理器工作状态. 2.5 ARM 处理器工作模式. 2.6 ARM 寄存器组成. 2.7 ARM 异常中断. 本章的主要内容为:. 2.8 ARM 组织结构简介. - PowerPoint PPT Presentation

Transcript of 第二章 ARM 技术概述

  • ARM ARMARMARMARMSoC

  • 2.1 ARM2.3 Thumb2.2 ARM2.4 ARM2.5 ARM2.6 ARM2.7 ARM

  • 2.8 ARM2.9 ARM2.10 ARM2.11 ARMAMBA2.12 ARM 2.13 ARM2.14 ARM

  • 2.1 ARM

    2.1.1 ARM2.1.2 ARM

  • 2.1.1ARM 10ARMThumbARM9ARM10Strong-ARMARM11ARMARMARMSoCARM

  • ARMARM19831019854Acorn Computer 1990ARM 2090 ARM

  • ARMARMARM7ARM 1995 StrongARM XScaleStrongARM ARM10TDMIARM ARM11ARM

  • ARMARMARMIPIPARM103ITARM2019ARMPhilipsIntelARM32

  • 2.2ARMARMBerkeley RISC Load/store323

    Berkeley RISC

  • 2.2 ARM

    2.2.1 ARM2.2.2 ARM2.2.3 ARM

  • 2.2.1ARM1

    Load/StoreBLSWI

  • ARM 2 122a

    FIQSWPSWPB

  • ARM 3323G26CPSRCurrent Program Status RegisterSPSRSaved Program Status RegisterSPSRMRSMSRCPSRSPSR

  • ARM 434 loadstoreTThumb16Thumb

  • ARM55T5TE 45 TARM/ThumbCLZBKPT

  • ARMARM62001v6SIMD4ARM62002ARM11v6

  • ARMARM

  • 2.2.2ARM1ThumbT Thumb32ARM16

    2M64ARMM

  • ARM3DSPE EARMDSP

    4JavaJazelleJ ARMJazelleJava32RISC

    5ARMSIMD

  • 2.2.3ARM ARM/ThumbARM/Thumb ARMvARM1-6ARMARM4MMx

  • 2.3 Thumb ARMRISCARMThumbARM 2.3.1Thumb2.3.2Thumb2.3.3Thumb

  • 2.3.1ThumbThumbARM32ARM3616 ARM7TDMIThumbThumbARMThumbARM ThumbARMThumb16Thumb

  • 2.3.2Thumb

    Thumb1632ThumbARM

  • Thumb ARMThumb ThumbARMThumbARMThumbARM

  • 2.4 ARM ARM2

    ARM32ARM32ARMThumb16Thumb16ThumbThumbPC1

  • ARM ARMThumbARMThumbARMARM

  • ARM ARMThumbRmbit01BX RmThumbThumbIRQFIQUndefAbortSWIThumbARMRmbit00BX RmARMIRQFIQUndefAbortSWIPCLRARM

  • 2.5 ARM CPSR5 ,

  • ARM 6 5 FIQFast Interrupt RequestIRQInterrupt ReQuestSVCSupervisorAbortUndefined

  • 2.6 ARM

    2.6.1ARM2.6.2ARM2.6.3Thumb

  • 2.6.1ARM ARM37 31 R0R15R13_svcR14_svcR13_abtR14_abtR13_undR14_undR13_irqR14_irqR8_frq-R14_frq 6 CPSRSPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq

  • 2.6.2ARM1ARM ARM

  • ARM2) ARM The unbanked registersR0~R7 The banked registersR8~R14 R15PC

  • ARM R0~R7 R0~R7

  • ARM R8-R14 R8-R12FIQR8~R12 FIQR8~R12 R13R14R13SP R14Link RegisterLRLR

  • ARM R15

    R15PC R15 ARMR15 R15

  • ARM3)ARM

    CPSRCPSRSPSRSPSRCPSR

  • ARMCPSRSPSR

  • 2.6.3ThumbThumbARM8R0~R7PCSPLRCPSPSPLRSPSR

  • R0

    R1

    R2

    R3

    R4

    R5

    R6

    R7

    SP

    LR

    PC

    CPSR

    SPSR

    R0

    R1

    R2

    R3

    R4

    R5

    R6

    R7

    R8

    R9

    R10

    R11

    R12

    SP(R13)

    LR(R14)

    PC(R15)

    CPSR

    SPSR

    Thumb

    ARM

  • 2.7 ARMARM

  • ARM

    ARM

  • ARMARM CPSRSPSR CPSR R14 PC

  • ARMR13_R14_FIQR8_fiqR12_fiq

  • SPSR_modeCPSRCPSRSPSRPCCPSRI/F

  • 4PC 80x00000014

  • ARM

    FIQIRQSWI

  • 2.8 ARM

    2.8.1ARM2.8.2ARM

  • 2.8.1ARM 1ARM3 ARM7ARM3

  • ARM

    ARM3

  • ARM2ARM 3PC 3R15PC

  • 2.8.2ARM5ARM5

    \

  • 2.9 ARM

    Cache ARMARMCacheMMUARM

  • ARM

    2.9.1ARM2.9.2ARM2.9.3ARM

  • 2.9.1ARM ARM6 816324

  • ARM

  • 2.9.2ARM

    RAM Cache

  • 2.10 ARM ARMARM

    ARM720CacheMMUARMARM

  • 2.11 ARMAMBA AMBAARM AHBAdvanced High-performance BusASBAdvanced System BusAPBAdvance Peripheral Bus

  • 2.12 ARM

    ARM EmbeddedICE

  • 2.13 ARM 32SoCARMARMSoC ARMCacheMMUIPARMCPUCPU

  • ARM ARM6 ARM7 ARM9ARM9E ARM10E,SecurCore ARM11

    IntelStrongARM XScale

  • ARM

    2.13.1 ARM72.13.2 ARM9 2.13.3 ARM102.13.4 StrongARMXScale2.13.5 SecurCore

  • 2.13.1ARM7 ARM7TDMIARMPDAARMARMARM732ARM4TTThumb16DDebugMMultiplier64IEmbeddedICE

  • ARM7 1ARM7TDMIARM7TDMIARM4T64Thumb328 DSP 32- 4GB EmbeddedICEJTAGJTAGARM ARM9 Thumb ARM10 Thumb StrongARM

  • ARM7 2ARM7TDMI MMUJTAG ARM7TDMI

  • 1

    seqlockSWAPmas10

    32A310D310Dout310Din3101010

  • 2MMU

    mode40 abort

    ARM7TDMIMMU

  • 3

    abealetbebusenhighzbusdisecapclk

    ARM7TDMIMMUROMSRAMape

  • 4

    TbitARMThumb

    mclk

    5

    bigend

    6

  • 7

    reset0000000016

    mclk

    8

    ARM7TDMIARM

    9Debug

    cpicpacpbopc

    10

  • 11

    JTAP

    12JTAG

    JTAP

    13TAP

    ARM7TDMI5V3V

    14

  • ARM7 3ARM7TDMI-ARM7TDMISARM7TDMISARM7TDMIIPIP 5050ARM7TDMIS

  • ARM7 4ARM7TDMI

    ARM7TDMIPDAARM7TDMIARM7TDMIARM7TDMICacheARM CPU

  • 2.13.2ARM9ARM819931996CacheARM CPUARM73ARM ARM9TDMIARM7TDMI35HarvardARM9TDMIARM7TDMI

  • ARM9 1ARM9TDMI ThumbEmbeddedICE5CPI

  • ARM9 2ARM9TDMI ARM9Strong ARM5ARM9TDMIStrongARMStrongARMARM9TDMIALU

  • ARM9 3ARM9TDMI ARM9Strong ARM5ARM9TDMIStrongARMStrongARMARM9TDMIALU

  • ARM7TDMIARM9TDMI

  • ARM94Thumb 5 6 7 8ARM9TDMI 9ARM9E-SARM946E-SARM966E-S

  • 2.13.3 ARM10ARM10TDMIARMARM10TDMIARM9TDMIARM1020E/ARM10200ARM10TDMICPU

    CPI

  • 2.13.4 StrongARMXScale1995ARMAppleDECPDAARMStrongARM StrongARM 564/16KB32Cache3216KB32Cache3232

  • StrongARMXScale816StrongARM121~332StrongARMCP15MMUCacheJTAGJTAGin-test

  • StrongARMXScaleStrongARM CacheALUCachePC+4PCPC+8r15

  • StrongARMXScaleStrongARM

    loadload/storePC

  • StrongARMXScaleIntel XScaleARMv5TE16ThumbDSPXScaleIntel XScale

  • 2.13.5 SecurCoreSecurCore32RISCSecurCoreARM

  • 2.14 ARM ARM MMU USB GPIO IISIntegrate Interface of Sound nWAIT

  • ARM ARM

    RTCReal Time Clock LCD PWM