[혼공컴운] ch.8 입출력장치

제트·2024년 7월 21일
0

8-1. 장치 컨트롤러와 장치 드라이버

1. 장치 컨트롤러

  • 입출력장치의 까다로움
    • 종류의 다양성
    • 데이터 전송률(얼마나 데이터를 빨리 교환할 수 있는지)이 낮음
  • 입출력장치는 장치 컨트롤러라는 하드웨어를 통해 컴퓨터에 연결됨
    • 장치 컨트롤러 = 입출력 제어기, 입출력 모듈
    • 장치 컨트롤러의 기능
      • CPU와 입출력장치 간의 통신 중개
      • 오류 검출
      • 데이터 버퍼링
        • 버퍼링 : 전송률 높은 장치와 낮은 장치 사이에 주고 받는 데이터를 버퍼라는 임시 저장 공간에 저장해 전송률을 비슷하게 맞추는 방법
    • 장치 컨트롤러의 내부
      • 데이터 레지스터 : CPU와 입출력 장치 사이 주고받을 데이터가 담김
      • 상태 레지스터 : 입출력장치의 상태 정보 저장
      • 제어 레지스터 : 입출력장치가 수행할 내용에 대한 제어 정보와 명령 저장

2. 장치 드라이버

  • 장치 컨트롤러의 동작 감지, 제어함으로서 장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램
  • 입출력장치를 연결하기 위한 소프트웨어적인 통로

/

8-2. 다양한 입출력 방법

1. 프로그램 입출력

  • 프로그램 속 명령어로 입출력장치를 제어하는 방법
    /

  • CPU가 입출력 작업을 하는 과정

    • HDD 컨트롤러의 제어 레지스터에 쓰기 명령을 내보냄
    • HDD 컨트롤러는 HDD 상태 확인. 준비된 상태면 상태 레지스터에 준비되었다고 표시
    • CPU는 상태 레지스터는 주기적으로 읽어 HDD의 준비 여부 확인. 준비됐음을 확인하면 백업할 메모리 정보를 데이터 레지스터에 씀
      /
  • 메모리 맵 입출력 : 메모리에 접근하기 위한 주소 공간과 입출력장치에 접근하기 위한 주소 공간을 하나의 주소 공간으로 간주

  • 고립형 입출력 : 메모리를 위한 주소 공간과 입출력장치를 위한 주소 공간을 분리하는 방법

2. 인터럽트 기반 입출력

  • 장치 컨트롤러가 입출력 작업을 끝낸 뒤 CPU에게 인터럽트 요청 신호를 보내면 CPU는 하던 일을 잠시 백업하고 인터럽트 서비스 루틴을 실행

  • 인터럽트를 기반으로 하는 입출력

  • NMI(Non-Maskable Interrupt) : 인터럽트 비트를 비활성화해도 무시할 수 없는 인터럽트

  • 프로그래머블 인터럽트 컨트롤러(PIC, Programmable Interrupt Controller) : 여러 장치 컨트롤러에 연결되어 장치 컨트롤러에서 보낸 하드웨어 인터럽트 요청들의 우선순위를 판별한 뒤 CPU에 지금 처리해야 할 하드웨어 인터럽트는 무엇인지 알려주는 장치

  • PIC의 다중 인터럽트 처리 과정

    • PIC가 장치 컨트롤러에서 인터럽트 요청 신호를 받아들임
    • PIC는 CPU에 처리해야 할 인터럽트 요청 신호를 보냄
    • CPU는 PIC에 인터럽트 확인 신호를 보냄
    • PIC는 데이터 버스를 통해 CPU에 인터럽트 벡터를 보냄
    • CPU는 인터럽트 벡터로 인터럽트 요청의 주체를 알게 되고, 해당 장치의 인터럽트 서비스 루틴을 실행

3. DMA 입출력

  • DMA(Direct Memory Access) : 입출력장치와 메모리가 CPU를 거치지 않고도 상호작용할 수 잇는 입출력 방식

  • DMA 입출력을 하기 위해 시스템 버스에 연결된 DMA 컨트롤러라는 하드웨어 필요
    /

  • DMA 입출력 과정

    • CPU는 DMA 컨트롤러에 입출력장치의 주소, 수행 연산, 읽거나 쓸 메모리 주소 등과 같은 정보로 입출력 작업 명령
    • DMA 컨트롤러는 CPU 대신 장치 컨트롤러와 상호작용
    • 입출력 작업 끝나면 DMA 컨트롤러는 CPU에 인터럽트를 걸어 작업이 끝남을 알림
  • 입출력 버스

    • PCI(Peripheral Component Interconnect) 버스
    • PIC Express(PCle) 버스
profile
소프트웨어학부 2학년

0개의 댓글