본문 바로가기

Domain/컴퓨터구조

7. I/O (Input/Output)

I/O Module

  실제 I/O Device들은 I/O Module에 연결되어 있는 구조이다. I/O Module이 I/O device와 다른 컴퓨터 내부 장치들과의 상호작용에 기여한다.

실제 컴퓨터 구조

I/O Module을 사용하는 이유

  • I/O 장치들의 속도가 다양함
  • 데이터의 형태가 모두 다름.

 

I/O Device의 발전

 

Programmed I/O

Interrupt-driven I/O

DMA (I/O Processor)

Check status

CPU

I/O

I/O

Transfer data

CPU

CPU

I/O

▶ Programmed I/O Interrupt-driven I/O는 전송 속도가 제한되고 CPU I/O장치를 지속적으로 관리해야 되기 때문에 좋지 않다.

 

 * Direct Cache Access : I/OCache에 직접 접근한다.

 

 * DMA Breakpoint: DMA 과정에서 버스를 이용해야 되는데 Instruction cycle 또한 버스를 이용한다. 따라서 각 명령어 사이에 DMA Breakpoint를 두어 DMA를 한다.

 

I/O Mapping

Memory mapped I/O : I/O Main memory의 주소의 일정 부분을 사용. I/Omemory read/write와 사실상 같고 특별한 I/O 명령어가 필요하지 않다.

 

Isolated I/O : 주소 공간이 분리되어 있다. 따라서 I/O를 위한 별도의 명령어가 필요하다. Control bus가 해당 주소가 I/O의 주소인지 memory의 주소인지 구별할 수 있어야 함.


Vector Interrupt(Daisy chain) 

I/O Device에서 CPU로 interrupt를 요청하는데 각 device 별로 처리 순서를 정하기 위해 각 장치를 식별하는 방법.

인터럽트를 발생시키는 장치들을 우선순위에 맞게 직렬로 둔다.  Vector table에서 Vector value 값에 해당하는 ISR(Interrupt Service Routine)의 메모리 주소를 획득해 해당 메모리 주소로 접근하여 ISR 작업을 수행하게 된다.

 

 

 

 

 

'Domain > 컴퓨터구조' 카테고리의 다른 글

5. Internal Memory  (0) 2020.03.14
6. External Memory  (0) 2020.03.14
10. Computer Arithmetic  (0) 2020.03.12
11. Instruction Set : Characteristrics and Function  (0) 2020.03.12
12. Instruction Sets : Addressing Modes and Formats  (0) 2020.03.12