16 비트 모드 - 실제 모드에 관한 질문!
글쓴이: erdos / 작성시간: 토, 2011/10/22 - 6:43오후
안녕하세요.
지금 어셈블리를 공부하면서 몇가지 이해가 안가서 이렇게 끄적여봅니다.
16비트 모드의 메모리 맵!
-> 여기서 0x00000~0xfffff 영역, 즉 1MB를 쓸수 있다는 16비트 실제모드에서
각각 이미 예약된 바이오스영역이나, 바이오스 데이터 영역, vga ram 영역 등은
제가 알기로는 memory mapped I/O 로써 즉, cpu가 해당 주소에 대해 인식하기를
물리 메모리 즉, ram의 기억소자가 아닌 실제 rom과 같은 곳으로 바로 다이렉트하게
인식하는 것으로 알고 있습니다.
이때! 예약되지 않은 자유롭게 써도 되는 일부 영역에 대한 것이 문제입니다.
그럼 여기서 free memory 같은 경우 ram의 기억소자의 직접적 주소와 다이렉트하게
연결되버리는 것인지.
그리고 또한 만약 그렇게 될경우 이미 예약된 상태의 주소공간의 ram 영역은 연결될
것이 없으니 그냥 공백인지 궁금합니다.
Forums:
16비트 시스템의 1 MB 메모리는 0XFFFF, 즉
16비트 시스템의 1 MB 메모리는 0XFFFF, 즉 64KB의 16개의 메모리 세그먼트로 구성되며, 이중 하위 10개의 메모리 세그먼트가 말씀하시는 자유 메모리에 해당합니다. 시스템적으로는 당근 실제 메모리와 1대1 대응됩니다.
memory mapped IO 의 경우 메모리와 해당 IO 장치가 메모리를 공유하는 경우인데, 예를 들어 비디오 메모리에 해당하는 A0000 - AFFFF 의 시스템 메모리 영역에 데이타를 기록하면 비디오 카드의 메모리에 그대로 전송되어 기록되어 영상이 출력됩니다.
댓글 달기