KDY 2022. 11. 30. 12:48
728x90

입력 장치와 출력 장치의 종류

  • 입력 장치의 종류
    • 입력 장치는 문자, 기호, 소리, 동영상 데이터를 컴퓨터가 이해할 수 있는 2진 코드로
      변환하여 주기억 장치에 저장하거나 CPU에 전달함
    • 입력 장치 : 키보드
    • 지시 장치 : 마우스, 트랙보르 터치패드, 포인팅 스틱, 조이스틱, 디지타이저

입출력 모듈의 연결

  • 입출력 장치의 주소 지정
    • 기억 장치 사상(Memory-Mapped)방식
      • 입출력 장치와 주기억 장치가 하나의 주소 공간을 공유
      • 기억 장치 주소 영역의 일부분을 입출력 장치의 주소 영역으로 할당하는 방식이라
        기억 장치의 읽기/스기 신호를 입출력 장치의 읽기/쓰기 신호로 사용할 수 있음
      • 프로그램에서 기억 장치 관련 명령어를 입출력 장치에 사용하므로 프로그래밍하기 용이
        하다는 것이 장점
      • 입출력 장치가 기억 장치 주소 영역을 사용하기 때문에 기억 장치만을 위한 주소 공간이 
        감소하는 단점도 있음.

  • 분리형 입출력(Isolated I/O 또는 I/O Mapped) 방식
    • 입출력 장치의 주소 공간을 기억 장치의 주소 공간과 별개인 기억 장치에 할당
    • 입출력 제어를 위한 별도의 입출력 명령어를 사용하기 때문에 별도의 입출력 장치에 대한
      읽기/쓰기 신호가 필요
    • 입출력 장치의 주소 공간은 기억 장치의 주소 공간과 별도로 지정이 가능하지만, 입출력 제어를
      위해 입출력 장치 명령어만 사용할 수 있기 때문에 프로그래밍이 복잡해진다.

입출력 데이터 전송

  • 스트로브 신호
    • 송신 측에서 데이터를 전송할 때 전송된다는 것을 수신 측에 알려주기 위해 별도의 신호를
      사용하는 것을 말함
    • 이 신호를 전달하려면 데이터 버스 외에 추가 회선을 설치
    • 스트로브 신호를 보내는 방법에는 송신 측에서 수신 측으로 보내는 방법과 수신 측에서
      송신 측으로 보내는 방법이 있음.
    • 송신 측에서 수신 측으로 스트로브 신호를 보내는 방법은 다음과 같다.

  • 핸드셰이킹(HandShaking)
    • 송신 측과 수신 측 모두 상대방에게 제어 신호를 보내어 데이터 전송을 알려주는 방법
    • 데이터 버스 외에 양쪽에 제어 신호를 보내는 별도의 회선이 각각 있어야 함

CPU가 직접 입출력 장치를 제어하는 방식

  • 입력 장치와 출력 장치를 직접 제어하는 가장 기본적인 방법으로, 데이터 전송뿐만 아니라
    데이터 상태 검사 등의 모든 명령을 CPU가 직접 수행

  • CPU가 제어하는 방식은 두 가지가 있다.
  1. 프로그램 입출력 방식 : CPU와 입출력 모듈 사이에 데이터가 교환된다.
  2. 인터럽트 구동 입출력 방식 : CPU가 입출력 명령을 보낸 다음 입출력 모듈이 그 일을
    완료하고 인터럽트를 보낼 때까지 다른 명령을 수행함

직접 기억 장치 액세스를 이용한 입출력 제어 방식

  • 주기억 장치와 입출력 모듈 간의 데이터 전송이 CPU를 경유하기 때문에 입출력 전송률이 제한되며,
    CPU가 입출력 전송에 많은 시간을 소모
  • 직접 기억 장치 액세스(DMA)는 대용량 데이터를 이동할 때 효과적인 기술로, 기억 장치와
    입출력 모듈 간의 데이터 전송을 별도의 하드웨어인 DMA 제어기가 처리하고 CPU는 개입하지 않는 방식

  • CPU는 입출력 동작의 시작과 마지막에만 관여함

입출력 프로세서를 이용한 입출력 제어 방식

  • 입출력 처리를 전담하는 별도의 입출력 프로세서(I/O Processor, IOP)를 두어 CPU의 효율을 높이는
    입출력 제어 방식
  • 입출력 프로세서는 DMA 제어기의 기능을 향상한 것으로 입출력 명령을 실행할 수 있는 프로세서
  • 데이터 블록을 임시 저장할 수 있는 지역 기억 장치(Local Memory)를 포함