_- 이래저래 정리하기가 귀찮다... 여기저기에서 봤던걸 그냥 써야겠다..;
흠.. -_- ㅋㅋㅋ
* CISC (Complex Instruction Set Computer)
- 명령어가 가변적, 복잡
- 가능한한 명령어의 길이는 짧게, 명령어의 디코딩(Decoding) 속도는 빠르게, 메모리는 더 적게 사용 하는 구조
- 하나의 프로세서가 일련의 명령어를 순차적으로 처리하기에 좋음
- CPU 동작 속도가 높아짐에 따라 성능이 비례로 증가
- 32비트 프로세서인 80386까지도 아무런 문제없이 적용된 기술, 완벽한 하위 호환성을 유지.
- 80486이 등장하면서 CISC의 문제점이 드러남
- clock은 한계가 있기 때문에 단순히 CPU의 clock을 높이는 방식으로 성능 향상을 기대 할 수 없음
- 한 번에 여러 개의 명령어를 동시에 수행 할 수 있는 기술이 필요
(즉, 동일한 클럭에서 두 개의 명령어를 한 번에 처리 하면 두 배의 성능이 향상)
- 하지만, 슈퍼스칼라(Super Scalar) 구조에서는 명령어의 길이가 가변적이기 때문에 순차적으로 해석해야 하고,
조건/비조건 분기가 자주 등장하기 때문에 여러개의 명령어를 처리하기에는 적합하지 않다.
- 펜티엄부터 RISC86이라는 기법을 사용(AMD의 인텔 호환 CPU에서 사용된 기술)
- 명령어의 해석 부분을 기존의 슈퍼 스칼라 방식으로 유지하면서 독립된 장치로 설계.
- 연속적으로 고속으로 명령어를 RISC 방식으로 변환시키는 것
- 실제로 연산을 처리하는 장치는 RISC 방식으로 처리, 여러개의 명령어를 처리할 수 있도록 한 방식.
* RISC(Reduced Instruction Set Computer)
- 1970년대에 등장한 방식. 최신 프로세서의 핵심 기술
- CPU에서 수행하는 모든 동작의 대부분이 몇개의 명령어 만으로 가능하다는 사실을 전제
- CPU는 미리 정해져있는 고정된 길이의 명령어를 사용하기 때문에 해석 속도가 빠르고 여러 개의 명령어를 처리하기에 적합
- 분기 위치가 정해져 있고, 비순차 처리도 가능
- 처리 비트 단위가 변하거나 CPU의 구조가 조금만 바뀌어도 하위 프로세서와의 호환성이 떨어지는것이 문제
- 하위 컴퓨터의 표준이 도리만한 호환명령어라는 개념이 없고, 프로세서의 단계에 따라 최적의 명령어가 정해져 있기 때문
- 명령어가 전부 1WORD 길이로 짧고, pipeline과 슈퍼스칼라를 통해서 멀티 태스킹이 가능하므로 CISC에 비해 많은 레지스터를 가지고 있다
- 인텔과 경쟁하며 제품을 개발하던 모토로라의 프로세스를 사용한 애플의 매킨토시 컴퓨터에는 68계열의 프로세서가 장착, 이 프로세서가 CISC 방식을 채택하고 있다. 모토로라의 RISC계열은 88계열이 있고, 인텔에서는 x60계열이 있다.
인텔 cpu기반으로 개발된 프로그램은 매킨토시에서 사용할 수 없는데, 이것은 cpu의 구조가 다르기 때문이다.
- RISC 방식의 대표적인 CPU인 모토로라 68계열은 소프트웨어의 호환성 결여 때문에 인텔에 비해 뛰어난 성능을 가지고 있지만, 사용자 확보에 실패하여 워크스테이션 중심으로 많이 사용
즉,
CISC : 복잡한 프로그램을 적은 수의 명령어로 구성가능, 명령어가 많음(프로그래머가 따로 만들 필요 없음)
/ 복잡한 회로, 가격 비쌈, 전력 소모 많음, 느림, 가변적인 명령어 길이
RISC : 간단한 회로, 명령어 단순, 수행 속도가 빠름, 저렴, 레지스터가 많음
/ 복잡한 명령처리위해서 많은 명령어 실행, 필요한 명령어 만들어야함
- 여러 검색 사이트_- 참고.