명령어 집합
명령어 집합 (ISA): CPU가 이해할 수 있는 명령어들의 모음입니다.
CPU의 언어이자 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속입니다.
인텔의 CPU는 일반적으로 X86 명령어 집합을, 애플의 CPU는 일반적으로 ARM 명령어 집합을 따릅니다.
명령어 집합이 다르기 때문에 같은 소스코드를 컴파일 할지라도 나오게 되는 명령어가 다르기때문입니다.
CISC (Complex Instuction Set Computer)
복잡한 명령어 집합을 활용하는 컴퓨터(CPU)
x86, x86-64는 CISC 기반 명령어 집합 구조입니다.
명령어의 형태와 크기가 다양한 가변 길이 명령어를 활용합니다.
장점
- 다양한 명령어를 활용할 수 있다.
- 상대적으로 적은 수의 명령어로도 프로그램을 실행할 수 있다.
단점
- 명령어 파이프라이닝이 불리하다
- 복잡한 명령의 사용빈도가 낮다.
명령어가 워낙 복잡하고 다양한 기능을 제공 하기때문에 명령어의 크기와 실행되기까지의 시간이 일정하지 않습니다.
복잡한 명령에 때문에 명령어 하나를 실행하는데 여러 클럭 주기가 필요합니다.
RISC (Reduced Instruction Set Computer)
명령어의 종류가 적고, 짧고 규격화된 명령어를 사용입니다.
RISC는 고정 길이의 명령어 집합을 사용하는 것이 특징입니다.
장점
- 각 명령어가 한클럭에 실행되므로 파이프라인 성능에 최적화 된다.
- 고정된 명령어로 해석속도가 빠르고, 여러개의 명령어를 처리할 수 있다.
단점
- 소스코드를 기계어로 변환할 시 CISC 보다 길어진다.
참고자료
'CS > 컴퓨터구조' 카테고리의 다른 글
리틀 엔디안(Little-endian) 과 빅 엔디안(Big-endian) 이란? (0) | 2023.04.14 |
---|---|
패리티 비트 & 해밍 코드 (0) | 2023.04.04 |
CPU의 구조와 기능 (0) | 2023.04.04 |
컴퓨터 시스템의 개요 (0) | 2023.04.03 |
캐시 메모리의 쓰기 정책 / 버퍼와 캐시의 차이 (0) | 2023.04.02 |