
システムソフトウェア開発のすべて - システム半導体と電気自動車中心
austinkim
¥3,981
入門 / Embedded
4.9
(26)
システムソフトウェア開発者になるために何を準備し、何を知るべきかを説明する講義です。システムソフトウェア開発プロセスを詳細に説明し、必要な力量を紹介します。IT業界で最も高い年俸を得るシステム半導体、電気自動車分野のシステムソフトウェア開発プロセスと開発エコシステムを詳細に扱います。
入門
Embedded
オープンソースベースの最新CPUアーキテクチャであるRISC-Vの核心概念と実用的なヒントを、分かりやすく詳細に解説します。
技術面接でRISC-Vに関する質問に適切に答え、説明することができます。
RISC-Vを構成する核となる機能である仮想メモリシステム、メモリバリア、キャッシュの動作原理を学ぶことができます。
Linuxカーネルのようなオペレーティングシステムカーネルにおいて、RISC-Vアーキテクチャがどのように活用されているかを知ることができます。
RISC-Vベースで実行されるブートローダーやLinuxカーネルのスタートアップコードを分析できます。
最近、オープンソースベースのCPUアーキテクチャであるRISC-Vアーキテクチャが注目を集めています。IT関連のメディア記事やニュースを見ると、以下のような内容をすぐに確認することができます。
nVidia、インテル、クアルコムといったビッグテック企業で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機能について解説します。
1. Linux Plumbers Conference 発表:Debugging RISC-V Kernel Crashes(2025年12月)
(出典: https://www.youtube.com/watch?v=LNih2OdEcYo&t=1s)
2. 著書:Practical Debugging for Embedded RISC‑V (グローバルPackt出版社 - 2026年11月出版予定)
(出典: https://www.amazon.com/Practical-Debugging-Embedded-RISC%E2%80%91V-RISCV-Based/dp/1806699354/)
今回の講義は、RISC-Vの全講義リストの中で、RISC-Vの核心機能である第3部の内容を扱います。
第1部:RISC-Vの紹介、レジスター、アセンブリ命令、Privilege Mode(デバッグを通じて学ぶRISC-Vアーキテクチャ 第1部)
2部:エクセプション(Memory Abort Exception)、割り込み、PLIC(Platform-level Interrupt Controller)、Calling convention(デバッグを通じて学ぶRISC-Vアーキテクチャ 2部)
3部:仮想メモリシステム、キャッシュ(Cache)、フェンス(Fence)/バリア、Hypervisor extension
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)を通じて、さまざまな実習を進めていきます。
関数およびグローバル変数のアドレス確認(仮想アドレスの概念)
仮想アドレスを直接物理アドレスに変換する実習
ページテーブルのエントリ情報を確認 (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を利用してリナックスカーネルを征服する]
LG電子「リナックスカーネル」および「Armv8アーキテクチャ」社内講師(国内および海外開発者を含む) - (2020年〜2024年)

学習対象は
誰でしょう?
システム半導体(ファブレス)、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野で、自らの能力を高めていきたいジュニア開発者
システム半導体(ファブレス)、電気自動車分野でシステムソフトウェア開発を目指している就活生
RISC-Vアーキテクチャの機能を活用して、実務でどのようにデバッグを行うかを知りたいシステムソフトウェア開発者(システム半導体、電気自動車)
システムソフトウェア分野へキャリアチェンジしようとしている他分野の開発者
システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学を目指す大学生
前提知識、
必要でしょうか?
コンピュータ構成学
C言語
オペレーティングシステム
キャリア認証
6,710
受講生
280
受講レビュー
106
回答
4.9
講座評価
23
講座
グローバル著者 & リナックスシステムソフトウェア開発者 (Arm, RISC-V アーキテクチャ)
国内のシステムソフトウェア分野において前例のない!「Armアーキテクチャ(Armv8-A, Armv7-A)」と「Linuxカーネル」の本を執筆した著者(2冊とも大韓民国学術院の優秀図書に選定)であり、国内初めて海外出版社(Packt)を通じて「Reverse Engineering Armv8-A Systems」の本(英語)を執筆したグローバル著者です。何よりも最新のシステムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最も熟知している現役の開発者です。また、システムソフトウェア分野で最も活発に知識の普及活動を行っている教育者でもあります。"Reverse Engineering Armv8-A Systems" (bằng tiếng Anh) thông qua nhà xuất bản nước ngoài (Packt). Trên hết, ông là một nhà phát triển đang làm việc thực tế, người nắm rõ nhất các 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). Ngoài ra, ông còn là một nhà giáo dục hoạt động 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.
Professional 知識共有者およびコンサルタント
LG電子 Linuxカーネルオープンソースチーム勤務(〜2026年5月)
'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 著書(英語) 著者、(Packt 出版社)
『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』(2024年、大韓民国学術院 優秀図書賞)著者))
『デバッグを通じて学ぶLinuxカーネルの構造と原理』 (2021年、大韓民国学術院 優秀学術図書賞) 著者)
'Programmers Dev Course: リナックスシステムおよびカーネル専門家' メイン講師
韓国国内で誰よりもリヌックスカーネルとArmアーキテクチャ(Armv8-A, Armv7-A)を分かりやすく説明できる教育者であると、自信を持って申し上げます。
講義に関するお問い合わせ : austindh.kim@gmail.com
'システムソフトウェア開発者のための Arm - basic course'
'システムソフトウェア開発者のためのArm - advanced course'
システムソフトウェア開発者のための Linux kernel - basic course
全体
82件 ∙ (9時間 17分)
講座資料(こうぎしりょう):
全体
4件
4.5
4件の受講レビュー
受講レビュー 4
∙
平均評価 5.0
受講レビュー 3
∙
平均評価 4.3
受講レビュー 330
∙
平均評価 5.0
受講レビュー 4
∙
平均評価 4.5
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!
新規会員登録で25%OFF
¥11,532
25%
¥15,382