Kiến trúc Arm: Quản lý bộ nhớ (MMU) [Tác giả trực tiếp giảng dạy Phần 3-5]

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

(5.0) 3 đánh giá

131 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

cortex-a
cortex-a
ARM Architecture
ARM Architecture
armv8
armv8
memory-management
memory-management
cortex-a
cortex-a
ARM Architecture
ARM Architecture
armv8
armv8
memory-management
memory-management

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

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

  • Bạn 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 như thế nào vào các dự án thực tế.

  • Bạn có thể nắm bắt bức tranh tổng thể về cấu trúc và luồng thực thi 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.

<Thông báo>

1. Phát hành phiếu giảm giá 30% kỷ niệm cột mốc 300 học viên 

Chào mừng số lượng học viên vượt mốc 300 người (Phần 1, 2), chúng tôi xin phát hành mã giảm giá 30%. Xin cảm ơn các bạn. Số lượng có hạn cho 300 người đầu tiên.

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

Bài giảng lần này <Arm Architecture: Memory Management (MMU) [Tác giả trực tiếp giảng dạy phần 3-5]> là bài giảng nằm trong lộ trình'Arm dành cho nhà phát triển phần mềm hệ thống - khóa học nâng cao'.


Đối với những ai muốn học về kiến trúc Arm (Armv8-A, Armv7-A) một cách hệ thống, việc tận dụng lộ trình học (giảm giá 30% cho toàn bộ khóa học) sẽ rất hữu ích. Để tham khảo, lộ trình kiến trúc Arm (toàn bộ bài giảng trực tiếp từ tác giả) bao gồm hai phần là Basic CourseAdvanced Course..


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

Các bộ vi xử lý Arm được sử dụng trong điện thoại thông minh, hệ thống bán dẫn SoC cho AI, ô tô điện (tự hành, thông tin giải trí), cũng như máy chủ đám mây và MacBook đều là các bộ vi xử lý Cortex-A 64-bit dựa trên Armv8-A (Cortex-A53, Cortex-A57, Cortex-A72, v.v.). Có thể coi kiến trúc Armv8-A là nội dung đòi hỏi kiến thức nền tảng cần thiết 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 SW hệ thống cao cấp!
Hiểu về phương thức 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 thức quản lý bộ nhớ, một trong những chức năng chính cấu thành nên kiến trúc Arm. Cốt lõi của phương pháp quản lý bộ nhớ là 'Quản lý bộ nhớ (MMU)', 'Nguyên lý hoạt động của bộ nhớ đệm' và 'Mô hình bộ nhớ và rào cản (Barrier)'.
Trong số đó, 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 phải học?

1⃣ Thứ nhất, khi thực hiện bring-up hoặc phát triển device driver trên các hệ thống dựa trên RTOS hoặc Linux kernel, nếu không nắm vững khái niệm về bộ nhớ ảo, bạn sẽ không thể tiến hành phát triển một cách đúng đắn. Khi bring-up bo mạch, có thể phát sinh tình huống cần thiết lập thuộc tính hoặc quyền hạn của địa chỉ ảo, và kiến thức cần thiết cho việc này chính là khái niệm về bộ nhớ ảo và MMU.

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

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

4⃣ Thứ tư, để chuẩn bị tốt cho các buổi 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 nắm vững 'khái niệm về bộ nhớ ảo và MMU'. Một trong những câu hỏi thường gặp nhất trong các buổi 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, vì vậy bạn nhất định phải biết những kiến thức liên quan đến vấn đề này.

Bí quyết của nhà phát triển phần mềm hệ thống
được gói gọn 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 từ tác giả của cuốn sách 'Cấu trúc và nguyên lý của kiến trúc Arm dành cho phát triển phần mềm hệ thống', tập trung chi tiết vào Quản lý bộ nhớ (MMU) của kiến trúc Arm (Armv8-A), vốn là cốt lõi của hệ thống bộ nhớ.
Đây là bài giảng mà tôi đã dành nhiều thời gian nhất để thực hiện trong số các bài giảng trực tiếp từ tác giả từ trước đến nay.


⭐️ Điểm khác biệt của bài giảng

1⃣ Trong bài giảng này, tôi sẽ giải thí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 dành cho phát triển phần mềm hệ thống', có nhiều nội dung chưa thể truyền tải hết do giới hạn về số trang, tất cả những nội dung đó đã được đưa vào bài giảng này và 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ừ nhân Linux và XEN hypervisor.

4⃣ Giải thích chi tiết từ các trường bit chính của thanh ghi hệ thống cho đến luồng xử lý ngoại lệ (exception) bằng cách sử dụng các công cụ gỡ lỗi như TRACE32 và crash-utility.

Nếu bạn nắm vững 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 luôn ủng hộ bạn nâng cấp sự nghiệp của mình với mức lương và vị trí cao hơn.

Bạn sẽ học được những nội dung này 📕

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


Giải thích cách vận dụng các nội dung liên quan đến quản lý bộ nhớ (memory management) dưới 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, cần phải nắm vững khái niệm về bộ nhớ ảo trước.
Giải thích chi tiết các thành phần và cấu trúc chính cấu thành nên hệ thống bộ nhớ ảo.

Giải thích chi tiết về 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 nên MMU.
Đồng thời giải thích chi tiết nguyên lý hoạt động chuyển đổi địa chỉ ảo sang địa chỉ vật lý và cấu trúc của trang đa cấp (multi-level page).

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 sang địa chỉ vật lý cùng với cấu trúc của trang đa cấp (multi-level page).

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.

Giải thích chi tiết các trường bit chính cấu thành thanh ghi TCR_EL1 trong khi sử dụng chương trình gỡ lỗi TRACE32. Đồng thời, phân tích và thực hành thông qua chương trình gỡ lỗi crash-utility về các thanh ghi hệ thống khác nhau cho phép biết thông tin liên quan đến lỗi (fault).

Dựa trên kinh nghiệm viết sách và giảng dạy,
giải thích sâu sắc và chi tiết hơn bất kỳ ai!

Tôi là tác giả của những cuốn sách "Kiến trúc Arm (Armv8-A, Armv7-A)" và "Linux Kernel" vô tiền khoáng hậu trong lĩnh vực phần mềm hệ thống tại Hàn Quốc. Đồng thời, tôi cũng là một nhà phát triển đang làm việc thực tế, người nắm 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à một nhà giáo dục hoạt động 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ấu trúc và nguyên lý của kiến trúc Arm dành cho phát triển phần mềm hệ thống' (Năm 2024, Giải thưởng Sách hay của Viện Hàn lâm Khoa học Quốc gia Hàn Quốc)

  • Tác giả cuốn 'Cấu trúc và nguyên lý của Linux Kernel học qua debugging' (Giải thưởng Sách hay của Viện Hàn lâm Khoa học Quốc gia Hàn Quốc năm 2021)

  • Giảng viên chính của 'Programmers Dev Course: Chuyên gia Hệ thống và Nhân Linux'

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

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


Tôi có thể tự tin khẳng định rằng mình là một nhà giáo dục có khả năng giải thích các tính năng chính của kiến trúc Arm (Armv8-A, Armv7-A) tốt hơn bất kỳ ai tại Hàn Quốc.

Những đánh giá thực tế từ người học

<Cấu trúc và nguyên lý của kiến trúc Arm dành cho phát triển phần mềm hệ thống - Bài giảng trực tiếp từ tác giả Phần 1/2>


Lưu ý trước khi khóa học bắt đầu

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 mà bạn có thể dễ dàng theo kịp ngay cả khi không có kiến thức tiên quyết.

  • Bạn cần nắm rõ các khái niệm cơ bản về lệnh Assembly và thanh ghi (register).

  • Sẽ rất tốt nếu bạn hiểu về hệ thống đa lõi (multi-core system) và cấu 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?

  • Nhà phát triển trẻ 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ự hành, thông tin giải trí)

  • Sinh viên mới tốt nghiệp đang 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.

  • Các 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 tận dụng các tính năng của kiến trúc Arm để thực hiện debug trong thực tế.

  • Các nhà phát triển từ các lĩnh vực khác đang muốn chuyển hướng sự nghiệp sang lĩnh vực phần mềm hệ thống.

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

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

  • Cấu trúc máy tính

  • Hệ điều hành

Xin chào
Đây là austinkim

6,384

Học viên

247

Đánh giá

99

Trả lời

4.9

Xếp hạng

23

Các khóa học

Tác giả toàn cầu & Nhà phát triển phần mềm hệ thống Linux (Kiến trúc Arm, RISC-V)

Là tác giả vô tiền khoáng hậu trong lĩnh vực phần mềm hệ thống tại Hàn Quốc, người đã viết các cuốn sách về 'Kiến trúc Arm (Armv8-A, Armv7-A)' và 'Linux Kernel' (cả hai cuốn sách đều được Viện Hàn lâm Khoa học Quốc gia Hàn Quốc bình chọn là Sách ưu tú), đồng thời là tác giả toàn cầu đầu tiên tại Hàn Quốc viết cuốn sách tiếng Anh "Reverse Engineering Armv8-A Systems" thông qua nhà xuất bản nước ngoài (Packt). Trên hết, ông là một nhà phát triển đang làm việc thực tế, người nắm 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). Ngoài ra, ông còn là một nhà giáo dục hoạt động 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ả cuốn sách (tiếng Anh) 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis', (Nhà xuất bản Packt), (Packt Publishing)

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

  • Tác giả cuốn sách 'Cấu trúc và nguyên lý của nhân Linux học qua việc gỡ lỗi' (Giải thưởng Sách hay của Viện Hàn lâm Khoa học Quốc gia Hàn Quốc năm 2021))

  • Giảng viên chính của 'Programmers Dev Course: Chuyên gia Hệ thống Linux và Kernel'

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

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

Tôi có thể tự tin khẳng định rằng mình là một giảng viên có khả năng giải thích về Linux Kernel và kiến trúc Arm (Armv8-A, Armv7-A) tốt hơn bất kỳ ai khác tại Hàn Quốc.

Liên hệ giảng dạy: austindh.kim@gmail.com

Lộ trình chính 🎯

'Arm dành cho nhà phát triển phần mềm hệ thống - khóa học cơ bản'

'Arm dành cho nhà phát triển phần mềm hệ thống - khóa học nâng cao'

Linux kernel dành cho nhà phát triển phần mềm hệ thống - khóa học cơ bản

Thêm

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ả

3 đánh giá

5.0

3 đánh giá

  • cydphj1717님의 프로필 이미지
    cydphj1717

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Tôi đã học xong cả 3 phần (TrustZone, ảo hóa, bộ nhớ (mô hình bộ nhớ, cache, MMU)). Đặc biệt là phần bộ nhớ, những kiến thức trừu tượng mơ hồ mà tôi đã biết trước đây đã được sắp xếp một cách tuần tự và chính xác đến từng đơn vị thanh ghi. Cảm ơn vì đã giải thích một cách tận tình!!

    • aceoftop1975님의 프로필 이미지
      aceoftop1975

      Đánh giá 121

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      2024/7/30/Thứ ba 07:55 Tôi rất thích bài giảng. Tôi luôn có được kiến ​​thức mới mỗi khi tôi nghe bài giảng. Cảm ơn bạn đã giải thích một chủ đề khó khăn như vậy rất tốt.

      • heecheolsong님의 프로필 이미지
        heecheolsong

        Đánh giá 23

        Đánh giá trung bình 5.0

        5

        32% đã tham gia

        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!

        716.033 ₫