Arm 아키텍처: 메모리 모델과 배리어 [저자직강 3부-3]

(4.5) 수강평 2

수강생 46

Thumbnail

초급자를 위해 준비한
[임베디드 · IoT, 반도체] 강의입니다.

시스템 소프트웨어의 기본 중의 기본, 최신 Arm 아키텍처(Armv8-A, Armv7-A)의 핵심인 '메모리 모델과 배리어'를 "시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리"의 저자가 제대로 잡아드립니다!

이런 걸
배워요!

  • Arm 아키텍처(Armv8-A)의 메모리 모델과 배리어의 기본 동작 원리를 파악할 수 있습니다.

  • Arm 아키텍처의 메모리 모델과 배리어 관련 기능이 실제 프로젝트에 어떻게 활용되는지 알 수 있습니다.

  • 큰 그림으로 메모리 모델과 배리어와 관련된 실행 흐름과 구조를 파악할 수 있습니다.

  • 면접에서 메모리 모델과 배리어에 관련된 질문에 잘 대답할 수 있습니다.

<공지>

1. 100명 돌파 30% 할인 쿠폰 발행 

수강생 100명 돌파(1,2부)를 기념하여 30% 할인 쿠폰을 발행합니다. 감사합니다. 선착순 100명입니다.

  • 쿠폰 : 16104-7b91beaec0ff

2. 로드맵 안내 🎯

이번 강의 <Arm 아키텍처: 메모리 모델과 배리어 [저자직강 3부-3]>는 로드맵 '시스템 소프트웨어 개발자를 위한 Arm - advanced course' 에 포함된 강의입니다.


체계적으로 Arm 아키텍처(Armv8-A, Armv7-A)을 배우시려는 분은 로드맵(전체 강의 30% 할인)을 활용하시면 좋습니다. 참고로 Arm 아키텍처 로드맵(저자 직강 전체)은 Basic Course Advanced Course 2가지로 구성되어 있습니다.


최신 시스템 소프트웨어에서
가장 중요한 Arm 아키텍처

스마트폰은 물론 AI용 SoC 시스템 반도체, 전기자동차 Automotive(자율주행, 인포테인먼트) 그리고 클라우드 서버 및 맥북에서 사용되는 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 인터페이스를 분석합니다.

배리어를 소개하고 배리어의 예시를 상세히 설명합니다.

멀티 코어 시스템에서 배리어의 적용 범위와 데이터의 일관성에 대해 설명합니다.

배리어가 실제 리눅스 커널과 XEN 하이퍼바이저에서 어떻게 활용되는지 상세히 설명합니다.

책 집필/강의경력을 바탕으로
누구보다 깊고 상세하게!

국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자입니다. 또한 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자이자, 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다. 

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2023년) 저자

  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자

  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사

  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]

  • LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~2024) 


국내에서 어느 누구보다 Arm 아키텍처(Armv8-A, Armv7-A)를 이루는 주요 기능을 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.

학습자들이 남긴 생생한 수강평

<시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1/2부 저자 직강>


수강 전 참고 사항

선수 지식 및 유의사항 📢

  • '메모리 모델과 배리어' 강의는 선수 지식이 없어도 무난하게 따라올 수 있는 강의입니다.

  • 어셈블리 명령어와 레지스터에 대한 기본 개념을 알고 있어야 합니다.

  • 멀티 코어 시스템과 시스템 구조에 대해 이해하고 있으면 좋습니다.


이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 시스템 반도체(펩리스), 전기 자동차 분야(자율주행, 인포테인먼트)를 포함한 시스템 소프트웨어 분야에서 역량을 키우고 싶은 주니어 개발자

  • 시스템 반도체(펩리스), 전기 자동차 분야에서 시스템 소프트웨어 개발을 하고 싶은 취준생

  • Arm 아키텍처의 기능을 활용해 실무에서 어떻게 디버깅하는지 알고 싶은 시스템 소프트웨어 개발자(시스템 반도체, 전기 자동차)

선수 지식,
필요할까요?

  • 컴퓨터구조

  • 운영체제

국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자이며, 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다. 

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2023년) 저자

  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자

  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사

  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]

  • LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~현재)

국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.

주요 로드맵 🎯

'시스템 소프트웨어 개발자를 위한 Arm - basic course'

'시스템 소프트웨어 개발자를 위한 Arm - advanced course'

로드맵_이미지_스킨.png

 

시스템 소프트웨어 개발자를 위한 Linux kernel - basic course

image

체계적으로 Arm 아키텍처(Armv8-A, Armv7-A)와 리눅스 커널을 배우시려는 분은 로드맵(전체 강의 30% 할인)을 활용하시면 좋습니다.

커리큘럼

전체

27 ∙ 3시간 50분

강의 게시일: 2024년 01월 19일
마지막 업데이트일: 2024년 01월 19일

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!