강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

Kiến trúc Arm: Mô hình bộ nhớ và rào cản [Bài giảng trực tiếp của tác giả phần 3-3]

Tác giả cuốn "Cấu trúc và Nguyên lý của Kiến trúc Arm cho Phát triển Phần mềm Hệ thống" sẽ giúp bạn nắm vững 'Mô hình bộ nhớ và Barrier', cái cốt lõi của kiến trúc Arm mới nhất (Armv8-A, Armv7-A) và là nền tảng cơ bản nhất của phần mềm hệ thống!

(4.8) 6 đánh giá

112 học viên

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

Bạn sẽ nhận được điều này sau khi học.

  • Tìm hiểu nguyên lý hoạt động cơ bản của mô hình bộ nhớ và hàng rào trong kiến trúc Arm (Armv8-A).

  • Có thể thấy được cách mô hình bộ nhớ và các tính năng liên quan đến barrier của kiến trúc Arm được ứng dụng trong các dự án thực tế.

  • Nhìn tổng thể, có thể nắm bắt được luồng thực thi và cấu trúc liên quan đến mô hình bộ nhớ và barrier.

  • Có thể trả lời tốt các câu hỏi về mô hình bộ nhớ và rào chắn khi phỏng vấn.

1. Phát hành coupon giảm giá 30% khi vượt qua 300 người

Để kỷ niệm việc vượt qua 300 học viên (phần 1,2), chúng tôi phát hành coupon giảm giá 30%. Cảm ơn các bạn. Dành cho 200 người đầu tiên.

2. Hướng dẫn lộ trình 🎯

Bài giảng nàylộ trình'Arm cho nhà phát triển phần mềm hệ thống - khóa học nâng cao'được bao gồm trong khóa học.


Có hệ thống để học kiến trúc Arm (Armv8-A, Armv7-A), bạn nên sử dụng lộ trình học (giảm giá 30% toàn bộ khóa học). Tham khảo, lộ trình kiến trúc Arm (toàn bộ khóa học trực tiếp từ tác giả) làBasic CourseKhóa học Nâng caoĐược cấu thành từ 2 phần.


Trong phần mềm hệ thống mới nhất
Kiến trúc Arm quan trọng nhất

Không chỉ smartphone mà cả SoC hệ thống bán dẫn cho AI, ô tô điện Automotive (tự lái, infotainment) và bộ xử lý Arm được sử dụng trong máy chủ cloud cũng như MacBook đều là bộ xử lý Cortex-A 64-bit dựa trên Armv8-A (Cortex-A53, Cortex-A57, Cortex-A72, v.v...). Có thể nói rằng kiến trúc Armv8-A là lĩnh vực đòi hỏi nhiều kiến thức nền tảng nhất trong ngành phần mềm hệ thống hiện nay.

Bước đầu tiên để trở thành nhà phát triển phần mềm hệ thống cao cấp!
Hiểu về cách quản lý bộ nhớ🙋‍♂

Tuy nhiên, để trở thành một nhà phát triển phần mềm hệ thống cao cấp, bạn cần phải hiểu rõ cách quản lý bộ nhớ trong các tính năng chính cấu thành kiến trúc Arm. Cốt lõi của cách quản lý bộ nhớ là 'hệ thống bộ nhớ ảo', 'nguyên lý hoạt động của cache' và 'mô hình bộ nhớ và barrier'.


Tại sao chúng ta cần học về 'Mô hình bộ nhớ và Barrier'?

1⃣ Thứ nhất, nếu hiểu rõ về memory model và barrier thì có thể phát triển device driver tốt. Hầu hết các device driver đều điều khiển peripheral device bằng phương thức memory mapped I/O, trong memory model (normal memory, device memory) sẽ đề cập chi tiết về device memory - nền tảng của phương thức memory mapped I/O.

2⃣ Thứ hai, cần hiểu rõ về device memory (một trong các memory model) - nền tảng của memory mapped I/O để có thể lập trình điều khiển hiệu quả phần cứng cấu thành bán dẫn hệ thống. Bởi vì trong bán dẫn hệ thống (fabless), hầu hết các module độc lập (IP) cấu thành bán dẫn hệ thống đều được thiết kế thông qua phương thức memory mapped I/O.

3⃣ Thứ ba, nếu hiểu rõ về memory model và barrier, bạn có thể nắm bắt chi tiết nguyên lý hoạt động bên trong bộ xử lý Arm. Đặc biệt trong hệ thống đa lõi, chúng ta thường gặp phải tình huống cần sử dụng barrier để giải quyết các vấn đề về tính đồng thời, và 'Memory Model và Barrier' có thể trở thành kiến thức nền tảng.

4⃣ Thứ tư, để làm tốt phỏng vấn kỹ thuật liên quan đến phát triển phần mềm hệ thống, bạn cần hiểu rõ về 'mô hình bộ nhớ và barrier'. Một trong những câu hỏi thường xuất hiện trong phỏng vấn nhà phát triển có kinh nghiệm là nội dung liên quan đến memory reordering, memory mapped I/O.


Khóa học trực tiếp từ tác giả với 12 năm kinh nghiệm là kỹ sư hệ thống!

'Cấu trúc và nguyên lý của kiến trúc Arm cho phát triển phần mềm hệ thống' sách (chương 17) đã trình bày chi tiết về 'Mô hình bộ nhớ và rào cản'. Hy vọng bạn sẽ phát triển hơn nữa như một nhà phát triển phần mềm hệ thống thông qua các bài gi강 trực tiếp của tác giả.

Chúng ta sẽ học những nội dung như thế này

Giới thiệu các loại mô hình bộ nhớ được định nghĩa trong kiến trúc Arm và bộ nhớ thông thường.

Phân tích chi tiết tài liệu đặc tả Arm và giới thiệu các loại mô hình bộ nhớ (bộ nhớ thông thường và bộ nhớ thiết bị).

Giao diện I/O ánh xạ bộ nhớ này mô tả chi tiết bộ nhớ thiết bị và xem xét I/O ánh xạ bộ nhớ của BCM2711 (sử dụng Raspberry Pi).

Phân tích giao diện Memory Mapped I/O thông qua Debugging (Crash-Utility).

Giới thiệu về Barrier và giải thích chi tiết các ví dụ về Barrier.

Giải thích về phạm vi áp dụng của barrier và tính nhất quán của dữ liệu trong hệ thống đa lõi.

Giải thích chi tiết về cách barrier được sử dụng trong Linux kernel thực tế và XEN hypervisor.

Dựa trên kinh nghiệm viết sách/giảng dạy
Sâu sắc và chi tiết hơn ai hết!

Trong lĩnh vực phần mềm hệ thống tại Hàn Quốc, đây là tác giả duy nhất! đã viết sách về 'Kiến trúc Arm (Armv8-A, Armv7-A)' và 'Linux Kernel'. Đồng thời cũng là nhà phát triển thực tế hiểu rõ nhất về các xu hướng phần mềm hệ thống mới nhất (xe điện, chất bán dẫn hệ thống - phần mềm hệ thống), và là nhà giáo dục tích cực nhất trong việc truyền bá kiến thức trong lĩnh vực phần mềm hệ thống.

  • Tác giả của 'Cấu trúc và nguyên lý kiến trúc Arm cho phát triển phần mềm hệ thống' (năm 2024, Giải thưởng Sách xuất sắc của Viện Hàn lâm Khoa học Hàn Quốc)

  • 'Học cấu trúc và nguyên lý của Linux kernel thông qua debugging' (2021, Giải thưởng sách xuất sắc của Viện Hàn lâm Khoa học Hàn Quốc) tác giả

  • 'Programmers Dev Course: Chuyên gia hệ thống Linux và kernel' - Giảng viên chính

  • Tháng 6 năm 2022, Hội nghị Khoa học Máy tính Tổng hợp Hàn Quốc (KCC2022) - Bài thuyết trình hướng dẫn [Chinh phục kernel Linux bằng ftrace]

  • LG Electronics giảng viên nội bộ về 'Linux Kernel' và 'Kiến trúc Armv8' (bao gồm các nhà phát triển trong nước và nước ngoài) - (2020~2024)


Tôi có thể tự tin nói rằng mình là một giảng viên có thể giải thích tốt nhất các tính năng chính tạo nên kiến trúc Arm (Armv8-A, Armv7-A) hơn bất kỳ ai khác trong nước.

Đánh giá khóa học chân thực từ học viên


Những điều cần lưu ý trước khi học

Kiến thức tiên quyết và lưu ý 📢

  • Khóa học 'Memory Model và Barrier' là một khóa học mà bạn có thể theo dõi một cách dễ dàng ngay cả khi không có kiến thức tiên quyết.

  • Bạn cần phải biết các khái niệm cơ bản về lệnh assembly và thanh ghi.

  • Nên hiểu về hệ thống đa lõi và kiến trúc hệ thống.


Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Lập trình viên junior mong muốn phát triển năng lực trong lĩnh vực phần mềm hệ thống, bao gồm bán dẫn hệ thống (fabless) và lĩnh vực xe điện (lái tự động, thông tin giải trí).

  • Người tìm việc mong muốn phát triển phần mềm hệ thống trong lĩnh vực bán dẫn hệ thống (fabless) và xe điện.

  • Nhà phát triển phần mềm hệ thống (bán dẫn hệ thống, xe điện) muốn biết cách gỡ lỗi thực tế qua tận dụng tính năng kiến trúc Arm.

Cần biết trước khi bắt đầu?

  • Kiến trúc máy tính

  • hệ điều hành

Xin chào
Đây là

6,034

Học viên

204

Đánh giá

89

Trả lời

4.9

Xếp hạng

22

Các khóa học

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (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

Chương trình giảng dạy

Tất cả

27 bài giảng ∙ (3giờ 50phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

6 đánh giá

4.8

6 đánh giá

  • 토끼야놀자님의 프로필 이미지
    토끼야놀자

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    배리어가 직접 쓰이는 커널 코드를 예시로 들어서 설명해주시는 것이 정말 좋습니다.

    • 김동현 (Austin Kim)
      Giảng viên

      좋은 평가 감사합니다.

  • 김건우님의 프로필 이미지
    김건우

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    33% đã tham gia

    • 이지수님의 프로필 이미지
      이지수

      Đánh giá 8

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      • 이진후님의 프로필 이미지
        이진후

        Đánh giá 3

        Đánh giá trung bình 5.0

        5

        63% đã tham gia

        • sunny75님의 프로필 이미지
          sunny75

          Đánh giá 113

          Đánh giá trung bình 5.0

          5

          100% đã tham gia

          2024/07/29/월 15:30 강의 잘 들었습니다. 강의를 들을 때 마다, "아~ 아~" 를 몇 번씩 한 것 같네요. 모르는 것을 알게 되어, 저도 모르게 감동 받았습니다. 수강 기간:무제한 이고, 수강 비용도 저렴하고, 현재 전 아주 급하게 듣고 있지만, 나중엔 차분하게 여러 번 들을 것 같습니다. 좋은 강의 만들어 주셔서 감사합니다.

          716.781 ₫

          Khóa học khác của austinkim

          Hãy khám phá các khóa học khác của giảng viên!