CPU는 대표적으로 CISC(Complex Instruction Set Computer)와 RISC(Reduced Instruction Set Computer)으로 나뉜다.
CISC와 RISC로 나뉘는 기준은 CPU의 명령어 셋에 따라 나뉘게 된다.
CISC와 RISC를 비교하게 된다면
CISC
- 대부분 프로세싱을 하드웨어로 처리하여 컴파일러 작성이 쉽다.
- 명렁어 집합이 크고, 가변길이의 다양한 명령어를 가진다.
- 연산에 사용되는 명령어들을 마이크로 코드 형식으로 탑재 하였다.
- 명령어 개수의 증가에 따라 프로세서 내부 구조가 복잡해지고 고속 프로세서를 만들기가 어렵다.
- 전력 소모가 큰 편이다.
- 인텔 계열이다.
RISC
- 복잡한 프로세싱은 소프트웨어로 처리하여 CPU 명령어 실행속도가 빠르다.
- CISC의 단점을 극복하기 위해 고안된 프로세서다 (어찌보면 더 상위호완 프로세서임)
- CISC 방식은 사용되는 모든 명령어들은 내장하고 있지만 주로 사용되는 명령어들은 10%이하에 불과하다.
- 적은 수 의 명령어만으로 명령어 집합을 구성하고 있다.
- 명령어가 고정길이이다.
- 명령어 대부분이 1 머신 사이클로 이루어져 있다.
- 어드레싱 모드가 적다.
- 복잡한 연산도 적은 수 의 명령어들을 조합하는 방식으로 수행한다.
- 마이크로프로그램을 최소화하고 와이어 로직으로 제어한다.
- 파이프라인을 효과적으로 사용하기위해 컴파일러 최적화가 필수이다.
- SPARC, MIPS, ARM, etc
*마이크로코드란?
- 하드웨어 수준의 명령어 or 자료구조
- 특정한 고속메모리에 위치함.
- 기계어를 일련의 상세한 회로 수준의 동작들로 변환시킴
- 기계어 하부의 전자회로와 분리하여, 전자회로 변경에 부담이 없는 명령어 설계 및 변경을 가능하게 한다./
R.1 http://blog.naver.com/brickbot/220436614987
'OS > theory' 카테고리의 다른 글
스레드(thread) (0) | 2016.08.30 |
---|---|
프로세스(Process) (0) | 2016.08.30 |