Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
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 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.

32 học viên đang tham gia khóa học này

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

Trong ngành công nghiệp phần mềm hệ thống hiện đại
Kiến trúc RISC-V mới nổi

Gần đây, kiến trúc RISC-V, một kiến trúc CPU mã nguồn mở, đang ngày càng phổ biến. Nếu bạn xem các bài báo hoặc tin tức liên quan đến CNTT, bạn có thể thấy ngay những điều 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 tăng lên và tỷ lệ sản phẩm được phát triển dựa trên thiết bị RISC-V cũng ngày càng tăng.

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

  • Dự kiến sẽ có 15 tỷ thiết bị sử dụng RISC-V vào năm 2026.

  • Ở trường sau đại học (thiết kế bộ xử lý), nhiều nghiên cứu khác nhau đ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 phát triển các sản phẩm sử dụng kiến trúc CPU RISC-V, vì vậy người tìm việc cần chuẩn bị cho RISC-V trong các cuộc phỏng vấn kỹ thuật.

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

Đối với người mới bắt đầu, kiến trúc RISC-V khá khó học. Dưới đây là một số lý do:

  • Tôi không biết điều gì là quan trọng trong khối lượng nội dung khổng lồ tạo nên RISC-V.

  • Tôi không biết những chức năng nào của RISC-V được sử dụng trong các dự án thực tế.

  • Cho dù bạn có đọc tài liệu đặc tả RISC-V kỹ đến đâu thì cũng khó có thể hiểu ngay được.


  • Thật khó để biết thuật ngữ mô tả RISC-V có nghĩa là gì.


Bài giảng này là bài giảng thứ ba trong loạt bài Học kiến trúc RISC-V thông qua gỡ lỗi và bao gồm các nội dung giúp bạn vượt qua trình độ mới bắt đầu và trở thành nhà phát triển phần mềm hệ thống được trả lương cao - giải thích về hệ thống bộ nhớ (bộ nhớ ảo, rào cản bộ nhớ, bộ đệm) và các chức năng mở rộng Hypervisor.

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

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

Bài giảng đầy đủ 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 '.

Những điểm khác biệt chính của bài giảng

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

Để trở thành một nhà phát triển phần mềm hệ thống tiên tiến, việc hiểu biết về hệ thống bộ nhớ là điều cần thiết. Lý do là:

  • Để gỡ lỗi đúng cách các vấn đề ngoại lệ gặp phải trong các dự án thực tế, bạn cần hiểu rõ các 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 hiểu rõ khả năng của hệ thống bộ nhớ.

  • Để khởi động thành công một dự án mới, bạn cũng cần phải hiểu rõ về các chức năng liên quan đến bộ nhớ.

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

2. Học các hàm bộ nhớ RISC-V thông qua các ví dụ thực tế

Bài giảng này sẽ giải thích chi tiết 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 việc sắp xếp lại bộ nhớ bằng lệnh hàng rào

  • Hướng dẫn lắp ráp để xóa bộ nhớ đệm hướng dẫn

Bạn có thể nhanh chóng có được kinh nghiệm thực tế một cách tự nhiên cùng với nội dung của kiến trúc RISC-V.

3. Các bài giảng thực hành gỡ lỗi khác nhau

Nếu không trực tiếp gỡ lỗi nội dung của hệ thống bộ nhớ, việc tiếp thu nội dung đã học sẽ rất khó khăn và việc áp dụng trực tiếp nội dung đã học vào quá trình phát triển thực tế cũng khó khăn. Trong bài giảng này, chúng ta sẽ thực hiện nhiều bài tập thực hành khác nhau thông qua thực hành gỡ lỗi bộ nhớ (Tiện ích Crash, TRACE32).

  • Kiểm tra địa chỉ của các hàm và biến toàn cục (khái niệm về địa chỉ ảo)

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

  • Kiểm tra thông tin mục nhập 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 hoặc kiến trúc ARM dựa trên ARM. Bài giảng này 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 chúng 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ớ

  • Cách kiểm soát bộ nhớ đệm

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

Tìm hiểu về những điều 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ác chức năng cốt lõi tạo nên hệ thống bộ nhớ ảo. Bài viết được trình bày dễ hiểu với hình ảnh tổng quan.

Giới thiệu về bản đồ bộ nhớ ảo, cốt lõi của hệ thống bộ nhớ ảo. Tài liệu cũng cung cấp giải thích dễ hiểu về phạm vi địa chỉ ảo cho không gian hạt nhân và không gian người dùng.

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

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

Mô tả cấu trúc của bảng trang đa cấp và giải thích chi tiết về mục nhập bảng trang (PTE).

Chúng tôi sẽ 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. Chúng tôi cũng sẽ thực hành gỡ lỗi bằng cách chuyển đổi địa chỉ ảo thành đị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 lõi U74 và lõi P550 của SiFive, chúng tô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ề việc sắp xếp lại bộ nhớ và giải thích theo cách dễ hiểu về cách lệnh hàng rào hoạt động để ngăn chặn việc sắp xếp lại bộ nhớ.

Mô tả cấu trúc cơ bản (hình thức) của lệnh hàng rào và giải thích chi tiết cách lệnh hàng rào hoạt động với các tùy chọn khác nhau được áp dụng.

Giải thích cách lệnh Fence hoạt động trong môi trường hệ thống đa lõi - Phân tích cách lệnh Fence đồng bộ hóa với các lõi khác khi được thực thi. Đồng thời giải thích lệnh Fence khi phân tích các lệnh lắp ráp ví dụ.

Chúng tôi giới thiệu lệnh fence.i và giải thích bức tranh toàn cảnh về luồng quy trình khi lệnh fence.i được thực thi.

Chúng tôi phân tích lệnh fence.i bằng cách phân tích các ví dụ lắp ráp khác nhau. Chúng tôi phân tích lệnh fence.i bằng cách so sánh nó với kiến trúc Arm.

Giải thích các khái niệm cơ bản về bộ nhớ đệm và lý do sử dụng bộ nhớ đệm.

Chúng tôi giải thích cách bộ nhớ đệm hoạt động trong các hệ thống đa lõi và phân tích các tính năng chính của bộ nhớ đệm được xác định trong RISC-V, đồng thời so sánh chúng với kiến trúc Arm.

Mô tả các thành phần cơ bản tạo nên bộ nhớ đệm và trình bày chi tiết cách xử lý địa chỉ trong quá trình tra cứu bộ nhớ đệm.


Chúng tôi giới thiệu về trình quản lý siêu giám sát và mô tả chế độ đặc quyền mà trình quản lý siêu giám sát này chạy trên kiến trúc RISC-V.

Giới thiệu các tính năng cốt lõi của Tiện ích mở rộng Hypervisor được định nghĩa trong kiến trúc RISC-V và giải thích cách bật Tiện ích mở rộng Hypervisor.


Mô tả luồng thực thi trong đó Hypervisor đầu tiên kiểm soát ngoại lệ khi nó xảy ra trong Hệ điều hành khách.


Dựa trên kinh nghiệm viết sách và giảng bài của tôi
Sâu sắc và chi tiết hơn bất kỳ ai khác!

Vô song trong lĩnh vực phần mềm hệ thống nội địa! Tác giả của 'Arm Architecture (Armv8-A, Armv7-A)' và 'Linux Kernel' ( cả hai đều được Viện Hàn lâm Khoa học Hàn Quốc bình chọn là sách xuất sắc )là tác giả toàn cầu, người đã viết cuốn sách "Reverse Engineering Armv8-A Systems" (tiếng Anh) thông qua một nhà xuất bản nước ngoài (Packt) lần đầu tiên tại Hàn Quốc . Trên hết, ông là một nhà phát triển đang làm việc, am hiểu nhất về các 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 cũng là một nhà giáo dục tích cực nhất trong việc phổ biến kiến thức trong lĩnh vực phần mềm hệ thống.

  • Tác giả của cuốn sách 'Kỹ thuật đảo ngược hệ thống Armv8-A: Hướng dẫn thực tế về phân tích Kernel, Firmware và TrustZone' (Nhà xuất bản Packt)

  • Tác giả của 'Cấu trúc và nguyên tắc của 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 Khoa học Hàn Quốc năm 2024 )

  • Tác giả của 'Tìm hiểu cấu trúc và nguyên tắc của hạt 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 Khoa học Hàn Quốc năm 2021 )

  • 'Khóa học dành cho lập trình viên: Chuyên gia về hệ thống và hạt nhân Linux' Giảng viên chính

  • Tháng 6 năm 2022, Hội nghị Máy tính Hàn Quốc (KCC2022) - Bài thuyết trình hướng dẫn [Chinh phục Nhân Linux bằng ftrace]

  • Giảng viên nội bộ về 'Linux Kernel' và 'Armv8 Architecture' của LG Electronics ( bao gồm 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?

  • 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,419

Học viên

147

Đánh giá

84

Trả lời

4.9

Xếp hạng

21

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á

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

2.537.155 ₫

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!