{{위키데이터 속성 추적}}
[[파일:Yunsup Lee holding RISC V prototype chip.jpg|섬네일|RISC-V 프로세서 프로토타입 (2013년 1월)]]

'''RISC-V'''("리스크 파이브"로 발음)는 [[축소 명령어 집합 컴퓨터]](RISC) 기반의 [[개방형 표준|개방형]] [[명령어 집합]](ISA)이다.

대부분의 ISA와 달리 RISC-V ISA는 어떠한 목적으로는 자유로이 사용할 수 있으며, 누구든지 RISC-V [[집적 회로|칩]]과 [[소프트웨어]]를 [[집적 회로 설계|설계]], 제조, 판매할 수 있게 허가되어 있다. 최초의 개방형 ISA는 아니지만 웨어하우스 규모의 [[클라우드 컴퓨팅|클라우드 컴퓨터]], 고성능 [[휴대 전화]], 초소형 [[임베디드 시스템]]에 이르는 현대의 산술 장치에 유용하게 쓰일 수 있게 설계되어 있다. 이러한 이용에 근거하여 설계자들은 성능과 전력 효율성을 둘 다 고려하였다. 명령어 집합은 또한 지원 소프트웨어의 실질적인 부분을 포함하고 있어서 새로운 명령어 집합의 일반적인 약점을 보완한다.

2010년 UC 버클리의 [[컴퓨터과학]] 연구원들에 의해 RISC-V가 결성됐다. UC 버클리의 컴퓨터과학과는 1980년대에도 [[MIPS]] 컴퓨터 구조의 기반이 된 Berkeley RISC 컴퓨터 구조를 성공시킨 바있고 유명한 [[컴퓨터과학자]] [https://en.m.wikipedia.org/wiki/David_Patterson_(computer_scientist) 데이비드 패터슨] 교수도 프로젝트에 참여했다.

이 프로젝트는 [[캘리포니아 대학교 버클리]]에서 2010년에 시작되었으나 수많은 기여자들은 자발적인 봉사자들이자 대학 밖의 산업 노동자들이다.<ref name="contributors">{{웹 인용 |title=Contributors |url=https://riscv.org/contributors/ |website=riscv.org |publisher=Regents of the University of California |accessdate=25 August 2014 |보존url=https://web.archive.org/web/20180613234241/https://riscv.org/contributors/ |보존날짜=2018-06-13 |url-status=dead }}</ref>

RISC-V ISA는 실생활의 소형, 고속, 저전력 구현체를 염두에 두고 설계되었으나,<ref name="rocketsspeed">{{웹 인용 |title=Rocket Core Generator |url=http://riscv.org/download.html#tab_rocket |website=RISC-V |publisher=Regents of the University of California |accessdate=1 October 2014 |보존url=https://web.archive.org/web/20160123182236/http://riscv.org/download.html#tab_rocket#tab_rocket |보존날짜=2016-01-23 |url-status=dead }}</ref><ref name="isa">{{웹 인용|last1=Waterman |first1=Andrew |last2=Asanović |first2=Krste |title=The RISC-V Instruction Set Manual, Volume I: Base User-Level ISA version 2.2 |id=EECS-2016-118 |url=https://riscv.org/specifications/ |publisher=University of California, Berkeley |accessdate=25 May 2017}}</ref> 특정 [[마이크로아키텍처]] 스타일을 따르지는 않았다.<ref name="isa" /><ref name=sodor>{{웹 인용|last1=Celio|first1=Christopher|last2=Love|first2=Eric|title=ucb-bar/riscv-sodor|url=https://github.com/ucb-bar/riscv-sodor|website=GitHub Inc.|publisher=Regents of the University of California|accessdate=12 February 2015}}</ref><ref name="shakti">{{웹 인용 |title=SHAKTI Processor Project |url=http://rise.cse.iitm.ac.in/shakti.html |publisher=Indian Institute of Technology Madras |accessdate=15 September 2014 |보존url=https://web.archive.org/web/20170821040554/http://rise.cse.iitm.ac.in/shakti.html |보존날짜=2017-08-21 |url-status=dead }}</ref><ref name=boom>{{웹 인용|last1=Celio|first1=Christopher|title=CS 152 Laboratory Exercise 3|url=http://www-inst.eecs.berkeley.edu/~cs152/sp14/handouts/lab3.pdf|website=UC Berkeley|publisher=Regents of the University of California|accessdate=12 February 2015}}</ref>

2017년 5월 기준으로 버전 2.2의 유저스페이스 ISA가 픽스되어 있으며 privileged ISA는 초안판 1.10으로 이용이 가능하다.<ref name="isa"/>

== 중요성 ==
RISC-V의 개발자들은 [[BSD 허가서]] 하에서 자유롭게 사용할 수 있는 여러 CPU 디자인을 제공하는 것을 목표로 하였다. 이러한 라이선스들은 RISC-V 칩 디자인과 같은 파생작들이 RISC-V 그 자체와 비슷하게 오픈·자유를 따르거나, 클로즈드·사유를 따를 수 있게 하고 있다.

이와 반대로, [[ARM 홀딩스]]와 [[MIPS 테크놀로지스]]와 같은 상업적인 칩 벤더들은 자신들의 [[특허]] 사용에 대한 상당한 라이선스 비용을 부과한다.<ref>{{웹 인용|author=Demerjian, C. |date=2013 |publisher=SemiAccurate |title=A long look at how ARM licenses chips: Part 1 |url=http://semiaccurate.com/2013/08/07/a-long-look-at-how-arm-licenses-chips}}{{웹 인용|title=How ARM licenses it’s IP for production: Part 2 |url=http://semiaccurate.com/2013/08/08/how-arm-licenses-its-ip-for-production}}</ref> 이들은 또한 설계적 장점과 명령어 집합을 기술하는 문서를 출시하기 전에 비공개 계약(NDA)을 요구한다. 수많은 설계적 개선사항들이 완전히 사유이며, 심지어는 고객을 대상으로 설명하지 않는다. 이러한 기밀은 공공의 교육적인 이용, 보안 감사, 공공의 낮은 비용의 [[자유-오픈 소스 소프트웨어]] [[컴파일러]], [[운영 체제]]의 개발을 막아버린다.

CPU를 개발하는 것은 여러 전문분야의 설계적 전문 지식이 필요하다: 전자 논리, 컴파일러, 운영 체제. 전문 엔지니어링 팀 밖에서는 이러한 정보를 찾기가 어렵다. 그 결과로 현대의 고품질의 범용 목적의 컴퓨터 명령어 집합들이 최근까지도 학술적 환경을 제외하고는 어디에서도 사용할 수도 없고 설명되지도 않았다. 이러한 이유로 수많은 RISC-V 기여자들은 이를 통합된 공동체의 노고로 간주한다. 수많은 기여자들의 이러한 요구는 RISC-V가 수많은 용도에 맞게 엔지니어링된 이유 중 하나이다.

RISC-V 개발자들은 또한 실리콘과 시뮬레이션의 설계를 검증하는 것에서 실질적인 연구 및 사용자 경험을 갖추고 있다. RISC-V ISA는 일련의 학술적 컴퓨터 설계 프로젝트의 직접적인 개발품이다. 부분적으로는 이러한 프로젝트들을 지원하기 위해 시작되었다.<ref name="isa"/><ref name="isasbfree">{{웹 인용|last1=Asanovic|first1=Krste|title=Instruction Sets Should be Free|url=https://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-146.pdf|website=U.C. Berkeley Technical Reports|publisher=Regents of the University of California|accessdate=15 November 2016}}</ref>

== 중국으로의 수출 규제 ==
미국 의회에서 리스크 파이브 등 [[오픈 소스]]에 대해서도 중국으로의 수출 규제를 검토하고 있다.<ref>"오픈소스 동맹도 싹 잘라라"…미중 갈등, ARM 대항마 RISC-V에도 불똥, 2023.10.09, 서울경제, https://sedaily.com/NewsView/29VW4MWRIF</ref>

== 역사 ==
=== 선구자 ===
"RISC"라는 용어는 약 1980년으로 거슬러 올라간다.<ref name="riscstart">{{저널 인용|last1=Patterson |first1=David A |last2=Ditzel |first2=David R. |title=The Case for the Reduced Instruction Set Computer |journal=ACM SIGARCH Computer Architecture News |date=October 1980 |volume=8 |issue=6 |page=25 |url=http://dl.acm.org/citation.cfm?id=641917 |doi=10.1145/641914.641917}}</ref> 이 이전에 더 단순한 컴퓨터가 더 효율적이라는 이야기는 있었지만 설계적 원칙은 널리 설명되지 않은 상태였다. 단순한 효율적인 컴퓨터는 늘 학술적 관심의 대상이 되고 있다.

여러 학교들에서 1990년에 Computer Architecture: A Quantitative Approach의 제1판을 위해 RISC 명령어 집합 [[DLX]]를 개발하였다. [[:en:David_Patterson_(computer_scientist)|데이비드 패터슨]]이 저자였으며 나중에 RISC-V를 지원하였다. 그러나 DLX는 교육용이었다. 학계와 취미연구가들은 [[FPGA]]를 사용하여 이를 구현하였으나 상업적인 성공을 이루지는 못했다.

버전 2 이하의 ARM CPU들은 퍼블릭 도메인의 명령어 집합을 갖추었으며 인기있는 자유 소프트웨어 컴파일러의 하나인 [[GNU 컴파일러 모음|GCC]]에 의해 지금도 지원된다. 이로써 ARM 아키텍처의 수용을 가속화시켰다. 3개의 오픈 소스 코어가 이 ISA를 위해 존재하지만 제조된 적은 없다.<ref name="amber">{{웹 인용|title=Amber ARM-compatible core |url=http://opencores.org/project,amber |website=OpenCores |publisher=OpenCores |accessdate=26 August 2014}}</ref><ref name="arm4u">{{웹 인용|title=ARM4U |url=http://opencores.org/project,arm4u |website=OpenCores |publisher=OpenCores |accessdate=26 August 2014}}</ref>

[[OpenRISC]]는 DLX 기반의 오픈 소스 ISA이며, RISC 디자인을 따른다. GCC와 [[리눅스]] 구현체를 완전히 지원한다. 그러나 일부 상용 구현체가 존재한다.

=== 재단 ===
버클리의 캘리포니아 대학교 Krste Asanović는 오픈 소스 컴퓨터 시스템의 여러 가지 이용을 발견하였다. 2010년에 그는 여름 동안 짧은 3개월 프로젝트에서 개발 및 출판을 결심하였다. 이러한 계획은 학술 부문과 산업 부문의사용자들을 둘 다 지원하기 위한 것이다.<ref name="isasbfree">{{웹 인용|last1=Asanovic|first1=Krste|title=Instruction Sets Should be Free|url=https://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-146.pdf|website=U.C. Berkeley Technical Reports|publisher=Regents of the University of California|accessdate=15 November 2016}}</ref> 버클리의 [[:en:David_Patterson_(computer_scientist)|데이비드 패터슨]]은 또한 이 노고를 도왔다. 패터슨은 처음에 [[버클리 RISC]]의 속성들을 식별하였으며,<ref name="riscstart" /> RISC-V는 기나긴 일련의 협업 RISC 연구 프로젝트들 가운데 하나이다. 초기 자금 제공은 [[DARPA]]에 의해 이루어졌다.<ref name="isa" />

RISC-V 재단을 지원하는 단체들로는 이를테면 다음과 같다: [[구글]], [[마이크로소프트]], [[엔비디아]], [[오라클 (기업)|오라클]], [[퀄컴]], [[IBM]], [[화웨이]], [[휴렛 팩커드 엔터프라이즈]] (HPE), [[인도 공과대학교 마드라스]], [[어드밴스트 마이크로 디바이시스]], [[BAE 시스템스]], [http://bar.eecs.berkeley.edu/ Berkeley Architecture Research], [[Bluespec, Inc.]], [[Cortus]], [[Charles Stark Draper Laboratory|Draper]], [[중국과학원|ICT]], [[래티스 세미컨덕터]], [[Mellanox Technologies]], [[Microsemi]], [[마이크론 테크놀로지|마이크론]], [[NXP반도체]], [[Cryptography Research|Rambus Cryptography Research]], [[웨스턴 디지털]], [[삼성전자]].<ref>{{웹 인용|last1=Merritt|first1=Rick|title=Google, Oracle and HP Join RISC-V|url=http://www.eetimes.com/document.asp?doc_id=1328561&page_number=1|website=EE Times|publisher=UBM|accessdate=11 February 2016|보존url=https://web.archive.org/web/20170824133219/http://www.eetimes.com/document.asp?doc_id=1328561&page_number=1|보존날짜=2017-08-24|url-status=dead}}</ref><ref>{{웹 인용 |url=https://riscv.org/membership/1424/rambus-cryptography-research/ |제목=보관된 사본 |확인날짜=2017-08-24 |archive-date=2017-08-24 |archive-url=https://web.archive.org/web/20170824133932/https://riscv.org/membership/1424/rambus-cryptography-research/ }}</ref>

=== 수상 ===
* 2017: [http://linleygroup.com/press_detail.php?The-Linley-Group-Announces-Winners-of-Annual-Analysts-Choice-Awards-85 The Linley Group's Analyst's Choice Award for Best Technology] (명령어 집합에 대해)

== 설계 ==
=== 명령어 하위 집합 ===
RISC-V 명령어 중 최소한의 필수적인 집합은 정수 명령어 집합이다. (문자 "I"로 표시) 이 집합은 자체적으로 범용 컴파일러를 포함하여 완전한 소프트웨어 지원과 더불어 단순화된 범용 컴퓨터를 구현할 수 있다.<ref name="isa" />

컴퓨터 설계는 추가적인 하위 집합을 추가할 수 있다: 정수 곱하기 및 나누기 (집합 "M"), [[실시간 시스템|실시간]] 동시성 처리를 위한 원자적 명령어 (
"A"), 배정밀도("D")와 4배 정밀도("Q") 옵션이 있는 IEEE [[부동소수점]] ("F").<ref name="isa" /> "privileged" 명령어 집합은 [[유닉스]] 계열 [[운영 체제]]의 지원을 위한 명령어들을 정의한다. [[가상화]] 지원을 위해 [[하이퍼바이저]]를 지원할 예정이다.<ref name="isapriv">{{웹 인용|last1=Waterman|first1=Andrew|last2=Lee|first2=Yunsup|last3=Avizienas|first3=Rimas|last4=Patterson|first4=David|last5=Asanovic|first5=Krste|title=Draft Privileged ISA Specification 1.9|url=https://riscv.org/specifications/privileged-isa/|website=RISC-V|publisher=RISC-V Foundation|accessdate=30 August 2016|archive-date=2018-08-26|archive-url=https://web.archive.org/web/20180826095957/https://riscv.org/specifications/privileged-isa/}}</ref>
이러한 명령어 집합 "RVIMAFD"을 갖춘 컴퓨터를 "범용"(general-purpose)이라 부르며 간단히 "G"로 축약한다.<ref name="isa" />

코드 크기(집합 "C")를 줄이는 선택적인 "compact" 하위 집합이 있다. 수많은 RISC-V 컴퓨터들은 이 ISA를 추가하여 전력, 코드 크기, 메모리를 줄일 수 있다.<ref name="isa" /> 16개의 레지스터만 지원하여 가장 작은 CPU들에 대한 비용을 줄이는 32비트 임베디드 하위 집합("E")도 있다.<ref name="isa" />

이러한 집합들은 32비트, 64비트와 같은 레지스터의 크기에 따라 추가적으로 기술된다. 각기 다른 레지스터 크기에 대한 각각의 하위 집합의 차이는 크지 않다.

[[임베디드 시스템]]용 소형 32비트 컴퓨터는 "RV32EC"일 수 있다. 대형 64비트 컴퓨터는 "RV64G"일 수 있다.<ref name="isa" />

하위 집합은 128비트 컴퓨터, 비트 조작("B"), 10진 [[부동소수점]]("L"), Packed [[SIMD]](예: budget multimedia, "P"), 벡터 처리("V"), 트랜잭셔널 메모리("T")도 계획되어 있다.<ref name="isa" />

== 제품 ==
[[퀄컴]]은 그동안 [[ARM]] 기반 [[시스템온칩]](SoC)을 생산하였으나, 2023년 구글 [[웨어 OS]]용 웨어러블 기기의 RISC-V [[SoC]]를 개발했다.<ref>퀄컴, ARM 의존도 낮춘다…‘RISC-V 웨어러블 플랫폼’ 개발, 2023.10.18, https://www.thelec.kr/news/articleView.html?idxno=23529</ref>

== 같이 보기 ==
* [[OpenRISC]]: [[GNU 일반 공중 사용 허가서]]로 라이선스됨.
* [[축소 명령어 집합 컴퓨터]]
* [[오픈 소스 컴퓨팅 하드웨어]]

== 각주 ==
{{각주|30em}}

== 추가 문헌 ==
* [http://www.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-118.pdf The RISC-V Instruction Set Manual]
* [http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-146.html Instruction Sets Should Be Free: The Case For RISC-V] Whitepaper by Krste Asanović and [[:en:David Patterson (computer scientist)|David A. Patterson]]
* [http://www.hotchips.org/wp-content/uploads/hc_archives/hc25/HC25-posters/HC25.26.p70-RISC-V-Warterman-UCB.pdf The RISC-V Instruction Set] {{웨이백|url=http://www.hotchips.org/wp-content/uploads/hc_archives/hc25/HC25-posters/HC25.26.p70-RISC-V-Warterman-UCB.pdf |date=20170506031542 }} HotChips 25 (2013)
* [http://riscv.org/wp-content/uploads/2015/02/riscv-software-toolchain-tutorial-hpca2015.pdf The RISC-V Software Ecosystem] HPCA 2015, Tutorial
* [http://riscv.org/wp-content/uploads/2015/02/riscv-rocket-chip-generator-tutorial-hpca2015.pdf Rocket Chip] HPCA 2015, Tutorial
* [https://riscv.org/wp-content/uploads/2015/11/riscv-compressed-spec-v1.9.pdf The RISC-V Compressed Instruction Set Manual Version 1.9 (draft)]

== 외부 링크 ==
* {{공식 웹사이트}}
* {{github|ucb-bar|UCB's site for RISC-V}}
* {{웹 인용 |title=RISC-V: An Open Standard for SoCs. The case for an open ISA |date=8 July 2014 |publisher=EETimes |url=http://www.eetimes.com/author.asp?doc_id=1323406 |확인날짜=2017-08-24 |보존url=https://web.archive.org/web/20170824093026/http://www.eetimes.com/author.asp?doc_id=1323406 |보존날짜=2017-08-24 |url-status=dead }}
* [https://web.archive.org/web/20170824094526/http://www.pulp-platform.org/ Pulpino]: A developed, open-source system-on-chip based on RISC-V, 4 August 2016
* {{웹 인용|first=Joel |last=Hruska |title=RISC rides again: New RISC-V architecture hopes to battle ARM and x86 by being totally open source |date=21 August 2014 |publisher=ExtremeTech |url=http://www.extremetech.com/computing/188405-risc-rides-again-new-risc-v-architecture-hopes-to-battle-arm-and-x86-by-being-totally-open-source }}
* {{웹 인용|title=Analyzing the RISC-V Instruction Set Architecture |date=11 August 2014 |publisher=[[:en:Adapteva]] |url=http://www.adapteva.com/andreas-blog/analyzing-the-risc-v-instruction-set-architecture/ }}
* {{유튜브|channel=UC5gLmcFuvdGbajs4VL-WU3g |RISC-V}}
* {{웹 인용|title=search: RISC-V since 2013 |work=Google Scholar |url=https://scholar.google.com.au/scholar?q=%22RISC-V%22&btnG=&hl=en&as_sdt=0%2C5&as_ylo=2013}}

{{RISC 아키텍처}}
{{마이크로컨트롤러}}

[[분류:2010년 소프트웨어]]
[[분류:마이크로프로세서]]
[[분류:명령어 집합 구조]]
[[분류:마이크로컨트롤러]]
[[분류:64비트 컴퓨터]]