第二章 ARM 技术概述

80
第第第 ARM 第第第第 本本本本 ARM 本本本本本本本本 本本本本本本本本 本本 ,, 本本 ARM 本本本本本本本本本本本本 本本本本 ARM 本本本本本 本本本本本 本本本本 ARM 本本本本本本本本 SoC 本本本本本本 本本本

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