RISC-V

1. RISC-V (RISC-Five)의 개요

(1) RISC-V의 등장 배경 및 동향

CPU 칩 설계에 여러 분야의 전문적 지식이 필요하고 공개된 정보가 부족하여 새로운 CPU 칩 개발이 어려움
ARM, MIPS 등 CPU 칩 특허를 보유한 제조사의 칩 사용 시 상당한 라이선스 비용이 부과되며, 설계가 비공개되어 제조사 외 개선이 어려움
2010년 부터 UC 버클리 컴퓨터 과학과를 중심으로 여러 자발적 참여자들이 자유롭게 사용 가능한 CPU 칩 설계 제공을 목표로 RISC-V 개발 프로젝트를 추진
최근 구글, 마이크로 소프트, 엔비디아, 삼성전자 등 여러 기업과 대학에서 지원하고 있고 퀄컴 스냅드래곤 등 다양한 디바이스에 RISC-V 칩 사용 확대 중

(2) RISC-V의 개념 및 특징

개념개방형 라이선스로 누구나 CPU 칩 및 S/W 설계, 제조, 판매 가능한 RISC 기반 오픈소스 ISA(명령어 세트 아키텍처)
특징모듈성 및 확장성으로
유연한 칩 설계 가능
– 모듈식 설계로 부동 소수점 연산 등 유연한 확장
– ISA는 맞춤형 명령어 및 보조 프로세서로 쉬운 확장
압축 명령어 세트 기반
시스템 효율성 향상
– RV32C, RV64C 등 표준 32bit 명령어와 16bit 압축 명령어
– 코드 효율성 기반 임베디드 시스템, 저전력 App에 적합
권한수준 및 가상메모리
기반 안전성 확보
– M(머신), S(관리자), U(사용자) 모드 정의
하이퍼바이저 및 사용자 App 격리 메커니즘 제공
– 다단계 페이지 테이블 기반 가상 메모리 시스템
  • ARM 등 폐쇄형 ISA는 신뢰성과 호환성을 제공하지만 라이선스 비용 발생 및 유연한 설계가 어렵고, RISC-V와 같은 개방형 ISA는 라이선스 비용이 불필요하고 특정 App에 최적화된 유연한 설계 가능
  • RISC-V의 V(Five)는 UC 버클리 대학의 프로세서 세대(generation)를 의미

 

2. RISC-V의 아키텍처 및 주요 기술

(1) RISC-V의 아키텍처

(2) RISC-V의 주요 기술

구분주요 기술주요 기능
병렬처리파이프라인– 명령어 처리 과정 세분화/중첩하여 성능 향상
– 슈퍼 파이프라인, 슈퍼 스칼라, VLIW
CPU Major State– 명령어 및 데이터 처리 위한 CPU 수행 상태
– Fetch, Indirect, Excute, Interrupt
캐시캐시 사상– 지역성 기반 캐시/메모리 Swap 하여 캐시 저장
– 직접 사상, 연관 사상, 집합 연관 사상
캐시 일관성 유지– 멀티프로세스 환경 캐시 데이터 불일치 해소
Wrtie-Back, MESI 프로토콜
부가 모듈분기 예측– 조건 분기 시 대기하지 않고 예측하여 실행
– 분기 방향 예측, 분기 목적지 예측
디버그 유닛– CPU는 DROM 코드로 점프하여 응답
– DROM(디버그 ROM), DRAM, D레지스터
  • RISC-V는 Open Source License를 기반으로 GCC 등 여러 컴파일러와 Linux에서 지원되며, SOM(System on Module), FPGA 등 다양한 구조로 탑재 가능하여 향후 다양한 운영체제와 소프트웨어에서 사용될 것으로 예상

 

3. RISC-V와 주요 프로세서 비교 및 에코시스템

(1) RISC-V와 주요 프로세서 비교

비교 항목RISC-VARMx86
명령어 세트RISC 기반RISC 기반CISC 기반
바이트 오더little-endian
(big-endian 가능)
little-endian
(big-endian 가능)
little-endian
라이선스오픈소스 라이선스 (BSD)ARM 상용 라이선스Intel, AMD 등 상용 라이선스
주요 활용임베디드, 모바일, IoT임베디드, 모바일, 서버PC, 서버, 워크스테이션

(2) RISC-V의 에코시스템

  • RISC-V는 현재 여러 오픈소스 하드웨어로 파편화 되고 있고 ARM 등 상용 라이선스 프로세서에 비해 성능이 높지 않아, 경쟁력 확보를 위해 표준화 및 연구/개발을 통해 오픈소스 하드웨어 에코시스템 활성화 필요

 

[참고]

  • RISC-V International, RISC-V Introduction
  • Wevolver, A Comprehensive Comparison of Processor Architectures

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^