시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부 저자 직강 (2024년 버전)

(4.9) 수강평 8

수강생 167

Thumbnail

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

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

이런 걸
배워요!

  • Arm 프로세서 소개

  • Arm 아키텍처 학습 방법

  • 레지스터

  • 어셈블리 명령어

  • Armv7: 동작 모드

  • Armv8: 익셉션 레벨

시스템 소프트웨어 기본 중의 기본, 
최신 Arm 아키텍처의 핵심!

<공지>

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

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

2. Arm 아키텍처 전체 저자 직강 강의 로드맵 

이번 강의 <시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부 저자 직강>는 로드맵 '시스템 소프트웨어 개발자를 위한 Arm - basic 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 아키텍처라고 볼 수 있어요.

그런데, 최신 Arm 아키텍처인 Armv8-A와 Armv7-A 아키텍처가 너무 어렵게만 느껴지셨나요?

시스템 소프트웨어 개발자, 임베디드 시스템(BSP) 프로그래머 주목!

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

시스템 반도체, 전기 자동차 분야와 같은 시스템 소프트웨어 개발을 하고 싶은 취업 준비생 

시스템 소프트웨어 분야(메모리, 파일 시스템, 운영체제)의 대학원 진학을 목표로 하는 대학생

시스템 소프트웨어 분야로 커리어를 전환하려는 다른 분야의 개발자 

많은 리눅스 임베디드 개발자를 희망하는 분들이라면 컴퓨터 구조나 운영체제를 배웁니다. 그리고 CS 이론도 어느 정도 공부합니다. 최근에 떠오르고 있는 시스템 반도체와 전기 자동차 시스템 소프트웨어 개발자는 리눅스 디바이스 드라이버, RTOS 혹은 부트로더를 분석합니다. 하지만 그것만으로는 무엇인가 부족하다는 것을 스스로 느낍니다. 전문 시스템 소프트웨어 개발자가 되기 위해 반드시 Arm 아키텍처를 알아야 한다는 사실을 알고 있지만, 막상 Arm 스펙 문서를 펼치는 순간 쉽지 않은 길이며 독학은 어렵겠다는 판단을 하게 됩니다.  


Arm 아키텍처의 핵심을 
이해하기 쉽게 설명해드립니다!

  • 1️⃣ Arm 아키텍처의 레지스터와 어셈블리 명령어에 대한 이해와 동작 모드와 익셉션 레벨 등 핵심 이론을 이해할 수 있습니다.  
  • 2️⃣ Arm 아키텍처를 이루는 주요 내용을 코드 수준에서 다시 경험하며 Arm 아키텍처에 대한 이해 수준이 훨씬 더 높아집니다.
  • 3️⃣ Arm 아키텍처가 지원하는 다양한 기능을 적극 활용함으로써 높은 안정성과 성능을 보장받는 시스템 프로그램(드라이버, 부트로더)을 개발할 수 있습니다. 
  • 4️⃣ 실전 프로젝트 개발에 필요한 각종 이론 및 사례를 스스로 이해할 수 있습니다. 

시스템 소프트웨어 개발의 핵심은 CPU 및 컴퓨터 구조라 해도 과언이 아닙니다. IT 업계에서 가장 필요로 하는 CPU 프로세서인, 최신 Arm 아키텍처(Armv8-A, Armv7-A)에 관한 핵심 이론을 쉽게 설명했습니다!

Arm 아키텍처가 어려운 이유는 Arm 아키텍처를 하드웨어 프로세서 관점으로만 배우기 때문입니다. 이 강의는 코드 분석과 구체적인 사례 소개로 Arm 아키텍처를 구성하는 내용이 실제 어떻게 사용되는지 설명합니다. 이 강의가 실력있는 시스템 소프트웨어 개발자가 될 수 있는 중추적인 역할을 해드릴 것입니다.  


저자 직강! 책에 없는 내용까지 
구체적으로 설명합니다.

『Arm 아키텍처의 구조와 원리』의 내용뿐만 아니라 책에서 다루지 않는 Arm 아키텍처에 대한 디버깅 실습 및 다양한 사례를 구체적으로 설명합니다. 

  • ✅ 40%: 책의 핵심 내용
  • ✅ 40%: Arm 아키텍처 관련 주요 케이스 스터디, 코드 리뷰 
  • ✅ 20%: 디버깅 실습 - TRACE32 

난해한 Arm 스펙을 상세히 분석하고 쉽게 풀어서 설명합니다. 

레지스터 설명
익셉션 벡터 테이블 설명

명령어의 기본 동작 원리와 더불어 시스템의 전체 구조 관점으로 처리 흐름을 상세히 설명합니다. 
현업에서 자주 사용되는 명령어 또한 쉽고 상세하게 설명하며, Arm 아키텍처를 이루는 주요 핵심 원리와 기능을 꼼꼼하게 설명합니다.

SMC 명령어
PSTATE 설정 명령어
스페셜 레지스터 소개

TRACE32를 사용해 디버깅을 직접 하면서 Arm의 주요 기능을 알아보고, 해당 기능이 어떻게 활용되는지 설명합니다.

익셉션 레벨 설명
익셉션 핸들러 설명

Arm 프로세서의 동작 원리를 파악하는 지름길은 Arm 스펙 문서를 직접 읽고 이해하는 것입니다. 
입문자에게는 결코 쉽지 않습니다. 아무리 유익한 내용이라 하더라도 이해하기가 어렵기 때문입니다. 이 강의는 어려운 Arm 아키텍처의 이론들에 보다 쉽게 다가갈 수 있도록 길을 열어 드리고자 기획되었습니다.  


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

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

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2023년) 저자
  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자
  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사
  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]
  • LG전자 '리눅스 커널' 및 '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 프로세서 환경에서 진행 중인 대학원생

선수 지식,
필요할까요?

  • 컴퓨터구조

  • 운영체제

국내 시스템 소프트웨어 분야에서 전무후무한! '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% 할인)을 활용하시면 좋습니다.

커리큘럼

전체

142 ∙ 19시간 17분

강의 게시일: 2023년 07월 25일
마지막 업데이트일: 2024년 06월 16일

수강평

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