[CS] 시스템버스란 무엇일까?

JngHoon_2·2026년 2월 12일

CS

목록 보기
3/3

우리는 컴퓨터 구조가 어떤 요소들로 이루어졌는지 학습했습니다.
이제 각 요소들이 어떤 방식으로 상호작용하는지 알아보겠습니다.


메인보드와 시스템 버스

CPU, 메모리, 보조기억장치, 입출력장치는 모두 메인보드에 연결됩니다.

메인보드에 연결된 부품들은 서로 정보를 주고 받는데 버스(bus)라는 통로를 사용합니다. 이 버스는 다양한 종류가 있으며, 여러 버스 가운데 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스를 시스템 버스라고 합니다.

시스템 버스는 주소 버스, 데이터 버스, 제어 버스로 구성되어 있습니다.
각 버스들을 조금 더 자세히 차례대로 알아보도록 하죠.

주소 버스

CPU가 데이터를 읽거나 쓰기 위해 메모리나 입출력 장치의 위치(주소) 정보를 전달하는 통로입니다.즉, CPU가 "어디에 있는 데이터를 가져올지" 또는 "어디에 데이터를 저장할지"를 지정하는 역할을 수행합니다.

단방향성이라는 특징이 있으며, CPU에서 다른 장치로 주소를 보내기만 합니다.

다른 특징으로는 주소 버스의 선(Line) 개수가 많을수록 CPU가 관리할 수 있는 메모리의 주소 범위(최대 용량)가 넓어진다는 특징이 있습니다.

데이터 버스

CPU와 메모리, 또는 입출력 장치 간에 실제 데이터가 오고 가는 통로입니다.
CPU가 메모리에서 명령어를 읽어오거나, 연산 결과값을 메모리에 저장하는 등 실질적인 정보 이동을 담당합니다.

주소 버스와 달리 양방향성입니다. 즉, CPU가 데이터를 보낼 수도, 받을 수도 있습니다.

데이터 버스의 폭(한 번에 보낼 수 있는 비트 수)이 넓을수록 한 번에 전송하는 양이 많아지기 때문에 컴퓨터의 전반적인 속도가 빨라집니다.

제어 버스

CPU가 시스템의 각 장치에 제어 신호를 보내거나, 장치의 상태 정보를 받아오는 통로입니다.

데이터 전송의 '교통 정리'를 담당합니다. "지금 읽어라(Read)", "지금 써라(Write)", 혹은 "작업 완료(Interrupt)" 등의 신호를 주고받아 동기화를 맞춥니다.

데이터 버스와 같이 양방향성의 특징을 가집니다.


시스템 버스를 통한 상호작용

그림과 예를 들어 어떤 방식으로 상호작용하는지 알아봅시다.
다음은 CPU 작동을 위해 메모리의 상호작용을 순서대로 도식화한 그림입니다.
CPU가 메모리 속 명령어를 읽어 들이기 위해 제어장치에 "메모리 읽기" 신호를 보낸다고 가정해봅시다.

  1. 제어 버스로 명령 신호를 보냅니다.
  2. 동시에 주소 버스로 읽고자 하는 주소를 내보냅니다.
  3. 위 두 정보를 토대로 메모리는 데이터 버스를 통해 주소의 내용을 내보냅니다.

이번에는 메모리에 어떤 값을 저장한다고 가정해봅시다.

  1. 데이터 버스를 통해 메모리에 저장할 값을 보냅니다.
  2. 동시에 주소 버스를 통해 저장할 주소를 보냅니다.
  3. 제어 버스를 통해 제어 신호를 보냅니다.

위와 같은 예시처럼 컴퓨터는 여러 버스를 복합적으로 활용하여 상호작용하게 됩니다.


지금까지 컴퓨터의 핵심 부품들이 시스템 버스라는 통로를 통해 어떻게 유기적으로 대화하는지 알아보았습니다.

결국 컴퓨터의 모든 동작은 "어디로(주소), 무엇을(데이터), 어떻게(제어)" 보낼 것인가에 대한 끊임없는 상호작용인 셈입니다. 개념을 이해하고 나면, 앞으로 학습할 CPU의 명령어 사이클이나 인터럽트 메커니즘을 훨씬 더 깊이 있게 파악하실 수 있을 겁니다.

profile
천천히 차근차근 꾸준히

0개의 댓글