입출력 맵 입출력
이 문서의 내용은 출처가 분명하지 않습니다. (2013년 10월) |
마이크로프로세서에서 입출력 맵 입출력(I/O mapped I/O)은 메모리와 입출력의 주소 공간을 분리하여 액세스하는 방식이다. 포트 맵 입출력(Port Mapped I/O)이라고도 한다. 보통 입출력 회로가 메모리 보다 속도가 느리고 공간이 작다고 가정한다. 따라서 이 두공간을 분리하면 속도와 공간의 효율을 기할 수 있다. 그러나 주소 공간을 분리하려면 메모리 맵 입출력과는 달리 기계어 명령어를 분리해야 한다.
일반적으로 인텔의 마이크로프로세서(8085, x86)는 입출력 맵 입출력을 사용한다. 이에비해 프리스케일(과거 모토로라, 6800, 6809, 68000)에서는 메모리 맵 입출력을 사용한다. 8085에서 입출력 맵 입출력은 IN, OUT 명령어가 있다.
입출력 주소 공간은 메모리 공간보다 작다. 따라서 주소를 정의하는 주소값이 메모리 보다 작다. 인텔의 8비트 마이크로프로세서인 8085는 8비트의 주소공간을 갖는다.
인텔의 입출력 맵 입출력 예
편집인텔의 마이크로프로세서는 주로 입출력 맵 입출력 방식을 사용한다.
8085, Z80 마이크로프로세서에서의 메모리 맵:
주소 공간 | 주소공간 크기 | 명령어 예 |
---|---|---|
메모리 | 16비트 (64K, 65,536바이트) | MOV(8085), LD(Z80) |
입출력 | 8비트 (256바이트) | IN, OUT (8085, Z80) |