ARM MMU에 대해서 궁금하게 있어서 질문올립니다.
글쓴이: suh1978 / 작성시간: 토, 2006/10/14 - 10:46오전
작은 (정말 작은 ^^) 커널(blueos.kldp.net)을 구현하고 있는데요
처음에는 물리주소를 사용하다가 이제는 mmu/instruction cache등을
설정하려고 합니다.
ARM MMU에 대한 것중에 책이나 메뉴얼을 봐도 잘 이해안되는게 있어서
도움을 받고 싶어서 질문올립니다.
질문1.
제가 사용하는 보드는 물리주소 0x0 은 1MB만큼의 NOR가 있습니다.
그리고 SDRAM은 0x30000000 부터 매핑되어 있습니다.
예를들어 0x30000000을 MMU를 이용해서 가상주소 0x0으로 설정했다고
한다면 벡터테이블은 물리주소기준으로 0x0 부터가 되는것인가요,
아니면 0x30000000 부터가 되는것인가요.
질문2.
페이지 테이블을 설정할때 2레벨 디스크립터에 대한것입니다.
2레벨 디스크립터의 포맷을 보면 AP0 ~ AP3 까지의 접근권한 설정이
각 0 ~ 3까지의 서브 페이지별로 나눠져 있습니다.
여기서 AP0 부터 AP3까지의 4개의 서브페이지는 무엇을 말하는것인가요
읽어주셔서 감사합니다. ㅎ
Forums:
자답입니다. ㅎ
열정은 남자의 미래다! - suki1978 style, free style
질문1. MMU를 통해서 메모리 0x30000000을 0x0으로 매핑해주었으니
MMU가 enable 되는 그 후부터의 익셉션 벡터는 가상주소 0x0 (물리주소 0x300000000)이
동작됩니다. (kelp 의 powerc20 님의 답변이 도움이 되었습니다.)
질문2. 페이지 테이블을 설정할때 보면 서브페이지라고 하는 것의 권한을 AP0 ~ AP3을
이용한다는 것이 있는데요, 이것은 1MB의 섹션에 대해서 64kb, 4kb로 페이지를 설정할때만
각각 16kb, 1kb로 나누어서 관리함을 의미합니다. 1MB 섹션이나 1kb로 페이지를 설정할때는
해당사항이 없다고 합니다. (kelp 의 powerc20 님의 답변과, ARM 관련 메뉴얼참조하였습니다.)
하나로 관리한다고 했는데 64k, 4k에 해당하는 페이지 테이블의 구성은 AP0 ~ AP3까지
총 4개의 권한설정 비트가 있고, 1k에 해당하는 페이지 테이블의 구성은 AP 하나만
존재하고 있었습니다.
# 휴. MMU 구현해보려고 컴퓨터 앞에 앉았다가 10줄 코딩도 못하고 또다시 주말을 넘겼습니다.
열정은 남자의 미래다! - suki1978 style, free style
댓글 달기