[CS] 버스(Bus)란?

박현민·2025년 6월 30일
0

CS

목록 보기
3/3

컴퓨터는 중앙처리장치(CPU), 메인 메모리, 입출력 장치 등으로 구성되어 있다.
이들을 모두 버스(Bus)라고 불리는 공통된 전송 통로를 통해 서로 연결되어 있다.

버스(Bus)란?


버스(Bus)는 컴퓨터 내부에서 데이터, 주소, 제어 신호를 전달하는 공유 통신 경로이다.

CPU와 메모리, 입출력 장치 등 간의 정보를 묶어 정보 교환을 가능하게 만드는 통로라고 볼 수 있다.

버스의 3가지 종류


버스 종류설명데이터 흐름 방향
데이터 버스(Data Bus)실제 데이터가 이동하는 통로양방향
주소 버스(Address Bus)데이터를 주고 받은 주소를 지정하는 통로단방향 (CPU → 장치)
제어 버스(Control Bus)동작을 제어하는 신호(읽기, 쓰기 등)를 전달양방향

버스의 물리적 분류


유형설명
시스템 버스CPU, 메모리, I/O 장치를 연결
내부 버스CPU 내부에서 레지스터, ALU 간 연결
외부 버스주변 장치와 컴퓨터를 연결 (예: USB, PCIe 등)

각 버스의 역할


1. 데이터 버스 (Data Bus)

  • CPU와 메모리, I/O 장치 사이에서 데이터 자체를 주고받음
  • 예) 64비트 데이터 버스 = 한 번에 64비트 데이터를 전송 가능
  • 양방향: CPU가 데이터를 읽기도, 쓰기도 함

2. 주소 버스 (Address Bus)

  • "어디로부터 데이터를 읽을까?" 또는 "어디에 쓸까?"와 같은 주소 정보를 전달
  • CPU가 메모리에 접근할 때 사용
  • 단방향: CPU에서 메모리 또는 I/O 장치로만 전달

3. 제어 버스 (Control Bus)

  • 동작 제어 신호를 전달
  • 예) Read(읽기), Write(쓰기), Interrupt(인터럽트), Clock(클럭) 등
  • 양방향: CPU와 주변장치 간의 명령/상태 신호 교환

버스의 동작 방법


예) CPU가 메모리에서 데이터를 읽는 과정
- 주소 버스를 통해 "0x0010" 주소 전송
- 제어 버스로 "읽기(Read)" 신호 전달
- 메모리는 해당 주소의 데이터를 찾아 데이터 버스로 CPU에 전송
profile
자라고 있는 게임개발자

0개의 댓글