Học kiến trúc RISC-V qua việc gỡ lỗi - Phần 3

Giải thích một cách dễ hiểu và chi tiết về các khái niệm cốt lõi cũng như các mẹo thực tế của RISC-V, kiến trúc CPU mới nhất dựa trên mã nguồn mở.

(4.5) 4 đánh giá

68 học viên

Độ khó Cơ bản

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

cpu
cpu
cpu-architecture
cpu-architecture
riscv
riscv
cpu
cpu
cpu-architecture
cpu-architecture
riscv
riscv

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

  • Tôi có thể trả lời tốt và giải thích các câu hỏi liên quan đến RISC-V trong các buổi phỏng vấn kỹ thuật.

  • Bạn có thể tìm hiểu về nguyên lý hoạt động của hệ thống bộ nhớ ảo, rào cản bộ nhớ (memory barrier) và bộ nhớ đệm (cache), vốn là những chức năng cốt lõi cấu thành nên RISC-V.

  • Bạn có thể tìm hiểu cách kiến trúc RISC-V được sử dụng trong các nhân hệ điều hành như nhân Linux.

  • Có thể phân tích mã khởi động (startup code) của bootloader hoặc nhân Linux chạy trên nền tảng RISC-V.

Thông báo 🎯

Nhân dịp ra mắt khóa học RISC-V đầu tiên tại Hàn Quốc, chúng tôi phát hành mã giảm giá 30% (dành cho 100 người đầu tiên).

Link coupon: https://inf.run/rGFpZ

Trong ngành phần mềm hệ thống mới nhất,
kiến trúc RISC-V đang nổi lên

Gần đây, kiến trúc RISC-V, một kiến trúc CPU dựa trên mã nguồn mở, đang trở nên nổi bật. Nếu theo dõi các bài báo hoặc tin tức liên quan đến IT, bạn có thể dễ dàng bắt gặp những nội dung như sau:

  • Các công ty công nghệ lớn như nVidia, Intel và Qualcomm đang phát triển các sản phẩm (chipset) dựa trên RISC-V.

  • Số lượng các công ty khởi nghiệp thiết kế nhiều loại chip sử dụng RISC-V tại Hàn Quốc đang ngày càng tăng, và tỷ trọng phát triển các sản phẩm dựa trên thiết bị RISC-V cũng đang trở nên cao hơn.

  • Khi thiết kế chip bán dẫn AI, kiến trúc CPU dựa trên RISC-V được sử dụng rất nhiều.

  • Dự kiến đến năm 2026, sẽ có 15 tỷ thiết bị dựa trên RISC-V được ra mắt.

  • Ở các bậc cao học (thiết kế bộ vi xử lý), nhiều nghiên cứu đa dạng đang được tiến hành bằng cách sử dụng bộ công cụ có thể thiết kế CPU RISC-V.

Các công ty phần mềm hệ thống và nhúng đang ngày càng tăng cường sử dụng kiến trúc CPU RISC-V để phát triển sản phẩm. Do đó, những người đang tìm việc cũng cần phải chuẩn bị kiến thức về RISC-V cho các buổi phỏng vấn kỹ thuật.

Bối cảnh tạo ra bài giảng

Đối với người mới bắt đầu, kiến trúc RISC-V rất khó học. Lý do là như sau:

  • Trong số nội dung đồ sộ cấu thành nên RISC-V, tôi không biết điều gì là quan trọng

  • Trong số các nội dung cấu thành RISC-V, tôi không biết tính năng nào được ứng dụng vào dự án thực tế.

  • Dù có đọc tài liệu đặc tả RISC-V chăm chỉ đến đâu thì cũng rất khó để hiểu ngay lập tức.


  • Bản thân các thuật ngữ giải thích về RISC-V đã rất khó hiểu ý nghĩa là gì rồi.


Bài giảng lần này là bài giảng thứ ba trong chuỗi bài giảng về Kiến trúc RISC-V học qua Debugging, nội dung đề cập đến việc vượt qua cấp độ nhập môn để trở thành một nhà phát triển phần mềm hệ thống ở trình độ có thể nhận mức lương cao - giải thích về hệ thống bộ nhớ (bộ nhớ ảo, memory barrier, cache) và tính năng Hypervisor Extension.

Bài giảng của chuyên gia RISC-V đã được kiểm chứng qua kinh nghiệm thực tiễn toàn cầu

1. Thuyết trình tại Linux Plumbers Conference: Debugging RISC-V Kernel Crashes (Tháng 12 năm 2025)

(Nguồn: https://www.youtube.com/watch?v=LNih2OdEcYo&t=1s)

2. Sách: Practical Debugging for Embedded RISC‑V (Nhà xuất bản toàn cầu Packt - Dự kiến xuất bản tháng 11 năm 2026)

(Nguồn: https://www.amazon.com/Practical-Debugging-Embedded-RISC%E2%80%91V-RISCV-Based/dp/1806699354/)

Cấu trúc khóa học và lộ trình bài giảng phần 2, phần 3

Bài giảng lần này nằm trong danh sách toàn bộ bài giảng về RISC-V, nội dung đề cập đến phần 3, vốn là những tính năng cốt lõi của RISC-V.

Toàn bộ bài giảng về kiến trúc RISC-V có thể được tìm thấy trong lộ trình - bài giảng 'Kiến trúc RISC-V dành cho nhà phát triển phần mềm hệ thống'.

Điểm khác biệt cốt lõi của bài giảng

1. Giải thích hệ thống bộ nhớ của kiến trúc RISC-V một cách dễ hiểu

Để trở thành một nhà phát triển phần mềm hệ thống cao cấp, việc hiểu rõ về hệ thống bộ nhớ là điều bắt buộc. Lý do là như sau:

  • Để có thể gỡ lỗi (debug) tốt các vấn đề về ngoại lệ (exception) gặp phải trong các dự án thực tế, bạn cần phải nắm vững khái niệm cơ bản về địa chỉ ảo và MMU.

  • Để tối ưu hóa hiệu suất của hệ thống, cần phải hiểu rõ các chức năng của hệ thống bộ nhớ.

  • Để thực hiện tốt việc bring-up cho một dự án mới, bạn cũng cần phải nắm vững các chức năng liên quan đến bộ nhớ.

Tuy nhiên, rất khó để nắm bắt chính xác hệ thống bộ nhớ (hệ thống bộ nhớ ảo, rào cản bộ nhớ, bộ nhớ đệm) chỉ thông qua việc phân tích tài liệu tham khảo RISC-V. Bài giảng này sẽ giải thích các khái niệm cốt lõi thực sự cần thiết trong thực tế một cách dễ hiểu và rõ ràng.

2. Học về các tính năng bộ nhớ của RISC-V qua các ví dụ thực tế

Trong bài giảng này, chúng tôi sẽ giải thích cụ thể cách sử dụng các chức năng liên quan đến bộ nhớ của RISC-V thông qua các ví dụ thực tế.

  • Mã thiết lập bảng trang trong nhân Linux

  • Ví dụ về việc ngăn chặn sắp xếp lại bộ nhớ (memory reordering) bằng lệnh fence

  • Lệnh assembly để flush Instruction cache

Bạn có thể nhanh chóng rèn luyện kỹ năng thực tế một cách tự nhiên cùng với các nội dung về kiến trúc RISC-V.

3. Các bài giảng thực hành gỡ lỗi đa dạng

Những nội dung được đề cập trong hệ thống bộ nhớ sẽ rất khó để tiếp thu và áp dụng trực tiếp vào việc phát triển thực tế nếu không tự mình thực hiện gỡ lỗi (debugging). Trong bài giảng này, chúng ta sẽ tiến hành nhiều bài thực hành đa dạng thông qua việc thực hành gỡ lỗi bộ nhớ dump (Crash Utility, TRACE32).

  • Xác nhận địa chỉ của hàm và biến toàn cục (Khái niệm địa chỉ ảo)

  • Thực hành trực tiếp chuyển đổi địa chỉ ảo sang địa chỉ vật lý

  • Kiểm tra thông tin Entry của bảng trang (Sử dụng Crash Utility, TRACE32)

4. Giải thích về RISC-V thông qua so sánh với kiến trúc Arm

Nhiều nhà phát triển đã quen thuộc với SoC dựa trên Arm hoặc kiến trúc Arm. Bài giảng này sẽ giải thích các khái niệm cốt lõi của RISC-V bằng cách so sánh với kiến trúc Arm để giúp người học dễ hiểu hơn.

  • Cấu trúc của hệ thống bộ nhớ ảo

  • Phương pháp rào cản bộ nhớ (Memory Barrier)

  • Cách điều khiển bộ nhớ đệm

Vì người hướng dẫn là tác giả của cuốn sách về kiến trúc Arm (đạt giải Sách hay - Viện Hàn lâm Khoa học Hàn Quốc - năm 2024), nên họ có thể giải thích về RISC-V một cách tốt nhất bằng cách so sánh với kiến trúc Arm hơn bất kỳ ai khác.

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

Giới thiệu các tính năng bộ nhớ chính của kiến trúc RISC-V, đồng thời giới thiệu các chức năng cốt lõi cấu thành nên hệ thống bộ nhớ ảo. Giải thích một cách dễ hiểu cùng với cái nhìn tổng quan.

Giới thiệu về bản đồ bộ nhớ ảo, thành phần cốt lõi của hệ thống bộ nhớ ảo. Ngoài ra, giải thích một cách dễ hiểu về phạm vi địa chỉ ảo theo không gian hạt nhân (kernel space) và không gian người dùng (user space).

Giải thích về thanh ghi satp dùng để thiết lập bảng trang, đồng thời giải thích một cách dễ hiểu về khái niệm địa chỉ ảo thông qua thực hành gỡ lỗi bằng bản sao lưu bộ nhớ (memory dump). (Bản sao lưu bộ nhớ được cung cấp trong tài liệu bài giảng.)

Giải thích khái niệm địa chỉ ảo và bảng trang, đồng thời giải thích về phạm vi của địa chỉ ảo thông qua các trường hợp nghiên cứu thực tế.

Giải thích cấu trúc của bảng trang đa cấp (multi-level page table) và giải thích chi tiết về PTE (Page Table Entry).

Giải thích chi tiết quá trình trực tiếp chuyển đổi địa chỉ ảo sang địa chỉ vật lý thông qua bảng phân trang đa cấp (multi-level page table). Đồng thời, tiến hành thực hành gỡ lỗi chuyển đổi địa chỉ ảo sang địa chỉ vật lý bằng chương trình Crash Utility.

Bằng cách phân tích thông số kỹ thuật MMU của nhân SiFive U74 và P550, tôi sẽ giải thích chi tiết cách thức hoạt động của MMU dưới góc độ thiết kế phần cứng.


Giải thích về việc sắp xếp lại thứ tự bộ nhớ (memory reordering) và giải thích một cách dễ hiểu về nguyên lý hoạt động của lệnh fence giúp ngăn chặn việc sắp xếp lại thứ tự bộ nhớ này.

Giải thích cấu trúc cơ bản (form) của lệnh fence và giải thích chi tiết cách hoạt động của lệnh fence khi áp dụng các tùy chọn khác nhau.

Giải thích cách thức hoạt động của lệnh fence trong môi trường hệ thống đa lõi - Phân tích nguyên lý đồng bộ hóa với các lõi khác khi thực thi lệnh fence. Ngoài ra, giải thích lệnh fence thông qua việc phân tích các ví dụ về lệnh hợp ngữ.

Giới thiệu về lệnh fence.i và giải thích luồng xử lý tổng quát khi thực thi lệnh fence.i.

Phân tích lệnh fence.i thông qua việc phân tích các quy trình assembly ví dụ đa dạng. Phân tích lệnh fence.i trong sự so sánh với kiến trúc Arm.

Giải thích khái niệm cơ bản về bộ nhớ đệm (cache) và lý do tại sao bộ nhớ đệm lại được sử dụng.

Giải thích nguyên lý hoạt động của bộ nhớ đệm (cache) trong hệ thống đa lõi, đồng thời phân tích các tính năng cốt lõi của cache được định nghĩa trong RISC-V khi so sánh với kiến trúc Arm.

Giải thích về các yếu tố cơ bản cấu thành nên bộ nhớ đệm (cache) và giải thích chi tiết về cách thức xử lý địa chỉ trong quá trình tra cứu bộ nhớ đệm (cache lookup).


Giới thiệu về Hypervisor và giải thích về chế độ đặc quyền (Privilege mode) nơi Hypervisor thực thi trong kiến trúc RISC-V.

Giới thiệu các tính năng cốt lõi của Hypervisor Extension được định nghĩa trong kiến trúc RISC-V và giải thích cách kích hoạt Hypervisor Extension.


Giải thích luồng thực thi khi một ngoại lệ (exception) xảy ra ở Guest OS và được Hypervisor kiểm soát trước.


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

Là tác giả viết sách về '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 trong nước (cả 2 cuốn sách đều được Viện Hàn lâm Khoa học Quốc gia Hàn Quốc 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 "Reverse Engineering Armv8-A Systems" (tiếng Anh) thông qua nhà xuất bản nước ngoài (Packt). Trên hết, tôi là một nhà phát triển đang làm việc thực tế, nắm bắt 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, tôi cũng 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.

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' Tác giả sách (tiếng Anh), (Nhà xuất bản Packt)

  • 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' (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)

  • 'Cấu trúc và nguyên lý của nhân Linux học qua việc gỡ lỗi' (Tác phẩm đạt giải Sách hay của Viện Hàn lâm Khoa học Quốc gia Hàn Quốc năm 2021) Tác giả

  • 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ị 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à 'Armv8 Architecture' (bao gồm cả các nhà phát triển trong và ngoài nước) - (2020~2024)

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ẻ (Junior Developer) 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, 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 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 RISC-V.

  • Các nhà phát triển từ các lĩnh vực khác đang muốn chuyển 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?

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

  • Ngôn ngữ C

  • Hệ điều hành

Xin chào
Đây là austinkim

Xác minh sự nghiệp

6,710

Học viên

280

Đánh giá

106

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)

tác giả duy nhất và chưa từng có tiền lệ trong lĩnh vực phần mềm hệ thống tại Hàn Quốc đã viết 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 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 "Reverse Engineering Armv8-A Systems" (bằng tiếng Anh) 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.

  • Người chia sẻ kiến thức chuyên môn và Tư vấn viên

  • Làm việc tại nhóm Mã nguồn mở Linux Kernel của LG Electronics (~tháng 5 năm 2026)

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' Tác giả sách (tiếng Anh), (Nhà xuất bản Packt)

  • 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 khóa học 'Programmers Dev Course: Chuyên gia Hệ thống và Nhân Linux'

     

 

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 về nhân Linux 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ệ bài giảng: 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ả

82 bài giảng ∙ (9giờ 17phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

4 đánh giá

4.5

4 đánh giá

  • rousalome6394님의 프로필 이미지
    rousalome6394

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    20% đã tham gia

    Tôi đã vượt qua phỏng vấn kỹ thuật embedded sau khi học khóa học này. Khi được hỏi về RISC-V, tôi có sự tự tin rằng mình có thể trả lời tốt bất kỳ câu hỏi nào về RISC-V. Tôi hơi ngạc nhiên về sự thay đổi của bản thân sau khi học khóa học này. Mỗi lần đọc spec RISC-V trước đây đều cảm thấy mới lạ, nhưng giờ tôi có thể đọc một cách trôi chảy. Có rất nhiều nội dung có thể áp dụng ngay vào dự án, nên tôi cũng đã giới thiệu cho các đồng nghiệp developer xung quanh.

    • rhgusdud090649님의 프로필 이미지
      rhgusdud090649

      Đánh giá 4

      Đánh giá trung bình 4.5

      5

      30% đã tham gia

      • abcd123123님의 프로필 이미지
        abcd123123

        Đánh giá 330

        Đánh giá trung bình 5.0

        5

        61% đã tham gia

        • jungmopark3648님의 프로필 이미지
          jungmopark3648

          Đánh giá 3

          Đánh giá trung bình 4.3

          3

          100% đã tham gia

          Nhìn chung đây là khóa học dựa trên kiến thức cơ bản nên không có nhiều thứ để học hỏi.

          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!

          Khóa học tương tự

          Khám phá các khóa học khác trong cùng lĩnh vực!