Arm Architecture: Memory Model and Barriers [Author's Lecture Part 3-3]

The author of "The Structure and Principles of Arm Architecture for System Software Development" will help you master 'Memory Models and Barriers'—the absolute basics of system software and the core of the latest Arm architectures (Armv8-A, Armv7-A)!

(4.9) 7 reviews

121 learners

Level Basic

Course period Unlimited

ARM Architecture
ARM Architecture
memory-mapped-io
memory-mapped-io
barrier
barrier
armv8
armv8
cortex-a
cortex-a
ARM Architecture
ARM Architecture
memory-mapped-io
memory-mapped-io
barrier
barrier
armv8
armv8
cortex-a
cortex-a

What you will gain after the course

  • You can understand the memory model of the Arm architecture (Armv8-A) and the basic operating principles of barriers.

  • You can see how the Arm architecture's memory model and barrier-related features are utilized in actual projects.

  • You can grasp the execution flow and structure related to memory models and barriers from a big-picture perspective.

  • I can answer questions related to memory models and barriers well in an interview.

<Notice>

1. Issuing a 30% discount coupon to celebrate surpassing 300 students

To celebrate surpassing 300 students (Parts 1 and 2), we are issuing a 30% discount coupon. Thank you. Limited to the first 200 people.

2. Roadmap Guide 🎯

This lecture <Arm Architecture: Memory Model and Barrier [Author's Lecture Part 3-3]> is included in the roadmap'Arm for System Software Developers - advanced course'.


If you wish to learn the Arm architecture (Armv8-A, Armv7-A) systematically, it is recommended to utilize the roadmap (30% discount on all lectures). For your reference, the Arm Architecture Roadmap (complete series by the author) consists of two parts: Basic Course and Advanced Course.


In modern system software,
the most important Arm architecture

Arm processors used in smartphones, AI SoC system semiconductors, electric vehicle Automotive (autonomous driving, infotainment), cloud servers, and MacBooks are all Armv8-A based 64-bit Cortex-A processors (Cortex-A53, Cortex-A57, Cortex-A72, etc.). Currently, the Armv8-A architecture can be seen as the area requiring the most foundational knowledge in the system software industry.

The first step to becoming an advanced system SW developer!
Understanding memory management methods🙋‍♂

However, to become an advanced system software developer, you must have a good understanding of how memory is managed, which is one of the key features of the Arm architecture. The core of memory management consists of the 'virtual memory system', 'cache operation principles', and 'memory models and barriers'.


Why should we learn about 'Memory Models and Barriers'?

1⃣ First, if you have a good understanding of memory models and barriers, you can develop device drivers effectively. Most device drivers control peripheral devices using the memory-mapped I/O method, and the memory model (Normal Memory, Device Memory) covers device memory—the foundation of the memory-mapped I/O method—in detail.

2⃣ Second, you must have a good understanding of device memory (one of the memory models), which is the foundation of memory-mapped I/O, to excel at programming that efficiently controls the hardware constituting system semiconductors. This is because most system semiconductors (fabless) design independent modules (IP) that make up the system semiconductor through the memory-mapped I/O method.

3⃣ Third, if you have a good understanding of memory models and barriers, you can grasp the internal operating principles of Arm processors in detail. In particular, you will often encounter situations where barriers are used to solve concurrency issues in multi-core systems, and 'memory models and barriers' can serve as the foundational knowledge.

4⃣ Fourth, you must have a good understanding of 'Memory Models and Barriers' to perform well in technical interviews for system software development. Questions related to memory reordering and memory-mapped I/O are among the most frequent topics in interviews for experienced developers.


A lecture by the author, featuring the know-how of a system engineer with 12 years of experience!

'Structure and Principles of Arm Architecture for System Software Development' (Chapter 17) covers 'Memory Models and Barriers' in detail. We hope you grow further as a system software developer through this author-led lecture.

What you will learn

Introduces the types of memory models defined in the Arm architecture and normal memory.

We introduce the types of memory models (Normal Memory and Device Memory) while analyzing the Arm specification documents in detail.

We will explain Device Memory, which is a Memory-Mapped I/O interface, in detail and review the Memory-Mapped I/O of the BCM2711 (used in Raspberry Pi).

Analyze the memory-mapped I/O interface through debugging (Crash-Utility).

Introduce barriers and explain examples of barriers in detail.

Explains the scope of barrier application and data consistency in multi-core systems.

It explains in detail how barriers are utilized in the actual Linux kernel and XEN hypervisor.

Based on my experience writing books and lecturing,
deeper and more detailed than anyone else!

I am the unprecedented author in the domestic system software field who has written books on both the 'Arm Architecture (Armv8-A, Armv7-A)' and the 'Linux Kernel'. I am also a working developer who is most well-versed in the latest system software trends (electric vehicles, system semiconductors - system software), and an educator who is most actively engaged in spreading knowledge within the system software field.

  • Author of 'Structure and Principles of Arm Architecture for System Software Development' (2024, National Academy of Sciences Outstanding Book Award)

  • 'The Structure and Principles of the Linux Kernel Learned Through Debugging' (2021, National Academy of Sciences Excellent Scholarly Book Award) Author

  • Main Instructor for 'Programmers Dev Course: Linux System and Kernel Expert'

  • June 2022, Korea Computer Congress (KCC2022) - Tutorial Presentation [Conquering the Linux Kernel Using ftrace]

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' Internal Instructor (Including domestic and overseas developers) - (2020~2024)


I can confidently say that I am an educator who can explain the key features of the Arm architecture (Armv8-A, Armv7-A) better than anyone else in Korea.

Vivid course reviews left by learners

<Structure and Principles of Arm Architecture for System Software Development - Part 1/2 Author-led Lecture>


Notes before taking the course

Prerequisite Knowledge and Precautions 📢

  • The 'Memory Model and Barrier' lecture is easy to follow even without prior knowledge.

  • You should have a basic understanding of assembly instructions and registers.

  • It is helpful to have an understanding of multi-core systems and system architecture.


Recommended for
these people

Who is this course right for?

  • A junior developer who wants to build expertise in the system software field, including system semiconductors (fabless) and the electric vehicle sector (autonomous driving, infotainment).

  • A job seeker who wants to develop system software in the fields of system semiconductors (fabless) and electric vehicles.

  • System software developers (system semiconductors, electric vehicles) who want to learn how to debug in practice by leveraging the features of the Arm architecture.

Need to know before starting?

  • Computer Architecture

  • Operating System

Hello
This is austinkim

6,384

Learners

247

Reviews

99

Answers

4.9

Rating

23

Courses

Global Author & Linux System Software Developer (Arm, RISC-V Architecture)

A global author who has written unprecedented books on 'Arm Architecture (Armv8-A, Armv7-A)' and the 'Linux Kernel' in the domestic system software field (both books were selected as Excellent Academic Books by the National Academy of Sciences of the Republic of Korea), and is the first in Korea to author the book (in English) "Reverse Engineering Armv8-A Systems" through an international publisher (Packt). Above all, he is an active developer who is most well-versed in the latest system software trends (electric vehicles, system semiconductors-system software). He is also an educator who is most actively engaged in spreading knowledge within the system software field.

  • Author of the book (English) 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis', (Packt Publishing)

  • Author of 'Structure and Principles of Arm Architecture for System Software Development' (2024 National Academy of Sciences Outstanding Book Award)

  • Author of 'Structure and Principles of the Linux Kernel Learned Through Debugging' (2021, National Academy of Sciences Outstanding Scholarly Book Award)

  • Main Instructor for 'Programmers Dev Course: Linux System and Kernel Expert'

  • June 2022, Korea Computer Congress (KCC2022) - Tutorial Presentation [Conquering the Linux Kernel Using ftrace]

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' internal instructor (including domestic and overseas developers) - (2020–Present)

I can confidently say that I am an educator who can explain the Linux kernel and Arm architecture (Armv8-A, Armv7-A) better than anyone else in Korea.

Lecture Inquiries: austindh.kim@gmail.com

Main Roadmap 🎯

'Arm for System Software Developers - basic course'

'Arm for System Software Developers - advanced course'

Linux kernel for system software developers - basic course

More

Curriculum

All

27 lectures ∙ (3hr 50min)

Published: 
Last updated: 

Reviews

All

7 reviews

4.9

7 reviews

  • aceoftop1975님의 프로필 이미지
    aceoftop1975

    Reviews 121

    Average Rating 5.0

    5

    100% enrolled

    2024/07/29/Mon 15:30 I listened to the lecture well. Every time I listened to the lecture, I think I said "Ah~ Ah~" several times. I learned something I didn't know, and I was moved without knowing it. The course period is unlimited, and the course fee is cheap. I'm listening very quickly now, but I think I'll listen to it calmly many times later. Thank you for making a good lecture.

    • grapesgun0624님의 프로필 이미지
      grapesgun0624

      Reviews 5

      Average Rating 5.0

      5

      100% enrolled

      It would be really great if you could explain this with an example of kernel code where barriers are used directly.

      • austinkim
        Instructor

        Thank you for your kind review.

    • heecheolsong님의 프로필 이미지
      heecheolsong

      Reviews 23

      Average Rating 5.0

      5

      33% enrolled

      • woo12346560311님의 프로필 이미지
        woo12346560311

        Reviews 5

        Average Rating 5.0

        5

        33% enrolled

        • kfcwee9463님의 프로필 이미지
          kfcwee9463

          Reviews 11

          Average Rating 5.0

          5

          100% enrolled

          austinkim's other courses

          Check out other courses by the instructor!

          $26.40