ARM Summary

Created:2018-01-14  Last modified:2018-10-03


  1. Introduction

    ARM (Advanced RISC Machine) is a family of RISC architectures for processors.

    History

    1. 1978: Hermann Hauser and Chris Curry founded CPU (Cambridge Processing Unit) company.
    2. 1979: Changed name to Acorn.
    3. 1985: Roger Wilson and Steve Furber designed a 32-bit, 6MHz RISC processor ARM (Acorn RISC Machine).
    4. 1990: Changed to ARM (Advanced RISC Machine) with Apple.
    5. Smartphone market significantly increased the importance of ARM.

    ARM architecture

    1. Instruction Set Architecture: define the processor's instruction set. ARMv1, ARMv2, ... ARMv7, ARMv8.
    2. Micro-Architecture: define the pipeline length, level of cache, performance and power. ARM1, ARM2,... ARM11, ARM Cortex-A/R/M. Each micro-architecture is based on a specific ISA and has different hardware configuration. e.g. ARM11 core family consists of 1136, 1156...
    3. Implementation: Manufactures, such as Microchip, STMicro, buy the lisences from ARM to produce the real chips. These chips use the ARM core and manufacture-specific functions. e.g. BCM2835 is an implementation of ARM11.
    4. * The architecture defines what the CPU must do. The Micro-architecture and Implementation of the CPU sit on top of the architecture, and determine how it meets the architectural contract.[4]

    Term

    • die: A die is one piece of IC on the wafer(晶圆).
    • SCM (Single chip module): A chip package with only one die.
    • MCU (Microcontroller unit): a small computer on a single integrate circuit.
    • SoC (System on a chip): An IC that integrates all components of a computer or other electronic systems. It contains processor, timer, ADC, inerrupt controller and other peripherals. It may also contains GPU, Camera module, Wi-Fi module, and bluetooth. e.g. S3C2440.

    • OEM (Original equipment manufacture): A company that produces products that are designed by other companies.(代工厂:e.g.富士康)
    • ODM (Original design manufacturer): A company that designs and prduces products that will be rebranded by another firm for sale.
    • OBM (Original brand manufacture): A company that designs, produces, and sale its own products with its own brand.
  2. ARM Application Processor

    Three categories of ARM processors:
    ARM Cortex-A (for application level, such as SmartPhone, with MMU, can run linux).
    ARM Cortex-R (for real time application)
    ARM Cortex-M (microcontroller)

    From 1985 to 2002, arm named from ARM1 to ARM11. In 2005, the naming scheme changed to Cortex family

    ARM micro-architecture, architecture history

    1. ARM7, ARMv4T, (1993-2001)
      ARM7TDMI (first generation supports 16-bit Thumb)
    2. ARM9 (1998-2006)
    3. ARM11, ARMv6, (2002-2005)
      Rasberry Pi Zero is equiped with ARM1176JZ-F (BCM2835, Broadcom)
      iPhone 1st generation, 3G ARM1176JZ Samsung
    4. ARM Cortex-A8, ARMv7-A, (2005 announced) ** A8-A32 32-bit, A35- 64-bit
      iPhone 4
    5. ARM Cortex-A9, ARMv7-A, (2007)
      Apple A5, iPhone 4S
    6. ARM Cortex-A5, ARMv7-A, (2009)
    7. ARM Cortex-A15, ARMv7-A, (2010)
    8. ARM Cortex-A7, ARMv7-A, (2011)
    9. ARM Cortex-A53, ARMv8-A, (2012)
    10. ARM Cortex-A57, ARMv8-A, (2012)
    11. ARM Cortex-A12, ARMv7-A, (2013)
    12. ARM Cortex-A17, ARMv7-A, (2014)
    13. ARM Cortex-A72, ARMv8-A, (2015)
    14. ARM Cortex-A35, ARMv8-A, (2015)
    15. ARM Cortex-A32, ARMv8-A, (2016)
    16. ARM Cortex-A73, ARMv8-A, (2016)
    17. ARM Cortex-A55, ARMv8.2-A, (2017)
    18. ARM Cortex-A75, ARMv8.2-A, (2017)
    19. ARM Cortex-A76, ARMv8.2-A, (2018)
  3. Naming Convention

    Example ARM1156T2-S

    1. ARM11 ---- ARM11 family
    2. 5 ---- indicates a cache and memory protection unit
    3. 6 ---- cache
    4. T2 ---- Thumb2 instruction set
    5. -S ----
    6. T: Thumb instruction set
    7. D: Debugger support
    8. M: Fast Mulitpler, a 32 * 8 multiper block, most multiplication done in one cycle.
    9. I: Embedded ICE (In Circuit Emulator)
    10. E: Embedded Trace Macro-cell
    11. F: has a VFP (vector floating point unit)
    12. J: Jazelle Instruction Set
    13. -S: Synthesizable version (manufacture could layout the transistors by themselves)