강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

デバッグで学ぶRISC-Vアーキテクチャ -2部

オープンソースベースの最新CPUアーキテクチャであるRISC-Vの主要概念と実用的なヒントをわかりやすく詳細に説明します。

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

学習した受講者のレビュー

受講後に得られること

  • 技術面接において、RISC-Vに関する質問にうまく答え、説明できます。

  • RISC-Vを構成する中核機能であるエクセプション(Exception)、インターラプトコントローラー、Calling Conventionの動作原理を学ぶことができます。

  • TRACE32シミュレータープログラムを使用して、イクセプション(Exception)、インタラプトコントローラー、Calling Conventionといった機能をデバッグで実習できます。

  • LinuxカーネルのようなOSカーネルでRISC-Vアーキテクチャがどのように活用されているか知ることができます。

  • RISC-Vベースで実行されるブートローダーやLinuxカーネルのスタートアップコードを分析できます。

<お知らせ>

1.国内初のRISC-V講座ローンチを記念して30%割引クーポンを発行(先着100名)いたします。

クーポンリンク: https://inf.run/Yh8vb

2.2025年最新講義リニューアル

最新のRISC-Vアーキテクチャの機能と実戦プロジェクトにすぐに適用できる有益なコンテンツを発掘して、以下の講義を追加しました。

  • 'Synchronous例外動作方式'セッション追加(4個講義)- 07/23(2025)

最新システムソフトウェア業界で
注目されているRISC-Vアーキテクチャ

最近、オープンソースベースのCPUアーキテクチャであるRISC-Vアーキテクチャが注目を集めています。ITに関連する報道記事やニュースを見ると、以下のような内容をすぐに確認することができます:

  • nVidia、インテル、Qualcommなどのビッグテック企業がRISC-Vベースの製品(チップセット)を開発している。

  • 国内でRISC-Vを活用した様々なチップを設計するスタートアップ企業が増えており、RISC-Vデバイスベースの製品を開発する比重が高まっている。

  • AI半導体を設計する際、RISC-VベースのCPUアーキテクチャを多く活用する。

  • 2026年までに150億台のデバイスがRISC-Vベースでリリースされる予定である。

  • 大学院(プロセッサ設計)では、RISC-V CPUを設計できるツールキットを使用して様々な研究を進行中である。

組み込みおよびシステムソフトウェア企業において、RISC-V CPUアーキテクチャを活用した製品開発の比重が高まっています。そのため、就職活動生は技術面接でもRISC-Vに対する準備をしなければならない状況です。

講義を作った背景

初心者の立場からRISC-Vアーキテクチャは学習が困難です。その理由は以下の通りです:

  • RISC-Vを構成する膨大な内容の中で何が重要なのかわからない

  • RISC-Vを構成する内容の中で、どの機能が実戦プロジェクトに活用されるのかわからない

  • RISC-V仕様書をいくら一生懸命読んでもすぐには理解しにくい


  • RISC-Vを説明する用語そのものがどのような意味なのか理解するのが難しい


Armアーキテクチャと比較してRISC-Vアーキテクチャに関する資料は十分ではなく、RISC-Vを具体的に分かりやすく説明する資料が不足しているのが現実です。新人開発者を含むシステムソフトウェア開発者の方々がRISC-Vを学ぶ過程で経験する困難を解消するために講義を制作することになりました。

講義の構成と1部、3部講義ロードマップ

今回の講義は、RISC-V全体の講義リストの中で、RISC-Vの核心機能である2部の内容を扱います。

RISC-Vアーキテクチャ全体の講義はロードマップ - 'システムソフトウェア開発者のためのRISC-Vアーキテクチャ' 講義で確認できます。

講義の核心差別化ポイント

1.TRACE32シミュレータープログラム(教育用)でRISC-Vアーキテクチャデバッグ

RISC-Vアーキテクチャ(レジスタ、アセンブリ命令、Privilegeモード)を学ぶ近道は何でしょうか?それは直接デバッグ実習を行う方法です。

この講義を受講すると、教育用TRACE32シミュレータープログラムを「Inflearn講義資料」からダウンロードして、直接TRACE32シミュレータープログラムを活用してRISC-Vアーキテクチャのレジスタ、アセンブリ命令語、Privilegeモード実習を直接行うことができます。

参考までに、システムソフトウェア開発全般においてTRACE32デバッガと関連プログラムは広範囲に使用されています。TRACE32プログラムはライセンスがなければ実行できません。

2. RISC-Vボードから抽出した5つのカーネルメモリダンプを提供

システムソフトウェア開発過程で要求される最も重要な能力は問題解決能力です。この中でもクラッシュ問題を分析し解決する能力が最も多く必要とされます。今回の講義では、最も人気のあるRISC-Vボードの一つであるVision-Five 2から抽出した5つのカーネルクラッシュメモリダンプをデバッグしながら、例外とCalling conventionに関するデバッグ実習を進めます。講義を受講される方は、TRACE32プログラムと共に5つのメモリダンプをダウンロードして、直接例外とCalling conventionをデバッグすることができます。

3.核心内容を厳選して分かりやすく説明

初心者の方々はRISC-Vを学ぶ際、最初にリファレンス文書を入手して分析することが多いですが、初心者の立場からRISC-Vのどの内容を先に学ぶべきか感覚を掴むのが困難です。何を先にしっかりと学ぶべきかを知ることが難しいからです。今回の講義では、実務に適用できる、必ずしっかりと理解しておくべき内容を厳選して説明します。例えば、RISC-Vベースのデバイスから取得したメモリダンプとカーネルログを開いて、レジスタやアセンブリ命令を分かりやすく詳しく説明します。

4.ソフトウェアとスタックと共に具体的な例を挙げて説明

RISC-Vは、システムソフトウェア開発を上達させたい場合や、この分野に進出するために学ぶケースがほとんどです。今回の講義では、実戦プロジェクトでRISC-Vがどのように活用されるかを様々な例を挙げて説明します。

  • RISC-Vシステムでソフトウェアがどのように実行されるか

  • RISC-Vシステムでどのような過程でブートが行われるか

  • RISC-Vシステムでデバッグとリバースエンジニアリングをどのように行うべきか

この講義を受講すると、RISC-Vアーキテクチャの内容とともに自然に実戦感覚を素早く身につけることができます。

5.Arm アーキテクチャと比較してRISC-Vを説明

システムソフトウェア業界のエコシステムを見ると、2025年までArmアーキテクチャを中心とした組み込み及びチップセット業界のエコシステムが構成されています。多くのシステムソフトウェア開発者たちは、ArmプロセッサやArmアーキテクチャに慣れ親しんでいる状況です。今回の講義では、RISC-Vの核心概念をArmアーキテクチャと共に説明します。

  • 例外の種類と処理方式

  • 割り込みコントローラの構造と処理方式

  • Calling Conventionの処理方式(使用されるレジスターと関連アセンブリ命令語)

教育者はArmアーキテクチャの本の著者であるため、誰よりもRISC-VをArmアーキテクチャと比較しながらよく説明することができます。

こんな内容を学びます 📕

例外の基本概念を詳細に説明し、RISC-Vアーキテクチャで定義された例外の核心機能を分かりやすく説明します。

RISC-Vアーキテクチャの核心機能である例外の実行フローを説明します。また、マシンモードとユーザーモードで構成されたシステムにおける例外の処理方式を詳細に説明します。

RISC-V アーキテクチャで定義された - 例外を引き起こした原因を示す例外コード(Exception code)を説明し、メモリアボートで例外が処理されるフロー図を説明します。

ソフトウェア開発の観点から例外およびクラッシュが発生した際の実行フローを詳しく説明します。

アセンブリ命令を一行ずつ分析しながら、例外がどのような流れで発生するかを説明します。また、例外が発生した際にスタックでどのような方式でこれを処理するかを説明します。

T32デバッグ実習プログラムでアセンブリ命令を実行しながら例外を実習します。例外が発生した際にどのCSR(scause、mcause)レジスタが変更されるかを詳細に説明します。

TRACE32プログラムで例外を発生させる実習を行いながら、Linuxカーネルで処理される例外ハンドラについて詳細に説明します。

RISC-Vベースボードから取得したメモリダンプを分析しながら、RISC-Vアーキテクチャの例外の動作方式を説明します:カーネルログを分析し、コールスタックを分析します。

TRACE32プログラムでページテーブルに関するデバッグ実習を進めます。これを通じて例外が発生した原因について具体的に把握します。

RISC-Vアーキテクチャで定義されたインタラプトコントローラの基本動作方式について説明します。PLICとCLICの構造をわかりやすく説明します。

割り込みに関連する例外コードをレビューし、PLIC(Platform Level Interrupt Controller)の構造を説明します。

PLICを構成する核心ハードウェア構成要素について説明し、PLICを制御するCSRレジスターについて分かりやすく説明します。

RISC-Vアーキテクチャで紹介されたCalling Convention(関数呼び出し規約)について説明し、Calling Conventionをサポートするレジスターをレビューします。

関数に渡される引数の処理方式を大きな図で説明します。

RISC-Vアーキテクチャの呼び出し規約(関数呼び出し規約)をサポートするアセンブリ命令を分析します。また、サンプルアセンブリ命令も分析します - c.sdsp命令分析

RISC-V アーキテクチャのCalling convention(関数呼び出し規約)をサポートするアセンブリ命令を分析します。また、例題アセンブリ命令も分析します - c.ldsp 命令分析

RISC-V アーキテクチャのCalling convention(関数呼び出し規約)をサポートするアセンブリ命令語を分析します。また、例題アセンブリ命令語も分析します - c.ldsp 命令語分析


TRACE32デバッグ実習で壊れたコールスタックを復元する実習を進めます。


TRACE32デバッグ実習で、スタックオーバーフローによって引き起こされたメモリダンプ分析を行います。


書籍執筆・講義経験をもとに
誰よりも深く詳細に!

国内システムソフトウェア分野で前代未聞!「Armアーキテクチャ(Armv8-A、Armv7-A)」と「Linuxカーネル」の本を執筆した著者(2冊の本がいずれも大韓民国学術院優秀図書に選定であり、国内初として海外出版社(Packt)を通じて"Reverse Engineering Armv8-A Systems"という本(英語)を執筆したグローバル著者です。何より最新システムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最もよく知っている現役開発者です。また、システムソフトウェア分野で最も知識普及活動を活発に行っている教育者です。

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 書籍(英語)著者、(Packt出版社)

  • 「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」(2024年、大韓民国学術院優秀図書賞著者

  • 「デバッグを通して学ぶLinuxカーネルの構造と原理」2021年、大韓民国学術院優秀図書賞)著者

  • 'プログラマース デブ コース: Linuxシステム及びカーネル専門家' メイン講師

  • 2022年6月、韓国コンピュータ総合学術大会(KCC2022)- チュートリアル発表「ftraceを利用してLinuxカーネルを征服する」

  • LG電子「Linuxカーネル」及び「Armv8アーキテクチャ」社内講師(国内及び海外開発者含む) - (2020年〜2024)

こんな方に
おすすめです

学習対象は
誰でしょう?

  • システム半導体(ファブレス)、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野で能力を培いたいジュニア開発者

  • システム半導体(ファブレス)、電気自動車の分野でシステムソフトウェア開発をしたい就活生

  • RISC-Vアーキテクチャの機能を活用し、実務でどのようにデバッグするのか知りたいシステムソフトウェア開発者(システム半導体、電気自動車)

  • システムソフトウェア分野へキャリアを転換しようとする他分野の開発者

  • システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学を目指す大学生

前提知識、
必要でしょうか?

  • コンピュータ構造

  • C言語

  • OS

こんにちは
です。

6,018

受講生

200

受講レビュー

89

回答

4.9

講座評価

22

講座

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (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

カリキュラム

全体

91件 ∙ (11時間 33分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

7件

5.0

7件の受講レビュー

  • chungwoopark1091님의 프로필 이미지
    chungwoopark1091

    受講レビュー 2

    平均評価 5.0

    5

    31% 受講後に作成

    • dlee8103님의 프로필 이미지
      dlee8103

      受講レビュー 2

      平均評価 5.0

      5

      100% 受講後に作成

      • mikeseohyungjin5975님의 프로필 이미지
        mikeseohyungjin5975

        受講レビュー 4

        平均評価 5.0

        修正済み

        5

        31% 受講後に作成

        現職開発者として講義が役に立ち、核心だけを扱う良い講義です。高手の仲間入りをするために必須で知っておくべき内容をtrace32を通じて実習できる過程は全世界的にも見つけにくいのですが、大きな助けになりました。

        • jun7kim8005님의 프로필 이미지
          jun7kim8005

          受講レビュー 2

          平均評価 5.0

          5

          100% 受講後に作成

          現場経験から滲み出る年輪が感じられる素晴らしい講義でした。

          • kisanglee5393님의 프로필 이미지
            kisanglee5393

            受講レビュー 4

            平均評価 5.0

            5

            100% 受講後に作成

            ¥14,980

            austinkimの他の講座

            知識共有者の他の講座を見てみましょう!

            似ている講座

            同じ分野の他の講座を見てみましょう!