인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
하드웨어

/

임베디드 · IoT

Arm 아키텍처: 캐시(Cache) [저자직강 3부-4]

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

(5.0) 수강평 2개

수강생 77명

Thumbnail

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

이런 걸
배워요!

  • Arm 아키텍처(Armv8-A)의 캐시(Cache)의 기본 동작 원리를 파악할 수 있습니다.

  • Arm 아키텍처의 캐시(Cache) 관련 기능이 실제 프로젝트에 어떻게 활용되는지 알 수 있습니다.

  • 큰 그림으로 캐시(Cache)와 관련된 실행 흐름과 구조를 파악할 수 있습니다.

  • 면접에서 캐시(Cache)와 관련된 질문에 잘 대답할 수 있습니다.

<공지>

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

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

  • 쿠폰 : 17881-e33c97724d93

2. 로드맵 안내 🎯

이번 강의 <Arm 아키텍처: 캐시(Cache) [저자직강 3부-4]>는 로드맵 '시스템 소프트웨어 개발자를 위한 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⃣ 첫째, 메모리 계층 구조에서 캐시는 CPU 코어와 메인 메모리 중간에 위치합니다. 캐시는 시스템의 성능에 지대한 영향을 끼칠 수 있어, 캐시의 기본 구조와 멀티 레벨 캐시의 구조 그리고 캐시 룩업은 시스템의 성능을 키우기 위한 기반 지식입니다.

2⃣ 둘째, 캐시의 구조를 잘 알면 캐시 히트를 활용한 캐시의 친화적인 코드를 작성할 수 있습니다. 예를 들어, 자주 사용되는 루틴은 특정 CPU 코어에서만 실행되도록 설계할 수 있습니다. 그 결과 캐시 미스를 줄일 수 있어 성능을 최적화한 프로그래밍을 할 수 있습니다.

3⃣ 셋째, 캐시의 동작 원리는 크래시 이슈를 잘 디버깅할 수 있는 기반 지식입니다. 실전 프로젝트를 진행하면 캐시가 깨지거나 '캐시 라인 Fill' 동작에 오류가 발생할 수 있습니다. 이와 같은 캐시와 관련된 이슈를 잘 디버깅할 수 있는 기반 지식이 캐시의 구조와 동작 방식입니다.

4⃣ 넷째, 캐시와 관련된 내용을 잘 알면 기술 면접을 잘 볼 수 있습니다. 특히 펩리스 업체(시스템 반도체) 기술 면접에서 캐시에 대한 질문을 많이 합니다.

이런 내용을 배워요

캐시의 기본 개념을 쉽고 상세하게 설명하고, CPU 캐시의 구조에 대해 소개합니다.

대부분 CPU에서 적용되는 멀티 레벨 캐시를 설명하고, 큰 그림으로 메모리 시스템에서 캐시가 어떤 흐름으로 처리되는지 분석합니다.

캐시의 구성 요소를 상세히 설명하고 TRACE32 디버깅 프로그램으로 캐시 정보(캐시 라인 및 부가 정보)를 설명합니다.

멀티 레벨 캐시에 적용되는 캐시 정책(라이트-백, 라이트-쓰루)을 알기 쉽고 상세하게 설명합니다.

Arm 아키텍처에 사용되는 캐시 관련 용어를 소개하고 캐시와 관련된 API가 현업 프로젝트에서 어떤 방식으로 사용되는지 설명합니다.

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

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

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리' (2024년, 대한민국 학술원 우수도서상) 저자

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

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

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

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


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

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

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


수강 전 참고 사항

선수 지식 및 유의사항 📢

  • 캐시와 관련된 주요 내용은 선수 지식이 없어도 따라 갈 수 있습니다.

  • Arm 아키텍처의 기반이 되는 익셉션 레벨이나 익셉션 그리고 어셈블리 명령어에 대한 내용을 미리 숙지하면 좋습니다.

  • 선수 지식보다 꾸준히 강의를 듣고 복습하는 습관이 더 중요합니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

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

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

선수 지식,
필요할까요?

  • 컴퓨터구조

  • 운영체제

안녕하세요
김동현 (Austin Kim)입니다.

수강생 수

3,544

수강평 수

67

강의 평점

4.9

강의 수

16

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

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2024년, 대한민국 학술원 우수도서상) 저자

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

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

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

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

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

주요 로드맵 🎯

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

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

 

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

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

커리큘럼

전체

22개 ∙ (2시간 31분)

강의 게시일: 
마지막 업데이트일: 

수강평

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