강의

멘토링

커뮤니티

Hardware

/

Semiconductor

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

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

難易度 初級

受講期間 無制限

  • austinkim
cpu
cpu
cpu-architecture
cpu-architecture
riscv
riscv
cpu
cpu
cpu-architecture
cpu-architecture
riscv
riscv

受講後に得られること

  • 技術面接でRISC-Vに関連する質問にうまく答え、説明することができます。

  • RISC-Vを構成する核心機能である仮想メモリシステム、メモリバリア、キャッシュの動作原理を学ぶことができます。

  • Linuxカーネルのようなオペレーティングシステムカーネルにおいて、RISC-Vアーキテクチャがどのように活用されるかを知ることができます。

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

お知らせ 🎯

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

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

最新のシステムソフトウェア業界で
注目されている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を説明する用語そのものがどういう意味なのか分かりにくい


今回の講義はデバッグで学ぶRISC-Vアーキテクチャシリーズの3番目の講義で、入門者レベルを超えて高い年収を得られるレベルのシステムソフトウェア開発者になるための内容を扱います - メモリシステム(仮想メモリ、メモリバリア、キャッシュ)とHypervisor Extension機能を説明します。

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

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

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

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

1. RISC-Vアーキテクチャのメモリシステムをわかりやすく説明します

高度なシステムソフトウェア開発者になるためには、メモリシステムに対する理解は必須です。その理由は次の通りです。

  • 実戦プロジェクトで遭遇する例外問題を適切にデバッグするためには、仮想アドレスの基本概念とMMUをよく理解しておく必要があります。

  • システムの性能を最適化するためには、メモリシステムの機能をきちんと理解しておく必要があります。

  • 新しいプロジェクトのブリングアップをうまく行うためにも、メモリ関連機能をしっかり把握する必要があります。

しかし、RISC-Vリファレンスドキュメントの分析を通じてメモリシステム(仮想メモリシステム、メモリバリア、キャッシュ)を正しく把握することは困難です。今回の講義では、実務に必ず必要な核心概念を易しく明確に説明します。

2. 実務例で学ぶRISC-Vメモリ機能

今回の講義では、実践的な例を通じてRISC-Vのメモリ関連機能がどのように使用されるのか具体的に説明します。

  • Linuxカーネルでページテーブルを設定するコード

  • fence命令でメモリリオーダリングを防ぐ例

  • Instruction cacheをフラッシュするアセンブリ命令

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

3. 多様なデバッグ実習講義

メモリシステムで扱う内容は、直接デバッグを行わなければ、学んだ内容を消化することが難しく、学んだ内容を実践開発にすぐ活用することが困難です。今回の講義では、メモリダンプデバッグ実習(Crash Utility、TRACE32)を通じて、様々な実習を行います。

  • 関数とグローバル変数のアドレス確認(仮想アドレスの概念)

  • 仮想アドレスを直接物理アドレスに変換する実習

  • ページテーブルのEntry情報を確認 (Crash Utility、TRACE32活用)

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

多くの開発者がすでにArmベースのSoCやArmアーキテクチャに精通しています。本講義では理解を深めるため、RISC-Vの核心概念をArmアーキテクチャと比較して説明します。

  • 仮想メモリシステムの構造

  • メモリバリア方式

  • キャッシュ制御方法

講師はArmアーキテクチャの書籍の著者(優秀図書賞受賞 - 大韓民国学術院 - 2024年)であるため、誰よりもRISC-VをArmアーキテクチャと比較しながら分かりやすく説明できます。

こんな内容を学びます 📕

RISC-Vアーキテクチャの主要なメモリ機能を紹介し、仮想メモリシステムを構成する核心機能も紹介します。全体像とともにわかりやすく説明します。

仮想メモリシステムの核心である仮想メモリマップを紹介します。また、カーネル空間とユーザー空間別に仮想アドレスの範囲について分かりやすく説明します。

ページテーブルを設定するsatpレジスタを説明し、メモリダンプデバッグ実習を通じて仮想アドレスの概念をわかりやすく説明します。(メモリダンプは講義資料で提供します。)

仮想アドレスとページテーブルの概念を説明し、実際のケーススタディを通じて仮想アドレスの範囲について説明します。

マルチレベルページテーブルの構造を説明し、PTE(Page Table Entry)を詳細に説明します。

マルチレベルページテーブルを通じて仮想アドレスを直接物理アドレスに変換する過程を詳細に説明します。Crash Utilityプログラムを使用して仮想アドレスを物理アドレスに変換するデバッグ実習も行います。

SiFiveのU74コアとP550コアのMMUスペックを分析しながら、MMUの動作方式をハードウェア設計の観点から詳細に説明します。


メモリリオーダリングについて説明し、メモリリオーダリングを防ぐfence命令の動作原理をわかりやすく説明します。

fence命令の基本構造(form)を説明し、様々なオプションを適用したfence命令の動作方式を詳細に説明します。

マルチコアシステム環境におけるfence命令の動作方式を説明します - fence命令を実行するとどのような原理で他のコアに同期されるのかを分析します。また、サンプルアセンブリ命令を分析しながらfence命令を説明します。

fence.i命令を紹介し、全体像としてfence.i命令を実行した際に処理される流れまで説明します。

様々な例示アセンブリルーチンを分析しながらfence.i命令を分析します。Armアーキテクチャと比較しながらfence.i命令を分析します。

キャッシュの基本概念を説明し、キャッシュがなぜ使用されるのかについても説明します。

マルチコアシステムにおけるキャッシュの動作原理を説明し、ArmアーキテクチャとRISC-Vで定義されたキャッシュの主要機能について比較しながら分析します。

キャッシュを構成する基本要素について説明し、キャッシュルックアップ(キャッシュを探していく過程)においてアドレスがどのような方式で処理されるのかについて詳しく説明します。


ハイパーバイザを紹介し、RISC-Vアーキテクチャにおいてハイパーバイザが実行されるPrivilegeモードを説明します。

RISC-Vアーキテクチャで定義されたHypervisor Extensionの核心機能を紹介し、Hypervisor Extensionを有効化する方法を説明します。


Guest OSで例外が発生すると、Hypervisorがこれを最初に制御する実行フローを説明します。


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

国内システムソフトウェア分野で前人未到の!'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言語

  • オペレーティングシステム

こんにちは
です。

6,220

受講生

233

受講レビュー

93

回答

4.9

講座評価

22

講座

グローバル著者 & リナックスシステムソフトウェア開発者 (Arm, RISC-V アーキテクチャ)

国内のシステムソフトウェア分野において前例のない!「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出版), (Packt Publishing)

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

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

  • 「Programmers Dev Course:Linuxシステムおよびカーネル専門家」メイン講師

  • 2022年6月、韓国コンピューター総合学術大会 (KCC2022) - チュートリアル発表 [ftraceを利用してリ눅스カーネルを攻略する]

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

韓国国内で誰よりもリ눅스カーネルとArmアーキテクチャ(Armv8-A, Armv7-A)を分かりやすく説明できる教育者であると、自信を持って申し上げます。

講義に関するお問い合わせ:austindh.kim@gmail.com

主要ロードマップ 🎯

'システムソフトウェア開発者のためのArm - basic course'

'システムソフトウェア開発者のためのArm - advanced course'

システムソフトウェア開発者のためのLinux kernel - basic course

カリキュラム

全体

82件 ∙ (9時間 17分)

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

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

受講レビュー

全体

3件

4.3

3件の受講レビュー

  • abcd123123님의 프로필 이미지
    abcd123123

    受講レビュー 327

    平均評価 5.0

    5

    61% 受講後に作成

    • rousalome6394님의 프로필 이미지
      rousalome6394

      受講レビュー 4

      平均評価 5.0

      5

      20% 受講後に作成

      この講義を聞いて組み込み技術面接に合格しました。RISC-V関連の質問を受けたら、RISC-Vについてどんな質問でもうまく答えられるという確信があります。講義を聞いて変わった自分の姿が少し驚きでした。 RISC-Vスペックを読むたびに新鮮でしたが、今ではスラスラ読めるようになりました。プロジェクトにすぐ適用できる内容も多くて、周りの同僚開発者にも推薦しました。

      • jungmopark3648님의 프로필 이미지
        jungmopark3648

        受講レビュー 3

        平均評価 4.3

        3

        100% 受講後に作成

        全体的に基礎知識に基づいた教育だったので、得るものがあまりありませんでした。

        ¥14,816

        austinkimの他の講座

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

        似ている講座

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