Inflearn brand logo image
Inflearn brand logo image

디버깅으로 배우는 RISC-V 아키텍처 -1부

오픈 소스 기반의 최신 CPU 아키텍처인 RISC-V의 핵심 개념과 실용적인 팁을 쉽고 상세하게 설명합니다.

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

이런 걸 배울 수 있어요

  • 기술 면접에서 RISC-V와 관련된 질문에 잘 대답하고 설명할 수 있습니다.

  • RISC-V를 이루는 핵심 기능인 레지스터, 어셈블리 명령어, Privilege mode를 배울 수 있습니다.

  • TRACE32 시뮬레이터 프로그램을 사용해 레지스터, 어셈블리 명령어, Privilege mode와 같은 기능을 디버깅으로 실습할 수 있습니다.

  • 리눅스 커널과 같은 운영체제 커널에서 RISC-V 아키텍처가 어떻게 활용되는지 알 수 있습니다.

  • RISC-V 기반에서 실행되는 부트로더나 리눅스 커널의 스타트업 코드를 분석할 수 있습니다.

공지 🎯

국내 최초 RISC-V 강의 런치를 기념해 30% 할인 쿠폰을 발행(100명 선착순)합니다.

쿠폰 : 17338-22e9b70d6177

최신 시스템 소프트웨어 업계에서
떠오르는 RISC-V 아키텍처

최근 오픈 소스 기반의 CPU 아키텍처인 RISC-V 아키텍처가 떠오르고 있습니다. IT와 관련된 언론 기사나 뉴스를 보면 아래와 같은 내용을 바로 확인할 수 있습니다:

  • nVidia, 인텔 및 퀄컴과 같은 빅 테크 기업에서 RISC-V 기반의 제품(칩셋)을 개발하고 있다.

  • 국내에 RISC-V를 활용한 다양한 칩을 설계하는 스타트업 회사가 늘어나고 있고, RISC-V 디바이스 기반 제품을 개발하는 비중이 높아지고 있다.

  • AI 반도체를 설계할 때 RISC-V 기반의 CPU 아키텍처를 많이 활용한다.

  • 2026년까지 150억개의 디바이스가 RISC-V 기반으로 출시될 예정이다.

  • 대학원(프로세서 설계)에서는 RISC-V CPU을 설계할 수 있는 툴킷을 사용해 다양한 연구를 진행 중이다.

임베디드 및 시스템 소프트웨어 업체에서 RISC-V CPU 아키텍처를 활용해 제품을 개발하는 비중이 높아지고 있습니다. 그래서 취준생은 기술 면접에서도 RISC-V에 대한 준비를 해야 하는 상황입니다.

강의를 만든 배경

입문자 입장에서 RISC-V 아키텍처는 배우기 어렵습니다. 그 이유는 다음과 같습니다:

  • RISC-V를 구성하는 방대한 내용 중에 무엇이 중요한지 모르겠다

  • RISC-V를 구성하는 내용 중에 어떤 기능이 실전 프로젝트에 활용되는지 모르겠다

  • RISC-V 스펙 문서를 아무리 열심히 읽어도 바로 이해하기 어렵다


  • RISC-V를 설명하는 용어 그 자체가 무슨 의미인지 알기 어렵다


Arm 아키텍처와 비교해 RISC-V 아키텍처와 관련된 자료는 충분하지 않고 RISC-V를 구체적으로 쉽게 설명하는 자료가 부족한 것이 현실입니다. 신입 개발자를 포함한 시스템 소프트웨어 개발자 분들이 RISC-V를 배우는 과정에서 겪는 어려움을 해소하기 위해 강의를 제작하게 됐습니다.

강의의 구성과 2부, 3부 강의 로드맵

이번 강의는 RISC-V 전체 강의 목록 중, RSIC-V의 핵심 기능인 1부의 내용을 다룹니다.

  • 1부: RISC-V 소개, 레지스터, 어셈블리 명령어, Privilege Mode

  • 2부: 익셉션(Memory Abort Exception), 인터럽트, PLIC (Platform-level Interrupt Controller), Calling convention (디버깅을 통해 배우는 RISC-V 아키텍처 2부)

  • 3부: 가상 메모리 시스템, 캐시(Cache), 펜스(Fence)/배리어, Hypervisor extension

3부는 05.25.2025에 런치할 예정입니다.

강의의 핵심 차별화 포인트

1.TRACE32 시뮬레이터 프로그램(교육용)으로 RISC-V 아키텍처 디버깅

RISC-V 아키텍처(레지스터, 어셈블리 명령어, Privilege 모드)를 배우는 지름길은 무엇일까요? 바로 직접 디버깅 실습을 하는 방법입니다.

이 강의를 수강하시면 교육용 TRACE32 시뮬레이터 프로그램을 '인프런 강의 자료'에서 내려 받아 직접 TRACE32 시뮬레이터 프로그램을 활용해 RISC-V 아키텍처의 레지스터, 어셈블리 명령어, Privilege 모드 실습을 직접하실 수 있습니다.

참고로 시스템 소프트웨어 개발 전반에 TRACE32 디버거와 관련 프로그램은 광범위하게 사용됩니다. TRACE32 프로그램은 라이선스가 있어야 실행할 수 있습니다.

2.핵심 내용을 엄선해 쉽게 설명

RISC-V를 배울 때 처음 레퍼런스 문서를 구해서 분석하는 경우가 많습니다. 하지만 입문자 입장에서 RISC-V의 어떤 내용을 먼저 배워야 할지 감을 잡기 어렵습니다. 무엇을 먼저 잘 배워야 하는지 알기 어렵기 때문입니다. 이번 강의에서는 실무에 적용될 수 있는, 반드시 잘 알아야 하는 내용을 엄선해서 설명합니다. 예를 들어, RISC-V 기반의 디바이스에서 받은 로그를 열어서 레지스터나 어셈블리 명령어를 쉽고 자세하게 설명합니다.

3.소프트웨어와 스택과 함께 구체적인 예시를 들어 설명

RISC-V는 시스템 소프트웨어 개발을 잘 하고 싶거나, 이 분야에 진출하기 위해 배우는 경우가 대부분입니다. 이번 강의에서는 실전 프로젝트에서 RISC-V가 어떻게 활용되는지 다양한 예시를 들어 설명합니다.

  • RISC-V 시스템에서 소프트웨어 어떻게 실행되는지

  • RISC-V 시스템에서 어떤 과정으로 부팅이 되는지

  • RISC-V 시스템에서 어떻게 디버깅 및 리버싱을 해야 하는지

이번 강의를 들으면 RISC-V 아키텍처의 내용과 함께 자연스럽게 실전 감각을 빨리 익힐 수 있습니다.

4.Arm 아키텍처와 비교해 RISC-V를 설명

시스템 소프트웨어 업계의 생태계를 보면, 2023년까지 Arm 아키텍처를 중심을 임베디드 및 칩셋 업계의 생태계가 구성되어 있습니다. 많은 시스템 소프트웨어 개발자들은 Arm 프로세서나 Arm 아키텍처에 익숙한 상황입니다. 이번 강의에서는 RSIC-V의 핵심 개념을 Arm 아키텍처와 함께 설명합니다. 교육자는 Arm 아키텍처의 책의 저자이로, 누구보다 RISC-V를 Arm 아키텍처와 비교하면서 잘 설명할 수 있습니다.

이런 내용을 배워요 📕

시스템 반도체를 개발하는 각 단계를 설명하고 RISC-V 아키텍처와 관련된 개발 생태계를 소개합니다.


RISC-V 아키텍처를 잘 알아야 하는 이유를 실전 프로젝트 관점으로 상세하게 설명합니다.

RISC-V 아키텍처의 핵심인 레지스터에 대해서 상세히 설명합니다. 레지스터가 어떻게 활용되는지도 설명합니다.

RISC-V 아키텍처의 핵심인 레지스터의 종류를 소개하고, 범용 레지스터에 대해 상세하게 설명합니다.

CSR(Control and Status) 레지스터의 기본 기능과 종류에 대해 설명합니다.

CSR 레지스터를 읽고 쓰는 방법을 상세히 설명합니다

레지스터의 구성과 동작 방식을 TRACE32 교육용 프로그램(시뮬레이터)를 실행해, 실습을 통해 설명합니다.

어셈블리 명령어의 기본 동작 방식을 설명하고 다양한 어셈블리 명령어를 설명합니다. (예시: JAL 명령어 분석)

BEQ와 같은 조건부 분기 명령어를 설명하고, 실전 프로젝트에서 어떤 방식으로 활용되는지 상세하게 다룹니다.

TRACE32 시뮬레이터 (교육용) 프로그램을 사용해 어셈블리 명령어를 디버깅하는 실습을 진행합니다. (교육자도 직접 따라서 실습할 수 있습니다)


Privilege Mode와 이와 관련된 Privilege Level의 개념을 상세히 설명합니다.

Privilege Mode와 관련된 스펙을 분석하고 Privilege Mode 별로 어떤 소프트웨어가 실행되는지 설명합니다.

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

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

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

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

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

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

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

이런 분들께
추천드려요!

학습 대상은
누구일까요?

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

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

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

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

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

선수 지식,
필요할까요?

  • 컴퓨터구조

  • C언어

  • 운영체제

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

4,872

수강생

102

수강평

75

답변

4.9

강의 평점

19

강의

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

  • '시스템 소프트웨어 개발을 위한 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

더보기

커리큘럼

전체

94개 ∙ (12시간 2분)

해당 강의에서 제공:

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

수강평

전체

5개

5.0

5개의 수강평

  • 김용국님의 프로필 이미지
    김용국

    수강평 2

    평균 평점 5.0

    5

    100% 수강 후 작성

    내용이 상당히 상세하고 반복되는 내용이 많습니다. ARM 을 익히 알고계신 개발자는 굳이 듣지 않고 실제 스펙문서를 보심이 훨씬 효율적일 것 같구요. CPU 의 기초를 모르시는 분들이 RISC-V 로 CPU 를 배우고자 할 때 좋은 강의 같습니다.

    • sunny75님의 프로필 이미지
      sunny75

      수강평 68

      평균 평점 5.0

      5

      100% 수강 후 작성

      2024/09/08/일 15:10 강의 잘 들었습니다. 아주 자세한 설명이 좋았습니다. 이 강의를 처음 보는 분들에게도 이해하기 쉽게 잘 설명해 주셨습니다. 김동현님의 모든 강의를 들으면서, linux & 시스템 & 디버깅에 대해 많이 이해 하게 되었습니다. 좋은 강의 감사합니다.

      • 김동현 (Austin Kim)
        지식공유자

        좋은 평가와 피드백 고맙습니다. RISC-V를 미리 익혀두면 커리어에 큰 도움이 될 것이라 확신합니다. TRACE32 프로그램으로 디버깅을 하시면 RISC-V의 어셈블리 명령어를 효율적으로 분석하실 수 있으니 참고하세요.

    • 간절한개발자님의 프로필 이미지
      간절한개발자

      수강평 3

      평균 평점 5.0

      5

      59% 수강 후 작성

      요즘 RISC-V 가 떠오르고 있어서 공부해야겠다는 생각은 했지만, 제대로 된 책도 강의도 없어서 어디서부터 시작해야할지 난감하던차에 김동현님께서 RISC-V 강의를 내주셨네요! RISC-V 라는 생소한 아키텍처에 대한 두려움이 없진 않았지만, 이미 김동현님의 Arm책을 읽고 강의를 듣고나서 Arm 에 대한 개념이 정확히 잡힌 경험이 있었기 때문에 믿고 바로 구매했습니다. 강의를 들어보니 RISC-V는 Arm 과 많이 비슷하네요. 물론 완전 동일하지는 않지만, Arm 에 대한 개념이 있는 사람은 그리 어렵지 않게 느낄 거 같습니다. 앞으로 나오는 김동현님의 RISC-V 강의는 모두 구매해서 들을 생각입니다. 차근히 따라가다보면 RISC-V 아키텍처에서는 제가 남들보다 앞서 있을 거 같다는 믿음이 생겼습니다. 남은 강의 열심히 듣겠습니다. 늘 좋은 강의, 진심으로 감사 드립니다.

      • 김동현 (Austin Kim)
        지식공유자

        좋은 평가와 피드백 고맙습니다. RISC-V는 시스템 소프트웨어 분야의 미래이므로 미리 익혀두면 커리어에 큰 도움이 될 것입니다. 조금이라도 궁금한 점이 있으면 질문 남겨주세요.

    • JunPyo Lee님의 프로필 이미지
      JunPyo Lee

      수강평 6

      평균 평점 5.0

      5

      30% 수강 후 작성

      • mikeseohyungjin님의 프로필 이미지
        mikeseohyungjin

        수강평 3

        평균 평점 5.0

        5

        35% 수강 후 작성

        작가님의 노력과 내공이 느껴지는 강의였습니다. 현직에서 디버깅과 개발을 해왔던 분답게 유익한 내용이 가득했습니다. 많이 배웠습니다.

        김동현 (Austin Kim)님의 다른 강의

        지식공유자님의 다른 강의를 만나보세요!

        연관 로드맵

        강의가 포함된 로드맵으로 학습해 보세요!

        월 ₩24,200

        5개월 할부 시

        ₩121,000