Tuesday, October 18, 2016

ARM 101.

  • Before 2004
    • ARM7TDMI
    • ARM9E
    • ARM11

  • 2004-2009
    • Cortex-M1
    • Cortex-M3
    • Cortex-A8
    • Cortex-A9
    • Cortex-R4
    • Cortex-M0
    • Cortex-A5

  • 2009-2012
    • Cortex-M0+
    • Cortex-R5
    • Cortex-R7
    • Cortex-A15
    • Cortex-A7

  • 2012-2016
    • Cortex-M7
    • Cortex-A12
    • Cortex-A53
    • Cortex-A57
    • Cortex-A17
    • Cortex-A72

  • M Series - Microcontroller applications
    • main-stream market
    • Low-power
    • short pipeline (as low as 2 stages in M+, 3 stages in M0, M3, M4, 6 stages in M7)
    • slower clock speed due to short pipelines (say, 100MHz)
    • quick and deterministic interrupt responses with closely coupled execution control
    • Built-in interrupt management controller NVIC (Nested Vectored Interrupt Controller)
    • C-language friendly
    • used in sensors, wireless communication chipsets, mixed signal ASICs/ASSPs, or as in subsystems to assist comples application processors/SoC products.

  • R Series - High performance Real-time systems
    • real time fast data-crunching for modern IoT applications.
    • fairly high clock speed (500 MHz to 1 GHz)
    • very responsive to hardware events
    • cache memories
    • tightly coupled memories for deterministic behavior for interrupt handling
    • higher reliability features (ECC for memory systems, dual-core lock-step)
    • used in hard drive controllers, wireless baseband controllers, modem, automotive and industrial controllers.

  • A Series - High end Application processors
    • support Android, Linux, Windows, iOS
    • longer processor pipeline
    • high clock frequency (>1 GHz)
    • MMU to support virtual memory addressing
    • optional Java support
    • secure program excution environment (TrustZone)
    • used in smart phones, tablets, TVs, green servers.
    • not for real time rapid responses.

No comments:

Post a Comment