ARM core에 전원이 인가되면 가장 처음으로 실행하는 것은 메모리의 0번지(0x0)이다.
특정 명령어로 제한되어있는 것은 아니고,
전원이 인가되면 ARM Core는 자동으로 0번지에 있는 명령어를 실행하도록 설계돼있다.
ARM CPU 내부에는 PC(Program Counter)라고 부르는 중요한 레지스터가 존재한다.
이 레지스터의 역할은 CPU가 명령어를 읽으려고 할 때 읽어올 명령어의 위치를 알 수 있게 명령어의 위치를 담고 있는 것이 역할이다.
CPU가 명령어를 읽고 나면 PC를 한 칸 증가시키는데, 여기서 1칸은 ARM명령어의 크기에 해당하는 4byte를 의미한다.
즉 PC = 0x0에서 PC = 0x4가 되는 것이다.
이 때 처음 실행되는 명령어의 경우 RAM에 저장할 수 없기 때문에 ROM이나 Flash 메모리에 저장하여야 한다.
RAM에 저장하면 휘발되어 안에 들어있는 값이 전부 날아가게 될 것이다.
'펌웨어 > ARM' 카테고리의 다른 글
[ARM 아키텍처] 32bit ALU 가산 감산의 원리 (0) | 2020.10.02 |
---|---|
[ARM 아키텍처] 32bit vs 64bit의 의미 (0) | 2020.09.29 |
[ARM 아키텍처] CISC vs RISC (0) | 2020.09.29 |
댓글