ARM v8-A Porting and Software Optimization eLearning Course

View all eLearning Courses

PCI Express Courses
Fundamentals of PCI Express eLearning Course
Comprehensive PCI Express 3.1 eLearning Course
PCI Express Config Space and Transaction Routing eLearning Course
PCI Express Physical Layer and Link Initialization and Training eLearning Course
PCI Express Interrupt Handling eLearning Course
PCI Express Error Handling eLearning Course
PCI Express Power Management eLearning Course
PCI Express Hot Plug and Resets eLearning Course
PCI Express 2.x and 3.x ECNs eLearning Course
Intro to PCI Express IO Virtualization eLearning Course
Mobile PCI Express (M-PCIe) eLearning Course
USB Courses
xHCI eLearning Course
USB Type-C and Power Delivery eLearning Course
Comprehensive USB 3.1 eLearning Course
Comprehensive USB 2.0 Embedded System Architecture
x86 Architecture Courses
Intel x86 Processor and Platform Architecture eLearning Course
Intro to 32/64-bit x86 Architecture eLearning Course
Fundamentals of Intel QPI eLearning Course
ARM Courses
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-M0 and M0+ Hardware Design eLearning Course
ARM Cortex-M3 and M4 Hardware Design eLearning Course
ARM Cortex-M7 Processor eLearning Course
Fundamentals of ARM Architecture
Fundamentals of ARMv8-A eLearning Course
Introduction to ARM AMBA eLearning Course
Introduction to ARM TrustZone eLearning Course
Memory Courses
Modern DRAM (DDR4 / DDR3 / LPDDR3 / LPDDR2) eLearning Course
Storage Courses
SAS 3.0 Storage Technology eLearning Course
NVM Express 1.2a eLearning Course
SATA 3.2 Technology eLearning Course
Advanced Host Controller Interface (AHCI) eLearning Course
Universal Flash Storage (UFS) eLearning Course
Virtualization Courses
PC Virtualization eLearning Course
Intro to Virtualization Technology eLearning Course



ARM v8-A Porting and Software Optimization eLearning Course

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

Course Price
$195.00



ARM v8-A Porting and Software Optimization eLearning Course Info

What's Included?

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

Course Outline:

  • Module 1: Introduction
    ARM naming conventions, architecture profiles (v7 and v8), overview of v7-A and v8-A
  • Module 2a: Porting v7-A -> v8-A
    Application code vs system code, size of variables, LP64 and LLP64 support, tagged virtual addresses, assembler programming, data structures, inline assembler, compiler intrinsics, ELF ABI and DWARF
  • Module 2b: Porting v7-A -> v8-A
    Shorthand tricks, natural alignment, misaligned accesses, structure members, sizeof function usage, device driver IOCTLs, device driver addresses and barriers, cache management, floating-point / SIMD, register overlays, coprocessors vs system registers
  • Module 3: Performance Optimizations and Monitoring
    Algorithm choice, reducing code size, pipeline issues, cache prefetch hints, pipeline optimizations, loop unrolling, function inline, branch alignment, performance monitors, location of performance counters
Course Modules
ModuleLength
Module 1: Introduction13 minutes
Module 2a: Porting v7-A -> v8-A27 minutes
Module 2b: Porting v7-A -> v8-A35 minutes
Module 3: Performance Optimizations and Monitoring28 minutes