강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

Armアーキテクチャ:メモリモデルとバリア【著者直講第3部-3】

システムソフトウェアの基本中の基本、最新のArmアーキテクチャ(Armv8-A, Armv7-A)の核となる「メモリモデルとバリア」を『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』の著者がしっかり解説します!

  • austinkim
저자 직강
이론 중심
동시성문제
임베디드리눅스
ARM Architecture
memory-mapped-io
barrier
armv8
cortex-a

受講後に得られること

  • Armアーキテクチャ(Armv8-A)のメモリモデルとバリアの基本動作原理を把握できます。

  • Armアーキテクチャのメモリモデルとバリア関連機能が実際のプロジェクトでどのように活用されるか分かります。

  • 大まかにメモリモデルとバリアに関連する実行フローと構造を把握できます。

  • 面接でメモリモデルとバリアに関する質問によく答えられます。

<お知らせ>

1. 300名突破30%割引クーポン発行

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

2. ロードマップ案内 🎯

今回の講義のロードマップ'システムソフトウェア開発者のためのArm - advanced course'に含まれる講義です。


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


最新のシステムソフトウェアにおける
最も重要なArmアーキテクチャ

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

上級システムSW開発者になる第一歩!
メモリ管理方式を理解する🙋‍♂

しかし、高度なシステムソフトウェア開発者になるためには、Armアーキテクチャを構成する主要機能の中でメモリを管理する方式をよく理解する必要があります。メモリを管理する方式の核心は「仮想メモリシステム」、「キャッシュ動作原理」と「メモリモデルとバリア」です。


「メモリモデルとバリア」をなぜ学ぶ必要があるのでしょうか?

1⃣ 第一に、メモリモデルとバリアをよく理解すればデバイスドライバを上手く開発することができます。ほとんどのデバイスドライバはメモリマップドI/O方式でペリフェラルデバイスを制御しますが、メモリモデル(ノーマルメモリ、デバイスメモリ)では、メモリマップドI/O方式の基盤であるデバイスメモリについて詳しく扱います。

2⃣ 第二に、メモリマップドI/Oの基盤であるデバイスメモリ(メモリモデルの一つ)をよく理解してこそ、システム半導体を構成するハードウェアを効率的に制御するプログラミングを上手く行うことができます。システム半導体(ファブレス)では、ほとんどメモリマップドI/O方式を通じてシステム半導体を構成する独立したモジュール(IP)を設計するためです。

3⃣ 第三に、メモリモデルとバリアをよく理解すれば、Armプロセッサ内部の動作原理を詳細に把握することができます。特にマルチコアシステムでバリアを使用して並行性の問題を解決する状況によく直面しますが、「メモリモデルとバリア」は基盤知識となることができます。

4⃣ 四つ目、システムソフトウェア開発関連の技術面接で良い結果を出すためには「メモリモデルとバリア」をよく理解しておく必要があります。経験者の開発者面接でよく出る質問の一つが、メモリリオーダリング、メモリマップドI/O関連の内容です。


12年目システムエンジニアのノウハウを込めた著者直講!

「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」本(17章)で「メモリモデルとバリア」を詳細に扱っています。著者直講講義を通じてシステムソフトウェア開発者としてさらに成長されることを願っています。

こんな内容を学びます

Armアーキテクチャで定義されたメモリモデルの種類とノーマルメモリを紹介します。

Armスペック文書を詳細に分析しながら、メモリモデルの種類(ノーマルメモリとデバイスメモリ)を紹介します。

メモリマップドI/Oインターフェースであるデバイスメモリを詳細に説明し、BCM2711(ラズベリーパイ使用)のメモリマップドI/Oをレビューします。

デバッグ(Crash-Utility)を通じてメモリマップドI/Oインターフェースを分析します。

バリアを紹介し、バリアの例を詳しく説明します。

マルチコアシステムにおけるバリアの適用範囲とデータの一貫性について説明します。

バリアが実際のLinuxカーネルとXENハイパーバイザーでどのように活用されるかを詳しく説明します。

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

国内システムソフトウェア分野で前代未聞!「Armアーキテクチャ(Armv8-A、Armv7-A)」と「Linuxカーネル」の本を書いた著者です。また、最新システムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最もよく知っている現役開発者であり、システムソフトウェア分野で最も知識普及活動を活発に行っている教育者です。

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

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

  • プログラマース デブ コース:Linuxシステム及びカーネル専門家メイン講師

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

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


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

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

<システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 1/2部 著者直講>


受講前の参考事項

前提知識および注意事項📢

  • 「メモリモデルとバリア」講義は、前提知識がなくても無難についてこられる講義です。

  • アセンブリ命令語とレジスタに関する基本概念を理解している必要があります。

  • マルチコアシステムとシステム構造について理解していると良いです。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • システム半導体(ファブレス)、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野で力量を培いたいジュニア開発者

  • システム半導体(ファブレス)、電気自動車分野でシステムソフトウェア開発をしたい就活生

  • Armアーキテクチャの機能を活用して実務でどのようにデバッグしているか知りたいシステムソフトウェア開発者(システム半導体、電気自動車)

前提知識、
必要でしょうか?

  • コンピュータ構造

  • OS

こんにちは
です。

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

カリキュラム

全体

27件 ∙ (3時間 50分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

6件

4.8

6件の受講レビュー

  • grapesgun0624님의 프로필 이미지
    grapesgun0624

    受講レビュー 4

    平均評価 5.0

    5

    100% 受講後に作成

    バリアが直接使うカーネルコードを例に挙げて説明していただくのが本当に良いです。

    • austinkim
      知識共有者

      良い評価ありがとうございます。

  • woo12346560311님의 프로필 이미지
    woo12346560311

    受講レビュー 5

    平均評価 5.0

    5

    33% 受講後に作成

    • kfcwee9463님의 프로필 이미지
      kfcwee9463

      受講レビュー 8

      平均評価 5.0

      5

      100% 受講後に作成

      • jinhoo05096242님의 프로필 이미지
        jinhoo05096242

        受講レビュー 3

        平均評価 5.0

        5

        63% 受講後に作成

        • aceoftop1975님의 프로필 이미지
          aceoftop1975

          受講レビュー 112

          平均評価 5.0

          5

          100% 受講後に作成

          2024/07/29/月 15:30 講義はよく聞きました。講義を聞くたびに、&quot;あ〜あ〜&quot;を何度もやったようですね。知らないことがわかり、私も知らずに感動しました。受講期間:無制限であり、受講費用も安く、現在前は非常に急に聞いていますが、後でじっくりと何度も聞こえそうです。良い講義を作ってくれてありがとう。

          ¥4,230

          austinkimの他の講座

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