강의

멘토링

로드맵

Hardware

/

Semiconductor

Kiến trúc RISC-V học qua gỡ lỗi - Phần 3

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

(4.0) 2 đánh giá

39 học viên

  • austinkim
시스템반도체
임베디드
이론 실습 모두
cpu
cpu-architecture
riscv

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

  • Tôi 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 nguyên lý hoạt động của hệ thống bộ nhớ ảo, hàng rào bộ nhớ, bộ nhớ đệm – các tính năng cốt lõi cấu thành RISC-V.

  • Có thể biết được cách kiến trúc RISC-V được tận dụng trong các 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 Linux kernel đang chạy trên nền tảng RISC-V.

Thông báo 🎯

Để 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/vH1PK

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 đang có ngày càng nhiều công ty khởi nghiệp thiết kế các loại chip đa dạng sử dụng RISC-V, 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 tă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.

  • Trong chương trình thạc sĩ (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ị xin việc 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

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 tạo nên 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 chăm chỉ đến mấy cũng khó hiểu ngay được


  • Bản thân thuật ngữ giải thích về RISC-V cũng khó hiểu ý nghĩa của nó là gì


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

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

Bài giảng này bao gồm nội dung phần 3 về các 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.

Bạn có thể xem toàn bộ khóa học về kiến trúc RISC-V 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. 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 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 hiểu rõ 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, bạn cần phải hiểu rõ chức năng của hệ thống bộ nhớ.

  • Để thực hiện tốt việc bring-up dự án mới, 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, việc phân tích tài liệu tham khảo RISC-V để nắm bắt đúng đắn hệ thống bộ nhớ (hệ thống bộ nhớ ảo, memory barrier, cache) là rất khó khăn. 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 công việc thực tế một cách dễ hiểu và rõ ràng.

2. Học chức năng bộ nhớ 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 kernel 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ội dung về hệ thống bộ nhớ rất khó để tiêu hóa kiến thức đã học và khó áp dụng ngay vào phát triển thực tế nếu không thực hiện debug trực tiếp. Trong bài giảng 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 thành đị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 RISC-V so 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 để giúp bạn hiểu rõ hơn.

  • 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 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 Khoa học Hàn Quốc - năm 2024), do đó có thể giải thích RISC-V rất tốt thông qua việc 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 thiệu các tính năng bộ nhớ chính của kiến trúc RISC-V và cũng giới thiệu 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 thể.

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

Giải thích thanh ghi satp thiết lập bảng trang và thông qua thực hành debug memory dump để giải thích khái niệm đị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 địa chỉ ảo và bảng trang, và thông qua các nghiên cứu trường hợp thực tế để giải thích 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à mô tả chi tiết PTE (Page Table Entry).

Giải thích chi tiết quá trình chuyển đổi trực tiếp địa chỉ ảo thành địa chỉ vật lý thông qua bảng trang đa cấp. Cũng tiến hành thực hành debug chuyển đổi địa chỉ ảo thành địa chỉ vật lý bằ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à nguyên lý hoạt động của lệnh fence để ngăn chặn memory reordering một cách dễ hiểu.

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 thức hoạt động của lệnh fence với 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 theo bức tranh tổng thể.

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 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 so sánh với kiến trúc Arm.

Giải thích về các thành phần cơ bản cấu thà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 chạy 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.


Khi một exception được kích hoạt trong Guest OS, Hypervisor sẽ kiểm soát nó trước tiên, giải thích luồng thực thi này.


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' (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 viết 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. Trên hết, đây là một lập trình viên thực tế hiểu rõ nhất về 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). Đồ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ả 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) - Bài 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à nhà phát triển 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 cả bán dẫn hệ thống (fabless) và lĩnh vực ô tô điện (lái tự động, infotainment).

  • Người tìm việc mong muốn phát triển phần mềm hệ thống trong lĩnh vực chip SoC (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 RISC-V.

  • Nhà phát triển từ lĩnh vực khác muốn chuyển đổi sang phần mềm hệ thống

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

  • C

  • Hệ điều hành

Xin chào
Đây là

5,801

Học viên

176

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

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ả

2 đánh giá

4.0

2 đánh giá

  • 간절한개발자님의 프로필 이미지
    간절한개발자

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    20% đã tham gia

    이 강의를 듣고 임베디드 기술 면접에 통과했습니다. RISC-V 관련 질문을 받으면, RISC-V에 대한 어떤 질문도 잘 대답할 수 있을 것 같다는 확신이 듭니다. 강의를 듣고 달라진 제 모습이 조금 놀라웠습니다. RISC-V 스펙을 읽을 때 마다 새로웠는데, 이제는 술술 읽게 됐습니다. 프로젝트에 바로 적용할 만한 내용도 많아서, 주위 동료 개발자에게도 추천했습니다.

    • 박정모님의 프로필 이미지
      박정모

      Đánh giá 3

      Đánh giá trung bình 4.3

      3

      100% đã tham gia

      전반적으로 기초 지식에 기반한 교육이라 얻을 것이 많이 없었다.

      2.536.866 ₫

      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!