입출력 맵 입출력

마이크로프로세서에서 입출력 맵 입출력(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)

같이 보기 편집