Software Lab

1. I/O Addressing 본문

컴퓨터 구조/Input Output Devices

1. I/O Addressing

아임코더 2022. 9. 26. 11:05

I/O 장치들이 연결된 방식은 다음 두 가지가 있다.

Memory mapped I/O vs Isolated I/O

Memory mapped I/O : 전체 Address를 주기억 장치와 I/O 장치가 나누어 사용한다. 따라서 Read/Write bus는 주기억 장치와 I/O 장치에 공용으로 연결된다. 현재 ARM, MIPS 계열 CPU에서 사용되고 있다. 왼쪽 그림을 보면 전체 16bit address 공간에서 주기억 장치(Memory)는 0x0000~0xCFFF를, I/O 장치들은 0xD000~0xFFFF을 각각 나누어 사용하고 있다.
 
Isolated I/O : 주기억 장치와 I/O 장치가 각각 별도의 Address를 가진다. 따라서 I/O 장치와 주기억 장치(Memory)의 Read/Write bus가 각각 연결된다. 현재 Intel, AMD 계열 CPU에서 사용되고 있다. 오른쪽 그림을 보면 주기억 장치(Memory)는 별도의 0x0000~0xFFFF를 사용하고 있고 I/O 장치들 또한 별도의 0x0000~0xFFFF를 사용하고 있다.

 

두 방식의 장단점을 비교해보자. Memory mapped I/O 방식에서 보면 주기억 장치와 I/O 장치들에 데이터를 Read/Write 하기 위해서는 MOV 명령어 하나만 필요하다. 반면 Isolated I/O 방식에서 보면 주기억 장치에는 MOV 명령어로 I/O 장치들에는 IN/OUT 명령어가 데이터를 Read/Write 하기 위해서 각각 필요하다.

 

 

아래 명령어로 I/O 장치들이 연결된 address를 확인할 수 있다.

'컴퓨터 구조 > Input Output Devices' 카테고리의 다른 글

5. GPU 처리 절차  (0) 2022.10.14
4. CPU vs GPU  (0) 2022.10.14
3. Analog에서 Digital로 변환 과정  (0) 2022.10.14
2. ADC & DAC  (0) 2022.10.14
Comments