ARM 이란 CPU 프로세서의 종류 중 RISC 프로세서의 한 종류이다.
스마트폰, 태블릿pc, 라즈베리파이, 아두이노 같은 모바일기기나 iot기기에서의 대부분의 CPU는 ARM프로세서로 이루어져 있다.
상세보기 : (http://navercast.naver.com/contents.nhn?rid=122&contents_id=19411)
스마트폰 같은 모바일기기이나 IOT기기들이 매우 강세를 보이고 있기 때문에 ARM프로세서에 대해 아는 것이 중요하다.
ARM 프로세서의 레지스터는 intel기반의 x86기반의 레지스터와 다른점을 보인다.
본문에선 깊게 들어가지않고 레지스터들만 간단히 알아보겠다.
intel x86프로세서의 레지스터에 eax~edx가 있다면 ARM프로세서엔 r0~r15의 레지스터가 있다.
간단히 r0 ~ r15의 레지스터를 분류를 하게된다면.
레지스터 |
APCS |
역할 |
r0 |
a1 |
함수인자, 리턴값 전달, 범용 스크래치 레지스터 |
r1 |
a2 |
함수인자, 범용 스크래치 레지스터 |
r2 |
a3 |
함수인자, 범용 스크래치 레지스터 |
r3 |
a4 |
함수인자, 범용 스크래치 레지스터 |
r4 |
v1 |
변수용 레지스터 |
r5 |
v2 |
변수용 레지스터 |
r6 |
v3 |
변수용 레지스터 |
r7 |
v4 |
변수용 레지스터 |
r8 |
v5 |
변수용 레지스터 |
r9 |
v6/sb |
변수용 레지스터 / 스택 Limit주소저장 |
r10 |
v7/sl |
변수용레지스터 / RWRP 컴파일 베이스 어드레스 저장 |
r11 |
fp |
이전버전 ARM 컴파일러의 FP(Frame Pointer) |
r12 |
ip |
범용 스크래치 레지스터 |
r13 |
sp |
스택의 현재위치를 저장하고 있는 레지스터 |
r14 |
lr |
링크 레지스터, 복귀 주소를 저장하고있는 레지스터 |
r15 |
pc |
Program Counter(PC) |
*pc = 사용된 주소 + 4byte
'ARM' 카테고리의 다른 글
ARM - Thumb (0) | 2016.09.09 |
---|