Fundamentals of ARM Architecture

View all eLearning Courses

PCI Express Courses
PCIe6 Update eLearning Course
PCIe Security eLearning Course
Comprehensive PCIe 5.0 eLearning Course
Advanced PCIe eLearning Course
Core PCIe eLearning Course
Fundamentals of PCI Express eLearning Course
PIPE 6.0 - PHY Interface for PCI Express and more
CXL Courses
CXL Fundamentals eLearning Course
Comprehensive CXL 2.0 eLearning Course
CXL 3.1 Update eLearning Course
USB Courses
USB4 Architecture eLearning Course
USB Type-C and Power Delivery eLearning Course
USB 3.2 Update
Comprehensive USB 3.1 eLearning Course
xHCI eLearning Course
x86 Architecture Courses
Intel x86 Processor and Platform Architecture eLearning Course
Thunderbolt 3 Fundamentals
x86 Architecture eLearning Course
ARM Courses
Fundamentals of ARM Architecture
ARMv8-M and v8.1-M eLearning Course
ARM 64-bit Architecture (ARM v8-A) eLearning Course
ARM v8-A Registers and Instruction Set eLearning Course
ARM v8-A Memory Management eLearning Course
ARM v8-A Exceptions and Interrupts eLearning Course
Comprehensive ARM Architecture eLearning Course
ARM v7 Registers and Instruction Set eLearning Course
ARM v7 Memory Management eLearning Course
ARM v7 Exceptions and Interrupts eLearning Course
Fundamentals of AMBA eLearning Course
ARM 32-bit Architecture (ARM v7) eLearning Course
ARM v8-A Porting and Software Optimization eLearning Course
ARM v8-A (64-bit) Pipelines eLearning Course
ARM MCU Architecture eLearning Course
ARM Cortex-M7 Processor eLearning Course
Fundamentals of ARMv8-A eLearning Course
Memory Courses
DRAM Class Supplementary Material
Modern DRAM (DDR5 / DDR4 / LPDDR5 / LPDDR4) eLearning Course
I3C Architecture eLearning Course
Fundamentals of DRAM
Storage Courses
SAS 3.0 Storage Technology eLearning Course
Advanced Host Controller Interface (AHCI) eLearning Course
NVM Express 1.4 eLearning Course
NVMe-oF eLearning Course
SATA 3.2 Technology eLearning Course
Universal Flash Storage (UFS) eLearning Course
Virtualization Courses
PC Virtualization eLearning Course
IO Virtualization for Intel Platforms eLearning Course
Firmware Courses
UEFI x64 Architecture eLearning Course

Fundamentals of ARM Architecture

Instructor(s): Paul Devriendt
Number of Modules: 12
Subscription Length: 90 days

Course Price

Fundamentals of ARM Architecture

What's Included?

ARM eLearning modules
(unlimited access for 90 days)
PDF of Course Slides
(yours to keep, does not expire)

Benefits of eLearning:

  • Access to the Instructor - Ask questions to the instructor that taught the course
  • Cost Effective - Get the same information delivered in a live class at a fraction of the cost
  • Available 24/7 - MindShare eLearning courses are available when and where you need them
  • Learn at Your Pace - MindShare eLearning courses are self-paced, so you can proceed when you're ready

Who Should View?

This fundamentals course is a great start for any hardware or software engineer looking to get a base understanding of the ARM architecture. Topics range from the ARM instruction sets, processor modes, architecture profiles, instruction pipelines, bus interfaces, software development environments and much more.

Course Outline:

  • Module 1: Introduction to ARM
    - Provides an intro to ARM the company and their business model, describes an example ARM-based SoC, core vs MP-core and different aspects of the architecture
  • Module 2: ARM Processor Architectures
    - Discusses, RISC vs CISC, ARM naming conventions, legacy architectures, architecture profiles (v7-A, v7-R, v7-M, v8-A, v8-R and v8-M), SecureCore
  • Module 3a: ARM Instruction Sets
    - Covers an intro to ARM instructions (A32), Thumb instructions (T32), interworking
  • Module 3b: ARM Instruction Sets
    - Provides descriptions of Thumb vs ARM instructions, instruction encodings, conditional execution (If Then Else), JVM bytecodes, new features in v8-A, 64-bit registers
  • Module 4a: ARM v7A Architecture
    - Covers v7-A instruction sets and registers, CPSR / APSR / SPSR, processor modes, banked registers, mode changes, memory ordering, memory alignment, memory types, memory barrier instructions (DMB, DSB, ISB)
  • Module 4b: ARM v7A Architecture
    - Discusses semaphore implementations, exceptions, external interrupts, MP-core interrupt delivery, exception table, examples of taking an exception, exception return
  • Module 5: ARM v7A Extensions: Floating Point, Neon, TrustZone, Virtualization
    - Covers SIMD (Single Instruction Multiple Data) operation, Vector Floating Point (VFP) registers, Advanced SIMD (Neon) registers, SIMD data types, TrustZone intro and concept, normal world / secure world, secure monitor, virtualization overview, virtualization and TrustZone playing together
  • Module 6: ARM v8A Architecture
    - Provides info on v8-A Exception Levels (privilege levels), EL0, EL1, EL2 and EL3, switching AArch64 and AArch32, PSR bits, Processor State (PState), DAIF and interrupt control, load store process, floating point registers, SIMD registers, taking an exception / interrupt, vector table, exception syndrome registers
  • Module 7: ARM v7M and v8M Architecture
    - Provides an intro to v7-M instruction sets and register sets, XPSR, privileges and modes, stacking of registers, Nested Vectored Interrupt Controller (NVIC), exception table, fixed memory map, protected memory architecture, v8-M architecture variants
  • Module 8: Processor Pipelines: Cortex-M4, R4, A7, A15
    - Discusses pipeline basics (Fetch->Decode->Execute), enhancements for faster processors, Cortex-M4 pipeline, Cortex-R4 pipeline, Cortex-A7 pipeline, Cortex-A15 pipeline and block diagram
  • Module 9: AMBA Bus Architectures: AXI, ACE, CHI, AHB, APB
    - Provides quick overviews of Advanced Microcontroller Bus Architecture (AMBA) buses, AXI3 (master and slave, 5 channels), cache coherency, ACE (AXI4), AXI coherence channels, ACE Lite, CHI (AMB5), CoreLink CCN-504, AHB, APB
  • Module 10: CoreSight, Debug, Trace and Tools
    - Discusses performance monitors, debug possibilities, invasive debug, vector catch, trace, test features, BIOS / UEFI and ACPI, ARM supplied software and hardware tools, GNU / Linux / Android, RTOSs and Linaro
Course Modules
Module 1: Introduction to ARM26 minutes
Module 2: ARM Processor Architectures30 minutes
Module 3a: ARM Instruction Sets29 minutes
Module 3b: ARM Instruction Sets19 minutes
Module 4a: ARM v7A Architecture32 minutes
Module 4b: ARM v7A Architecture24 minutes
Module 5: ARM v7A Extensions: Floating Point, Neon, TrustZone, Virtualization21 minutes
Module 6: ARM v8A Architecture31 minutes
Module 7: ARM v7M and v8M Architecture27 minutes
Module 8: Processor Pipelines: Cortex-M4, R4, A7, A1528 minutes
Module 9: AMBA Bus Architectures: AXI, ACE, CHI, AHB, APB27 minutes
Module 10: CoreSight, Debug, Trace and Tools22 minutes