입출력 버스란 데이터가 이동하는 경로를 말하는데, 단순히 CPU와만 관계된 개념이 아니다.

CPU / 모니터 / 키보드 / 마우스 등 데이터를 주고 받는 모든 장치들(디바이스)과 관련되어 있으며, 각각의 하드웨어는 자기 자신과 입출력 버스를 연결시키기 위해 버스 인터페이스를 지니고 있게 된다.

입출력 버스의 시스템

입출력 버스와 CPU 메인 메모리에 저장된 명령어를 가져와 연산과 (FETCH) CPU의 레지스터에 저장된데이터를 메인 메모리에 저장하는 연산을 수행한다.

이때 3가지 구성으로 두 요소가 연결되어 있는데,

  1. 데이터 버스 (데이터)
  2. 어드레스 버스(어디에 있는 / 어디로)
  3. 컨트롤 버스 (데이터 보내 / 데이터 받아)

즉, CPU와 입출력 버스는

  1. 컨트롤 버스를 통해 데이터의 주고 받음 신호(sign)을 보내고
  2. 어드레스 버스를 통해 메모리 주소에 접근하며
  3. 데이터 버스를 통해 값을 주고 받는다.