CISC와 RISC의 차이점은 무엇입니까?


대답 1:

RISC는 일반적으로 레지스터에 "로드 저장소"입니다. 일반적으로 ADD R1 = R2 + R3과 같은 3 개의 레지스터가 사용되며,로드 및 저장은 명령에 사용 된 2 개의 레지스터 만 제외하거나 예외가 아닐 수 있습니다.

CISC는 일반적으로 메모리 주소의 값으로 레지스터로 계산할 필요없이 계산할 수 있습니다. 또한 주소를 생성하기 위해 하나 이상의 레지스터를 허용하는 더 많은 (복잡한) 주소 지정 모드를 가질 수 있습니다.

CISC는 일반적으로 2- 오퍼랜드이며, 예를 들어 ADD는 목적지에 사용되는 동일한 레지스터 (또는 메모리 주소)를 갖지만 소스 중 하나에도 동일하게 사용됩니다.

이것은 큰 문제였으며 RISC 하드 와이어 및 마이크로 코드를 사용한 CISC였습니다.

이제 CISC에 대한 마이크로 아키텍처, 최소 x86 (사용중인 모든 CISC가 아니라면, IBM 메인 프레임이 살아남은 유일한 다른 CISC; 마이크로 컨트롤러는 예외 일 수 있음)은 명령을 마이크로 옵스 (마이크로 / RISC와 유사한 작업)로 분류하여 일정을 벗어남 원래 마이크로 코드와 달리 주문.

RISC는 심지어 새로운 ARM (처음에는 없었 음)과 같이 그렇게 할 수 있으므로 차이는 예전보다 적습니다.

원래 ARM은 부동 소수점을 제외하고는 너무 복잡하여 정수 나누기 명령어가 없었습니다. 이제 부동 소수점이 본질적으로 복잡하고 모든 주요 RISC CPU가 최대 제곱근 및 삼각법 명령을 지원하므로 RISC에서 R에 대한 감소 된 [복잡성]은 덜 적용됩니다.


대답 2:

CISC는 주어진 명령 크기에서 최대한 많은 작업을 수행하도록 최적화되었습니다. CPU에 캐시가 없었기 때문에 메모리에서 명령어를 읽는 데 여러 번의주기가 걸리므로 상태 변경이 많은 복잡한 명령어는 크기가 작 으면 문제가되지 않았습니다.

RISC는 * do *에 명령 캐시가 있고 병목 현상을 변경하는 CPU에 최적화되어 있습니다. 캐시는 정렬 된 한주기마다 64 비트 및 128 비트의 데이터를 쉽게 제공 할 수 있습니다. 갑자기 종속성이없는 한주기 당 1 개 또는 2 개의 명령어를 실행할 수 있으므로 단일 상태 변경 만 유발하는 깔끔한 명령어가 훨씬 빨라집니다.


대답 3:

CISC는 주어진 명령 크기에서 최대한 많은 작업을 수행하도록 최적화되었습니다. CPU에 캐시가 없었기 때문에 메모리에서 명령어를 읽는 데 여러 번의주기가 걸리므로 상태 변경이 많은 복잡한 명령어는 크기가 작 으면 문제가되지 않았습니다.

RISC는 * do *에 명령 캐시가 있고 병목 현상을 변경하는 CPU에 최적화되어 있습니다. 캐시는 정렬 된 한주기마다 64 비트 및 128 비트의 데이터를 쉽게 제공 할 수 있습니다. 갑자기 종속성이없는 한주기 당 1 개 또는 2 개의 명령어를 실행할 수 있으므로 단일 상태 변경 만 유발하는 깔끔한 명령어가 훨씬 빨라집니다.