본문 바로가기
C++ 200제/코딩 IT 정보

ARM 프로세서(Processor)란? 특징과 이해하기 (CPU Core)

by vicddory 2018. 9. 3.

ARM 프로세서(Processor)란? 특징과 이해하기 (CPU Core)


ARM Processor, 프로세서 특징

일반적으로 프로세서(Processor, ARM 프로세서 포함)란, 이론적으로 메모리에 저장된 명령어들을 실행하는 유한 상태 오토마톤(Finite-State Automaton)을 의미한다.


시스템의 상태는 프로세서에 있는 레지스터의 값들과 메모리에 저장된 값들에 의해 결정된다. 각각의 명령어는 이들의 상태 변화를 정의하며 또한 다음번에 실행될 명령어를 결정한다.


1990년, 영국에서 설립된 ARM사의 ARM 프로세서Processor는 기존의 많은 프로세서의 특징들을 고려하여 설계되었다. 먼저, 휴대형 임베디드 시스템(Portable Embedded System)은 일종의 배터리 전력을 요구한다.

그래서 ARM 프로세서는 전력 소모를 줄여, 배터리로 동작할 수 있게 하려고 작은 다이(die) 사이즈로 설계되었는데, 이러한 특징은 모바일기기나 PDA와 같은 응용 시스템에 가장 중점이 되는 필수 요구사항이기도 하다.


임베디드 시스템은 비용이나 물리적인 크기의 제약으로 제한된 메모리를 가지고 있으므로 코드의 고집적도는 또 하나의 주요한 요구 사항으로서, 모바일폰과 외부 저장 장치처럼, 제한된 메모리를 보드에 내장하고 있는 애플리케이션들에게 코드의 고집적도는 빼놓을 수 없는 부분이다.


ARM 프로세서 특징arm processor의 이해


또한 임베디드 시스템은 가격에 민감하므로 일반적으로 속도가 느린 저가격의 메모리 소자를 사용한다.


특히 디지털카메라와 같은 대량 생산품들은 저가격의 메모리 소자를 사용하면 상당한 비용이 절약된다. 임베디드 시스템에서 고려해야 할 또 다른 주요 사항은 임베디드 프로세서Processor가 차지하는 다이 사이즈를 줄이는 것이란 특징도 있다.


ARM 프로세서 이해하기 (CPU Core)

SoC(System on Chip)를 위해서는, 임베디드 프로세서에 사용되는 면적이 작을수록, 다른 주변 장치를 위한 공간이 늘어나기 때문이다.

이는 제품을 만드는 데 다른 부품을 칩 외부에 추가로 부착해야 할 필요성을 감소시키기 때문에 설계 및 제조 비용을 줄일 수 있다.


ARM 프로세서 내에 하드웨어 디버그 기술을 포함하고 있으므로, 소프트웨어 엔지니어들은 프로세서Processor가 코드를 실행하는 동안 내부에서 어떤 일들이 일어나는지를 살펴볼 수 있게 된다.


따라서, 소프트웨어 엔지니어들이 개발 과정에서 발생하는 문제점을 더욱 신속히 해결할 수 있어서, 결과적으로 타임 투 마켓(Time-to-Market)에 직접적으로 영향을 주어, 전체적인 개발 비용을 줄여주는 효과 및 특징이 있다.


ARM은 RISC(Reduced Instruction Set Computer) 아키텍처를 기반으로 하나, ARM 코어는 주요 애플리케이션들이 임베디드 시스템에 국한되어 있으므로 순수한 RISC 아키텍처를 채택하고 있지는 않다. 어떤 면에서 ARM 코어의 장점은 RISC의 개념을 다소 벗어났다는 데 있기도 하다.


오늘날 시스템에서의 핵심 요소는 프로세서 그 자체의 속도가 아니라, 전체적으로 효율적인 시스템 성능 및 전력 소모에 근원을 두고 있기 때문이다. 아래 표는 순수한 RISC와 ARM 명령어 세트의 차이와 그에 따른 ARM 프로세서의 장점이다.


arm processor의 이해[arm processor의 이해]


ARM 프로세서가 RISC 보다 나은점 (장점)


  가변 사이클 명령어

 메모리에서 연속적으로 레지스터를 송신.

 그로 인해 실행 사이클이 고정적이지 않아 코드 집적도가 향상.

 인라인 배럴 시프터

 (Inline Barrel Shifter)

 입력 레지스터 중 하나를 미리 처리해주는 하드웨어 컴포넌트.

 코어의 성능과 코드 집적도가 향상.

 16비트 Thumb 명령어

 32비트 고정 길이 명령어와 함께 사용되기에 코드 집적도가 30%가량 향상.

 조건부 실행

 특정 조건 시에만 실행되기에 분기 명령어 사용을 줄여 성능이 향상.

 DSP 확장 명령어

 (DigitalSignalProcessor)

 16 x 16 비트 곱셈 처리를 위한 DSP가 추가되어 수행 속도 향상.



ARM 프로세서(Processor)란? 특징과 이해하기 (CPU Core)

댓글