RISC-V에 대한 나만의 생각
제가 학부때 제일 좋아했던 수업은 김종현 교수님의 컴퓨터구조론이었습니다. 은퇴가 얼마 남지 않으셨는데도 꾸준하게 새로운 기술에 관심을 갖는 교수님의 모습이 멋있어(!!) 보였고, 나도 저렇게 많이 알고싶다.. 라고 많이 생각했던 것 같아요.
그때 수업을 들으면서 가장 기억에 남는 것이 있다면 Why RISC? 라는 주제였습니다. 교수님은 당신이 박사생활때 저 논의가 처음 등장했다고 하셨는데, CISC(Complex Instruction Set Computer, 복잡한 명령어 집합을 갖는 CPU 아키텍처)의 시대에서 RISC(Reduced Instruction Set Computer, 단순한 명령어 집합을 갖는 cpu 아키텍처)로 변하는 시대에 있던 장본인이셨던 겁니다.
RISC 란?
마이크로프로세서를 설계하는 방법 중 하나로, 현재 거의 대부분의 프로세서 디자인에 채택되고 있습니다. 수많은 명령어를 가지고 복잡한 구조를 지닌 CISC에서 명령어의 개수를 줄이고 구조도 단순화시킨 것이 RISC입니다. 다수의 간단한 명령어들을 조합하여 CISC보다 훨씬 효율적으로 계산할 수 있습니다.
RISC는 고정된 길이의 명령어를 사용하며, 파이프라인이라는 개념을 채택해 프로세서들은 파이프라인 내에서 여러 단계로 나누어진 다음 병렬 프로세싱을 통해 조금씩 수행됩니다.
RISC의 특징은 아래와 같습니다.
- 고정 길이 명령어
- RISC는 신속한 프로세싱을 달성하기 위한 파이프라인 프로세싱의 일환으로서 고정길이 명령어를 사용하며, 클럭 주기당 하나의 명령어를 실행.
- 랜덤 로직 방식의 명령어 디코딩
- 랜덤 로직은 빠른 프로세싱을 수행하기 위해 채택되지만 하나의 명령어가 하나의 복잡한 프로세스에 상흥하지는 않습니다
- 단일 클럭 프로세싱
- 파이프라인 프로세싱은 단일 클럭 시스템을 사용
- 파이프라인 프로세싱
RISC의 경우에는 소형 로직으로 충분하지만, CISC의 경우에는 각각의 명령어에 대해 실행되는 프로세스들이 복잡하므로 대형 로직이 필요합니다.
내부 구조적으로 보았을때에도 CISC보다 RISC가 훨씬 간단한 것을 확인할 수 있습니다!
RISC-V의 시대를 맞으며...
더이상 발전할 수 있을까? 했던 RISC가 새롭게 다섯번째 버전이 등장했습니다. 클라우드 컴퓨팅, 인공지능, 자율주행 등등의 기술들이 등장하면서 수많은 연구들은 이를 뒷받침하는 하드웨어적인 기술들이 계속해서 등장하는 것입니다!
뭐 이런저런 장점이 있는데, ARM칩과 비교해서 비슷한 성능으로는 칩 면적이 30%~50%가 줄어들고 소비 전력은 60%나 감소하는 상당한 높은 효율을 보였다고 합니다. 그래서 해당 분야 선두주자인 SiFive는 곧 ARM의 강력한 경쟁자가 될것이라고 말을 하고, 최근에는 sk하이닉스를 포함해 수많은 기업에서 엄청난 투자를 받았었죠 (나도 하고싶다...)
특징적인 것을 몇개 뽑아보자면...
- 무료 개방 명령어집합 (Instruction Set Architecture, ISA)
- 모든 내용은 오픈소스로 설계도를 개방해 공유하고 있습니다. (근데 또 완전 오픈소스는 아니라고 RISC V 이사회 의장이 못박았던데.. 많은 것을 개방하고 있는 것은 확실할 것 같아요) ARM에 비교되는 부분 중 하나죠!
- CPU코어를 개발자가 원하는 방향대로 구현할 수 있다.
- 다양한 운영체제와 IDE를 지원하고, 임베디드 시스템 설계에 범용으로 사용될 수 있습니다.
- 리눅스 지원
- 리눅스 5.6 릴리즈 버전에서 RISC V가 추가되었다고 합니다. (오~)
아래는 커널 연구회에서 정리한 RISC-V 분석 자료인데, 내용이 너무 좋아서 한번 살펴보시는 것을 추천합니다!
사실.. RISC V에 대해서 계속해서 말하는 제 친구가 있어서 ㅋㅋㅋ 심지어 그 친구가 이쪽으로 취업을 했더라구요. 그래서 저도 아는거랑 모르는 것을 정리해서 올립니다 ㅎㅎ RISC V의 시대가 언능 오길 바라며!!
'IT Trends' 카테고리의 다른 글
요즘 제일 힙한 프로그래밍 언어, Rust (0) | 2021.04.26 |
---|---|
완전 편한 Data Science용 Python 웹 프레임워크, Streamlit (2) | 2021.04.09 |
MS, 자체 서버용 프로세서 개발을 하다 (0) | 2020.12.21 |
구글, 양자 우월성을 입증하다 (0) | 2019.11.01 |
Docker란 무엇일까 (아직 작성중) (0) | 2019.08.25 |
댓글
이 글 공유하기
다른 글
-
요즘 제일 힙한 프로그래밍 언어, Rust
요즘 제일 힙한 프로그래밍 언어, Rust
2021.04.26 -
완전 편한 Data Science용 Python 웹 프레임워크, Streamlit
완전 편한 Data Science용 Python 웹 프레임워크, Streamlit
2021.04.09 -
MS, 자체 서버용 프로세서 개발을 하다
MS, 자체 서버용 프로세서 개발을 하다
2020.12.21 -
구글, 양자 우월성을 입증하다
구글, 양자 우월성을 입증하다
2019.11.01