안녕하세요. 매일 IT, 밀릿입니다. 지난 포스팅들에 이어서 CPU의 성능을 나타내는 지표의 의미에 대해 알아보는 시간을 계속해서 가지려고 합니다. 이번 포스팅에서는 그중에서 'CPU 대역폭'이라는 항목에 대해 알아볼 예정입니다. '대역폭'이라는 단어는 어떤 주파수 같은 파장의 폭이라는 느낌이 강하게 드는 단어입니다.. CPU의 역할이 데이터를 불러들여 읽고 다시 명령어를 전달하는 일련의 과정을 수행하는 것이니만큼 '폭'의 개념은 왠지 넓을 수록 좋을 것 같다는 생각이 듭니다. 하지만 생소한 단어인 만큼 조금 더 알아보고 우리가 제품을 구매할 때 어떤 부분을 유의해서 살펴보아야 하는지 알아보도록 하겠습니다.
CPU 대역폭을 위키백과나 나무위키에서 먼저 찾아보았으나 명확한 정의를 찾을 수 없었습니다. 다나와 용어 사전에서 말하는 CPU 대역폭에 관한 간단한 용어 설명을 우선 읽어보도록 하겠습니다. 사전에 따르면 CPU 대역폭이란 'CPU와 메인보드에 위치하는 칩셋 간에 데이터를 주고 받을 때 사용하는 통로의 너비' 개념이라고 합니다. 앞서 예상했던 바와 같이 데이터가 지나는 통로가 되는 것입니다. 하지만 데이터 자체가 무형의 개념이니 통로의 폭을 넓히기 위해 물리적 크기가 반드시 커져야하는 것은 아닐 것 같다는 생각이 듭니다.
대역폭은 CPU의 성능에 따라 함께 확장되어야 한다고 합니다. 그도 그럴것이 CPU 코어에서 한번에 처리할 수 있는 데이터의 양이 증가하는데 반해 데이터가 오고 갈 수 있는 통로의 너비가 좁다면, 앞서 코어와 쓰레드 개념에서도 언급했던 데이터 처리의 '병목 현상'이 발생할 수밖에 없을 것이기 때문입니다. CPU가 처리한 데이터는 빨리 내보내서 프로그램이 인식하도록 하고, CPU에 새로운 요청이 전달되는 과정이 원활하게 진행될 때 CPU가 가진 성능이 온전히 발휘될 수 있을 것입니다.
이 CPU 대역폭을 나타내는 단위는 'T/s'를 사용한다고 합니다. Transfer to second의 약자로 데이터의 초당 전송률을 의미합니다. CPU 제품을 검색해보면 'CPU 대역폭 : DMI 8 GT/s'와 같이 초당 전송률을 의미하는 'GT/s' 앞에 'DMI'나 'UMI', 'QPI' 등과 같은 용어가 함께 적혀 있습니다. 이 용어는 CPU 제조사인 인텔이나 AMD 등이 자체적으로 사용하는 기술에 따라 달라지는 것이라고 합니다.
예를 들어 'DMI'의 경우, Direct Media Interface의 약자로 인텔이 개발한 인텔 노스브리지와 사우스브리지간의 상호 연결을 위한 점대점 인터페이스를 지칭한다고 합니다. 여기서 노스브리지란 컴퓨터의 메인보드 내에 존재하는 장치의 하나로 메모리 컨트롤러 허브라고도 불리며, 컴퓨터에 부착된 CPU, 램, 그래픽 카드와 같은 고속의 장치를 제어하는 집적회로를 의미합니다. CPU의 고속화에 비해 주변장치의 클럭 속도가 따라가지 못하자 CPU에서 분리되어 주변장치들간의 통신을 관장하는 역할을 합니다. 사우스브리지란 PC의 코어 논리 칩셋 중 노스브리지를 제외한 다른 하나로, 사용자의 PC에 부착된 각각의 장치의 입출력을 담당한다고 합니다. 키보드에서 타이핑이 발생하면 사우스브리지에 그에 관한 정보가 전달되고 사우스브리지는 DMI 인터페이스를 통해 해당 정보를 노스브리지 칩셋으로, 노스브리지는 메모리로 보내는 일련의 과정을 통해 데이터가 전달된다고 이해할 수 있습니다. 이렇게 CPU가 사용하는 데이터 전송 인터페이스 성능에 따라 대역폭의 속도는 달라질 수밖에 없습니다.
여기까지 CPU 대역폭에 대한 간략한 개념을 알아보았습니다. 하지만 여전히 CPU 대역폭이 어느 정도 수준이 되어야 PC 이용에 적합한 지 알쏭달쏭하기만 합니다. 지금까지 이해한 바에 따르면 CPU에 데이터가 들어오고 나가는 통로의 크기가 '대역폭'이고, CPU가 가진 대역폭과 메모리가 가진 대역폭이 존재합니다. 이 두 장치 간의 데이터 통신이 원활하게 이루어지기 위해서는 대역폭의 크기가 유사해야 하는데요. 만일 4차선 도로에서 2차선 도로로 갑자기 통로가 좁아진다면 장비가 가진 성능이 100% 발휘될 수 없기 때문에 CPU와 메모리 간 대역폭의 동기화가 필요하다고 합니다.
이를 위해서는 메모리를 듀얼 채널로 구성하는 작업이 필요하다고 합니다. CPU의 대역폭에 비해 메모리가 가진 대역폭 성능이 떨어지는 문제를 해소하기 위해 메모리를 병렬로 장착하여 CPU의 대역폭과 메모리의 대역폭 수준을 물리적으로 유사하게 조정해주는 것을 의미합니다. 즉, CPU를 구입할 때 무조건 대역폭 수치가 높은 제품을 구매하는 것이 아니라 구입할 메모리의 수준과 유사하게, 혹은 메모리를 CPU의 대역폭 수준을 감당할 정도의 스펙을 가진 제품으로 탐색하는 작업이 필요하다는 것입니다.
오늘 알아본 CPU의 '대역폭'이라는 개념은 단순히 CPU에만 적용되는 것이 아니라 클럭 개념을 사용하는 PC의 데이터 전송 역할을 담당하는 장치들에서 대부분 적용되는 부분입니다. 나라의 도로가 전부 고속도로로 구성되지 않고 고속도로와 국도로 나뉘어 도로망이 설치되는 것과 마찬가지로 PC 내부에서도 모든 데이터 전송망이 광대역으로 구성될 필요는 없을 것입니다. 데이터가 집중되는 CPU나 RAM에서는 넓은 대역폭을 사용해 실시간 데이터를 원활히 전송할 수 있도록 구성하고, 입력장치와 같은 저용량 데이터를 사용하는 통로에서는 적당한 수준의 대역폭이 구성될 때 효율적인 PC가 구성될 수 있을 것입니다. 하지만 여전히 대역폭에 사용되는 기술적 개념을 전부 이해하기에는 부족한 점이 많은 것 같습니다. Front side bus, Back side bus와 같은 데이터 처리의 세부적인 용어도 기회가 된다면 다시 한번 정리하도록 하겠습니다.
'PC' 카테고리의 다른 글
CPU 메모리사양이란 (0) | 2020.04.25 |
---|---|
CPU 설계전력을 알아보자 (0) | 2020.04.25 |
CPU 연산체계 이해하기 (0) | 2020.04.25 |
CPU 캐시 메모리 뜻/ 구성 (0) | 2020.04.24 |
CPU 스레드와 클럭의 관계 (0) | 2020.04.24 |
최근댓글