컴퓨터 구조 ‐ 입출력장치 - dnwls16071/Backend_Study_TIL GitHub Wiki

📚 프로그램 입출력 - 메모리 맵 입출력

  • 메모리에 접근하기 위한 주소 공간과 입출력장치에 접근하기 위한 주소 공간을 하나의 주소 공간으로 간주하는 방법
    • 같은 주소 공간을 사용한다.
    • 메모리 주소 공간이 축소된다.
    • 메모리 입출력장치에 같은 명령어 사용이 가능하다.
스크린샷 2025-03-10 오전 9 09 55

📚 프로그램 입출력 - 고립형 입출력

  • (입출력 읽기/쓰기 선을 활성화시키는) 입출력 전용 명령어 사용
    • 분리된 주소 공간을 사용한다.
    • 메모리 주소 공간이 축소되지 않는다.
    • 입출력 전용 명령어 사용이 가능하다.
스크린샷 2025-03-10 오전 9 11 05

📚 인터럽트 기반 입출력

  • PIC : CPU에게 지금 처리해야 하는 인터럽트가 무엇인지 판단하는 하드웨어
  • 동시다발적인 인터럽트 : 우선순위를 반영한 인터럽트
스크린샷 2025-03-10 오전 9 19 52

📚 DMA 입출력

스크린샷 2025-03-10 오전 9 25 43
  • CPU는 DMA 컨트롤러에 입출력 작업을 명령
  • DMA 컨트롤러는 CPU 대신 장치 컨트롤러와 상호작용하며 입출력 작업을 수행
  • 입출력 작업이 끝나면 DMA 컨트롤러는 인터럽트를 CPU에게 보낸다.
  • CPU는 입출력 시작의 끝에만 관여

  • 허나 시스템 버스는 공용 자원이므로 같이 사용할 수 없다.
  • DMA 컨트롤러는 CPU가 시스템 버스를 이용하지 않을 때마다 조금씩 시스템 버스를 이용한다.
  • DMA 컨트롤러는 CPU가 일시적으로 시스템 버스를 이용하지 않도록 허락을 구하고 시스템 버스를 이용한다.
⚠️ **GitHub.com Fallback** ⚠️