Arm 아키텍처를 구성하는 기능을 이해하려면 먼저 무엇을 알아야 할까요? Arm 코어에 내장된 레지스터입니다. 레지스터를 잘 알려면 무엇을 알아야 할까요? 레지스터들이 어떻게 구성돼 있고 어떤 방식으로 사용되는지 파악하면 레지스터를 잘 안다고 말할 수 있습니다.
Arm 아키텍처에서 정의된 기능들은 "레지스터를 어떻게 변경하고 설정할까?"가 그 실체이고 정체입니다.
메모리 아키텍처 관점으로 레지스터는 무엇일까요? Arm 코어가 사용하는 저장 매체 중에 가장 속도가 빠른 게 레지스터입니다. 레지스터 다음으로 속도가 빠른 저장 매체로 캐시와 RAM을 주로 언급합니다. 캐시나 RAM을 사용하는 것보다 되도록 레지스터를 사용해 데이터를 연산하면 성능을 최적화할 수 있습니다.
그럼 레지스터는 어떻게 표기할까요? 전통적으로 Arm 아키텍처에서 레지스터는 R 혹은 r과 숫자를 이용해 표현합니다. r1은 레지스터 1 혹은 r1 레지스터라고 합니다. 이 규칙은 Armv7 아키텍처에 정의된 레지스터에 적용됩니다.
그런데 Armv8 아키텍처에서는 레지스터는 X 혹은 x와 숫자와 함께 표현됩니다. x19는 레지스터 19 혹은 x19 레지스터라고 부릅니다.
'시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 > 3장: 레지스터' 카테고리의 다른 글
[Arm프로세서] Armv7: SPSR(Saved Program Status Register) 레지스터란 (0) | 2023.06.10 |
---|---|
[Arm프로세서] Armv7: CPSR(Current Program Statue Register) 레지스터란 (0) | 2023.06.10 |
[Arm프로세서] Armv7: 범용 레지스터에서 뱅크드 레지스터란 (0) | 2023.06.10 |
[Arm프로세서] Armv7: 범용(General Purpose) 레지스터란 (0) | 2023.06.10 |
[ARM] 전원을 키면 처음에 어디서 무엇을 실행할까[1]: PC 레지스터 (0) | 2023.06.09 |