1. CPU 명령어 집합 (Instruction Set) 이란?
ㅇ 명령어 집합
- 명령어들로 구성된 어휘 집합을 말함
ㅇ CPU 명령어 집합
- 특정 CPU 마다, 특정 명령어 어휘 집합 만을 수행할 수 있음
. 특정한 구조(특히,컴퓨터구조)로써 설계된, 그 설계 관점에 따라 정의된 명령들의 집합
.. 특정 CPU를 위해 정의된 명령어 모음
ㅇ 결국, 프로그래밍에 관련된 컴퓨터 구조의 일부로써, 상호작용하는 다음 사항들을 반영하게 됨
- 명령어 형식, 명령어 Opcode, 레지스터, 주소지정방식, 메모리 구조, 외부 I/O 장치 등
- 데이터타입, 인터럽트 및 예외 처리 등
- 명령어가 레지스터와 메모리에 미치는 영향, 그리고 명령어 실행을 제어하는 알고리즘 등
2. CPU 명령어 집합 구조에 대한 추상화 : ISA (Instruction Set Architecture)
ㅇ 하드웨어와 저수준 소프트웨어 간 인터페이스에 대한 추상화의 일종
3. CPU 명령어 집합의 설계 관점
ㅇ (고려) 명령어 집합의 설계와 CPU 설계 등 간의 상호 `연관성`
- 명령어 집합의 설계는, CPU 설계 상의 핵심적인 요소 임
. 각 명령어 마다 CPU에 특정 회로가 필요하며,
. 지원 명령어가 많을수록 CPU 복잡도가 증가됨
- 하드웨어 표현 방식, 상위 수준 언어 와의 관계성
ㅇ (목표) 명령어 집합의 설계 상의 `원칙/목표`
- 컴퓨터 하드웨어 및 컴파일러 제작의 용이성/간결성
- 최대 성능 보장(처리속도) 등
ㅇ (방향) 명령어 집합의 CPU 설계 구조 상의 2가지 큰 `방향`
- 최소한의 명령어 집합 => RISC
- 많은 수의 다양하고 중복되는 명령어 집합 => CISC
ㅇ (의존) 명령어 집합의 `결정 요소`
- 연산 종류
. 실행에 필요한 종류, 개수, 복잡도 등
. 통상, 전송,처리,제어,입출력 4 종류의 연산으로 구성됨
- 데이터 유형
. 데이터 길이(처리 비트 수), 수의 표현 방식 (정수,부동소수점 등 ☞ 컴퓨터 수 체계) 등
- 명령어 형식
. 명령어 내 레지스터 필드 위치, 피연산자 개수 등
- 주소지정방식
. 기억장치 접근 단계 수 등