RISC-V 아키텍처: 깨끗한 명령어 세트가 어떻게 심각한 위협이 되었는가
Source: Dev.to
위에 제공된 내용 외에 번역할 텍스트가 없습니다. 번역이 필요한 본문을 제공해 주시면 한국어로 번역해 드리겠습니다.
아키텍처가 실제로 정의하는 것
명령어 집합 아키텍처는 다음을 정의합니다:
- CPU가 이해하는 명령어
- 레지스터 레이아웃
- 권한 수준
- 메모리 순서 규칙
- 소프트웨어가 하드웨어와 통신하는 방법
하지만 다음은 정의하지 않습니다:
- 파이프라인 깊이
- 캐시 설계
- 클럭 속도
- 제조 공정
두 개의 RISC‑V CPU는 같은 프로그램을 실행할 수 있지만 내부적으로는 완전히 다를 수 있습니다.
왜 RISC가 존재하는가
RISC는 Reduced Instruction Set Computing의 약자입니다. 아이디어는 명령어를 단순하고 예측 가능하게 유지하여 컴파일러와 하드웨어가 효율적으로 동작하도록 하는 것입니다.
비교:
- x86 – 복잡하고 레거시 동작이 가득함
- ARM – RISC이지만 제어되고 라이선스가 부여됨
RISC‑V는 RISC 철학을 유지하지만 소유권을 없앱니다.
기본 명령어 집합
모든 RISC‑V CPU는 기본 ISA로 시작합니다.
RV32I와 RV64I가 그 기반입니다.
- RV32I – 32‑비트 정수 명령어 집합
- RV64I – 64‑비트 정수 명령어 집합
기본 ISA에는 다음이 포함됩니다:
- 정수 연산
- 제어 흐름
- 메모리 로드 및 스토어
- 32개의 범용 레지스터
기본 ISA에는 곱셈, 부동소수점, 원자 연산이 포함되지 않으며, 필요에 따라 추가됩니다.
이 때문에 RISC‑V는 작은 칩에 적합합니다.
Extensions are how RISC‑V scales
RISC‑V는 모듈식입니다. 기능은 확장을 통해 추가됩니다.
Common extensions:
- M – 곱셈 및 나눗셈
- A – 원자적 명령
- F and D – 부동소수점
- C – 압축 명령
- V – 벡터 처리
A Linux‑capable system usually supports RV64IMAFDC.
이는 CPU가 필요한 것만 포함한다는 의미이며, 불필요한 복잡성이 없습니다.
레지스터와 호출 규약
RISC‑V에는 32개의 정수 레지스터가 있습니다. 몇 가지 예시:
x0– 항상 0x1– 반환 주소x2– 스택 포인터
문서 없이 숨겨진 것이나 특수한 것이 없기 때문에 컴파일러, 디버거, 그리고 OS 커널이 단순해집니다.
특권 모드와 운영 체제
RISC‑V는 세 가지 특권 수준을 정의합니다:
- machine mode – 펌웨어
- supervisor mode – 커널
- user mode – 애플리케이션
이는 현대 OS 설계와 완벽히 일치하여 Linux 지원이 간단합니다.
Linux는 RISC‑V에서 전체 커널 지원을 통해 네이티브로 실행됩니다.
메모리 모델
RISC‑V는 완화된 메모리 모델을 사용합니다. 명시적으로 방지되지 않는 한 명령은 재배열될 수 있으며, 이는 성능과 확장성을 향상시키지만 올바른 동기화가 필요합니다.
이 설계는 x86이 아니라 ARM과 유사합니다.
마이크로아키텍처 자유
RISC‑V는 단일 CPU 설계를 강요하지 않습니다. 구현은 다음과 같이 될 수 있습니다:
- 인‑오더 또는 아웃‑오더
- 싱글‑코어 또는 멀티‑코어
- 작은 마이크로컨트롤러 또는 서버 CPU
동일한 소프트웨어가 모두에서 실행될 수 있습니다.
RISC‑V를 지원하는 운영 체제
완전 지원되는 운영 체제
- Linux
- FreeBSD
- Zephyr
- RTEMS
실험적이거나 부분 지원
- Android
- 연구용 Windows 포트
Linux 지원은 성숙도의 가장 중요한 신호입니다.
오늘 사용할 수 있는 실제 RISC‑V 프로세서
임베디드 및 마이크로컨트롤러 수준
- ESP32‑C3
- ESP32‑C6
- Microchip PolarFire SoC
리눅스 지원 프로세서
- SiFive Performance series
- Alibaba T‑Head Xuantie
이 칩들은 리눅스를 부팅하고 실제 워크로드를 실행합니다.
RISC‑V를 사용해야 하는 사람
RISC‑V는 다음에 이상적입니다:
- 맞춤형 실리콘 설계자
- 임베디드 및 IoT 디바이스
- 정부 및 공공 인프라
- 연구 및 교육
- 공급업체 종속을 피하는 장기 플랫폼
It is not ideal yet for:
- 고성능 소비자 데스크톱
- 게임 시스템
- 독점 드라이버 중심 환경
왜 RISC‑V는 다른 사람들의 실패를 딛고 성공하고 있는가
인텔 아이테리엄과 달리, RISC‑V는 한 번에 모든 것을 교체하려 하지 않습니다. 점진적으로 성장하고 기존 생태계와 공존하며 마이그레이션을 강요하지 않습니다. 이러한 점진적인 접근 방식이 성공의 이유입니다.
Final thoughts
RISC‑V는 오늘날 빠르기 때문에 흥미로운 것이 아니라, 무료이고, 단순하며, 안정적이기 때문에 흥미롭다. 수십 년 동안 지속될 수 있도록 설계된 아키텍처로, 우리 시대 가장 중요한 CPU 설계 중 하나이다.