
システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 2部 著者直講 (2024年版)
austinkim
システムソフトウェアの基本中の基本、最新のArmアーキテクチャ(Armv8-A, Armv7-A)の核心を「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」の著者がきちんと押さえます!
Basic
Hardware Hacking, Embedded, ARM Architecture
システムソフトウェアの基本中の基本、最新のArmアーキテクチャ(Armv8-A, Armv7-A)の核心を「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」の著者がしっかりと捉えてご説明します!
受講生 397名
難易度 初級
受講期間 無制限

Arm プロセッサ紹介
Arm アーキテクチャ学習方法
レジスター
アセンブリ命令
Armv7: 動作モード
Armv8: 例外レベル
システムソフトウェアの基本中の基本、
最新Armアーキテクチャの核心!
0. 受講生300名突破30%割引クーポン発行
受講生300名突破(1、2部)を記念して30%割引クーポンを発行いたします。ありがとうございます。先着順100名です。
最新のArmアーキテクチャの機能と実戦プロジェクトにすぐに適用できる有益なコンテンツを発掘して、以下の講義を追加しました。
講義は継続的にリニューアルされる予定です。
今回の講義<システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 1部 著者直講>は、ロードマップ「システムソフトウェア開発者のためのArm - basic course」に含まれている講義です。
体系的にArmアーキテクチャ(Armv8-A、Armv7-A)を学びたい方は、ロードマップ(全講義30%割引)を活用されると良いでしょう。参考までに、Armアーキテクチャロードマップ(著者直接講義全体)はBasic CourseとAdvanced Courseの2つで構成されています。
スマートフォンはもちろん、AI用SoCシステム半導体、電気自動車Automotive(自律走行、インフォテインメント)そしてクラウドサーバーおよびMacBookで使用されるArmプロセッサは全てArmv8-A基盤64ビットCortex-Aプロセッサ(Cortex-A53、Cortex-A57、Cortex-A72など...)です。現在システムソフトウェア業界で最も多く必要とされる基礎知識が要求される内容がArmv8-Aアーキテクチャだと言えるでしょう。
ところで、最新のArmアーキテクチャであるArmv8-AとArmv7-Aアーキテクチャがあまりにも難しく感じられましたか?。
システム半導体、電気自動車分野(自律走行、インフォテインメント)を含むシステムソフトウェア分野で能力を向上させたいジュニア開発者
システム半導体、電気自動車分野のようなシステムソフトウェア開発をしたい就職準備生
システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学を目標とする大学生
システムソフトウェア分野にキャリア転換しようとする他分野の開発者
多くのLinux組み込み開発者を志望する方々は、コンピュータアーキテクチャやオペレーティングシステムを学びます。そしてCS理論もある程度勉強します。最近注目されているシステム半導体と電気自動車システムソフトウェア開発者は、Linuxデバイスドライバ、RTOSまたはブートローダを分析します。しかしそれだけでは何か物足りないということを自ら感じます。専門システムソフトウェア開発者になるために必ずArmアーキテクチャを知らなければならないという事実を知っていますが、いざArmスペック文書を開いた瞬間、簡単ではない道のりであり独学は困難だという判断をすることになります。
システムソフトウェア開発の核心は、CPUおよびコンピュータアーキテクチャと言っても過言ではありません。IT業界で最も必要とされるCPUプロセッサである、最新Armアーキテクチャ(Armv8-A、Armv7-A)に関する核心理論を分かりやすく説明しました!
Armアーキテクチャが難しい理由は、Armアーキテクチャをハードウェアプロセッサの観点からのみ学ぶからです。この講義は、コード分析と具体的な事例紹介により、Armアーキテクチャを構成する内容が実際にどのように使用されるかを説明します。この講義が実力のあるシステムソフトウェア開発者になるための中枢的な役割を果たします。
Armアーキテクチャを学ぶ近道は何でしょうか?直接デバッグをしながら実習してみることです。
この講義を受講すると、教育用TRACE32シミュレータープログラムを'Inflearn講義資料'からダウンロードして、直接TRACE32シミュレータープログラムを活用し、講義で説明するデバッグ過程(アセンブリ命令語を含む)を直接追いかけてデバッグすることができます。カリキュラムにある関連デバッグ講義は以下の通りです:
また、動作モード、例外レベルに関連するデバッグも一緒に行うことができます。
書籍『Armアーキテクチャの構造と原理』の内容だけでなく、書籍では扱われていないArmアーキテクチャに関するデバッグ実習および様々な事例を具体的に説明します。
システム半導体を開発する過程とともにArmプロセッサとArmアーキテクチャを紹介します。Armプロセッサのプロファイルとファミリーについて説明します。
Armv7-Aアーキテクチャのレジスタを紹介し、それぞれの特徴を説明します。
汎用レジスタ(Armv7-A)の中でバンクドレジスタについて詳細に扱います。プロセスの状態情報を格納しているCPSRレジスタを構成する主要フィールドを詳細に説明します。
Armv8-Aアーキテクチャで定義されたレジスタを分かりやすく詳細に説明します。
TRACE32プログラムでレジスタをデバッグします。Armv7-AとArmv8-Aアーキテクチャで定義されたレジスタの値を直接変更しながら、レジスタの動作原理を詳細に説明します。もちろん受講生の皆さんが直接フォローしてデバッグできるように説明します。
アセンブリ命令語の基本構造を説明し、それぞれのアセンブリ命令語を詳細に説明します。
アセンブリ命令の文法説明にとどまらず、アセンブリ命令が実際のプロジェクトでどのように活用されるかを詳細に説明します。
TRACE32プログラムでアセンブリ命令を直接デバッグしながら説明します。算術命令(例:MOV、ADD、SUB)からブランチ命令、ビット演算命令、そしてロジカル命令(AND、ORR、EOR)まで受講生の皆さんが一緒にデバッグできるように説明します。
Armv7-Aの基盤となる動作モードを紹介し、それぞれの特徴について詳細に説明します。動作モード別にどのようなソフトウェアが実行されるかを説明します。
動作モードに関連するPrivilegeレベルについて説明し、動作モードを確認できるCPSRレジスターのビットフィールドについて詳細に分析します。
TRACE32プログラムで動作モードを変更するコマンドを直接デバッグします。また、例外を引き起こすコマンドを直接実行して例外が発生する過程を直接デバッグ過程で説明します。受講生の皆さんが一緒に従ってデバッグできるように説明します。
Armv8-Aアーキテクチャの核心機能の一つである例外レベルの概念を簡単かつ詳細に説明します。
仕様書分析を通じて例外レベルを詳細にレビューし、例外レベル別に実行されるソフトウェアスタックについて説明します。
TRACE32プログラムでエクセプションレベルを読む実習を進行します。また、SVC、HVC命令語を直接実行してエクセプションレベルが変わる過程を直接デバッグしながら説明します。受講生の皆さんはTRACE32プログラムをダウンロードして一緒にデバッグしながら進めることができます。
Armプロセッサの動作原理を把握する近道は、Armスペック文書を直接読んで理解することです。
初心者には決して簡単ではありません。どんなに有益な内容であっても、理解するのが困難だからです。この講義は、難しいArmアーキテクチャの理論により簡単にアプローチできるよう道を開くために企画されました。
国内システムソフトウェア分野で前代未聞!「Armアーキテクチャ(Armv8-A、Armv7-A)」と「Linuxカーネル」の本を執筆した著者(2冊の本がいずれも大韓民国学術院優秀図書に選定)であり、国内初として海外出版社(Packt)を通じて「Reverse Engineering Armv8-A Systems」という本(英語)を執筆したグローバル著者です。何よりも最新システムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最もよく知っている現役開発者です。また、システムソフトウェア分野で最も知識普及活動を活発に行っている教育者です。
国内で誰よりもArmアーキテクチャ(Armv8-A、Armv7-A)を構成する主要機能をよく説明できる教育者だと自信を持って申し上げることができます。
Q. システムソフトウェア開発者になるには、Armアーキテクチャを必ず学ぶ必要がありますか?
はい、必ず学ぶべきです。IT業界で最も多く使用されているCPUがArmプロセッサです。ハードウェアを制御するプログラミングを行うシステムソフトウェア開発者は、Armアーキテクチャに関連する内容をきちんと理解していなければ問題解決が可能な場合が多いからです。Armアーキテクチャをよく知らなければ、単純なシステム設定作業だけを行う可能性があります。
Q. 非専攻者ですが、Armアーキテクチャを学ぶことはできるでしょうか?
非専攻者でもこの講義の内容をしっかり聞けば、Armアーキテクチャの基本原理を十分に理解することができます。「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」本のベータリーダーの中にも非専攻者が多数いました。最初はArmアーキテクチャの内容を読んですぐに理解するのは難しかったですが、本を2〜3回読んで大部分のArmアーキテクチャを理解しました。この講義は本の内容をより詳しく具体的に説明するので、この講義を聞けば非専攻者でもArmアーキテクチャをよく理解できるでしょう。
Q. セキュリティソフトウェア開発者になるには、この講義を受講する必要がありますか?
V3のようなソフトウェアを開発したいなら、CPUアーキテクチャに関する理論は必須です。カーネルドライバー開発者に進んだ後、ArmアーキテクチャのようなCPUアーキテクチャは必ず知っておく必要があります。リバーシングをはじめ、各種攻撃・防御技法の核心を学ぶには、Armアーキテクチャの理論を知らずには試すことすら困難です。
Q. C言語、データ構造程度しか勉強していません。それでもこの講義を受講できますか?
はい、聞くことができます。この講義を聞くのに特別な前提知識は必要ありません。前提知識よりも次のような態度の方が重要かもしれません。
ただし、オペレーティングシステムやRTOSについての知識を既にお持ちの場合、本講義の理解に役立つ可能性があります。
学習対象は
誰でしょう?
システム半導体(ファブレス)、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野で力量を培いたいジュニア開発者
システムソフトウェア分野へのキャリア転換を希望する他分野の開発者
システム半導体(ファブレス)、電気自動車の分野でシステムソフトウェア開発をしたい就活生
システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学を目指す大学生
Armアーキテクチャの機能を活用して実務でどのようにデバッグするのか知りたいシステムソフトウェア開発者(システム半導体、電気自動車)
システム半導体でArmv8-AベースのArmプロセッサがどのように動作するのか知りたいシステムソフトウェア開発者
Armベースのシステムで卒業課題を準備中の卒業学年の学生
研究室のプロジェクトをArmプロセッサ環境で進めている大学院生
前提知識、
必要でしょうか?
コンピュータ構造
オペレーティングシステム
6,122
受講生
221
受講レビュー
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'
全体
165件 ∙ (22時間 9分)
講座資料(こうぎしりょう):
4. 1.0 システム半導体とArm
07:42
5. 1.1 Arm プロセッサの歴史
10:48
6. 1.1.1 エーコンの設立
02:59
7. 1.1.2 Arm社の設立
05:00
16. 1.5.3 Arm コアとは
01:18
17. 1.6 この本の構成
12:41
全体
26件
5.0
26件の受講レビュー
受講レビュー 114
∙
平均評価 5.0
5
2024/07/27/土 16:29 講義はとてもよく聞きました。 良い講義ありがとうございます。キム・ドンヒョン様の講義をすべて申請しました。 &quot;受講期限:無制限&quot;続いてとても良いようです。今聞くことを何年も経っても、聞くことができますから。 一つお願いしたいことがあります。これから作る講義も受講期間を無制限にしていただければとても感謝しそうです。他の方の講義は受講期間が12ヶ月(1年)の場合もあります。私の場合は週末に少し時間がかかりますが、1年間の講義を聞くことができないようで、申請しませんでした。キム・ドンヒョン様の講義がとても良く、後で再度確認することもあるようで、受講期限は常に無制限にしていただきありがとうございます。元キム・ドンヒョン様の講義はみんな聞きそうですね。 今日も本当に多くを知らせる良い講義でした。ありがとうございます。 今受講評を書いて、まさにArmアーキテクチャの構造と原理 - 2部を見る計画です。ありがとうございます。
受講レビュー 4
∙
平均評価 5.0
5
講義を聞いてみると頭が澄んでいて何か体重が下がったような感じです。その間、漠然としたARMの主な概念が明確にまとめられたのが不思議です。講義を聞いて変わった私の姿が少し驚きました。 ARM仕様を読むたびに新しくなりました。プロジェクトにすぐに適用できる内容は物事も不思議で、周囲の同僚開発者にもおすすめしました。人生の講義を聞くことができて嬉しくて、より多くの講義がアップロードされたらと思います。素晴らしいと有益な講義に感謝します。
良い評価と励ましありがとうございます。もし気になる点があれば、いつでもQ/Aとして残してください。これから私の講義を "本当によく聞いた"という確信を差し上げるために最善を尽くします。
受講レビュー 4
∙
平均評価 5.0
5
ARM歴史から始めて、ARM instruction、レジスタ、exception levelまで、ARM構造理解の必須基礎ベースを非常に詳しく説明してくれてありがとう! このような内容の書籍は、最低国内では見られませんでした。 Linuxカーネルに関する業務を進めたり、ARMに関心のある方にぜひお勧めします!
良い評価と励ましありがとうございます。もし気になる点があれば、いつでもQ/Aとして残してください。 これから私の講義を "本当によく聞いた"という確信を差し上げるために最善を尽くします。
受講レビュー 4
∙
平均評価 5.0
5
TRACE32、Linuxカーネルソース、XENハイパーバイザーソースなど、実際に適用された例でARMアーキテクチャを学び、理論が頭に長く残っていて興味深く講義を見ることができました。 3部講義もオルガル見たい理論だけでなく、実際にプログラミングをする実習講義も開設されたらと思います。良い講義ありがとうございます。
良い評価ありがとうございます。特にシステムソフトウェアのさまざまな分野で活用できる実習例が多く含まれており、実務に多くの役に立つと予想されます。初めに出版される予定ですので参考にしてください。
受講レビュー 18
∙
平均評価 5.0
期間限定セール、あと05:43:26日で終了
¥1,965,278
29%
¥16,475
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!