하드웨어

/

임베디드 · IoT

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

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

(5.0) 수강평 4개

수강생 57명

Thumbnail

초급자를 위해 준비한
[임베디드 · 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

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

이어서 2부와 3부 강의도 제작 중이며, 2부는 10.30.2024, 3부는 12.15.2024에 런치할 예정입니다.

강의의 핵심 차별화 포인트

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언어

  • 운영체제

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

커리큘럼

전체

94개 ∙ (12시간 2분)

수업 자료

가 제공되는 강의입니다.

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

수강평

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