강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

Kiến trúc Arm: Bộ nhớ đệm (Cache) [Tác giả trực tiếp giảng dạy phần 3-4]

Hạt nhân của phần mềm hệ thống, 'Cache' – cốt lõi của kiến trúc Arm mới nhất (Armv8-A, Armv7-A) – sẽ được tác giả của "시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리" chỉ dẫn một cách bài bản!

(5.0) 7 đánh giá

114 học viên

Độ khó Nhập môn

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

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

  • Nắm bắt được nguyên lý hoạt động cơ bản của Cache 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 Cache của kiến trúc Arm được ứng dụng trong các dự án thực tế.

  • Từ cái nhìn tổng quan, có thể hiểu luồng thực thi và cấu trúc liên quan đến Cache.

  • Có thể trả lời tốt các câu hỏi về Cache trong 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강 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.


Những người muốn học kiến trúc Arm (Armv8-A, Armv7-A) một cách có hệ thống 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 của tác giả) làBasic CourseKhóa học Nâng caoĐược cấu thành từ 2 thành 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 bán dẫn hệ thống 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 nguyên lý hoạt động của bộ nhớ đệm🙋‍♂

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

Vậy tại sao chúng ta cần hiểu rõ 'nguyên lý hoạt động của cache'?

1⃣ Thứ nhất, trong cấu trúc phân cấp bộ nhớ, cache được đặt ở giữa CPU core và bộ nhớ chính. Cache có thể ảnh hưởng rất lớn đến hiệu suất của hệ thống, nên cấu trúc cơ bản của cache, cấu trúc cache đa cấp và cache lookup là những kiến thức nền tảng để nâng cao hiệu suất hệ thống.

2⃣ Thứ hai, nếu hiểu rõ cấu trúc của cache thì có thể viết code thân thiện với cache bằng cách tận dụng cache hit. Ví dụ, có thể thiết kế để các routine thường được sử dụng chỉ chạy trên một CPU core cụ thể. Kết quả là có thể giảm cache miss và thực hiện lập trình tối ưu hóa hiệu suất.

3⃣ Thứ ba, nguyên lý hoạt động của cache là kiến thức nền tảng giúp debug tốt các vấn đề crash. Khi tiến hành các dự án thực tế, cache có thể bị hỏng hoặc xảy ra lỗi trong hoạt động 'Cache Line Fill'. Kiến thức nền tảng để debug tốt những vấn đề liên quan đến cache như vậy chính là cấu trúc và cách thức hoạt động của cache.

4⃣ Thứ tư, nếu hiểu rõ về nội dung liên quan đến cache thì có thể phỏng vấn kỹ thuật tốt. Đặc biệt trong các cuộc phỏng vấn kỹ thuật tại các công ty fabless (bán dẫn hệ thống), họ thường hỏi nhiều câu hỏi về cache.

Bạn sẽ học những nội dung như thế này

Giải thích khái niệm cơ bản về cache một cách dễ hiểu và chi tiết, đồng thời giới thiệu về cấu trúc cache của CPU.

Hầu hết CPU đều áp dụng bộ nhớ đệm đa cấp để giải thích, và phân tích luồng xử lý của bộ nhớ đệm trong hệ thống bộ nhớ theo bức tranh tổng thể.

Giải thích chi tiết các thành phần của cache và mô tả thông tin cache (cache line và thông tin bổ sung) bằng chương trình debugging TRACE32.

Giải thích chi tiết và dễ hiểu về các chính sách cache (write-back, write-through) được áp dụng trong cache đa cấp.

Giới thiệu các thuật ngữ liên quan đến cache được sử dụng trong kiến trúc Arm và giải thích cách các API liên quan đến cache được sử dụng trong các dự án thực tế.

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, 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' (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 nhân 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 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á 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 ý 📢

  • Những nội dung chính liên quan đến cache có thể theo dõi được ngay cả khi không có kiến thức nền tảng.

  • Nên tìm hiểu trước về exception level, exception và các lệnh assembly làm nền tảng cho kiến trúc Arm.

  • Thói quen nghe giảng đều đặn và ôn tập quan trọng hơn kiến thức nền tả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 muốn phát triển năng lực ở mảng phần mềm hệ thống, bao gồm bán dẫn hệ thống (fabless), và xe điện (tự lái, thông tin giải trí).

  • Ứng viên 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ầ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,227

Học viên

233

Đánh giá

93

Trả lời

4.9

Xếp hạng

22

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

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

Tất cả

22 bài giảng ∙ (2giờ 31phút)

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

Đánh giá

Tất cả

7 đánh giá

5.0

7 đánh giá

  • mist14093016님의 프로필 이미지
    mist14093016

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    32% đã tham gia

    • 16203975365님의 프로필 이미지
      16203975365

      Đánh giá 1

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      • heecheolsong님의 프로필 이미지
        heecheolsong

        Đánh giá 19

        Đánh giá trung bình 5.0

        5

        32% đã tham gia

        • 16267551265님의 프로필 이미지
          16267551265

          Đánh giá 10

          Đánh giá trung bình 4.9

          5

          32% đã tham gia

          • kfcwee9463님의 프로필 이미지
            kfcwee9463

            Đánh giá 8

            Đánh giá trung bình 5.0

            5

            32% đã tham gia

            705.360 ₫

            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!