Let MindShare Bring "ARM Architecture" to Life for You
ARM processors are at the heart of many mobile phones, digital cameras, and other small portable devices. One characteristic of the processor that leads to this wide use is the low power consumption – a critical factor when battery life is a key product requirement. ARM processors are also heavily used in embedded control applications. As the mobile phone has evolved into an internet device with the tasks more typically associated with a PC (web browsing, media playback, etc), the processing capability has grown, such that the “simple” phone processor is now a much more capable device, a multiple core device that has the capability to move into the data center. This class looks at the range of processors comprising the ARMv7 architecture and the upcoming ARMv8 64-bit architecture, how the processors across the range are similar yet target different markets, and compare the architecture with Intel’s IA-32 architecture.
MindShare Courses Related to ARM Architecture:
All of MindShare's classroom and virtual classroom courses can be customized to fit the needs of your group.
Comprehensive ARM Architecture with x86 Comparisons Course Info
You Will Learn:
- ARM architecture (ARMv7, version 7, the current version, and ARMv8, version 8, the future 64-bit architecture), along with some of the history
- ARM microarchitecture, the internals of some of the different processors comprising the Cortex family
- Comparisons and contrasts with the Intel IA-32 architecture and microarchitectures
- Buses connecting the processor core(s) to the rest of the system
- Example of how this might be used in a SoC (System on a Chip) design
- The ARM business and licensing model, and how this leads to a variety of devices
Course Length: 4 Days
- Software Architecture
- Architecture Profiles and their significance – Application (e.g. Cortex-A15), Embedded (e.g. Cortex-R4), and Microcontroller (e.g. Cortex-M4)
- Instruction sets and environments (AArch32 - ARM, Thumb, ThumbEE, and AArch64)
- Version 7 registers, and the banking of the registers.
- Version 8 registers; support for version 7 execution modes.
- Version 7 privileges, modes and states.
- Version 8 exception model.
- Memory and IO access, and system control.
- Memory ordering model, and software control.
- Architectural extensions – Vector Floating Point, SIMD (Neon), security (Trust Zone), virtualization.
- Interrupts and Exceptions.
- Memory protection and paging mechanisms, including v7 page tables, support for large physical address space (>4 GBytes), and the 64-bit version 8 page tables.
- Caches, TLBs and branch prediction
- Multiprocessing extensions
- Implementation specific issues
- Processor Core Microarchitecture
- Pipeline overview
- Version 7 application processors (A8, A9, A5, A15, A7)
- Version 8 processors A57 and A53
- Realtime processors (R4)
- Microcontroller processors (M0, M3)
- Single core and MP-Core blocks (the non-processor functionality).
- Impacts of the different implementations on software, issues such as predictability
- System Architecture
- Sample SoC (System on a Chip) designs.
- The busses (AMBA)
- AXI version 3.
- AXI version 4 – ACE (Advanced Coherency Extensions).
- Multiple MP-Core clusters connected using ACE.
- Power management
- Comparison of ARM and IA-32
- Similarities and differences in the architectures, and the significance
- Comparisons with Intel in-order and out-of-order pipelines
- Business models differences, leading to a variety of devices
Students will be provided with an electronic version of the slides used in class.