컴퓨터에서 주소버스란?

LJM·2023년 9월 11일
0

컴퓨터지식

목록 보기
40/41

주소 버스(address bus)는 컴퓨터의 중앙 처리 장치(CPU)와 메모리 및 다른 입출력(I/O) 장치들 사이에서 주소 정보를 전송하는 통로입니다. CPU가 특정 메모리 위치나 입출력 장치에 데이터를 읽거나 쓸 때 해당 장치나 메모리의 주소를 주소 버스를 통해 지정합니다.

주소 버스의 너비(width), 즉 비트 수는 CPU가 접근할 수 있는 메모리의 크기를 결정합니다. 예를 들어, 32비트 주소 버스는 2^32 개의 유일한 메모리 위치에 접근할 수 있으므로, 최대 4GB의 메모리를 지원합니다.

주소 버스는 데이터 버스와 별도로 작동합니다. 데이터 버스는 실제 데이터 값을 전송하는 데 사용되며, 주소 버스가 지정한 위치로 데이터를 전송하거나 그 위치에서 데이터를 가져옵니다.

이렇게 주소 버스와 데이터 버스, 그리고 때로는 제어 버스(control bus)가 함께 작동하여 컴퓨터 내에서 데이터와 명령어, 그리고 그에 관련된 다양한 정보를 옮깁니다.

주소버스와 데이터 버스가 분리되어 있는 이유는?

주소 버스와 데이터 버스가 분리되어 있는 이유는 '어디에' (where) 데이터를 쓰거나 읽을 것인지와 '무엇을' (what) 쓰거나 읽을 것인지를 명확히 구분하기 위함입니다. 이 두 가지 질문에 답하는 것이 컴퓨터 시스템에서 매우 중요합니다.

어디에 (Where): CPU가 데이터를 저장하거나 불러올 때, 그 위치는 주소로 지정됩니다. 메모리의 각 셀에는 고유한 주소가 있고, 이 주소는 주소 버스를 통해 전달됩니다. CPU가 특정 작업을 수행하기 위해 데이터를 읽거나 쓰려면, 해당 데이터가 저장되어 있는 메모리 셀의 '주소'를 알아야 합니다.

무엇을 (What): 실제로 저장되거나 전송되는 '데이터'는 데이터 버스를 통해 이동합니다.

만약 주소 버스가 없다면, CPU는 어떤 메모리 위치에 데이터를 읽거나 쓸지를 지정할 방법이 없을 것입니다. 예를 들어, 프로그램에서 변수 'A'와 'B'를 사용한다고 가정해보겠습니다. 'A'는 메모리의 '주소 1'에, 'B'는 '주소 2'에 저장되어 있다고 하면, CPU는 '주소 1'과 '주소 2'를 명확히 구분할 방법이 필요합니다. 이 구분을 가능하게 하는 것이 바로 주소 버스입니다.

이런 방식으로, 주소 버스와 데이터 버스는 협동하여 메모리와 CPU 사이에서 데이터를 정확하게 전송합니다. 이는 프로그램의 실행을 정확하고 효율적으로 만듭니다.

profile
게임개발자 백엔드개발자

0개의 댓글