인용

여담: RISC 대 CISC

1980년대에 컴퓨터 구조 분야에 큰 전투가 있었다. 전투의 한 쪽은 복잡 명령어 컴퓨터(complex-instruction set computing)를 대표하는 CISC 진영이었고, 다른 반대편은 축소 명령어 컴퓨터(reduced instruction set computing)를 대표하는 RISC 진영이었다[PS81]. RISC 측에서는 버클리의 David Patterson과 스탠퍼드의 John Hennessy가 선봉장이었다 (이 둘은 잘 알려진 책의 공동 저자이기도 하다[HP06]). 하지만, 정작 John Cocke가 RISC에 대한 초기 연구를 진행한 공로를 인정받아 튜링 상을 수상하였다[CM00].

CISC 명령어 집합은 많은 수의 명령어로 구성되어 있으며, 각 명령들은 강력한 기능을 가지는 것이 특징이다. 예를 들어, 두 개의 포인터와 길이를 인자로 하여 목적한 주소로 문자열 복사하는 것을 들 수가 있다. CISC의 설계 배경은 어셈블리어 명령어로 상위 수준 작업을 실행하고, 코딩을 쉽게 하며, 코드를 간단하게 하는 데 있다.

RISC 진영의 입장은 정반대이다. RISC 진영의 핵심 논리는 "어셈블리 명령어는 컴파일러를 위한 것이다."라는 사실이다. 컴파일러는 몇 가지의 단순한 어셈블리 명령어만 있으면 고성능의 코드를 생성해 낼 수 있다. RISC 지지자들은 명령어 집합을 작고 간단하게 설계하여, 즉 하드웨어를 최대한 단순화하여 (특히 마이크로코드를), 빠른 컴퓨터를 만들 것을 주장하였다.

초기에 좋은 성능의 RISC 칩들이 발표되었다[BC91]. 이들은 기술 발전에 큰 영향을 미쳤다. 많은 논문이 발표되었고, 회사도 몇 개 생겨났다(예, MIPS와 Sun). 시간이 지남에 따라 인텔과 같은 CISC 제조사들이 프로세서 핵심에 RISC 기술을 도입하였다. 예를 들어, RISC와 유사한 형식의 마이크로 명령어들을 개발하고, CISC 명령어를 마이크로 명령어로 전처리하는 파이프라인 단계들을 도입하였다. 이러한 기술 혁신과 반도체 공정 집적도의 향상에 따라, 오늘날까지도 CISC 기반 프로세스가 경쟁력을 유지할 수 있었다. 지금은, RICS와 CISC 간의 장단점 논쟁이 거의 의미가 없어졌다. 두 종류의 프로세서 모두 빠르게 동작하도록 제작된다. 1

참고문헌

  • 운영체제 아주 쉬운 세 가지 이야기 [제2판] / Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-dusseau 공저 / 원유집, 박민규, 이성진 공역 / 홍릉 / 제2판 발행: 2020년 09월 10일 / 원제: Operating Systems: Three Easy Pieces

주석

  1. 운영체제 아주 쉬운 세 가지 이야기. 19장. 218쪽.