사진=인텔 |
<이미지를 클릭하시면 크게 보실 수 있습니다> |
컴퓨터 속 숨은 조력자 '메모리'는 무슨 일을 할까?
PC를 구입한다면 누구나 고민하게 되는 것 중 하나가 RAM, 즉 메모리다. 이제는 당연한 것처럼 여겨지지만 다른 한편으로는 우리가 메모리를 직접 쓰거나 다루지는 않는다. 그저 '부족하면 컴퓨터가 답답하다' 정도의 인식이지만 또 그렇다고 마냥 큰 메모리가 컴퓨터의 성능을 비례해서 높여주는 것도 아니다.
하지만 메모리는 실제 컴퓨터가 작동하는 동안 가장 바쁘게 움직이는 부품이다. 보이지 않는 곳에서 끊임없이 읽고 쓰기를 반복하고, 때로는 쓰지 않는 내용들은 정리를 해 가면서 효율성까지 신경을 쓰게 한다. 무심코 넘어간 컴퓨터 속 메모리의 사정을 알아보자.
CPU가 일을 더 잘 할 수 있도록 돕는 일등 도우미 '시스템 메모리'
현재 우리가 쓰는 컴퓨터는 1945년에 고안된 폰 노이만 방식의 구조를 갖고 있다. PC 뿐 아니라 스마트폰, 게임기, 심지어 TV나 자동차 속 컴퓨터도 모두 기본적인 원리는 똑같다. 존 폰 노이만이 제안한 이 컴퓨터의 핵심은 CPU와 메모리, 그리고 하드디스크나 SSD 등의 저장 장치에 있다.
AMD EPyC cpu. 사진=AMD |
<이미지를 클릭하시면 크게 보실 수 있습니다> |
컴퓨터의 역할은 CPU가 빠르게 연산을 해서 원하는 결과를 얻어내는 것이다. CPU는 1초에 수 억 번의 연산을 할 정도로 처리 속도가 매우 빠르다. 컴퓨터의 운영체제는 이 CPU가 적절한 계산을 할 수 있도록 데이터를 주고, 그 결과물을 받는 과정을 반복한다.
이를테면 CPU는 학생이고, 적절한 시험지를 주어서 문제를 풀도록 하는 것이 컴퓨터의 역할이라면 그 시험지와 문제를 풀 빈 종이를 메모리의 역할로 볼 수 있다. 바로 앞에 놓인 문제를 받아보고, 빈 종이에 계산을 해 가면서 답을 내는 것이 바로 CPU와 메모리의 관계다. 메모리가 없다면 이 학생은 문제를 받으러 교무실이나 도서관에 오가야 하기 때문에 그만큼 시간이 오래 걸릴 수밖에 없다. 그리고 메모리가 부족하다면 복잡한 계산 과정을 적어둘 종이가 부족한 것과 비슷하다.
실제로 컴퓨터 안에서 CPU는 끊임없이 연산을 이어가기 위해서 메모리에게 데이터를 요구한다. 이론적으로는 컴퓨터 안에 CPU와 메모리만 있으면 된다. 하지만 메모리는 용량에 비해서 가격이 높은 반도체다. 반대로 이야기하면 컴퓨터 안에 넣을 수 있는 메모리의 양은 매우 제한된다는 이야기다. 지금도 32GB의 DDR5 메모리를 구성하려면 20만원이 훌쩍 넘어간다. 게임 하나에 100GB를 우습게 넘기는 요즘 상황을 보면 메모리는 아직도 가격이 결코 만만치 않다.
뭐든 담아내는 컴퓨터의 기억장치, '플래시 메모리와 하드디스크'
이 때문에 컴퓨터는 보조 저장장치를 함께 품는다. 바로 하드디스크와 SSD 등의 저장장치다. 과거에는 RAM을 '주 저장장치'라고 부르고 하드디스크를 '보조 저장장치'라고 부르기도 했는데, 메모리에 넣어줄 데이터를 보관하고 있다가 필요할 때 전송해주는 보조적인 역할을 했기 때문이다. 앞의 학생의 시험지를 예로 들면 문제와 답안을 기록하는 도서관 같은 역할을 한다고 볼 수 있다.
삼성전자 DDR5 44800 메모리. 사진=삼성전자 |
<이미지를 클릭하시면 크게 보실 수 있습니다> |
이렇게 저장장치를 나눈 이유는 용량과 가격, 그리고 결정적으로 속도 때문이다. 지금의 SSD는 속도가 매우 빠르지만 당장 하드디스크는 아무리 발라도 1초에 200MB 남짓한 데이터를 읽고 쓸 수 있다. DDR5-5600 메모리가 1초에 44.8GB를 읽고 쓰고, 보통 PC에는 이를 두 개 묶는 듀얼 채널로 구성하면서 89.6GB를 처리할 수 있다. 심지어 CPU는 이 이상의 성능을 요구한다. 하드디스크만으로는 CPU의 처리 속도에 발을 맞출 수가 없다. 메모리가 철저히 고속 처리를 중심에 두는 이유다.
그럼에도 결국 하드디스크에 담긴 데이터를 메모리로 읽어와야 비로소 CPU가 일을 할 수 있기 때문에 우리가 윈도우나 게임을 시작할 때 볼 수 있는 '로딩'이 필요하다. 과거 하드디스크를 쓸 때는 긴 로딩은 당연한 일이었고, 로딩 뿐 아니라 많은 일에서 하드디스크와 메모리 사이의 속도 차이가 이른바 병목 현상을 만들어내기도 했다.
이를 바꾼 것이 SSD다. SSD는 플래시 메모리를 기반으로 한다. 데이터를 보관할 수 있으면서도 속도를 높일 수 있는 장치다. 여러가지 기술을 통해 그 가격도 많이 낮아지면서 현재는 하드디스크를 완전히 밀어내고 컴퓨터의 저장장치로 자리를 잡았다. 현재 주력 제품인 NVMe 4.0 규격은 1초에 약 7GB, 그리고 차세대 기술로 꼽히는 NVMe 5.0은 12GB 정도를 읽고 쓸 수 있다. 하드디스크에 비하면 엄청난 속도지만 1초에 100GB 가까이 읽고 쓰는 DDR5 RAM에 비하면 '느린 메모리'에 든다.
CPU 속 초고속 메모리, '캐시와 레지스터'
메모리의 용량이 커지고, 속도도 빨라졌지만 CPU는 여전히 목이 마르다. 그래서 CPU 안에는 또 다른 메모리가 들어간다. 보통 '캐시 메모리(Cache Memory)'로 부르는 것으로, CPU가 직접 처리해야 하는 아주 단기적인 연산 정보를 담는 것이다. 이 캐시 메모리는 1초에 몇 TB 수준의 정보를 읽고 쓸 만큼 빠르다.
삼성전자 32Gb DDR5 D램. 사진=삼성전자 |
<이미지를 클릭하시면 크게 보실 수 있습니다> |
하지만 캐시메모리는 가격이 비싸기 때문에 현대의 CPU에도 1차 캐시 메모리는 32KB 정도만 쓰인다. 대신 캐시메모리는 계층을 나누어 속도와 용량을 구분하고, 상위 캐시 메모리로 꼭 연산할 정보만 추려서 보내는 방식을 쓴다. 그래서 대부분의 CPU 안에는 L1, L2, L3 등의 캐시 메모리가 더해진다.
이 캐시메모리에서 지금 바로, 당장 처리해야 하는 연산 데이터는 CPU 코어 속에 담긴 '레지스터'로 복제된다. 결국 CPU는 이 레지스터가 주는 아주 단순한 문제들을 1초에 수 억 번씩 쉴 새 없이 빠르게 계산해 내도록 설계되어 있다. 데이터는 SSD에서 메모리로, 다시 프로세서 속 캐시 메모리를 거쳐 레지스터에 기록된 뒤 CPU의 연산으로 모든 처리가 마무리된다. 메모리라고 하면 으레 RAM으로 통하지만 실제로 컴퓨터 안에는 많은 기억(memory) 장치가 함께 작동하는 것이다.
<저작권자 Copyright ⓒ 디지털포스트(PC사랑) 무단전재 및 재배포 금지>
이 기사의 카테고리는 언론사의 분류를 따릅니다.
기사가 속한 카테고리는 언론사가 분류합니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.
