강의

멘토링

커뮤니티

Hardware

/

Semiconductor

Học kiến trúc RISC-V thông qua debug - Phần 3

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

(4.3) 3 đánh giá

54 học viên

Độ khó Cơ bản

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

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

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

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

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

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

Thông báo 🎯

Để kỷ niệm 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 phiếu giảm giá 30% (100 người đăng ký đầu tiên).

Liên kết mã giảm giá: https://inf.run/rGFpZ

Trong ngành phần mềm hệ thống hiện đại
Kiến trúc RISC-V đang nổi lên

Gần đây, kiến trúc CPU mã nguồn mở RISC-V đang nổi lên. Nếu xem các bài báo hoặc tin tức liên quan đến IT, bạn có thể ngay lập tức thấy 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 sản phẩm (chipset) dựa trên RISC-V.

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

  • 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ị được ra mắt dựa trên nền tảng RISC-V.

  • Các trường đại học (thiết kế bộ xử lý) đang tiến hành nhiều nghiên cứu khác nhau bằng cách sử dụng bộ công cụ có thể thiết kế CPU RISC-V.

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

Bối cảnh tạo ra khóa học

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

  • Không biết nội dung nào là quan trọng trong số lượng khổng lồ các nội dung cấu thành nên RISC-V

  • Không biết chức năng nào trong các nội dung cấu thành RISC-V được sử dụng trong dự án thực tế

  • Rất khó hiểu ngay lập tức dù có đọc tài liệu đặc tả RISC-V chăm chỉ đến đâu


  • Khó hiểu ý nghĩa của chính các thuật ngữ dùng để giải thích RISC-V


Khóa học này là khóa học thứ ba trong series Kiến trúc RISC-V học qua Debug, vượt qua trình độ nhập môn để trở thành nhà phát triển phần mềm hệ thống ở mức 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.

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

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

Bạn có thể xem toàn bộ khóa học về kiến trúc RISC-V tại lộ trình - khóa học '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 khóa học

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 cấp cao, việc hiểu về hệ thống bộ nhớ là điều bắt buộc. Lý do như sau.

  • Để debug tốt các vấn đề exception gặp phải trong dự án thực tế, bạn cần phải hiểu rõ khái niệm cơ bản về địa chỉ ảo và MMU.

  • Bạn cần hiểu rõ chức năng của hệ thống bộ nhớ để tối ưu hóa hiệu suất của hệ thống.

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

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

2. Học các tính năng bộ nhớ RISC-V qua 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 tính 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 memory reordering bằng lệnh fence

  • Lệnh assembly để flush Instruction cache

Bạn có thể nhanh chóng làm quen với cảm giác thực chiến một cách tự nhiên cùng với nội dung về kiến trúc RISC-V.

3. Các bài giảng thực hành debug đa dạng

Nếu không trực tiếp debug trong hệ thống bộ nhớ, sẽ khó tiêu hóa được nội dung đã học và khó áp dụng ngay vào phát triển thực tế. Trong khóa học này, chúng ta sẽ tiến hành nhiều bài thực hành khác nhau thông qua thực hành debug memory 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 về địa chỉ ảo)

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

  • Xác nhận thông tin Entry của bảng trang (sử dụng Crash Utility, TRACE32)

4. Giải thích RISC-V 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. Khóa học 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 để hỗ trợ sự hiểu biết.

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

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

  • Phương pháp kiểm soát bộ nhớ cache

Giảng viên là tác giả cuốn sách về kiến trúc Arm (đoạt giải Sách Xuất sắc - Viện Hàn lâm Hàn Quốc - năm 2024), do đó có thể giải thích RISC-V một cách xuất sắc thông qua việc so sánh với kiến trúc Arm hơn bất kỳ ai.

Nội dung bạn sẽ học 📕

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

Giới thiệu bản đồ bộ nhớ ảo - thành phần cốt lõi của hệ thống bộ nhớ ảo. Đồng thời giải thích dễ hiểu về phạm vi địa chỉ ảo cho không gian kernel và không gian user.

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

Giải thích khái niệm về địa chỉ ảo và bảng trang, đồng thời thông qua nghiên cứu tình huống thực tế để làm rõ về phạm vi của địa chỉ ảo.

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

Giải thích chi tiết quá trình chuyển đổi trực tiếp địa chỉ ảo sang địa chỉ vật lý thông qua bảng trang đa cấp. Đồng thời tiến hành thực hành debug chuyển đổi địa chỉ ảo sang địa chỉ vật lý bằng cách sử dụng chương trình Crash Utility.

Phân tích thông số kỹ thuật MMU của U74 core và P550 core của SiFive, đồng thời giải thích chi tiết cách thức hoạt động của MMU từ góc độ thiết kế phần cứng.


Giải thích về memory reordering và trình bày một cách dễ hiểu nguyên lý hoạt động của lệnh fence để ngăn chặn memory reordering.

Giải thích cấu trúc cơ bản (form) của lệnh fence và mô tả 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 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. Đồng thời giải thích lệnh fence thông qua việc phân tích các lệnh assembly ví dụ.

Giới thiệu lệnh fence.i và giải thích luồng xử lý khi thực thi lệnh fence.i ở góc độ tổng quan.

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

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

Giải thích nguyên lý hoạt động của cache trong hệ thống đa lõi và phân tích các tính năng cốt lõi của cache được định nghĩa trong RISC-V, đồng thời 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 bộ nhớ cache và mô tả chi tiết cách thức xử lý địa chỉ trong quá trình cache lookup (quá trình tìm kiếm cache).


Giới thiệu về hypervisor và giải thích chế độ Privilege mà Hypervisor thực thi trong kiến trúc RISC-V.

Giới thiệu các chức 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 exception xảy ra trong Guest OS, Hypervisor sẽ kiểm soát nó trước tiên.


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 bất kỳ ai!

Trong lĩnh vực phần mềm hệ thống tại Hàn Quốc, là tác giả duy nhất viết sách về 'Kiến trúc Arm (Armv8-A, Armv7-A)' và 'Nhân Linux' (cả 2 cuốn sách đều được Viện Hàn lâm Hàn Quốc tuyển chọn là sách xuất sắc), và là người đầu tiên tại Hàn Quốc xuất bản sách "Reverse Engineering Armv8-A Systems" (tiếng Anh) thông qua nhà xuất bản nước ngoài (Packt), là một tác giả toàn cầu. Hơn hết, là một nhà phát triển đang làm việc trong ngành, 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). Đồng thời cũng là một 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ả cuốn sách 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' (tiếng Anh), (Nhà xuất bản Packt)

  • 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' (Giải thưởng Sách Xuất sắc của Viện Hàn lâm Hàn Quốc năm 2024)

  • Tác giả cuốn 'Cấu trúc và nguyên lý của 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 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ị Khoa học Máy tính Hàn Quốc (KCC2022) - Phát biểu Tutorial [Chinh phục nhân Linux bằng ftrace]

  • Giảng viên nội bộ LG Electronics 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)

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 junior muốn nâng cao năng lực trong lĩnh vực phần mềm hệ thống bao gồm chíp bán dẫn hệ thống (fabless), lĩnh vực xe điện (tự lái, infotainment)

  • Sinh viên chuẩn bị việc làm 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, xe điện) muốn tìm hiểu cách debug 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

  • Lập trình viên từ các 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 có mục tiêu theo 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à

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ả

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ả

3 đánh giá

4.3

3 đánh giá

  • abcd123123님의 프로필 이미지
    abcd123123

    Đánh giá 327

    Đánh giá trung bình 5.0

    5

    61% đã tham gia

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

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

        2.498.152 ₫

        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!