도와주세요!!
글 수 15,339
2003.04.18 11:21:53 (*.228.244.61)
6719
가상주소 테이블을 관리하는 디바이스죠..
보통 다음과 같은 식으로 동작합니다.
MMU는 보통 일반 물리적 램의 극히 일부분을 데이타 영역으로
사용합니다.
리셋시에는 MMU가 동작하지 않죠...
왜냐하면 일단 MMU가 동작하려는 데이타 영역의 값이 없기 때문입니다.
프로그램은 이 MMU가 사용할 데이타 영역에 각 물리적 주소와
논리적 주소의 연관관계를 적어 넣어 줍니다.
그 다음에 MMU를 동작 시키죠
그러면 이때 부터는 CPU가 램에 직접 데이타를 요구해도
이것을 MMU가 중간에서 가로채 버립니다.
그리고 설정된 데이터 영역에서 해당 어드레스의 맵핑에 대한 정보를 얻고
이를 이용하여 변경된 어드레스 영역의 데이타를 CPU에 전달합니다.
또 CPU에서 설정된 데이타의 영역 이외에 영역을 접근하면 인터럽트를
발생시켜서 잘못되었다는 것을 알려 줍니다.
이런 식으로 동작하는 것이 MMU 디바이스 입니다.
보통 다음과 같은 식으로 동작합니다.
MMU는 보통 일반 물리적 램의 극히 일부분을 데이타 영역으로
사용합니다.
리셋시에는 MMU가 동작하지 않죠...
왜냐하면 일단 MMU가 동작하려는 데이타 영역의 값이 없기 때문입니다.
프로그램은 이 MMU가 사용할 데이타 영역에 각 물리적 주소와
논리적 주소의 연관관계를 적어 넣어 줍니다.
그 다음에 MMU를 동작 시키죠
그러면 이때 부터는 CPU가 램에 직접 데이타를 요구해도
이것을 MMU가 중간에서 가로채 버립니다.
그리고 설정된 데이터 영역에서 해당 어드레스의 맵핑에 대한 정보를 얻고
이를 이용하여 변경된 어드레스 영역의 데이타를 CPU에 전달합니다.
또 CPU에서 설정된 데이타의 영역 이외에 영역을 접근하면 인터럽트를
발생시켜서 잘못되었다는 것을 알려 줍니다.
이런 식으로 동작하는 것이 MMU 디바이스 입니다.