MMIO
MMIO (Memory-Mapped I/O)
- 주 메모리와 동일한 주소 공간 내에서 입출력(I/O) 장치에 접근하는 기법
- I/O 장치를 메모리의 특정 영역처럼 나타내어, 표준 메모리 접근 명령을 사용하여 I/O 장치를 읽거나 쓰게 한다
MMIO의 주요 특징 및 장점
- 간단한 인터페이스: CPU는 MMIO를 사용하여 I/O 장치와 통신할 때, 메모리에서 데이터를 읽거나 쓰는 것과 동일한 명령어를 사용할 수 있습니다. 이로 인해 별도의 I/O 명령어 세트가 필요 없게 되며, 설계가 간단해집니다.
- 직접적인 접근: CPU는 MMIO를 통해 I/O 장치에 직접 접근할 수 있습니다. 이렇게 되면, 중간에 데이터 버퍼링이나 추가적인 메커니즘 없이 I/O 장치와 통신할 수 있습니다.
- 주소 공간의 할당: MMIO를 사용하는 I/O 장치는 주 메모리 주소 공간에서 특정 영역을 할당받게 됩니다. 이 할당받은 주소 영역을 통해 해당 장치와의 데이터 전송이 이루어집니다.
- 빠른 데이터 전송: MMIO를 사용하면 표준 메모리 버스를 통해 데이터 전송이 가능하므로, I/O 장치와의 데이터 전송 속도가 빨라질 수 있습니다.
PIO (Port-Mapped I/O)
- I/O 장치를 위한 별도의 주소 공간과 명령어 세트를 사용
- MMIO와 PIO는 각각의 장단점이 있으며, 시스템의 요구 사항과 특성에 따라 선택
참고
- ChatGPT-4.0