강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

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

The author of "Arm Architecture Structure and Principles for System Software Development" will properly address 'Memory Model and Barrier,' the very fundamentals of system software and core to the latest Arm architectures (Armv8-A, Armv7-A)!

(4.8) 6 reviews

106 learners

  • austinkim
저자 직강
이론 중심
동시성문제
임베디드리눅스
ARM Architecture
memory-mapped-io
barrier
armv8
cortex-a

What you will learn!

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

  • Learn how Arm architecture's memory model and barrier features are applied in real projects.

  • You can get an overview of the execution flow and structure related to memory models and barriers.

  • I can answer memory model and barrier interview questions well.

1. 30% discount coupon issued for breaking 300 participants

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

2. Roadmap Guide 🎯

This lectureRoad Map'Arm for System Software Developers - Advanced Course'is included in the course.


If you want to learn Arm architecture (Armv8-A, Armv7-A) systematically, it would be good to utilize the roadmap (30% discount on all courses). For reference, the Arm architecture roadmap (all courses taught directly by the author) isBasic Course andAdvanced CourseIt consists of 2 components.


In the latest system software
The most important Arm architecture

Not only smartphones, but also AI SoC system semiconductors, electric vehicle Automotive (autonomous driving, infotainment), and Arm processors used in 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 considered the area that requires 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 need to have a good understanding of how memory is managed among the key features that make up the Arm architecture. The core aspects of memory management are the 'virtual memory system', 'cache operation principles', and 'memory model and barriers'.


Why should we learn about 'memory models and barriers'?

1⃣ First, understanding memory models and barriers well enables you to develop device drivers effectively. Most device drivers control peripheral devices using memory-mapped I/O methods, and in memory models (normal memory, device memory), device memory, which is the foundation of memory-mapped I/O methods, is covered in detail.

2⃣ Second, you need to have a good understanding of device memory (one of the memory models), which is the foundation of memory-mapped I/O, in order to program effectively to efficiently control the hardware that makes up system semiconductors. This is because most system semiconductors (fabless) design independent modules (IP) that make up system semiconductors through memory-mapped I/O methods.

3⃣ Third, understanding memory models and barriers well allows you to grasp the detailed operational principles inside Arm processors. Especially in multi-core systems, you frequently encounter situations where barriers are used to solve concurrency issues, and 'memory models and barriers' can serve as foundational knowledge.

4⃣ Fourth, to do well in system software development technical interviews, you need to have a good understanding of 'memory models and barriers'. One of the frequently asked questions in experienced developer interviews is about memory reordering and memory-mapped I/O related topics.


12 years of system engineer expertise packed into this author's direct instruction!

'Structure and Principles of Arm Architecture for System Software Development' book (Chapter 17) covers 'Memory Models and Barriers' in detail. I hope you will grow further as a system software developer through the author's direct lectures.

You'll learn this kind of content

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

Introduces the types of memory models (normal memory and device memory) while analyzing Arm specification documents in detail.

This provides a detailed explanation of device memory, which is a memory-mapped I/O interface, and reviews the memory-mapped I/O of the BCM2711 (used in Raspberry Pi).

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

Introduces barriers and provides detailed explanations of barrier examples.

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

This explains in detail how barriers are utilized in actual Linux kernels and XEN hypervisors.

Based on book writing/teaching experience
Deeper and more detailed than anyone else!

In the domestic system software field, I am the unprecedented author who wrote books on 'Arm Architecture (Armv8-A, Armv7-A)' and 'Linux Kernel'. I am also a current industry developer who best understands the latest system software trends (electric vehicles, system semiconductors - system software), and an educator who is most actively engaged in knowledge dissemination activities in the system software field.

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

  • 'Learning Linux Kernel Structure and Principles Through Debugging' (2021 Korea Academy Outstanding Book Award) Author

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

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

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' In-house Instructor (including domestic and overseas developers) - (2020~2024)


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

Vivid reviews left by learners


Pre-enrollment Reference Information

Prerequisites and Important Notes 📢

  • The 'Memory Model and Barriers' lecture is a course that can be easily followed even without prerequisite knowledge.

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

  • It would be good to have an understanding of multi-core systems and system architecture.


Recommended for
these people

Who is this course right for?

  • Junior developer who wants to grow skills in the system software field, including system semiconductor (fabless) and electric vehicle sector (autonomous driving, infotainment)

  • Aspiring system software developer for system semiconductor (fabless) and electric vehicle fields

  • System software developer (system semiconductors, electric vehicles) interested in how to debug in practice using Arm architecture's capabilities.

Need to know before starting?

  • Computer Architecture

  • Operating System

Hello
This is

5,836

Learners

183

Reviews

89

Answers

4.9

Rating

22

Courses

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (Arm, RISC-V 아키텍처)

국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자(2권의 책 모두 대한민국 학술원 우수도서에 선정)이며, 국내 최초로 해외 출판사(Packt)를 통해 "Reverse Engineering Armv8-A Systems" 책(영어)을 집필한 글로벌 저자입니다. 무엇보다 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다. 

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 책(영어) 저자, (Packt 출판사)

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2024년, 대한민국 학술원 우수도서상) 저자

  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자

  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사

  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]

  • LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~현재)

국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.

강의문의 : austindh.kim@gmail.com

주요 로드맵 🎯

'시스템 소프트웨어 개발자를 위한 Arm - basic course'

'시스템 소프트웨어 개발자를 위한 Arm - advanced course'

시스템 소프트웨어 개발자를 위한 Linux kernel - basic course

Curriculum

All

27 lectures ∙ (3hr 50min)

Published: 
Last updated: 

Reviews

All

6 reviews

4.8

6 reviews

  • grapesgun0624님의 프로필 이미지
    grapesgun0624

    Reviews 4

    Average Rating 5.0

    5

    100% enrolled

    バリアが直接使うカーネルコードを例に挙げて説明していただくのが本当に良いです。

    • austinkim
      Instructor

      良い評価ありがとうございます。

  • woo12346560311님의 프로필 이미지
    woo12346560311

    Reviews 5

    Average Rating 5.0

    5

    33% enrolled

    • kfcwee9463님의 프로필 이미지
      kfcwee9463

      Reviews 5

      Average Rating 5.0

      5

      100% enrolled

      • jinhoo05096242님의 프로필 이미지
        jinhoo05096242

        Reviews 3

        Average Rating 5.0

        5

        63% enrolled

        • aceoftop1975님의 프로필 이미지
          aceoftop1975

          Reviews 109

          Average Rating 5.0

          5

          100% enrolled

          2024/07/29/月 15:30 講義はよく聞きました。講義を聞くたびに、"あ〜あ〜"を何度もやったようですね。知らないことがわかり、私も知らずに感動しました。受講期間:無制限であり、受講費用も安く、現在前は非常に急に聞いていますが、後でじっくりと何度も聞こえそうです。良い講義を作ってくれてありがとう。

          $26.40

          austinkim's other courses

          Check out other courses by the instructor!