배우고픈 공돌이

ARM이란? 본문

ARM/Tutorial

ARM이란?

내 마음 아홉수 2017. 4. 27. 18:43

개념


ARM은 Advanced RISC Machine의 약어(語)이다.


CISC과는 다르게 RISC는 CPU에서 동작하는 대부분이 몇개의 명령어 만으로 가능하다.


또한 고정된 길이의 명령어를 사용하기에 여러개의 명령처리가 가능하다는 점이 강점이다.


※ 고정된 명령어이기 때문에 디코딩의 속도가 빠르며, 각 명령어가 한 클럭에 동기되기 때문에 파이프라인에 최적화가 된다.


하지만, CISC에 비해 컴파일 과정이 복잡하고 고정된 명령어의 길이 때문에 코드효율이 낮다.



아키텍처 구조



하버드 아키텍처

출처 : 위키백과


아키텍처 구조는 폰 노이만과 하버드로 나뉜다.


폰 노이만의 경우는 프로세서와 모든 디바이스 메모리가 공통의 데이터 버스, 어드레스 버스, 제어 버스를 사용하여


하드웨어를 재배치할 필요가 없고 범용성이 뛰어남에 따라 현대 PC의 구조 모델이다.


하지만, 순차적 데이터 처리에 있어 강점이 있지만 고속의 병렬처리를 하기에는 데이터의 병목현상과 메모리 지연 현상이


생기기에 이를 보완한 구조가 필요하게 되었다.


그 것이 바로 RISC 머신의 하버드 구조이다.


버스가 많아짐에 따라 복잡하여 설계가 어렵지만, 명령어 메모리를 따로 사용하여 상대적으로 적은 명령어를 가지고


장치에 따른 버스가 나뉨에 따라 고속의 병렬처리가 가능해진다.




ARM의 MCU 패밀리


ARM 프로세서 제품군

출처 : 기글 하드웨어 뉴스


2009년 ARM 포럼에서 ARM11 다음 프로세서를 목적별로 특징을 가진 패밀리를 출시하여 정리하였다.


패밀리의 명칭도 ARM이 아닌 Cortex로 바꿨다.


Cortex-A 패밀리 : Advanced : 고성능의 애플리케이션 용


MMU가 탑재되어 OS의 지원이 가능하고, 이 이유로 셋톱박스나 안드로이드에 사용한다.


Cortex-R 패밀리 : Real-Time : 저전력 고속 처리 장치 용


메모리 패리티, 오류 정정 기능 등을 차용한 실시간 시스템용 프로세서다. 프린터, 디지털카메라와 같이 고속처리가 필요한 분야에 사용한다.


Cortex-M 패밀리 : Micro_controller : 범용 컨트롤 프로세서 용


고성능을 추구하던 ARM에서 마이크로 프로세서 시장을 노린 모델이다. 낮은 비용과 저전력을 구현하여 소형 임베디드 제품에 사용한다.


※ A나 R은 보통 기업에서 개발용, 연구용으로 사용하는 하이엔드 급 모델로, 보통 학습용으로 사용하는 제품군은 M 패밀리다.






'ARM > Tutorial' 카테고리의 다른 글

[교육] ARM 프로세서와 명령어  (0) 2017.09.09
[교육] ARM 개요  (0) 2017.09.04
stm32cubemux 사용  (0) 2017.07.31
STM32F4 디스커버리 보드 : LED blink  (0) 2017.05.08
ARM 컴파일과정  (0) 2017.04.29
Comments