디버깅으로 배우는 RISC-V 아키텍처 -2부
김동현 (Austin Kim)
오픈 소스 기반의 최신 CPU 아키텍처인 RISC-V의 핵심 개념과 실용적인 팁을 쉽고 상세하게 설명합니다.
초급
cpu-architecture, cpu, riscv
システムソフトウェアの基本中の基本、最新のArmアーキテクチャ(Armv8-A, Armv7-A)の核心を「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」の著者がしっかりと捉えてご説明します!
受講生 359名
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アーキテクチャの重要な機能の1つであるExceptionレベルの概念を簡単かつ詳細に説明します。
仕様文書分析を使用して、Exceptionレベルを詳細にレビューし、Exceptionレベルで実行されるソフトウェアスタックについて説明します。
TRACE32 プログラムでエクセプションレベルを読む練習を進めます。また、SVC、HVC命令を直接実行して、アクセプションレベルが変わる過程を直接デバッグしながら説明します。受講生は、TRAC32プログラムをダウンロードしてデバッグできます。
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プロセッサ環境で進めている大学院生
前提知識、
必要でしょうか?
コンピュータ構造
オペレーティングシステム
5,438
受講生
148
受講レビュー
84
回答
4.9
講座評価
21
講座
글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (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
全体
21件
5.0
21件の受講レビュー
受講レビュー 4
∙
平均評価 5.0
5
강의를 듣고 나니 머리가 맑아지고 무엇인가 체한게 내려간 듯한 느낌입니다. 그 동안 막연했던 ARM의 주요 개념이 명확히 정리된 것이 신기합니다. 강의를 듣고 달라진 제 모습이 조금 놀라웠습니다. ARM 스펙을 읽을 때 마다 새로웠는데, 이제는 ARM 스펙 문서를 술술 읽게 됐습니다. 프로젝트에 바로 적용할 만한 내용은 것도 신기해 주위 동료 개발자에게도 추천했습니다. 인생 강의를 듣게 되어 기쁘고 더 많은 강의가 업로드됐으면 좋겠습니다. 훌륭하고 유익한 강의 너무 감사합니다.
좋은 평가와 격려 감사합니다. 혹시 궁금한 점이 있으면 언제든지 Q/A로 남겨주세요. 앞으로 제 강의를 "정말 잘 들었다"라는 확신을 드리기 위해 계속 최선을 다하겠습니다.
受講レビュー 3
∙
平均評価 5.0
5
ARM 역사부터 시작해서, ARM instruction, 레지스터, exception level 까지, ARM 구조 이해의 꼭 필요한 기초 베이스를 아주 자세하면서 깊게 설명해 줘서 고맙습니다! 이런 내용의 서적은 최소 국내에서는 못 봤습니다. 리눅스 커널과 관련된 업무를 진행하거나 ARM 에 관심 있는 분들께 꼭 추천드리고 싶습니다!
좋은 평가와 격려 감사합니다. 혹시 궁금한 점이 있으면 언제든지 Q/A로 남겨주세요. 앞으로 제 강의를 "정말 잘 들었다"라는 확신을 드리기 위해 계속 최선을 다하겠습니다.
受講レビュー 4
∙
平均評価 5.0
5
TRACE32, 리눅스 커널 소스, XEN 하이퍼바이저 소스 등 실제로 적용된 예시들을 통해 ARM 아키텍처를 배우니 이론들이 머리에 더 오래 남아있고 흥미롭게 강의를 볼 수 있었습니다. 3부 강의도 얼렁 보고 싶고 이론뿐만 아니라 실제로 프로그래밍을 하는 실습 강의도 개설되었으면 좋겠습니다. 좋은 강의 감사합니다.
좋은 평가 감사합니다. 특히 시스템 소프트웨어의 다양한 분야에 활용될 수 있는 실습 예시가 많이 포함되어 있어 실무에 많은 도움이 될 것이라 예상됩니다. 나중에 실습으로 진행하는 강의를 제작할 예정입니다. 3부 강의는 1월달 초에 출간될 예정이니 참고하세요. 감사합니다. ^^
受講レビュー 2
∙
平均評価 5.0
受講レビュー 17
∙
平均評価 4.9
¥15,674
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!