1. 개념 한줄 요약
주소 버스는 CPU가 메모리나 장치의 특정 위치를 지정하기 위해 사용하는 신호 경로로, 시스템에서 데이터를 정확한 위치에 접근하도록 하는 핵심 통신 구조다.
2. 쉽게 풀어쓴 설명
컴퓨터에서 CPU가 데이터를 읽거나 저장하려면 메모리 안에서 정확한 위치를 찾아야 한다. 메모리는 수많은 저장 공간으로 구성되어 있기 때문에 CPU는 “어디에 있는 데이터인지” 먼저 지정해야 한다.
이때 사용하는 것이 바로 ‘주소(Address)’다. 주소는 메모리 안의 특정 위치를 나타내는 숫자 값이다.
CPU는 이 주소 정보를 메모리로 전달해야 하는데, 이 신호가 이동하는 경로를 ‘주소 버스(Address Bus)’라고 한다.
즉, 주소 버스는 CPU가 메모리나 장치에게 “이 위치의 데이터를 읽어라” 또는 “이 위치에 데이터를 저장하라”라고 지시할 때 사용하는 통신 경로다.
컴퓨터 내부에서는 데이터가 이동하는 통로와 주소가 전달되는 통로가 따로 존재하며, 주소 버스는 그중에서도 데이터 위치를 지정하는 역할을 담당한다.
3. 구조·원리 설명
✔ 컴퓨터 버스 구조 이해
컴퓨터 내부에는 여러 종류의 버스가 존재한다.
대표적인 버스 구조는 다음과 같다.
✔ 주소 버스(Address Bus)
메모리 주소 전달
✔ 데이터 버스(Data Bus)
실제 데이터 전달
✔ 제어 버스(Control Bus)
읽기·쓰기 신호 전달
이 세 가지 버스가 함께 작동해 CPU와 메모리 간 통신이 이루어진다.
✔ 주소 버스 작동 원리
주소 버스는 CPU에서 생성된 주소 값을 메모리로 전달한다.
기본적인 메모리 접근 과정은 다음과 같다.
① CPU가 메모리 주소 생성
② 주소 버스를 통해 메모리로 전달
③ 메모리 해당 위치 선택
④ 데이터 읽기 또는 쓰기 수행
이 과정을 통해 CPU는 원하는 데이터에 접근한다.
✔ 주소 버스 폭(Bit Width)
주소 버스의 크기는 메모리 접근 범위를 결정한다.
예를 들어
✔ 16비트 주소 버스
→ 최대 2^16 주소 공간
✔ 32비트 주소 버스
→ 최대 4GB 주소 공간
✔ 64비트 주소 버스
→ 매우 큰 메모리 주소 공간 지원
즉, 주소 버스 폭이 클수록 더 많은 메모리를 직접 접근할 수 있다.
✔ 메모리 접근 방식
CPU는 주소 버스를 이용해 두 가지 방식으로 메모리에 접근한다.
① 읽기(Read) 작업
CPU가 메모리 데이터를 읽는 과정
흐름
① 주소 지정
② 메모리 데이터 읽기
③ 데이터 버스로 CPU 전달
② 쓰기(Write) 작업
CPU가 데이터를 메모리에 저장하는 과정
흐름
① 주소 지정
② 데이터 버스로 데이터 전달
③ 메모리에 기록
이 과정에서 제어 버스가 읽기·쓰기 신호를 전달한다.
✔ 주변 장치 접근
주소 버스는 메모리뿐 아니라 I/O 장치에도 사용된다.
대표적인 방식
✔ 메모리 매핑 I/O
장치를 메모리 주소처럼 접근
✔ 포트 매핑 I/O
특정 I/O 주소 사용
이 방식으로 CPU는 다양한 장치와 통신한다.
4. 예시로 이해하는 실제 동작
✔ 프로그램 실행
CPU는 프로그램 코드가 저장된 메모리 주소를 계속 읽어 명령어를 실행한다.
✔ 데이터 저장
프로그램이 변수를 저장할 때 특정 메모리 주소에 데이터를 기록한다.
✔ 장치 제어
그래픽 카드나 네트워크 장치도 주소 공간을 통해 접근할 수 있다.
5. 주의점과 오해하기 쉬운 부분
❗ 주소 버스는 데이터 자체를 전달하지 않는다
데이터 전달은 데이터 버스가 담당한다.
❗ 주소 공간과 실제 메모리 용량 차이
주소 공간이 크다고 실제 메모리가 반드시 같은 크기인 것은 아니다.
❗ CPU 아키텍처 영향
CPU 설계에 따라 주소 버스 구조가 달라질 수 있다.
❗ 가상 메모리 존재
운영체제는 가상 주소를 물리 주소로 변환해 사용한다.
6. 요약 정리
✔ 주소 버스는 메모리 위치를 지정하는 통신 경로다.
✔ CPU가 메모리와 장치에 접근할 때 사용된다.
✔ 데이터 버스와 제어 버스와 함께 작동한다.
✔ 주소 버스 폭이 메모리 접근 범위를 결정한다.
✔ 읽기와 쓰기 작업에 사용된다.
✔ 컴퓨터 시스템 구조의 핵심 요소다.
주소 버스 역할과 메모리 접근 방식을 이해하면, CPU가 데이터를 어떻게 찾고 처리하는지 알 수 있다. 이는 컴퓨터 구조와 메모리 시스템을 이해하는 데 매우 중요한 기본 개념이다.