Arm 아키텍처를 구성하는 기능을 이해하려면 먼저 무엇을 알아야 할까요? Arm 코어에 내장된 레지스터입니다. 레지스터를 잘 알려면 무엇을 알아야 할까요? 레지스터들이 어떻게 구성돼 있고 어떤 방식으로 사용되는지 파악하면 레지스터를 잘 안다고 말할 수 있습니다.
 
Arm 아키텍처에서 정의된 기능들은 "레지스터를 어떻게 변경하고 설정할까?"가 그 실체이고 정체입니다.
 
메모리 아키텍처 관점으로 레지스터는 무엇일까요? Arm 코어가 사용하는 저장 매체 중에 가장 속도가 빠른 게 레지스터입니다. 레지스터 다음으로 속도가 빠른 저장 매체로 캐시와 RAM을 주로 언급합니다. 캐시나 RAM을 사용하는 것보다 되도록 레지스터를 사용해 데이터를 연산하면 성능을 최적화할 수 있습니다.  
 
그럼 레지스터는 어떻게 표기할까요? 전통적으로 Arm 아키텍처에서 레지스터는 R 혹은 r과 숫자를 이용해 표현합니다. r1은 레지스터 1 혹은 r1 레지스터라고 합니다. 이 규칙은 Armv7 아키텍처에 정의된 레지스터에 적용됩니다. 
 
그런데 Armv8 아키텍처에서는 레지스터는 X 혹은 x와 숫자와 함께 표현됩니다. x19는 레지스터 19 혹은 x19 레지스터라고 부릅니다.
 

+ Recent posts