강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

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

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

(5.0) 7 đánh giá

64 học viên

  • austinkim
시스템반도체
이론 실습 모두
하드웨어
cpu-architecture
cpu
riscv

Đánh giá từ những học viên đầu tiên

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

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

  • Có thể học nguyên lý hoạt động của 익셉션(Exception), 인터럽트 콘트롤러, Calling Convention, những chức năng cốt lõi của RISC-V.

  • Sử dụng chương trình mô phỏng TRACE32, bạn có thể thực hành gỡ lỗi các chức năng như Exception, Interrupt Controller và Calling Convention.

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

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

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

Liên kết coupon: https://inf.run/Yh8vb

2.Khóa học mới nhất được cập nhật năm 2025

Chúng tôi đã phát hiện và bổ sung các khóa học dưới đây với nội dung hữu ích về các tính năng của kiến trúc RISC-V mới nhất và có thể áp dụng ngay vào các dự án thực tế.

  • 'Synchronous 익셉션 동작 방식' session được thêm (4 bài giảng) - 07/23 (2025)

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 RISC-V - một kiến trúc CPU dựa trên mã nguồn mở - đang nổi lên. Khi 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:

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

  • Trong nước, 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 đang tăng lên, 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, người ta thường sử dụng nhiều kiến trúc CPU dựa trên RISC-V.

  • Dự kiến đến năm 2026 sẽ có 15 tỷ thiết bị được phát hành dựa trên RISC-V.

  • Ở trường đại học (thiết kế bộ xử lý), họ đ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 sử dụng kiến trúc CPU RISC-V để phát triển sản phẩm đang ngày càng tăng cao. Vì vậy, những người chuẩn bị tìm việc cũng cần phải chuẩn bị về RISC-V trong các buổi phỏng vấn kỹ thuật.

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

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

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

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

  • Dù có đọc tài liệu đặc tả RISC-V một cách chăm chỉ đến mấy thì cũng khó hiểu ngay được


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


So với kiến trúc Arm, tài liệu liên quan đến kiến trúc RISC-V không đủ và thực tế là thiếu tài liệu giải thích RISC-V một cách cụ thể và dễ hiểu. Tôi đã tạo ra khóa học này để giải quyết những khó khăn mà các nhà phát triển phần mềm hệ thống, bao gồm cả các nhà phát triển mới, gặp phải trong quá trình học RISC-V.

Cấu trúc khóa học và lộ trình học tập phần 1, phần 3

Bài gi강này bao gồm nội dung của phần 2, là chức năng cốt lõi của RISC-V, trong toàn bộ danh sách bài giảng về RISC-V.

Toàn bộ khóa học về kiến trúc RISC-V có thể xem trong 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. Debug kiến trúc RISC-V bằng chương trình mô phỏng TRACE32 (dành cho giáo dục)

Con đường tắt để học kiến trúc RISC-V (thanh ghi, lệnh assembly, chế độ Privilege) là gì? Đó chính là phương pháp thực hành debugging trực tiếp.

Khi bạn tham gia khóa học này, bạn có thể tải xuống chương trình mô phỏng TRACE32 giáo dục từ 'Tài liệu khóa học Inflearn' và trực tiếp sử dụng chương trình mô phỏng TRACE32 để thực hành với các thanh ghi, lệnh assembly và chế độ Privilege của kiến trúc RISC-V.

Xin lưu ý rằng trình gỡ lỗi TRACE32 và các chương trình liên quan được sử dụng rộng rãi trong toàn bộ quá trình phát triển phần mềm hệ thống. Chương trình TRACE32 cần có giấy phép mới có thể chạy được.

2. Cung cấp 5 bản dump bộ nhớ kernel được trích xuất từ board RISC-V

Trong quá trình phát triển phần mềm hệ thống, năng lực quan trọng nhất được yêu cầu là khả năng giải quyết vấn đề. Trong số này, năng lực phân tích và giải quyết vấn đề crash là cần thiết nhất. Trong bài giảng này, chúng ta sẽ tiến hành thực hành debug về exception và calling convention bằng cách debug 5 memory dump kernel crash được trích xuất từ Vision-Five 2, một trong những board RISC-V phổ biến nhất. Những người tham gia khóa học có thể tải xuống chương trình TRACE32 cùng với 5 memory dump để trực tiếp debug exception và calling convention.

3. Tuyển chọn nội dung cốt lõi và giải thích dễ hiểu

Những người mới bắt đầu thường tìm kiếm tài liệu tham khảo để phân tích khi học RISC-V, nhưng từ góc độ người mới bắt đầu, rất khó để nắm bắt được nên học nội dung nào của RISC-V trước tiên. Bởi vì khó biết được nên học gì trước để học tốt. Trong khóa học này, chúng tôi sẽ tuyển chọn và giải thích những nội dung có thể áp dụng vào thực tế, những nội dung nhất định phải hiểu rõ. Ví dụ, chúng tôi sẽ mở memory dump và kernel log nhận được từ thiết bị dựa trên RISC-V để giải thích các thanh ghi và lệnh assembly một cách dễ hiểu và chi tiết.

4. Giải thích với các ví dụ cụ thể cùng với phần mềm và stack

RISC-V thường được học bởi những người muốn phát triển tốt phần mềm hệ thống hoặc muốn bước chân vào lĩnh vực này. Trong khóa học này, chúng tôi sẽ giải thích cách RISC-V được ứng dụng trong các dự án thực tế thông qua nhiều ví dụ đa dạng.

  • Cách phần mềm thực thi trong hệ thống RISC-V

  • Quá trình khởi động trong hệ thống RISC-V diễn ra như thế nào

  • Cách thực hiện debugging và reverse engineering trên hệ thống RISC-V

Qua khóa học này, bạn có thể nhanh chóng làm quen với kiến thức về kiến trúc RISC-V cùng với việc rèn luyện cảm giác thực chiến một cách tự nhiên.

5. Giải thích RISC-V so với kiến trúc Arm

Nhìn vào hệ sinh thái của ngành phần mềm hệ thống, đến năm 2025, hệ sinh thái của ngành nhúng và chipset được cấu thành xoay quanh kiến trúc Arm. Nhiều nhà phát triển phần mềm hệ thống đang ở trong tình trạng quen thuộc với bộ xử lý Arm hoặc kiến trúc Arm. Trong bài giảng này, chúng tôi sẽ giải thích các khái niệm cốt lõi của RISC-V cùng với kiến trúc Arm.

  • Các loại Exception và cách xử lý

  • Cấu trúc và phương thức xử lý của bộ điều khiển ngắt

  • Cách xử lý Calling Convention (các thanh ghi được sử dụng và các lệnh assembly liên quan)

Giảng viên là tác giả của cuốn sách về kiến trúc Arm, vì vậy có thể giải thích RISC-V rất tốt bằng cách so sánh với kiến trúc Arm hơn bất kỳ ai khác.

Chúng ta sẽ học những nội dung như thế này 📕

Giải thích chi tiết khái niệm cơ bản về exception và trình bày dễ hiểu các tính năng cốt lõi của exception được định nghĩa trong kiến trúc RISC-V.

Giải thích luồng thực thi của exception - một chức năng cốt lõi của kiến trúc RISC-V. Đồng thời mô tả chi tiết cách xử lý exception trong hệ thống được cấu thành bởi machine mode và user mode.

RISC-V kiến trúc định nghĩa mã lỗi ngoại lệ (Exception code) để chỉ ra nguyên nhân gây ra ngoại lệ, và giải thích sơ đồ luồng xử lý ngoại lệ khi xảy ra lỗi hủy bỏ bộ nhớ (memory abort).

Giải thích chi tiết luồng thực thi từ góc độ phát triển phần mềm khi xảy ra exception và crash.

Phân tích từng dòng lệnh assembly để giải thích luồng nào của exception được kích hoạt. Đồng thời giải thích cách xử lý exception trong stack khi nó được kích hoạt.

Thực hành exception bằng chương trình thực hành debug T32, thực thi các lệnh assembly để thực hành exception. Giải thích chi tiết về việc các thanh ghi CSR (scause, mcause) nào sẽ thay đổi khi exception được kích hoạt.

Thực hành gây ra exception bằng chương trình TRACE32, đồng thời giải thích chi tiết về exception handler được xử lý trong kernel Linux.

Phân tích memory dump nhận được từ board dựa trên RISC-V, giải thích cách thức hoạt động của exception trong kiến trúc RISC-V: phân tích kernel log và phân tích call stack.

Chúng ta sẽ tiến hành thực hành debug về page table bằng chương trình TRACE32. Thông qua việc này, chúng ta sẽ nắm bắt cụ thể về nguyên nhân gây ra exception.

Giải thích về cách thức hoạt động cơ bản của bộ điều khiển ngắt được định nghĩa trong kiến trúc RISC-V. Giải thích cấu trúc của PLIC và CLIC một cách dễ hiểu.

Xem xét mã exception liên quan đến interrupt và giải thích cấu trúc của PLIC (Platform Level Interrupt Controller).

Giải thích về các thành phần phần cứng cốt lõi cấu thành PLIC và mô tả dễ hiểu về các thanh ghi CSR điều khiển PLIC.

Giải thích về Calling Convention (quy ước gọi hàm) được giới thiệu trong kiến trúc RISC-V và xem xét các thanh ghi hỗ trợ Calling Convention.

Giải thích bức tranh tổng thể về cách thức xử lý các tham số được truyền vào hàm.

Phân tích các lệnh assembly hỗ trợ Calling convention (quy ước gọi hàm) của kiến trúc RISC-V. Ngoài ra, cũng phân tích các lệnh assembly ví dụ - phân tích lệnh c.sdsp

Phân tích lệnh assembly hỗ trợ Calling convention (quy ước gọi hàm) của kiến trúc RISC-V. Ngoài ra cũng phân tích lệnh assembly ví dụ - phân tích lệnh c.ldsp

Phân tích kiến trúc RISC-V về Calling convention (quy ước gọi hàm) hỗ trợ các lệnh assembly. Đồng thời phân tích các lệnh assembly ví dụ - phân tích lệnh c.ldsp


Chúng tôi sẽ tiến hành thực hành khôi phục call stack bị hỏng thông qua thực hành debug TRACE32.


Thực hành debug TRACE32, phân tích memory dump được gây ra bởi stack overflow.


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, chưa từng có tiền lệ! Tác giả đã viết sách về 'Kiến trúc Arm (Armv8-A, Armv7-A)' và 'Linux Kernel' (cả 2 cuốn sách đều được chọn là sách xuất sắc của Viện Hàn lâm Hàn Quố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. Quan trọng nhất là một nhà phát triển đang làm việc hiểu rõ nhất về 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.

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' tác giả cuốn sách (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' (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) - Thuyết trình Tutorial [Chinh phục Linux Kernel 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)

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 trong lĩnh vực phần mềm hệ thống, bao gồm bán dẫn hệ thống (fabless) và mảng xe điện (tự lái, thông tin giải trí).

  • Ứng viên 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à ô tô điện.

  • Nhà phát triển phần mềm hệ thống (bán dẫn hệ thống, ô tô điện) mong muốn biết 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 khác ngành muốn chuyển sang mảng phần mềm hệ thống

  • Sinh viên đại học mong muốn học cao học 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à

5,835

Học viên

183

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

91 bài giảng ∙ (11giờ 33phú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ả

7 đánh giá

5.0

7 đánh giá

  • 박청우님의 프로필 이미지
    박청우

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    31% đã tham gia

    • 이동화님의 프로필 이미지
      이동화

      Đánh giá 2

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      • mikeseohyungjin님의 프로필 이미지
        mikeseohyungjin

        Đánh giá 4

        Đánh giá trung bình 5.0

        Đã chỉnh sửa

        5

        31% đã tham gia

        현직 개발자로서 강의가 도움이 되고 핵심만 다루는 좋은 강의입니다. 고수의 반열에 오르기 위해서 필수적으로 알아야 할 내용을 trace32를 통해 실습해 볼 수 있는 과정은 전 세계적으로도 찾기 어려운데 큰 도움이 되었습니다.

        • 김준님의 프로필 이미지
          김준

          Đánh giá 2

          Đánh giá trung bình 5.0

          5

          100% đã tham gia

          현장 경험에서 우러나는 연륜이 느껴지는 멋진 강의였습니다.

          • 이기상님의 프로필 이미지
            이기상

            Đánh giá 4

            Đánh giá trung bình 5.0

            5

            100% đã tham gia

            2.535.711 ₫

            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!