인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
Hardware

/

Embedded IoT

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

The author of “Arm Architecture Structure and Principles for System Software Development” will teach you the basics of system software, the core of the latest Arm architecture (Armv8-A, Armv7-A), the “memory model and barrier”!

(4.8) 4 reviews

81 students

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

This course is prepared for Basic Learners.

What you will learn!

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

  • Learn how the memory model and barrier-related features of the Arm architecture are utilized in real-world projects.

  • The big picture provides an understanding of the execution flow and structures related to the memory model and barriers.

  • You will be able to answer questions related to memory models and barriers well in interviews.

<Notice>

1. 30% discount coupon issued when 200 people sign up

To celebrate reaching 200 students (Part 1 and 2), we are issuing a 30% discount coupon. Thank you. First 100 people.

  • Coupon: 17879-2da422a465ea

2. Roadmap Guide 🎯

This lecture is a roadmap 'Arm - advanced course for system software developers ' This lecture is included in .


If you want to learn Arm architecture (Armv8-A, Armv7-A) systematically , it is recommended to use the roadmap ( 30% discount on all lectures ). For reference, the Arm architecture roadmap (all author lectures) is Basic Course and Advanced Course It consists of two parts.


In the latest system software
The most important Arm architecture

The Arm processors used in smartphones, AI SoC system semiconductors, electric vehicles (autonomous driving, infotainment), cloud servers, and MacBooks are all Armv8-A based 64-bit Cortex-A processors (Cortex-A53, Cortex-A57, Cortex-A72, etc.). It can be said that the area requiring the most basic knowledge in the current system software industry is the Armv8-A architecture.

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

However, in order to become an advanced system software developer, you need to understand how to manage memory, which is one of the main functions that make up the Arm architecture. The core of how to manage memory is the 'virtual memory system', 'cache operation principles', and 'memory model and barrier' .


Why learn 'Memory Model and Barrier'?

1⃣ First, if you know the memory model and barriers well, you can develop a good device driver . Most device drivers control peripheral devices in a memory-mapped I/O manner, and the memory model (normal memory, device memory) covers device memory, which is the basis of the memory-mapped I/O method, in detail.

2⃣ Second, you need to understand the device memory (one of the memory models), which is the basis of memory-mapped I/O, to be able to efficiently control the hardware that makes up the system semiconductor in programming. This is because most independent modules (IPs) that make up the system semiconductor are designed using the memory-mapped I/O method in system semiconductors (fabless).

3⃣ Third, if you know the memory model and barriers well, you can understand the working principles inside the Arm processor in detail . In particular, you will often encounter situations where barriers are used to solve concurrency problems in multi-core systems, and 'memory models and barriers' can be basic knowledge.

4⃣ Fourth, in order to do well in technical interviews related to system software development, you need to know 'memory models and barriers' well. One of the questions that comes up frequently in interviews for experienced developers is about memory reordering and memory-mapped I/O.


A lecture directly written by the author containing the know-how of a 12-year system engineer!

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

Learn about these things

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

By analyzing the Arm specification document in detail, we introduce the types of memory models (normal memory and device memory).

We will detail the device memory, which is a memory-mapped I/O interface, and review the memory-mapped I/O of the BCM2711 (used on a Raspberry Pi).

Analyzing memory-mapped I/O interfaces with debugging (Crash-Utility).

Introduces barriers and provides detailed examples of barriers.

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

This article details how barriers are actually utilized in the Linux kernel and XEN hypervisor.

Based on my experience writing books and giving lectures
More in-depth and detailed than anyone else!

The author of the unprecedented 'Arm Architecture (Armv8-A, Armv7-A)' and 'Linux Kernel' books in the domestic system software field. He is also a working developer who knows the latest system software trends (electric vehicles, system semiconductors - system software) the best, and an educator who is most active in spreading knowledge in the system software field.

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

  • Author of 'Learning the Structure and Principles of the Linux Kernel through Debugging' ( 2021, Korean Academy of Sciences Outstanding Book Award )

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

  • June 2022, Korea Computer Conference (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 the 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 students

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


Things to note before taking the class

Player Knowledge & Notes 📢

  • The lecture 'Memory Model and Barrier' is one that can be easily followed even without prior knowledge.

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

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


Recommended for
these people!

Who is this course right for?

  • Junior developers who want to develop their capabilities in the field of system software, including system semiconductors (fabless) and electric vehicles (autonomous driving, infotainment).

  • Job seekers who want to develop system software in the field of system semiconductors (fabless) and electric vehicles

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

Need to know before starting?

  • Computer Architecture

  • Operating system

Hello
This is

4,333

Students

79

Reviews

74

Answers

4.9

Rating

18

Courses

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

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

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

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

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

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

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

주요 로드맵 🎯

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

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

 

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

체계적으로 Arm 아키텍처(Armv8-A, Armv7-A)와 리눅스 커널을 배우시려는 분은 로드맵(전체 강의 30% 할인)을 활용하시면 좋습니다.

Curriculum

All

27 lectures ∙ (3hr 50min)

Published: 
Last updated: 

Reviews

Not enough reviews.
Become the author of a review that helps everyone!