얼땅불땅 2013. 8. 14. 09:37

디바이스 레지스터(Device Register)들에 대한 접근 방법은 Memory-Mapped I/OI/O Mapped I/O 가 있다.

Memory-Mapped I/O : 메모리의 일부 공간을 디바이스의 레지스터 공간으로 mapping 한다.

I/O mapped I/O: 메모리와 I/O 영역이 별도의 공간의 저장되어 Memory-Mapped I/O처럼 메모리 용량이 줄어드는 문제는 없어진다. 메모리에 대한 데이터 Access는 Load, Store 로 이뤄지며, I/O 입출력은 Input, Output 으로 이뤄진다.


Memory-Mapped I/O의 레지스터 접근 예)

violatile dword *PMM;
PMM = (volatile dword *)0x000111F3

I/O Mapped I/O 레지스터 접근 )

unsigned inb( unsigned port);
void outb(unsigned char byte, unsigned port);