Interactive RISC-V Textbook

32비트 한 줄에 담긴
열린 컴퓨터의 약속

RISC-V는 누구나 자유롭게 구현할 수 있는 명령어 집합 구조(ISA)입니다. 이 책은 RISC-V International의 공식 비준 규격을 따라가며, 명령어 비트 하나하나와 CPU 안에서 벌어지는 일을 그림과 애니메이션, 직접 돌려 보는 시뮬레이터로 풀어냅니다. RV32I의 40개 남짓한 명령에서 출발해 벡터 확장, 특권 모드, 가상 메모리, 하이퍼바이저, RVA23 프로파일까지 올라갑니다.

24개 장장마다 시뮬레이터규격 v20260120 기준설치 없이 브라우저에서다크 모드
명령어를 해독하는 중…
부품을 누르면 해당 장으로 · 흐르는 점은 명령과 데이터

RISC-V는 블록을 쌓는 ISA다

아주 작은 정수 베이스 ISA 위에 필요한 확장만 골라 얹습니다. 마이크로컨트롤러는 RV32I에 C 정도만, 리눅스를 돌리는 서버 코어는 RVA23 프로파일 전체를 갖춥니다. 블록을 누르면 해당 장으로 갑니다.

그림 0-1. RISC-V ISA의 층. 베이스 ISA는 절대 바뀌지 않는 바닥이고, 그 위에 표준 확장과 특권 아키텍처, 프로파일과 플랫폼 규격이 쌓인다. 맨 아래 점선 상자는 ISA가 정하지 않는 영역, 곧 구현자의 자유다.

숫자로 보는 RISC-V

이 책을 끝내면 아래 숫자가 각각 무엇을 뜻하고 왜 그 값인지 설명할 수 있습니다.

40RV32I의 고유 명령어 수. 이것만으로 리눅스 사용자 프로그램을 돌릴 수 있다
x0 = 0값이 언제나 0인 레지스터 하나가 수많은 의사 명령을 공짜로 만든다
6가지R·I·S·B·U·J. 레지스터 칸의 위치는 모든 형식에서 같다
4096CSR 주소 공간. 주소 비트 자체가 접근 권한을 말해 준다
3단계Sv39의 페이지 테이블 깊이. 39비트 가상 주소 = 512 GiB
VLEN 무관같은 벡터 바이너리가 128비트에서도 1024비트 하드웨어에서도 돈다

이 책을 읽는 방법

각 장은 같은 흐름으로 진행됩니다. 규격 원문을 옆에 펴 두고 함께 읽으면 가장 좋습니다.

그림비트부터 눈으로명령어 인코딩, 레지스터, 페이지 테이블을 모두 그림으로 먼저 보여 줍니다. 움직이는 그림은 데이터가 흐르는 방향을 보여 줍니다.
SIMULATOR직접 돌려 보기어셈블러·에뮬레이터·페이지 워크·트랩 흐름을 한 단계씩 실행합니다. “해볼 것”을 따라 하면 핵심이 보입니다.
§ 규격원문으로 이어지기각 절의 § 링크는 docs.riscv.org의 해당 규격 장으로 연결됩니다. 이 책은 규격을 대신하지 않고 읽기 쉽게 안내합니다.
정리핵심 정리와 퀴즈장 끝의 요약과 퀴즈로 확인하고, 24장의 명령어 카드와 종합 퀴즈로 복습합니다.

추천 학습 경로

처음이라면 순서대로 읽는 것을 권합니다. 목적이 분명하다면 아래 경로로 골라 읽어도 됩니다.

전체 목차

모든 장에 그림과 직접 조작하는 시뮬레이터가 들어 있습니다.