Arm Barriers 101: What Are Barriers And Why Do We Need Them?
Published 5/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.86 GB | Duration: 3h 5m
Published 5/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.86 GB | Duration: 3h 5m
Part 1 of our comprehensive deep dive on barriers in the Arm Architecture!
What you'll learn
Discover why Arm defines a weakly-ordered memory model
Explore the rules dictating whether two memory access may be reordered
Learn how to use barriers in software to manually enforce ordering
Learn how to descope barriers to mitigate any potential impacts on system performance
Requirements
Beginner friendly!
Assumes no prior Arm Architecture experience.
Some basic C/C++ programming experience is recommended, but not required.
Description
Welcome to Part 1 of our Barriers 101 training course, a comprehensive deep dive on barriers in the Arm® Architecture.This course is suitable for software engineers working on Arm-based platforms at any level of the software stack, from down at the firmware layer all the way up through the kernel, hypervisor, device drivers, and user-space applications.In these lessons, you'll learn:Why Arm defines a so-called "weakly-ordered" memory model.The rules dictating whether two memory accesses may be reordered.How to use barriers in software to manually enforce ordering.How to descope barriers to minimise any potential impacts on system performance.From beginner to expert: Our courses are suitable for all levels of experience, whether you're already a seasoned veteran of the Arm Architecture or you're seeing Arm Barriers for the very first time.How it really works: Our courses go both broader and deeper on the topic of barriers than anyone else; we show you how things really work, and more importantly, why.Learning is doing: Reinforce your learning with a workshop session tackling various barrier scenarios from first principles, followed by 30 multiple-choice quiz questions with a video walkthrough of each question and answer.Recognised trainer: Our courses are written and produced by Ash Wilding, formerly one of Arm's lead technical trainers and a kernel engineer at both Amazon AWS and Apple.
Overview
Section 1: What are barriers, and why do we need them?
Lecture 1 Why weakly-ordered?
Lecture 2 System-level reordering
Lecture 3 Dependencies and successors
Lecture 4 Idempotence and speculation
Lecture 5 Data Memory Barriers
Lecture 6 Shareability domains
Lecture 7 Conventions and expectations
Lecture 8 Atomics and synchronization
Lecture 9 Workshop
Lecture 10 Quiz
Engineers at all experience levels working on Arm-based platforms.,Firmware Engineers.,Kernel Engineers.,Hypervisor Engineers.,Device Driver Engineers.,Application Developers.