본문 바로가기

대학 수업

I/O Device와 I/O 인터페이스 - 임베디드 컴퓨터 구조

반응형

I/O device의 정의

  • 작동: input, output, storage
  • 상호작용: 사람 / 컴퓨터
  • 데이터 속도: bytes/sec, transfers/sec

I/O bus connection


CPU와 I/O Devices는 Memory-I/O Interconnect로 연결되어 있다. 디바이스는 CPU에 interrupt를 걸어 요청을 처리한다.

Interconnection Components

  • 데이터 통신을 위해서는 CPU, memory, I/O controller를 서로 연결해야 한다
  • Bus: shared communication channel
    • parallel set of wires for data and synchronization of data transfer
    • bus clock이 존재한다
    • 보통 CPU clock보다 훨씬 느림 => bottleneck이 될 수 있다
    • bus 길이가 길어질수록 bandwidth가 줄어든다
    • 연결 기기 수에 한계가 있다
  • High-Speed Serial Connections with Switches

Bus Types

  • processor-memory bus
    • 선 길이가 짧고 빠름
    • 메모리의 구조에 따라 디자인이 맞춰져 있음
  • I/O bus
    • 선 길이가 길고, 더 많은 수의 연결을 지원
    • 다양한 종류의 기기와 연결하기 위해 표준 규격이 있다
    • 브릿지를 통해 processor-memory bus와 연결된다

Bus Signals and Synchronization

  • Data Lines
    • address와 데이터를 전달
    • multiplex를 이용하거나 개개별 선이 존재한다
  • Control Lines
    • data type, synchronize transaction을 결정한다
  • Synchronous
    • bus clock 이용
  • Asynchronous
    • request/acknowledge control line을 이용하여 핸드쉐이크

I/O Management

  • I/O는 OS에 의해 관리되는 경우
    • 여러 프로그램이 I/O 자원을 공유
      • Protection과 Scheduling 작업이 필요함
    • I/O는 비동기 interrupt 유발, interrupt는 kernel routine을 불러 작업을 처리
      • exception과 같은 매커니즘
    • OS를 사용하여 I/O를 처리하는 이유
      • I/O 프로그래밍은 성가시다
      • OS가 프로그램에 추상화 인터페이스를 제공한다
  • I/O가 OS에 의해 관리되지 않는 경우
    • 소규모 interrupt handling routine
    • 프로그램이 I/O 작업을 직접 제어해야 함
    • 대신 I/O 작업 현황을 예측할 수 있음
반응형