주요 차이점 : RISC와 CISC의 주요 차이점은 각각의 명령어가 수행하는 계산 사이클의 수입니다. 사이클 수의 차이는 지침의 복잡성과 목표에 따라 달라집니다.
RISC는 작거나 축소 된 명령어 세트입니다. 여기에서 각 명령어는 매우 작은 작업을 수행하기위한 것입니다. RISC 시스템에서 명령 세트는 간단하고 기본이며보다 복잡한 명령을 작성하는 데 도움이됩니다. 각 명령어의 길이는 동일합니다. 명령은 함께 결합되어 복잡한 작업을 단일 작업으로 수행합니다. 대부분의 명령어는 한 머신 사이클로 완료됩니다. 이 파이프 라이닝은 RISC 시스템의 속도를 높이는 데 사용되는 핵심 기술입니다.
RISC는 동시에 거의 명령어를 수행하지 않도록 설계된 마이크로 프로세서입니다. 작은 명령어를 기반으로하는이 칩들은 더 적은 트랜지스터를 필요로하기 때문에 트랜지스터를 설계하고 생산하는 것이 더 저렴해진다. RISC의 다른 기능은 다음과 같습니다.
- 디코딩 요구 감소
- 통일 된 명령 세트
- 동일한 범용 레지스터
- 단순 어드레싱 노드
- 하드웨어의 데이터 유형은 거의 없습니다.
또한 코드를 작성하는 동안 RISC를 사용하면 프로그래머가 불필요한 코드를 제거하고 사이클을 낭비하지 않아도됩니다.
CISC라는 용어는 '복잡한 명령어 세트 컴퓨터'를 나타냅니다. 단일 단계 명령을 기반으로 한 CPU 설계 전략으로 다중 단계 작업을 수행 할 수 있습니다.
CISC 컴퓨터는 프로그램을 단락 시켰습니다. 복잡한 명령이 많아서 실행하는 데 오랜 시간이 걸립니다. 여기에서는 하나의 명령어 세트가 여러 단계로 설명됩니다. 각 명령어 세트에는 300 개 이상의 개별 명령어가 있습니다. 대부분의 명령은 2 ~ 10 기계 주기로 완료됩니다. CISC에서는 명령 파이프 라이닝을 쉽게 구현할 수 없습니다.
CISC 기계는 프로그램 컴파일러의 단순화를 기반으로 우수한 성능을 발휘합니다. 하나의 명령어 세트에서 고급 명령어의 범위를 쉽게 이용할 수 있기 때문입니다. 이들은 하나의 간단한 명령어 세트로 복잡한 명령어를 설계합니다. 산술 연산이나 메모리 및 메모리 저장소의로드와 같은 저수준 연산을 수행합니다. CISC를 사용하면 컴퓨터 하드웨어에 대규모 주소 지정 노드와 더 많은 데이터 유형을 쉽게 배치 할 수 있습니다. 그러나 CISC는 RISC보다 비효율적 인 것으로 간주됩니다. 왜냐하면 순환을 낭비하게 만드는 코드를 제거하는 것이 비효율적이기 때문입니다. 또한 하드웨어의 복잡성 때문에 마이크로 프로세서 칩을 이해하고 프로그래밍하기가 어렵습니다.
RISC와 CISC의 비교 :
RISC | CISC | |
두문자어 | 그것은 'Reduced Instruction Set Computer'의 약자입니다. | 'Complex Instruction Set Computer'의 약자입니다. |
정의 | RISC 프로세서는 주소 지정 노드가 거의없는 명령어 세트가 더 적습니다. | CISC 프로세서는 다수의 어드레싱 노드를 갖는 더 큰 명령어 세트를 갖는다. |
기억 장치 | 메모리 유닛이없고 명령을 구현하기 위해 별도의 하드웨어를 사용합니다. | 그것은 복잡한 지시를 구현하는 메모리 유닛을 가지고있다. |
프로그램 | 그것은 유선 프로그래밍 유닛을 가지고 있습니다. | 그것에는 마이크로 프로그래밍 유닛이 있습니다. |
디자인 | 복잡한 컴파일러 디자인입니다. | 그것은 쉬운 complier 디자인입니다. |
계산 | 계산이 빠르고 정확합니다. | 계산 속도가 느리고 정확합니다. |
디코딩 | 명령어 디코딩은 간단합니다. | 명령어 디코딩은 복잡합니다. |
시각 | 실행 시간은 매우 적습니다. | 실행 시간이 매우 깁니다. |
외부 메모리 | 계산에 외부 메모리가 필요하지 않습니다. | 계산을 위해 외부 메모리가 필요합니다. |
파이프 라이닝 | 파이프 라이닝이 올바르게 기능합니다. | 파이프 라이닝이 올바르게 작동하지 않습니다. |
연기 | 스톨은 대개 프로세서에서 줄입니다. | 프로세서는 종종 멈춘다. |
코드 확장 | 코드 확장이 문제가 될 수 있습니다. | 코드 확장은 문제가되지 않습니다. |
디스크 공간 | 공간이 절약됩니다. | 공간이 낭비됩니다. |
응용 프로그램 | 비디오 프로세싱, 통신 및 이미지 처리와 같은 하이 엔드 애플리케이션에 사용됩니다. | 보안 시스템, 가정 자동화 등과 같은 로우 엔드 애플리케이션에 사용됩니다. |