강의

멘토링

로드맵

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á

115 học viên

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

Dịch cái này sang tiếng Việt

  • 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.

<Thông báo>

1. Tặng phiếu giảm giá 30% khi có 300 người đăng ký

Để chào mừng 300 học viên (Phần 1 và 2), chúng tôi xin gửi tặng phiếu giảm giá 30% cho 300 người đầu tiên. Xin chân thành cảm ơn.

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

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


Nếu bạn muốn tìm hiểu kiến trúc Arm (Armv8-A, Armv7-A) một cách có hệ thống , bạn nên sử dụng lộ trình ( giảm giá 30% cho tất cả các bài giảng ). Để tham khảo, lộ trình kiến trúc Arm (tất cả các bài giảng của tác giả) là Khóa học cơ bản Khóa học nâng cao Nó bao gồm hai phần.


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

Bộ xử lý Arm được sử dụng trong điện thoại thông minh, chất bán dẫn hệ thống SoC AI, xe điện (lái xe tự động, thông tin giải trí), máy chủ đám mây và MacBook đều là bộ xử lý Cortex-A 64-bit dựa trên Armv8-A (Cortex-A53, Cortex-A57, Cortex-A72, v.v.). Kiến trúc Armv8-A có thể được coi là kiến thức cơ bản 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 phần mềm hệ thống nâng cao!
Hiểu về 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 nâng cao, bạn phải hiểu rõ cách quản lý bộ nhớ, một trong những chức năng chính tạo nên 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 tắc Hoạt động Bộ nhớ đệm' và ' Mô hình và Rào cản Bộ nhớ ' .
Một trong những tính 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à 'Đơn vị quản lý bộ nhớ (MMU)' liên quan đến hệ thống bộ nhớ ảo .


Tại sao chúng ta nên học ' Đơn vị quản lý bộ nhớ (MMU) '?

1⃣ Trước tiên, khi khởi tạo hoặc phát triển trình điều khiển thiết bị trong hệ thống RTOS hoặc hệ điều hành dựa trên nhân Linux, bạn không thể tiến hành phát triển đúng cách nếu không hiểu khái niệm bộ nhớ ảo. Khi khởi tạo một bo mạch, có thể có trường hợp bạn cần thiết lập thuộc tính hoặc quyền cho một địa chỉ ảo, và các khái niệm cần thiết cho việc này là bộ nhớ ảo và MMU.

2⃣ Thứ hai, kiến thức cơ bản có thể giúp bạn hiểu về lỗi bộ nhớ, lỗi trang và cách thức hoạt động của phân trang theo chiều là bộ nhớ ảo và MMU. Nếu bạn không biết cách quản lý địa chỉ ảo dưới dạng trang, 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 cơ bản có thể giúp bạn hiểu chi tiết về nguyên lý hoạt động bên trong bộ xử lý Arm.

4⃣ Thứ tư, để làm tốt trong một 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 khái niệm "bộ nhớ ảo và MMU". Một trong những câu hỏi thường gặp trong các cuộc phỏng vấn dành cho các lập trình viên giàu kinh nghiệm là "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à rất cần thiết.

Kiến thức chuyên môn của các nhà phát triển phần mềm hệ thống
Thật dễ dàng và chi tiết!


Bài giảng 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 tắc của kiến trúc Arm cho phát triển phần mềm hệ thống' và trình bày chi tiết về quản lý bộ nhớ (MMU) của kiến trúc Arm (Armv8-A), đây là cốt lõi của hệ thống bộ nhớ.
Bài giảng này mất nhiều thời gian biên soạn nhất trong số tất cả các bài giảng do tác giả biên soạn mà tôi từng biên soạn cho đến nay.


Những điểm khác biệt của bài giảng

1⃣ Bài giảng này giải thích chi tiết về nội dung cốt lõi của bộ nhớ ảo, địa chỉ ảo và hệ thống bộ nhớ ảo được kiến trúc Arm hỗ trợ.

2⃣ Khi viết cuốn sách 'Cấu trúc kiến trúc Arm và các nguyên tắc phát triển phần mềm hệ thống', có nhiều nội dung không thể trình bày hết do hạn chế về mặt không gian, nhưng tất cả đều được giải thích chi tiết trong bài giảng.

3⃣ Các hướng dẫn lắp ráp và các thanh ghi hệ thống liên quan thiết lập hoạt động chi tiết của MMU được giải thích chi tiết bằng các mã ví dụ của hạt nhân Linux và trình quản lý ảo XEN.

4⃣ Sử dụng các công cụ gỡ lỗi như TRACE32 và crash-utility, chúng tôi giải thích chi tiết các trường bit chính của sổ đăng ký hệ thống và quy trình xử lý ngoại lệ.

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

Tìm hiểu về những điều này 📕

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


Giải thích cách tận dụng 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, trước tiên chúng ta cần hiểu khái niệm bộ nhớ ảo.
Mô tả chi tiết các thành phần và cấu trúc chính tạo nên hệ thống bộ nhớ ảo.

Tài liệu này 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 tạo nên MMU.
Nó giải thích các nguyên tắc hoạt động chi tiết của việc chuyển đổi địa chỉ ảo thành địa chỉ vật lý và cấu trúc của các trang đa cấp.

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

Cung cấp thông tin chi tiết về các lệnh lắp ráp được thực hiện khi thiết lập phạm vi địa chỉ ảo và chức năng của MMU.

Chúng tôi sẽ giải thích chi tiết các trường bit chính tạo nên thanh ghi TCR_EL1 bằng chương trình gỡ lỗi TRACE32. Chúng tôi sẽ phân tích và thực hành các thanh ghi hệ thống khác nhau có thể cung cấp thông tin liên quan đến lỗi bằng chương trình gỡ lỗi có tên là crash-utility.

Dựa trên kinh nghiệm viết sách và giảng bài của tôi
Sâu sắc và chi tiết hơn bất kỳ ai khác!

Ông là tác giả của những cuốn sách chưa từng có về 'Arm Architecture (Armv8-A, Armv7-A)' và 'Linux Kernel' trong lĩnh vực phần mềm hệ thống nội địa. Ông cũng là một nhà phát triển am hiểu 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à một nhà giáo dục năng động 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 tắc của kiến trúc Arm cho phát triển phần mềm hệ thống' ( 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 năm 2024 )

  • Tác giả của 'Tìm hiểu cấu trúc và nguyên tắc của hạt nhân Linux thông qua gỡ lỗi' ( 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 năm 2021 )

  • 'Khóa học dành cho lập trình viên: Chuyên gia về hệ thống và hạt nhân Linux' Giảng viên chính

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

  • Giảng viên nội bộ về 'Linux Kernel' và 'Armv8 Architecture' của LG Electronics ( bao gồm 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 tôi là nhà giáo dục có thể 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 khác ở Hàn Quốc.

Đánh giá khóa học sống động được để lại bởi học viê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 - Phần 1/2 Bài giảng của tác giả>


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

Kiến thức và ghi chú của người chơi

  • Bài giảng 'Quản lý bộ nhớ (MMU)' là bài giảng có thể dễ dàng theo dõi ngay cả khi không có kiến thức trước .

  • Bạn phải có hiểu biết cơ bản về hướng dẫn lắp ráp và sổ đăng ký.

  • Sẽ rất hữu ích nếu có hiểu biết 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à

5,781

Học viên

173

Đá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á

  • cydphj1717님의 프로필 이미지
    cydphj1717

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    I have completed all three parts (TrustZone, Virtualization, and Memory (Memory Model, Cache, MMU)). Especially in the memory section, the vague and abstract memory-related concepts I previously had in my head were organized sequentially, down to the register level. Thank you for explaining it so kindly!!

    • aceoftop1975님의 프로필 이미지
      aceoftop1975

      Đánh giá 102

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      2024/7/30/Tue 07:55 I listened to the lecture well. I always gain new knowledge every time I listen to the lecture. Thank you for explaining such difficult content so well.

      716.237 ₫

      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!