강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

Kiến trúc Arm: Quản lý bộ nhớ (MMU) [Bài giảng trực tiếp của tác giả phần 3-5]

Nền tảng cơ bản nhất của phần mềm hệ thống, cốt lõi kiến trúc Arm mới nhất (Armv8-A, Armv7-A), 'Quản lý bộ nhớ (MMU)' sẽ được tác giả "Cấu trúc và Nguyên lý của Kiến trúc Arm để phát triển phần mềm hệ thống" giúp bạn nắm vững!

(5.0) 2 đánh giá

123 học viên

  • austinkim
저자 직강
이론 중심
임베디드리눅스
트러블슈팅
cortex-a
ARM Architecture
armv8
memory-management

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

  • Có thể nắm bắt nguyên lý hoạt động cơ bản của Bộ quản lý bộ nhớ (MMU) thuộc kiến trúc Arm (Armv8-A).

  • Có thể tìm hiểu cách các tính năng liên quan đến quản lý bộ nhớ (MMU) của kiến trúc Arm được ứng dụng trong các dự án thực tế.

  • Có thể nắm bắt tổng quan về luồng thực thi và cấu trúc liên quan đến Quản lý bộ nhớ (MMU).

  • Tôi có thể trả lời tốt các câu hỏi về quản lý bộ nhớ (MMU) trong buổi 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 bạn. Dành cho 300 người đầu tiên.

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

Bài gi강 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 thức nền tảng được yêu cầu nhiều nhất trong ngành phần mềm hệ thống hiện tại chính là kiến trúc Armv8-A.

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 hiểu rõ cách quản lý bộ nhớ trong các chức 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à 'Quản lý bộ nhớ (MMU)', 'Nguyên lý hoạt động của cache' và 'Mô hình bộ nhớ và barrier'.
Trong số này, một trong những chức năng quan trọng nhất mà nhà phát triển phần mềm hệ thống cần biết là 'Quản lý bộ nhớ (MMU)' liên quan đến hệ thống bộ nhớ ảo.


'Quản lý bộ nhớ (MMU)' - Tại sao chúng ta cần học?

1⃣ Thứ nhất, khi thực hiện bringup trên hệ thống dựa trên RTOS hoặc Linux kernel hoặc phát triển device driver, nếu không hiểu rõ khái niệm về bộ nhớ ảo thì không thể tiến hành phát triển một cách đúng đắn. Khi bringup board có thể xảy ra tình huống cần thiết lập thuộc tính hoặc quyền của địa chỉ ảo, và để làm được điều này cần có khái niệm về bộ nhớ ảo và MMU.

2⃣ Thứ hai, kiến thức nền tảng để hiểu được cách hoạt động của memory abort, page fault và demand paging chính là virtual memory và MMU. Nếu không hiểu rõ cách quản lý địa chỉ ảo theo từng page thì không thể nắm bắt đúng nguyên lý hoạt động của những cơ chế này.

3⃣ Thứ ba, bộ nhớ ảo và MMU là kiến thức nền tảng giúp nắm bắt chi tiết nguyên lý hoạt động bên trong bộ xử lý Arm.

4⃣ Thứ tư, để có thể vượt qua tốt các cuộc 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õ 'khái niệm về bộ nhớ ảo và MMU'. Một trong những câu hỏi thường xuất hiện nhiều trong các cuộc phỏng vấn nhà phát triển có kinh nghiệm là nội dung liên quan đến 'bộ nhớ ảo và MMU'.

Hầu hết các phần mềm hệ thống được phát triển gần đây đều chạy trong môi trường hệ thống bộ nhớ ảo, do đó kiến thức liên quan đến điều này là điều bắt buộc phải biết.

Kinh nghiệm của nhà phát triển phần mềm hệ thống được
trình bày một cách dễ hiểu và chi tiết!


Khóa học này là bài giảng trực tiếp của tác giả cuốn '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', đi sâu chi tiết về quản lý bộ nhớ (MMU) của kiến trúc Arm (Armv8-A) - thành phần cốt lõi của hệ thống bộ nhớ.
Đây là khóa học mà tôi đã dành nhiều thời gian nhất để sản xuất trong số các bài giảng trực tiếp của tác giả từ trước đến nay.


⭐️ Điểm khác biệt của khóa học

1⃣ Trong bài giảng này, chúng ta sẽ giải thích một cách chi tiết và dễ hiểu tất cả các nội dung cốt lõi về bộ nhớ ảo, địa chỉ ảo và hệ thống bộ nhớ ảo được hỗ trợ trong kiến trúc Arm.

2⃣ Khi viết cuốn sách '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', có rất nhiều nội dung không thể đề cập hết do giới hạn về mặt bằng, và tôi sẽ đưa tất cả những nội dung này vào bài giảng để giải thích một cách chi tiết.

3⃣ Giải thích chi tiết các lệnh assembly thiết lập hoạt động cụ thể của MMU và các thanh ghi hệ thống liên quan thông qua mã ví dụ từ Linux kernel và XEN hypervisor.

4⃣ Sử dụng các công cụ debug như TRACE32 và crash-utility để giải thích chi tiết các trường bit chính của thanh ghi hệ thống và luồng xử lý exception.

Nếu bạn tiếp thu tốt khóa học này, bạn có thể phát triển thành một nhà phát triển phần mềm hệ thống cao cấp. Tôi ủng hộ bạn nâng cấp sự nghiệp với mức lương và vị trí cao hơn.

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

Giải thích chi tiết các chức năng chính và luồng hoạt động tạo nên quản lý bộ nhớ.


Giải thích cách có thể ứng dụng các nội dung liên quan đến quản lý bộ nhớ từ góc độ phát triển thực tế.


Trước khi giải thích các chức năng chính của MMU, chúng ta cần nắm vững khái niệm về bộ nhớ ảo trước.
Giải thích chi tiết các yếu tố chính và cấu trúc tạo nên hệ thống bộ nhớ ảo.

Cấu trúc và luồng thực thi của MMU cũng như các chức năng chính cấu thành MMU được giải thích chi tiết.
Nguyên lý hoạt động cụ thể của việc chuyển đổi địa chỉ ảo thành địa chỉ vật lý và cấu trúc của trang đa cấp được giải thích cùng nhau.

Giải thích chi tiết nguyên lý hoạt động của việc chuyển đổi địa chỉ ảo thành địa chỉ vật lý cùng với cấu trúc của bảng trang đa cấp.

Giới thiệu chi tiết các lệnh assembly được thực thi khi thiết lập phạm vi địa chỉ ảo và chức năng của MMU.

Sử dụng chương trình gỡ lỗi TRACE32 để giải thích chi tiết các trường bit chính cấu thành thanh ghi TCR_EL1. Phân tích và thực hành các thanh ghi hệ thống khác nhau có thể biết được thông tin liên quan đến lỗi thông qua chương trình gỡ lỗi có tên crash-utility.

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 các xu hướng phần mềm hệ thống mới nhất (xe điện, 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 Linux kernel 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à người giáo dục có thể giải thích tốt nhất các chức 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á 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 'Quản lý bộ nhớ (MMU)' là một khóa học có thể theo dõi 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.

  • Sẽ tốt nếu bạ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 (tự lái, infotainment).

  • Ứng viên tìm việc 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, ô tô điện) muốn biết cách gỡ lỗi trong thực tế bằng cách tận dụng các tính năng của kiến trúc Arm.

  • Nhà phát triển từ lĩnh vực khác muốn chuyển đổi sự nghiệp sang lĩnh vực phần mềm hệ thống

  • Sinh viên đại học mong muốn học cao học trong lĩnh vực phần mềm hệ thống (bộ nhớ, hệ thống tập tin, hệ điều hành)

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ả

25 bài giảng ∙ (4giờ 18phút)

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

Đánh giá

Tất cả

2 đánh giá

5.0

2 đánh giá

  • Embedded June님의 프로필 이미지
    Embedded June

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    3부 (트러스트존, 가상화, 메모리(메모리모델, 캐시, MMU)) 모두 수강했습니다. 특히 메모리쪽에서 기존에 머릿속에 알고있던 어렴풋한 추상적인 메모리 관련 내용들이 정확하게 레지스터 단위까지 순차적으로 정리되는 느낌이었습니다. 친절하게 설명해주셔서 감사합니다!!

    • sunny75님의 프로필 이미지
      sunny75

      Đánh giá 113

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      2024/7/30/화 07:55 강의 잘 들었습니다. 강의 들을 때 마다 항상 새로운 지식을 얻고 있습니다. 이렇게 어려운 내용을 잘 설명해 주셔서 감사합니다.

      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!