본문 바로가기

무언가 만들기 위한 지식/ARM Processor

CISC/RISC


명령어의 집합의 구조와 특징에 따라 프로세서의 구조는 CISC와 RISC 두가지로 분류된다.

- CISC(Complex Instruction Set Computer) : 명령어가 복잡하기 때문에 명령어 해석에 시간이 걸리며 회로도 또한 복잡하다. 명령어의 개수 자체도 많으며 명령어의 길이가 가변적이다. 풍부한 어드레싱 기능을 갖고 있어 명령의 직교성이 좋다.

메인 프레임이나 X86호환 프로세서, 모토로라사의 MC 680x0계열에서 사용하고 있다. 인텔의 펜티업 시리즈도 CISC라고는 하지만 내부적으로 복잡한 명령을 다시 단순한 명령들로 나누어 명령어 파이프라인에서 처리하기 때문에 실제 내부 작동 원리는 RISC와 같다고 한다.

- RISC(Reduced Instruction Set Computer) : 명령어의 수와 주소지정 방식을 최소화 하여 제어장치의 구조를 간단하게 구성한 프로세서 구조. 어셈블러 프로그래머의 편리성보다는 강력한 명령어를 통해 명령어 개수를 줄여 프로세서의 구조를 간단하고 빠르게 동작할 수 있도록 설계하였다. 고정 길이의 명령어를 사용하여 빠른 해석이 가능하다. 모든 연산은 하나의 클럭으로 실행되어 파이프라인을 기다리게 하지 않는다.
Load/Store 구조를 사용한다.
(기억장치에 대한 접근은 Load/Store 명령으로 제한, LD/ST외의 명령은 모두 레지스터내에서 처리)
전력소모가 적어 임베디드 프로세서에 채택되어 사용된다.
대표적으로 ARM, MIPS, SPARC, IBM PowerPC, DEC Alpha등이 있다.

※ 명령어 길이를 고정하면 파이프라인의 처리를 고속화할 수 있지만 최적화 과정이 복잡해진다.

ARM의 경우는 RISC 구조로 이루어져 있다.
필자가 느낀 가장 큰 특징은 역시 Load/Store구조로 이루어진 것과 명령어가 32bit로 고정된 체계를 지닌다는 것이다.
POP, PUSH 명령어가 존재하지 않고, Load/Store를 이용해 처리하는 부분도 이외로 명확하고 직관적으로 느껴졌다.
전에 사용한 SPARC도 RISC구조인데, 당시 명령어들의 크기가 일정하여 명령어 형식을 외우기 편하였다. ARM의 경우도 SPARC의 어셈블리랑 얼추 비슷하여 쉽게 적응이 가능했다. ^^

'무언가 만들기 위한 지식 > ARM Processor' 카테고리의 다른 글

DMA와 MMU  (0) 2010.02.20
Memory Mapped I/O  (1) 2010.02.20
MicroProcessor  (0) 2010.02.19
About ARM Processor & Develop Tool  (0) 2010.02.19
Big-Endian & Little-Endian  (0) 2009.04.11