CPU는 다양한 제조사들이 있다. 규격과 기능 만듦새도 다 다르다.
그렇기 때문에 CPU가 이해할 수 있는 명령어 집합인 ISA가 CPU마다 다를 수 있다.
예를 들어 인텔의 CPU는 x86-64 ISA를 이해하고
애플의 CPU는 ARM ISA를 이해한다.
서로 다른 ISA를 이해하기 때문에 서로의 명령어를 이해할 수 없다.
이해하는 ISA가 달라지면 무엇이 달라지는가?
제어장치가 명령어를 해석하는 방식, 사용되는 레지스터의 종류와 개수, 메모리 관리 방법.... 많은 것들이 달라진다.
각 ISA마다 파이프라인, 슈퍼스칼라, 비순차적 명령어 처리를 사용할 때 유리한 ISA도 있고 아닌 경우도 있다.
CISC
CISC는 (Complex Instruction Set Computer)
복잡한 명령어 집합을 활용하는 컴퓨터를 의미한다.
대표적으로 인텔이 사용하고 있다. 다양하고 강력한 기능의 명령어 집합을 활용하기 때문에
명령어의 형태와 크기가 다양한 가변 길이 명령어를 활용한다.
강력한 기능의 명령어 집합을 활용하기 때문에 상대적으로 적은 수의 명령어로도 프로그램을 실행할 수 있다.
적은 수의 명령어로도 프로그램을 실행할 수 있기 때문에 메모리 공간을 절역할 수 있는 장점이 있다.
하지만 치명적인 단점있다.
명령어가 복잡하기 때문에 하나의 명령어를 실행하는 데에 여러 클럭 주기를 필요로 한다.
이는 다시말해 파이프라인을 구현하는데 큰 걸림돌이 된다.
파이프라인은 각각의 명령어들의 소요시간이 가급적 동일해야 효율이 높기 때문이다.
그렇다고 복잡한 명령어가 활용도가 높은 것이 아니기 때문에 CISC기반 CPU는 성장에 한계가 있다.
RISC
RISC는 (Reduced Instruction Set Computer)
CISC가 준 교훈은 2가지이다.
1. 빠른 처리를 위해 파이프라인을 활용해야한다 그러기 위해서는 명령어 길이와 수행 시간이 짤고 규격화되어 있어야 한다.
2. 자주 쓰이는 기본적인 명령어를 작고 빠르게 만드는 것이 중요하다.
RISC는 명령어의 종류가 적고 짧고 규격화되어있다. 때문에 고정 길이 명렁어를 활용한다.
이런 특성때문에 RISC는 파이프라이닝에 최적화되어 있다.
대표적으로 애플이 사용하고 있는 ARM이 RISC기반의 ISA이다.
'CS' 카테고리의 다른 글
명령어 병렬 처리 기법 (0) | 2024.03.26 |
---|---|
빠른 CPU를 위한 설계 기법 (0) | 2024.03.26 |
CPU의 작동 원리 (0) | 2024.03.12 |