강의

멘토링

커뮤니티

BEST
Hardware

/

Embedded IoT

システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 1部 著者直講 (2024年版)

システムソフトウェアの基本中の基本、最新のArmアーキテクチャ(Armv8-A, Armv7-A)の核心を「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」の著者がしっかりと捉えてご説明します!

저자 직강
이론 중심
arm-architecture
ARM Architecture
cortex-a
Embedded
microprocessors

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

受講後に得られること

  • Arm プロセッサ紹介

  • Arm アーキテクチャ学習方法

  • レジスター

  • アセンブリ命令

  • Armv7: 動作モード

  • Armv8: 例外レベル

システムソフトウェアの基本中の基本、
最新Armアーキテクチャの核心!

<お知らせ>

0. 受講生300名突破30%割引クーポン発行

受講生300名突破(1、2部)を記念して30%割引クーポンを発行いたします。ありがとうございます。先着順100名です。

  • クーポンリンク:https://inf.run/NspbX

1. 2024年最新講義リニューアル

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

  • TRACE32プログラムデバッグコンテンツ: 教育用TRACE32シミュレータープログラムを「Inflearn講義資料」からダウンロードできます。TRACE32シミュレータープログラムを直接活用して、講義で説明するデバッグ過程(アセンブリ命令語を含む)を直接フォローしてデバッグすることができます。
  • 追加されたデバッグ実習講義: レジスタ実習(50分)、アセンブリ命令語(60分)、動作モードと例外レベル(60分)

講義は継続的にリニューアルされる予定です。

2. Armアーキテクチャ全体 著者直講 講義ロードマップ

今回の講義<システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 1部 著者直講>は、ロードマップ「システムソフトウェア開発者のためのArm - basic course」に含まれている講義です。

体系的にArmアーキテクチャ(Armv8-A、Armv7-A)を学びたい方は、ロードマップ(全講義30%割引)を活用されると良いでしょう。参考までに、Armアーキテクチャロードマップ(著者直接講義全体)はBasic CourseAdvanced Courseの2つで構成されています。


システム半導体、自動車分野など
システムソフトウェア開発者なら
必ず知っておくべきArmアーキテクチャ。

スマートフォンはもちろん、AI用SoCシステム半導体、電気自動車Automotive(自律走行、インフォテインメント)そしてクラウドサーバーおよびMacBookで使用されるArmプロセッサは全てArmv8-A基盤64ビットCortex-Aプロセッサ(Cortex-A53、Cortex-A57、Cortex-A72など...)です。現在システムソフトウェア業界で最も多く必要とされる基礎知識が要求される内容がArmv8-Aアーキテクチャだと言えるでしょう。

ところで、最新のArmアーキテクチャであるArmv8-AとArmv7-Aアーキテクチャがあまりにも難しく感じられましたか?


システムソフトウェア開発者、組み込みシステム(BSP)プログラマー注目!

システム半導体、電気自動車分野(自律走行、インフォテインメント)を含むシステムソフトウェア分野で能力を向上させたいジュニア開発者

システム半導体、電気自動車分野のようなシステムソフトウェア開発をしたい就職準備生

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

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

多くのLinux組み込み開発者を志望する方々は、コンピュータアーキテクチャやオペレーティングシステムを学びます。そしてCS理論もある程度勉強します。最近注目されているシステム半導体と電気自動車システムソフトウェア開発者は、Linuxデバイスドライバ、RTOSまたはブートローダを分析します。しかしそれだけでは何か物足りないということを自ら感じます。専門システムソフトウェア開発者になるために必ずArmアーキテクチャを知らなければならないという事実を知っていますが、いざArmスペック文書を開いた瞬間、簡単ではない道のりであり独学は困難だという判断をすることになります。


Armアーキテクチャの核心を
分かりやすく説明いたします!

  • 1️⃣ Armアーキテクチャのレジスタとアセンブリ命令に対する理解と動作モードや例外レベルなど、コア理論を理解することができます。
  • 2️⃣ Armアーキテクチャを構成する主要な内容をコードレベルで再体験し、Armアーキテクチャに対する理解レベルがはるかに高くなります。
  • 3️⃣ Armアーキテクチャがサポートする多様な機能を積極的に活用することで、高い安定性と性能を保証されるシステムプログラム(ドライバ、ブートローダ)を開発することができます。
  • 4️⃣TRACE32デバッグプログラムで直接実習を進めながら、アセンブリ命令語と関連機能を直接デバッグできます。実戦プロジェクト開発に必要な各種理論及び事例を自ら理解できます。

システムソフトウェア開発の核心は、CPUおよびコンピュータアーキテクチャと言っても過言ではありません。IT業界で最も必要とされるCPUプロセッサである、最新Armアーキテクチャ(Armv8-A、Armv7-A)に関する核心理論を分かりやすく説明しました!

Armアーキテクチャが難しい理由は、Armアーキテクチャをハードウェアプロセッサの観点からのみ学ぶからです。この講義は、コード分析と具体的な事例紹介により、Armアーキテクチャを構成する内容が実際にどのように使用されるかを説明します。この講義が実力のあるシステムソフトウェア開発者になるための中枢的な役割を果たします。


TRACE32シミュレータープログラム(教育用)提供

Armアーキテクチャを学ぶ近道は何でしょうか?直接デバッグをしながら実習してみることです。

この講義を受講すると、教育用TRACE32シミュレータープログラムを'Inflearn講義資料'からダウンロードして、直接TRACE32シミュレータープログラムを活用し、講義で説明するデバッグ過程(アセンブリ命令語を含む)を直接追いかけてデバッグすることができます。カリキュラムにある関連デバッグ講義は以下の通りです:

  • TRACE32 - レジスタ実習 (2024 version)
  • TRACE32 - 動作モードデバッグ実習 (2024 version)
  • TRACE32 - アセンブリ命令デバッグ実習 (2024 version)
  • TRACE32 - 例外レベルデバッグ実習 (2024 version)

また、動作モード、例外レベルに関連するデバッグも一緒に行うことができます。


著者直講!本にない内容まで
具体的に説明します。

書籍『Armアーキテクチャの構造と原理』の内容だけでなく、書籍では扱われていないArmアーキテクチャに関するデバッグ実習および様々な事例を具体的に説明します。

  • ✅ 40%: 本の核心内容
  • ✅ 40%: Armアーキテクチャ関連主要ケーススタディ、コードレビュー
  • ✅ 20%: デバッグ実習 - TRACE32

主要講義内容

システム半導体を開発する過程とともに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」という本(英語)を執筆したグローバル著者です。何よりも最新システムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最もよく知っている現役開発者です。また、システムソフトウェア分野で最も知識普及活動を活発に行っている教育者です。

  • Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis (Packt出版社:英語) - 2025年出版
  • 「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」2024年、大韓民国学術院優秀図書賞著者
  • 「デバッグを通して学ぶLinuxカーネルの構造と原理」2021年、大韓民国学術院優秀図書賞)著者
  • プログラマース デブ コース:Linuxシステム及びカーネル専門家メイン講師
  • 2022年6月、韓国コンピュータ総合学術大会(KCC2022)- チュートリアル発表「ftraceを利用してLinuxカーネルを攻略する」
  • LG電子「Linuxカーネル」及び「Armv8アーキテクチャ」社内講師(国内及び海外開発者含む) - (2020年~2024年)

国内で誰よりもArmアーキテクチャ(Armv8-A、Armv7-A)を構成する主要機能をよく説明できる教育者だと自信を持って申し上げることができます。


学習者が残したリアルな受講レビュー


Q&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,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

カリキュラム

全体

165件 ∙ (22時間 9分)

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

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

受講レビュー

全体

25件

5.0

25件の受講レビュー

  • 간절한개발자님의 프로필 이미지
    간절한개발자

    受講レビュー 4

    平均評価 5.0

    5

    31% 受講後に作成

    강의를 듣고 나니 머리가 맑아지고 무엇인가 체한게 내려간 듯한 느낌입니다. 그 동안 막연했던 ARM의 주요 개념이 명확히 정리된 것이 신기합니다. 강의를 듣고 달라진 제 모습이 조금 놀라웠습니다. ARM 스펙을 읽을 때 마다 새로웠는데, 이제는 ARM 스펙 문서를 술술 읽게 됐습니다. 프로젝트에 바로 적용할 만한 내용은 것도 신기해 주위 동료 개발자에게도 추천했습니다. 인생 강의를 듣게 되어 기쁘고 더 많은 강의가 업로드됐으면 좋겠습니다. 훌륭하고 유익한 강의 너무 감사합니다.

    • 김동현 (Austin Kim)
      知識共有者

      좋은 평가와 격려 감사합니다. 혹시 궁금한 점이 있으면 언제든지 Q/A로 남겨주세요. 앞으로 제 강의를 "정말 잘 들었다"라는 확신을 드리기 위해 계속 최선을 다하겠습니다.

  • mikeseohyungjin님의 프로필 이미지
    mikeseohyungjin

    受講レビュー 4

    平均評価 5.0

    5

    7% 受講後に作成

    ARM 역사부터 시작해서, ARM instruction, 레지스터, exception level 까지, ARM 구조 이해의 꼭 필요한 기초 베이스를 아주 자세하면서 깊게 설명해 줘서 고맙습니다! 이런 내용의 서적은 최소 국내에서는 못 봤습니다. 리눅스 커널과 관련된 업무를 진행하거나 ARM 에 관심 있는 분들께 꼭 추천드리고 싶습니다!

    • 김동현 (Austin Kim)
      知識共有者

      좋은 평가와 격려 감사합니다. 혹시 궁금한 점이 있으면 언제든지 Q/A로 남겨주세요. 앞으로 제 강의를 "정말 잘 들었다"라는 확신을 드리기 위해 계속 최선을 다하겠습니다.

  • 토끼야놀자님의 프로필 이미지
    토끼야놀자

    受講レビュー 4

    平均評価 5.0

    5

    100% 受講後に作成

    TRACE32, 리눅스 커널 소스, XEN 하이퍼바이저 소스 등 실제로 적용된 예시들을 통해 ARM 아키텍처를 배우니 이론들이 머리에 더 오래 남아있고 흥미롭게 강의를 볼 수 있었습니다. 3부 강의도 얼렁 보고 싶고 이론뿐만 아니라 실제로 프로그래밍을 하는 실습 강의도 개설되었으면 좋겠습니다. 좋은 강의 감사합니다.

    • 김동현 (Austin Kim)
      知識共有者

      좋은 평가 감사합니다. 특히 시스템 소프트웨어의 다양한 분야에 활용될 수 있는 실습 예시가 많이 포함되어 있어 실무에 많은 도움이 될 것이라 예상됩니다. 나중에 실습으로 진행하는 강의를 제작할 예정입니다. 3부 강의는 1월달 초에 출간될 예정이니 참고하세요. 감사합니다. ^^

  • 이지수님의 프로필 이미지
    이지수

    受講レビュー 8

    平均評価 5.0

    5

    100% 受講後に作成

    • 최민성님의 프로필 이미지
      최민성

      受講レビュー 2

      平均評価 5.0

      5

      100% 受講後に作成

      ¥16,390

      austinkimの他の講座

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

      似ている講座

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