카테고리 없음
[컴퓨터구조] CISC, RISC
파송송
2022. 11. 22. 23:19
728x90
파이프라이닝 하기 쉬운 명령어를 써야 CPU 성능이 좋아지는데 파이프라이닝 하기 쉬운 명령어란 무엇일까요?
명령어 집합
- 명령어는 연산 코드와 오퍼랜드로 이루어져 있는데 이 세상 모든 CPU들이 똑같은 명령어를 실행할까요?
- 그렇지 않음! 명령어의 세세한 생김새, 명령어로 할 수 있는 연산, 주소 지정 방식 등이 조금씩 차이 남
- 명령어 집합(명령어 집합 구조 ISA): CPU가 이해할 수 있는 명령어들의 모음
- intel은 x86, x86-64 ISA를 이해할 수 있고, apple은 ARM ISA를 이해할 수 있음
- 그렇기에 intel에서 만든 실행 파일을 apple에서 하려면 실행이 안됨
- ISA사 달라지면 CPU가 이해하는 명령어, 어셈블리어도 달라짐
CISC Complex Instruction Set Computer
- 복잡한 명령어 집합을 활용하는 컴퓨터(CPU라고 봐도 무방함)
- ISA의 종류 중 하나인 x86, x86-6s는 대표적인 CISC 기반의 ISA임
다양하고 강력한 기능의 명령어 집합을 활용하기 때문에 명령어의 형태와 크기가 다양한 가변 길이 명령어를 활용함
상대적으로 적은 수의 명령어로도 프로그램을 실행할 수 있다는 것을 의미함
위의 장점 덕분에 메모리를 아끼며 개발했던 시기에는 인기가 좋았으나 활용하는 명령어가 워낙 복잡하고 다양한 기능을 제공하기 때문에 명령어의 크기가 실행 시간이 일정하지 않았기에 명령어 파이프 라인을 구현하는데 힘듦
(파이프라인을 구현하기 위해서는 가급적 1 클럭으로 각 단계에 소요되는 시간을 동일하게 해주는 것이 좋음)
현대의 CPU에서 명령어 파이프라인은 핵심 기술이기에 CIS기반 CPU는 성장에 한계가 있음
RISC Reduced Indtruction Set Computer
- 빠른 처리를 위해 명령어 파이프 라인을 활용해야 한다
- 이를 위해 명령어의 길이와 수행 시간이 짧고 규격화돼야 함
- 자주 쓰는 명령어만 줄곧 사용하기에 복잡한 기능을 지원하는 명령어를 추가하기보다 자주 쓰이는 기본적인 명령어를 작고 빠르게 만드는 것이 중요하다
라는 아이디어를 가지고 등장한 것이 RISC이다.
고정 길이 명령어를 활용하여 명령어가 규격화되어 있고 하나의 명령어가 1 클럭 내외로 실행되기 때문에 RISC 명령어 집합은 명령어 파이프라이닝에 최적회 되어있음
RICS는 메모리에 직접 접근하는 명령어를 load, store 2 개로 제한할 만큼 메모리 접근은 단순화하고 최소화함 그렇기 때문에 CISC보다 주소 지정 방식의 종류가 적음
그 대신 레지스터를 적극적으로 활용하기 때문에 레지스터를 이용하는 연산이 많고 범용 레지스터 개수가 많음
CISC | RISC |
복잡하고 다양한 명령어 | 단순하고 적은 명령어 |
가변 길이 명령어 | 고정 길이 명령어 |
다양한 주소 지정 방식 | 적은 주소 지정 방식 |
프로그램을 이루는 명령어의 수가 적음 | 프로그램을 이루는 명령어의 수가 많음 |
여러 클럭에 걸쳐 명령어 수행 | 1클럭 내외로 명령어 수행 |
파이프라이닝하기 어려움 | 파이프라이닝하기 쉬움 |
728x90