ARM 프로세서를 배울 때 가장 혼돈되는 게 용어입니다. 먼저 ARM과 관련된 용어를 소개합니다.
 
ARM 아키텍처
 
아키텍처는 ARM 프로세서를 설계하는 디자인을 의미하며, 프로그래머 모델을 의미합니다. ARM 아키텍처는 레지스터, 메모리 구조, ARM 어셈블리 명령어, 함수 호출 규약과 같이 소프트웨어 개발자가 알아야 하는 주요 기능입니다. 이 책에서는 ARMv7(32비트)와 ARMv8(64비트: Aarch64) 아키텍처 기반의 프로그래머 모델을 설명합니다.
 
ARM 프로세서
 
ARM 프로세서는 용어 그대로 디바이스를 뜻합니다. ARM 프로세서는 ARM 아키텍처에 의존적인데, 같은 아키텍처 버전 기반의 ARM 프로세서들은 같은 명령어를 사용합니다.
 
다음 표는 ARM 아키텍처와 ARM 프로세서의 관계를 나타냅니다.
 
표 1.1 ARM 아키텍처와 ARM 다바이스의 종류
 
예를 들어 Cortex-A7 ARM 프로세서와 Cortex-A9 프로세서는 같은 ARM 아키텍처(ARMv7)에 포함되며 둘 다 ARMv7 아키텍처에서 제공하는 같은 명령어를 사용할 수 있습니다.
 
하지만 ARM 프로세서를 설계하는 마이크로프로세서 혹은 하드웨어 관점으로 같은 아키텍처에 속한 ARM 프로세서의 내부 구성은 다를 수 있습니다. 예를 들어 캐시의 구성이나 파이프라인이 다른 방식으로 구현할 수 있습니다.  
 
ARM 코어
 
ARM 프로세서를 'ARM 코어'라고 부르는 경우가 있는데, ARM 코어는 ARM 아키텍처의 주요 기능을 활용해 구현된 ARM 프로세서의 핵심 부분을 뜻합니다. ARM 코어의 '코어'는 CPU 코어의 '코어'와 비슷한 의미를 지닙니다.
 
이 블로그의 포스트에서는 'ARM 코어의 레지스터'와 같이, 'ARM 코어'란 용어를 자주 사용하는데, 이는 ARM 아키텍처의 핵심 부분을 의미합니다.
 
  
 

+ Recent posts