개념 및 정의
ISA(Intruction Set Architecture, 명령어 집합 설계) 갈래
명령어수, 형식(Type), 길이 등에 따라
- CISC(Complex Instruction Set Computer) : 다수의 단순 명령어를 하나의 복잡한 명령어로 통합 후 H/W 처리
- RISC(Reduced Instruction Set Computer) : 복잡한 명령어를 여러 개의 단순 명령어로 조합 후 H/W 처리
- EISC(Extended Instruction Set Computer) : 내부(CISC 기반 호환성), 외부(RISC 기반 고속처리) 분리
목적
- CISC : 코드 효율성과 호환성
- RISC : 고속 처리와 파이프라인 효율 향상
- EISC : 호환성(CISC)과 효율성(RISC) 동시에 확보
사용례
- CISC : Intel x86계열 CPU
- RISC : ARM, MIPS, SPARC 등
- EISC : intel x86, CISC를 Micro-Op로 RISC로 변환 실행
변천과정

발전방향
상호융합 EISC(외부 CISC, 내부 RISC)
명령어 형식

EISC는 외향상 CISC에 가깝다.
집합구조의 비교
| 구분 | CISC | RISC |
|---|---|---|
| 명령 길이 | 가변 길이 | 고정 길이 |
| 명령어 수 | 많음 | 적음 |
| Operand 구조 | 복잡 | 단순 |
| CPI | 1보다 큼 | 1에 가까움 |
| 메모리 접근 | 직접 가능 | Load/Store 방식 |
| 메모리 효율 | 높은 밀도 | 낮은 밀도 |
| 주소 지정 방식 | 다양 | 제한적 |
| 레지스터 수 | 적은 편 | 많은 편 |
| Decode | 복잡 | 단순 |
| 컴파일러 | 단순(H/W강조) | 복잡 |
| 실행 클럭 | 가변 | 대부분 1클럭 |
| 파이프라인 | 비효율적 | 효율적 |
| 활용 사례 | Intel x86 | ARM, MIPS |
명령어 실행 예시
[참고] RISC는 기본적으로 메모리는 레지스터로 LOAD밖에 못하고, 연산은 레지스터끼리 직접 해야 함.
X=(A+B)*(C+D)
** RISC 형식 **
LOAD R1, A
LOAD R2, B
LOAD R3, C
LOAD R4, D
ADD R1, R1, R2
ADD R3, R3, R4
MUL R1, R1, R3
STORE X, R1
** CISC 형식 **
ADD R1, A, B
ADD R2, C, D
MUL X, R1, R2
명령집합 산정방법
- Multicore 적용 시에는 CISC, 단순 System에서는 RISC
- 다양한 명령처리(16/32/64bit) 및 저전력은 EISC 적용

답글 남기기