기술(IT)

RISC(Reduced Instruction Set Computer)

2019. 10. 15.
728x90

RISC(Reduced Instruction Set Computer)는 Instruction Set Architecture를 통해 복잡한 Complex Instruction Set Computer(CISC)보다 명령당 주기가 더 적다. RISC의  정의에 대해서는 여러 가지 제안이 있었지만, 일반적인 개념은 컴퓨터가 복잡하고 전문적인 지시의 큰 집합이 아니라, 단순하고 일반적인 지시의 작은 집합을 가지고 있다는 것이다. 또 다른 일반적인 RISC 특성은 로드스토어 아키텍처인데, 대부분의 명령 일부가 아닌 특정 명령을 통해 메모리에 접근한다.

RISC 컨셉
지시 세트 컴퓨터 축소라는 문구에 대한 일반적인 오해는 지시사항이 간단히 제거되어 지시사항이 더 작아진다는 잘못된 생각이다. 실제로 수년 동안 RISC 명령 집합은 크기가 커졌고, 오늘날 많은 명령 집합은 많은 CISC CPU보다 더 큰 명령 집합을 가지고 있다. 이 문구의 감소라는 용어는 단일 명령을 실행하기 위해 수십 개의 데이터 메모리 사이클이 필요할 수 있는 CISC CPU의 복잡한 명령에 비해 단일 명령이 달성하는 작업의 양이 줄어든다는 사실을 기술하기 위한 것이었다. 특히, RISC 프로세서는 일반적으로 I/O와 데이터 처리에 대한 별도의 지침을 가지고 있다. 적재 저장 구조라는 용어가 선호되는 경우가 있다.

하드웨어 활용도
RISC 설계는 또한 명령 스트림과 데이터 스트림이 개념적으로 분리되는 하버드의 메모리 모델을 특징으로 할 가능성이 더 높다.  RISC 칩은 일반적으로 설계자가 원래 레지스터 세트의 크기를 늘리고 내부 병렬화를 증가시킬 수 있는 코어 로직 전용 트랜지스터를 훨씬 더 적게 갖는다. 이것은 적어도 특별한 동기화 명령이 실행될 때까지는 코드가 유지되는 메모리를 수정하는 것이 프로세서에 의해 실행되는 지침에 영향을 미치지 않을 수 있다는 것을 의미한다. 거꾸로, 이것은 양쪽 캐시에 동시에 접속할 수 있게 해 종종 성능을 향상시킬 수 있다. 많은 초기 RISC 설계도 분기 지연 슬롯을 갖는 특성을 공유했다. 분기 지연 슬롯은 점프 또는 분기 직후의 지시 공간이다. 분기를 취하하든 말든 이 공간의 지시는 실행된다. 오늘날 분기 지연 슬롯은 일부 RISC 설계를 구현하기 위한 특정 전략의 불행한 부작용으로 간주되고 있으며, 현대 RISC 설계는 일반적으로 이를 제거한다.

수행 형태
대부분의 RISC 아키텍처는 고정된 길이의 명령과 간단한 인코딩을 가지고 있어 가져오기, 디코딩 및 발행 논리를 상당히 단순화한다. 32비트 명령의 한 가지 단점은 코드 밀도 감소인데, 이는 워크스테이션에서보다 임베디드 컴퓨팅에서 더 불리한 특성이며 서버 시장 RISC 아키텍처는 원래 서비스하도록 설계되었다. SH5는 또한 원래 16비트 인코딩에 더 긴 미디어 지침을 추가하여 반대 방향으로 진화했음에도 불구하고 이러한 패턴을 따른다. 컴퓨터 산업 초기에는 조립 언어나 기계 코드로 프로그래밍을 실시하여 강력하고 사용하기 쉬운 지시를 장려하였다. 상위 수준의 언어가 등장하면서 컴퓨터 설계자들도 그러한 언어의 특정한 중심 메커니즘을 직접적으로 구현하기 위한 전용 지침을 만들기 시작했다. 또 다른 일반적인 목표는 컴파일러 구현을 용이하게 하기 위해 정형외과라고 알려진 모든 지침에 대해 가능한 모든 주소 지정 모드를 제공하는 것이었다. 따라서 산술 연산은 종종 피연산자뿐만 아니라 직접 메모리에 결과를 가질 수 있다.

마찬가지로 중요한 이유는 CPU가 이 느린 리소스에 액세스하는 빈도를 줄일 수 있는 조밀한 정보 패킹을 사용함으로써 주요 메모리가 상당히 느렸기 때문이다. 현대 컴퓨터는 CPU에 비해 주 메모리가 느리고 이를 극복하기 위해 사용되는 빠른 캐시 메모리의 크기가 제한된다는 비슷한 제한 요인에 직면해 있다. 이것은 현대 컴퓨터에서 고도로 인코딩된 명령 집합이 RISC 설계만큼 유용하다고 입증된 이유를 부분적으로 설명할 수 있다. 또한 특정 아키텍처의 마이크로코딩 구현에서 복잡한 운영은 동일한 작업을 수행하는 단순한 운영의 순서보다 느린 경향이 있다는 것이 밝혀졌다. 이는 부분적으로 모든 지시를 최적화하거나 조정할 시간이 거의 없이 많은 설계가 서두른다는 사실의 결과였다. 가장 자주 사용되는 명령만 최적화되었으며, 이러한 지침의 순서는 해당 순서와 동일한 작동을 수행하는 조정되지 않은 명령보다 더 빠를 수 있었다.

많은 실제 프로그램들이 대부분의 시간을 간단한 수술로 보내기 때문에, 일부 연구원들은 가능한 한 빨리 수술을 하는 데 집중하기로 결정했다. CPU의 클럭 속도는 명령의 가장 느린 하위 작업을 실행하는 데 걸리는 시간에 의해 제한된다. 이러한 사이클 시간을 줄이면 다른 명령의 실행이 가속되는 경우가 많다. 감소 지시에 초점을 맞추면서 결과적으로 발생하는 기계가 RISC라고 불리게 되었다. 목표는 명령을 매우 간단하게 만들어 쉽게 파이프라인이 될 수 있도록 하는 것으로, 높은 주파수에서 단일 클럭 처리량을 달성하는 것이었다. 한 가지 더 문제는 페이지 결함에 따르는 것과 같은 복잡한 지시사항을 다시 시작하기가 어렵다는 것이다. 어떤 경우에는 처음부터 다시 시작하는 것이 효과가 있겠지만, 많은 경우 이것은 잘못된 결과를 줄 것이다. 그러므로, 기계는 어떤 부분이 통과되고 무엇을 해야 하는지를 기억하기 위해 어느 정도의 숨겨진 상태를 가질 필요가 있다. 로드/스토어 머신의 경우, 프로그램 카운터는 기계의 상태를 설명하기에 충분하다. RISC의 주요 특징은 명령 집합이 매우 규칙적인 명령 파이프라인 흐름에 최적화되어 있다는 것이다. RISC와 관련된 다른 모든 기능은 관련 없는 형상의 무작위 분류로 보일 수 있지만, 각 형상은 시계 주기마다 지시를 완료하는 정기적인 파이프라인 흐름을 유지하는 데 도움이 된다.

LIST

댓글

추천 글