본문 바로가기
한국으로/ARM

MMU

by 영킴. 2018. 7. 29.

MMU

MMU의 기능

1. Translation: VA(가상주소) --> PA(물리주소) 변환
2. Protection: 메모리 영역 접근 권한 부여
3. Cache Policy: D-Cache 동작 설정

ARM v7은 전체 4GB VA(Virtual Address) 영역을 1MB(section) 단위로 분할해서 4096개의 섹션으로 관리한다.
MMU는 이 때, VA의 섹션과 PA의 섹션을 매칭시키고 변환하는 작업을 수행한다. (MMU의 규칙)



MMU Translation Table (MMU T/T)

CPU가 제시한 VA를 PA로 변환하기 위한 참조표.
MMU T/T는 4B 크기의 4096개 Entry로 구성된다.




1st Level Descriptor


T/T의 4096개 Entry 4B 값을 1st Level Descriptor라고 부른다.


0, 1번 비트 값에 따라 4가지 종류로 구분된다.


0번, 1번 비트 값이 1, 0인 경우 1MB Section 변환을 위한 Section Descriptor가 된다.

Section Base Address인 T/T[31:20]은 VA[31:20]과 교체된다.




Section Translation





2nd Level Descriptor

<2nd Level Descriptor 포맷>



<2nd Level Descriptor 접근>



<Small Page 변환>


'한국으로 > ARM' 카테고리의 다른 글

Cortex-A9 Coprocessor  (0) 2018.07.29
Interrupt Controller  (0) 2018.07.29
ARM Mode(모드) and Exception(예외)  (0) 2018.07.24
Tail Call  (0) 2018.07.24
정수 승격과 형변환 문제  (0) 2018.07.22
다중 메모리 이동: LDM, STM  (0) 2018.07.22
AAPCS와 레지스터 테이블  (0) 2018.07.21
ARM의 특수 용도 레지스터  (0) 2018.07.21