Banked 레지스터...
Unbanked 레지스터...
은행된 레지스터? 은행안된 레지스터???
뱅크도 여러가지 뜻이 있더군요...
은행이라고 결론지을 수는 없지만 굳이 은행으로 풀자면...
은행에서 돈을 "인출"하는 것은 은행과 여러 고객과의 공통된 인터페이스 입니다.
A고객이든 B고객이든 "돈 줘요" 라고 동일한 말을 하지만 은행은 각기 다른 계좌에서 돈을 인출합니다.
이게 바로 Banked!! 은행된(?)!! 이란 뜻입니다.
예를 들어 bank 0번에는 저장공간이 3개 r0, r1, r2 이렇게 있다고 보고 이런 bank가 3개 있다고 보죠...
즉 bank0, bank1, bank2...
각각에 저장공간의 표기는 r0, r1, r2 처럼 동일합니다.
프로그래머(고객)가 r2를 원할때 컴파일러(은행)는 그 r2가 어느 bank(계좌)인지 판단한후 r2를 건네줍니다.
bank된 메모리는 같은 인터페이스(변수명)를 사용하지만 다른 메모리 공간을 가리킬 수 있는 메모리입니다.
발췌한 내용은 아니구요 ARM에 대한 자료중 다음 구절을 보니...
"r0에서 r7까지의 앞에서 여덟 개 레지스터는 unbanked register라 불린다.
r8에서 r14 레지스터는 별개의 레지스터가 상이한 프로세서 모드에서 같은 이름으로 보여질 수 있기 때문에 banked register라 불린다."