2018년 6월 21일에 웨스턴 디지털은 일본 도쿄에서 기자 설명회를 개최하고, CTO인 Martin Fink가 회사 차원에서 RISC-V를 추진 중임을 설명했습니다. 그럼 RISC-V는 도대체 무엇일까요?
연구 목적으로 만들어진 고유 명령어 세트 RISV-V
Krste Asanović(Professor, Computer Science Division, UC Berkeley)
RISC-V는 원래 UC 버클리(University of California, Berkeley, 이하 UCB)의 Krste Asanović 교수가 진행했던 연구 프로젝트입니다. Raven(https://bar.eecs.berkeley.edu/projects/raven.html )를 위해 개발한 독자적인 프로세서 명령어 집합니다.
Raven은 고효율 프로세서 디자인을 추구하며, 자유로이 바꿀 수 있는 명령어 세트를 갖출 필요가 있습니다. 그런데 인텔이나 Arm 같은 기존의 프로세서 명령어 세트는 특정 기업이 권리를 완전히 갖고 있기에 마음대로 명령어 세트를 바꾸지 못합니다. 그럴바에에 명령어 세트를 새로 개발하는 게 빠르다는 결론을 내렸습니다.
그래서 UC 버클리는 자체 RISC 명령어 세트를 이미 4개 개발했고, Asanovic 교수가 개발한 건 5번째라서 RISC-V라는 이름이 붙었습니다.
Raven 프로젝트는 이미 마무리가 됐습니다. Asanovic 교수는 RISC-V를 단순히 연구 프로젝트만으로 끝내지 않고, 오픈 소스로 널리 보급하기로 결정하고 2015년에 이를 관리할 단체인 RISC-V 재단을 설립했습니다. 그리고 RISC-V의 스펙을 공개하고 다양한 파트너 기업을 모집했습니다. 창설 멤버는 UC 버클리 외에 블루스펙, 구글, 마이크로세미(지금은 마이크로칩), NVIDIA, NXP 반도체, 웨스턴 디지털이 있습니다.
이 RISC-V를 사용한 프로세서는 이미 나와 있습니다. Asanovic 교수의 연구실 구성원들이 설립한 벤처 기업인 SiFive(Asanovic 교수는 Chief Architect로 근무)에서 여러 종류의 RISC-V 기반 프로세서 IP와 이를 구현한 프로세서 반도체를 판매 중입니다.
또 창설 멤버 중 하나인 마이크로세미는 RISC-V 기반 프로세서 IP를 자사 FPGA로 구현했습니다. 대만의 Andes Technology도 RISC-V 기반의 프로세서인 AndesCore N25, AndesCore NX25를 판매 중입니다.
그 외에도 x86 호환 CPU인 크루소(Crusoe)로 유명한 트랜스메타의 설립자, David Ditzel이 세운 프로세서 업체인 Esperanto Technologies가 RISC-V 기반의 고성능 프로세서를 개발 중입니다(웨스턴 디지털도 여기에 투자했습니다). 또 프랑스 Cortus라는 프로세서 제조사가 이미 RISC-V 기반의 프로세서 IP를 5종류 개발했습니다.
즉, RISC-V는 단순히 명령 세트를 연구하는 것이 아니라 실제 제품으로 쓸 수 있는 프로세서에 보급되고 있는 것입니다.
임베디드에 보급되는 RISC-V
자체 프로세서를 위한 명령어 세트지만, RISC-V 재단은 PC에 들어가는 x86 프로세서와 스마트폰에서 쓰는 Arm Cortex-A 시리즈를 RISC-V가 빠른 시간 안에 대체할 것이라고 생각하진 않았습니다. 우선 임베디드용을 염두에 두고 있었겠지요.
예를 들어 Andes 프로세서 IP는 무선 랜 컨트롤러나 USB 컨트롤러에 쓰는 사례가 늘어나고 있습니다. 이런 임베디드 컨트롤러가 점차 RISC-V 기반으로 대체해 나갈 것으로 예상하고 있습니다.
예전에는 이런 컨트롤러에 프로세서 제조사의 자체 CPU를 쓰는 경우가 많았지만, 최근 몇년은 Arm 컨트롤러용 프로세서 IP인 Cortex-M 시리즈와 Cortex-R 시리즈로 바뀌고 있었습니다. Cortex-M 시리즈는 게이밍 마우스나 키보드에 들어가는 컨트롤러에 쓰는 경우가 많으니 나름 인지도가 높습니다.
다만 Arm의 프로세서 IP를 사용하려면 당연히 로열티를 내야 합니다. 그게 싫은 프로세서 제조사들은 라이센스 비용이 더 저렴한 Andes과 Cortus 같은 회사의 프로세서 IP로 건너가고 있었습니다. 이렇게 저렴한 프로세서 IP를 원하는 제조사의 요구에 맞춰 RISC-V 기반 프로세서를 제공하는 것이 요새 분위기입니다.
Martin Fink(웨스턴 디지털의 CTO 겸 집행 부사장. 2017년 1월부터 이 자리에 올랐으며 그 전에는 HP 연구소의 디렉터 겸 HP 엔터프라이즈의 CTO였습니다)의 설명에 의하면 이런 움직임은 웨스턴 디지털도 마찬가지입니다.
사실 웨스턴 디지털은 CPU, 그래픽, 네트워크 같은 칩을 판매하는 반도체 기업입니다. 그러나 반도체 사업을 모두 정리하고 스토리지 전문 업체로 태어났습니다. 다만 여기에 들어가는 칩은 계속해서 직접 준비해 왔습니다. 구체적으로 말하면 하드디스크 뒷면 기판에 장착된 제어 칩과 SSD 컨트롤러가 있습니다. 덕분에 웨스턴 디지털은 지금도 1년에 10억개의 칩을 직접 생산하고 있습니다. 1년에 10억개면 인텔이 1년에 출시하는 CPU 수에 맞먹습니다. 물론 가격으로 따지면 비교가 안되지만.
그리고 웨스턴 디지털은 생산하는 칩의 수를 두배로 늘릴 전망을 갖고 있습니다. 그러니까 SSD의 출하량이 앞으로 점점 더 늘어날 거란 이야기입니다. 웨스턴 디지털은 이들 컨트롤러를 직접 설계하고 실제 생산은 파운드리에 맡기고 있습니다. 현재 웨스턴 디지털은 기존 ARC International(현재는 Synopsys 산하)가 제공하는 DesignWare ARC Processor Core(https://www.synopsys.com/ja-jp/designware-ip/processor-solutions/arc-processors.html )를 사용해 컨트롤러를 구축하며, 이 모든 것을 RISC-V 기반으로 대체해 나간다는 계획을 갖고 있습니다.
ARC 코어는 인지도가 높지 않으나 2014년 한해 동안 이를 쓴 칩이 14억개가 판매됐습니다. 인텔이 2015년에 발표한 임베디드용 초소형 컴퓨터 퀴리에도 ARC의 EM4 프로세서가 탑재된 적이 있습니다. 지금은 단종됐지만.
왜 웨스턴 디지털은 RISC-V에 관심을 보이는가?
그럼 웨 웨스턴 디지털이 ARC에서 RISC-V를 쓰려고 할까요? 로열티 비용 외에 다른 이유로는 스토리지 컨트롤러에 대한 요구가 달라지고 있다는 데 있습니다. 예를들어 하드디스크 컨트롤러는 실시간으로 모터와 헤드의 제어, 데이터 기록 방식에 대응한 오류 정정 기능이 필요합니다. SSD 컨트롤러라면 모터 제어 기능은 필요 없으나 오류 정정과 패리티 검사, 높은 처리 능력은 하드디스크보다 더 필요합니다. 이런 다양한 요구를 단일 아키텍처로 대응하긴 어렵고, 무리해서 하나로 정리하면 비효율적입니다.
스토리지 컨트롤러에 대한 요구가 변화하면서 용도에 따라 웨스턴 디지털이 구조를 변경할 수 있는 아키텍처가 필요하며, 이를 위해서 자신들만의 커스텀 프로세서 IP가 필요했을 겁니다.
여기서 첫번째 문제가 되는 게 아키텍처 변경의 규모입니다. 핵심 명령 세트는 같지만 각각의 용도를 위한 확장 명령을 추가할 수 있는 정도의 확장성을 웨스턴 디지털이 요구하고 있습니다. 물론 지금도 용도에 따라 프로세서 커스텀이 안 되는 건 아닙니다. 독자적인 명령어 집합을 지닌 프로세서를 만들면 됩니다. 문제는 이런 프로세서를 쓰는데 필요한 환경, 즉 소프트웨어 개발에 쓰는 컴파일러, 어셈블러 디버거, OS, 라이브러리, 미들웨어, 애플리케이션은 없다는 겁니다. 이걸 모두 직접 구축하려면 시간과 비용이 많이 들어갑니다.
그런 점에서 RISC-V는 기본 명령어 세트를 지원하는 컴파일러, 디버거, OS가 이미 있고 앞으로 라이브러리가 더 늘어날 것이라고 기대할 수도 있습니다. 즉 명령 세트에서 확장한 부분만 디버거와 라이브러리를 보강하면 끝납니다. 처음부터 끝까지 다 만들거나 다른 프로세서에서 이식하는 것과 비교하면 시간과 비용이 크게 낮습니다.
앞에서도 말했지만 이런 커스텀을 x86이나 Arm에서 하는 건 불가능합니다. 명령 세트는 인텔과 Arm이 엄격하게 관리하고 있기 때문입니다. IBM의 PowerPC 시리즈라면 명령을 추가할 수 있는 옵션이 있지만, PowerPC 자체가 요새 쇠퇴하가는 추세이기에 이제 와서 쓴다 한들 의미가 없습니다. 그럴바에는 기본적인 명령어 세트만 지키면 공급 업체에서 직접 명령을 추가하고, 로열티를 지불할 필요도 없는 RISC-V가 웨스턴 디지털에게 매력적일 수밖에 업습니다.
앞으로 게이밍 디바이스에 RISC-V를 도입할 것인가?
그러면 실제로 웨스턴 디지털은 RISC-V로 어떤 프로세서를 만드려는 걸까요? 지금은 범용 제품으로 하드디스크나 SSD 등의 다양한 용도에 쓰고 있지만, 앞으로 스토리지는 보다 구체적인 용도로 최적화될 것이며 여기에 대비해 컨트롤러를 RISC-V로 바꿔 나간다고 봐야 합니다.
실제로 웨스턴 디지털은 이렇게 특정 용도로 명령 확장을 계속하고 있으며, 2018년 말까지 오픈소스할 예정입니다. RISC-V의 로드맵을 웨스턴 디지털이 공개할 예정이기도 합니다. 또 웨스턴 디지털의 확장 명령은 지금까지 소프트웨어에서 수행하던 작업을 한번에 프로세서로 넘길 수 있을 것이라고도 설명했습니다.
웨스턴 디지털은 자사 확장 명령을 탑재한 프로세서 IP와 반도체 다이를 외부에 판매할 생각은 없고, 직접 사용할 것이라고 합니다. 일단은 하드디스크나 SSD 컨트롤러 뿐이나 3년 후에는 다른 것도 나올 수 있습니다. 웨스턴 디지털은 현재 RISC-V 기반 컨트롤러를 2개 개발 중이며, 그 중 하나가 내년에 등장할 예정입니다. 모든 칩을 RISC-V 기반으로 바꿀 때까지 5~7년 정도 걸린다고 합니다.
2019년에 나올 웨스턴 디지털의 하드디스크나 SSD에는 RISC-V 기반 컨트롤러가 들어갈 가능성이 매우 높습니다. 다만 하드디스크나 SSD 제품 자체는 그대로 컨트롤러 보드만 새로 바뀔 가능성도 있으니, RISC-V로 바뀌었을지 일반 사용자가 확인하기란 어려울 겁니다.
다른 주변 기기에서도 RISC-V의 채용 사례가 늘어나면 Cortex-M 시리즈를 쓰는 게이밍 마우스나 키보드의 차세대 모델에 RISC-V 기반 프로세서를 통합하는 SoC를 쓸 가능성이 있습니다.