「메모리」가 무엇인가 하고 물으면 일반인은 기억이라고 대답할 것이고, 컴퓨터나 IT업계를 염두에 둔 사람이라면 기억장치 또는 일시적 저장장치라고 대답할 것이다.


요즈음의 컴퓨터에 사용되는 메모리는 크게 세종류 정도이다. 살아있는 생명체의 심장이 주기적으로 뛰어 온 몸 구석구석으로 피를 보내는 것과 마찬가지로 리프레시가 필요한 DRAM(Dynamic Random Access Memory), 리프레시는 따로 필요없지만 전원이 켜져 있는 동안에만 기억 또는 저장할 수 있는 SRAM(Static RAM), 그리고, 한 번 기억시켜 놓으면 전원이 꺼져도 그 내용을 유지하는 플래시 메모리가 그것이다. 여기서는 이 중에서 소비자들이 일반적으로 알고 있고 실제 취급도 하며 한국을 반도체 강국으로 만든 메모리, 즉 DRAM에 대한 이야기를 하고자 한다.


최초의 트랜지스터 프로세서로 알려져 있는 4004의 메모리 지정 가능한 용량은 640바이트였고, 초창기의 컴퓨터에 사용된 8086 프로세서는 1MByte(2의 20승)를 지정할 수 있었다.


이 1Mbyte라는 것은 x86 호환 컴퓨터를 유지하는데 결정적인 원인임과 동시에, 호환성이라는 명목하에 아주 오랫동안 발목을 잡아 컴퓨터 발전에 대한 저해 요소의 한 축이 되어왔다고 보는 견해도 허다하다. X86의 호환 CPU는 지금도 메모리 컨트롤러간의 통신을 위한 신호 핀을 가지고 있다. 그러나 이것은 현재 특수한 경우(OS의 리얼모드)를 제외하곤 거의 사용되고 있지 않다.


실제로 필자가 처음으로 접한 XT 컴퓨터(8088)에는 하드디스크가 없었다. 그래서 테트리스라는 게임을 하기 위해서 도스 디스크로 부팅 후 그 게임 디스크를 넣고 실행했어야만 했다. 이렇게 하드디스크는 없어도 되었지만, 메모리만은 필수불가결한 요소였다. 이것이 DRAM이며 세포처럼 현미경으로 계속 확대해서 들여다 본다면 그 구조는 두개의 스위치와 하나의 충전지(커패시터)로 하나의 비트를 구성하고 있음을 알 수 있다.


10여년전, 많은 컴퓨터 사용자들은 툭하면 메모리 부족이라는 메시지를 받으며, 어떡하면 메모리를 효율적으로 사용할까에 대해 머리를 싸매며 엄청난 고민을 했는데, 그당시 새로운 OS인 윈도우95가 등장하면서 메모리는 새로운 국면을 맞게 되었다.


컴퓨터에서의 메모리의 용량의 증가는 일반 사용자 기준에서 보면 OS에 따라, 또는 아주 멋진 그래픽 게임이나 3차원 게임등에 따라, 주머니를 털어 추가 구입하곤 했을 것이다. 가능한 많은 데이터를 메모리에 가져다 놓으면 컴퓨터의 속도가 올라가기 때문이다. 여기서 우리가 아는 CPU에 내장되어 있는 캐시 메모리와 주메모리로 사용되는 DRAM 그리고 하드디스크의 상관 속도를 생각해 보면 메모리의 증가가 왜 전체 컴퓨터의 성능을 올릴 수 있는지도 가늠해 볼 수 있다.


예를 들어 바탕화면의 어떤 아이콘을 실행하고자 누르면, CPU는 이 새로운 명령을 수행하고자 우선 캐시메모리를 확인하고, 여기에 없으면 주메모리(DRAM)를 둘러보고, 그래도 없으면 하드디스크에서 필요한 내용을 가져온다. 그런데 캐시메모리는 우리가 근무하는 책상을 기준으로 본다면 책상위나 서랍정도의 거리와 속도이며 주메모리는 사무실의 한켠에 있는 캐비닛정도, 그리고 하드디스크는 그 건물 지하실에 있는 서재창고 정도라고 할 수 있겠다. 각 단계는 10배이상의 시간이 걸린다.


그러나 많은 책들을 책상위(캐시)에 갖다 놓는 것은 공간적으로 한계가 있으므로 사무실공간이 넓어서 필요한 자료들을 최대한 많이 갖다 놓을 수 있다면 전체 업무가 빠르고 효율적으로 진행할 수 있을 것이다. 여기서 알 수 있듯 무작정 메모리가 많다고 해서 그만큼 속도가 올라가지 않는다는 것도 이 사무환경에서 어느정도 짐작이 갈 것이다.


이제 CPU도 32비트가 아닌 64비트를 지원하면서, 메모리 지정 가능영역도 기존의 최대 4GB정도에서 지금으로서는 무한할 정도의 양을 지원하는데, 현재 출시된 CPU를 기준으로 물리적인 메모리 지정만 따진다면 AMD의 경우 1 테라바이트(1 TB = 1000GB), 인텔의 경우 64GB까지 가능하다. 이것은 8086시절(약 20년전)에 비해 AMD기준으로 1백만배가 증가한 것이다.


지금의 DDR DRAM은 SIMM, DIMM(Single/Dual Inline Memory Module)이라고 불렸던 FPM(Fast Page Mode), EDO(Extended Data Output) DIMM을 거쳐 SDRAM(Synchronous DRAM)으로 발전하였다. 이 SDRAM은 주파수 동기라는 의미이며 메모리 컨트롤러가 구동하는 클럭과 같은 클럭으로 메모리를 구동할 수 있다는 의미이다. 즉, 더 빠른시간에 더 많은 데이타를 읽고 쓰기가 가능해 졌다는 것이다.


우리가 일반적으로 부르는 SDRAM은 그것의 구동 속도에 따라 PC66, PC100, PC133 등으로 불렀으며, DDR SDRAM이 나오면서 이것과 구분하기 위해 기존 SDRAM을 SDR SDRAM으로 고쳐 부르는 경우도 있다. 즉 SDR은 Single Data Rate이며 DDR은 Dual Data Rate이다. 하나의 클럭동안 하나의 데이타를 처리하느냐 두개를 처리하느냐의 차이다.


아이러니하게도 지금은 거의 사라지고 그 명맥만 유지하는 또다른 DDR(Dance Dance Revolution)이 유행했다. 그래서 일반인들에게 DDR을 이야기 하면 이것을 먼저 떠올리곤 했는데, 그 당시는 분명 메모리의 DDR보다 춤추는 DDR이 더 유명했던 것은 사실이다. 이것의 영향이 있었건 없었건 간에 현재 우리가 알고 있는 DDR DRAM이라는 메모리로의 발전이 그렇게 순탄한 것은 아니었다.


가정이지만, 만약 AMD가 없었다면 메모리 역사의 축은 분명 달라졌을 것이라고 생각된다. 1990년대 말에, 이 DDR SDRAM으로 변화하는 시점에서 인텔은 램버스 DRAM을, AMD는 DDR DRAM을 채택하는 형태로 양분되었다. 먼저 인텔은 램버스 DRAM을 구동할 수 있는 칩셋을 PC업계에 공급했으며 일부 메모리 제조사에게 막대한 자금을 설계 및 생산을 위해 제공하였지만 그외의 대다수의 메모리 생산업체는 천문학적인 생산설비 비용에 대한 부담감등의 이유로 DDR DRAM을 공급하기 시작했다. 즉 기존의 SDRAM과 같은 시험 공정과 생산설비로 DDR SDRAM을 생산할 수 있으므로 상대적으로 저렴하게 DDR SDRAM을 공급할 수 있었다.


소비자의 입장에서도 램버스 DRAM은 항상 쌍으로 장착해야만 하는 추가 비용 지출과 상대적으로 비싼 가격때문에 외면하기 시작했으며, 이것은 소비자로 하여금 AMD의 플랫폼이나 DDR DRAM 기반의 비아(Via)나 시스(SiS)가 공급하는 칩셋 기반의 플랫폼 사용 점유율이 상대적으로 급등하는 계기가 되었다. 급기야 인텔로 하여금 DDR SDRAM을 사용할 수 있는 칩셋을 공급하도록 하였는데, 이것으로 보이지 않는 업계의 유명한 메모리 전쟁의 막을 내리게 되었다.


분명 램버스 DRAM도 좋은 기술이며, 어쩌면 향후 메모리 산업이 나아가야 할 방향이었는지도 모르지만 시기적으로 적절하지 못했던 것 같다. 소비자가 받아들일 수 있는 기술이어야 하며, 급격한 기술의 변경은 어디서든지 부딪히게 마련이다. 그 옛날 전기가 없던 아프리카의 어느 나라에서 사형수를 사형시키기 위해 아주 비싼 전기의자를 도입했지만 무용지물이 되자 왕의 지위를 나타내는 의자로 둔갑했던 것과 같은 이치다.


여기서 얻을 수 있는 교훈은 고객중심의 기술 발전이 돼야 한다는 것이다. 그 후 이 램버스 DRAM은 몇몇의 게임 전용기기에 사용되고 있으며 DDR DRAM에 비하면 상대적으로 유명무실해졌다.


메모리 자체만 본다면 DDR DRAM에 대해 인텔은 AMD에 비해 상대적으로 성능적 열등을 보였다. 그 이유는 AMD가 메모리 컨트롤러를 CPU에 내장시켜 기존보다 배나 빠른 메모리 레이턴시(메모리 지연 대기시간: CPU가 메모리를 읽는 명령을 내린 후 메모리 내의 데이타가 CPU에 도달하기 까지 걸리는 총 시간)를 구현하기 때문이다.


그래서 상대적으로 쉽게 메모리의 형태를 결정짓지 못하는 AMD에 대해 역으로 DDR2부터는 인텔의 맹공이 시작되었다. 그러나 다분 우리가 아는 일반 데스크탑이나 노트북PC와는 달리 서버용은 FB-DIMM이라는 새로운 메모리 구성방법을 제안했다. 이제는 일반용과 서버용을 양분하겠다는 의미이다.


인텔로서는 어쩌면 당연한 선택인지도 모른다. 상대적으로 많은 메모리 장착을 원하는 서버 시장에서 AMD에 비해 비효율적이었던 인텔 플랫폼에, FB-DIMM은 총 메모리량을 획기적으로 늘릴 수 있기 때문이며 그러한 구도에서는 더 이상 아인텔, AMD간의 총 메모리량에 대한 우위가 없어진다. 그러나 하나의 메모리 모듈당 기존보다 2배정도 비싸지므로 일반PC로의 접근은 쉽지 않으며, 따라서 일반PC는 DDR2, DDR3로 발전되어갈 것이다.


같은 DDR 메모리를 부르는 방법이 두가지가 있으며 둘 모두 통용되고 있다. DDR1의 경우 하나는 메모리의 구동 주파수에 따라 DDR-200, 266, 333 및 400이며 또한 PC-1600, 2100, 2700 및 PC-3200등으로 불리는데 이것은 대역폭을 기준한 것이다. 즉 PC-3200은 3200MB/s 또는 3.2GB/s이며 초당 32억바이트(1바이트는 영문이나 숫자 1글자, 한글은 2 바이트로 구성됨) 만큼의 데이타를 이동시킬 수 있는 크기이다.


반면 DDR2는 DDR2-400부터, 533, 667, 800이며 대역폭을 기준한 것은 PC2-3200부터 4300, 5300, 6400이다. 향후 DDR3가 나온다면 800, 1066, 1333, 1600Mhz로 구동되고, 그 대역폭은 6.4, 8.5, 10.6, 12.8GB/s가 될 것이다.


메모리의 발전속도는 CPU의 속도증가에 비해 상대적으로 많이 뒤떨어진다. CPU가 GHz로 증가할때 메모리는 아직도 수백 MHz의 단위로 증가할 정도로 균형적 발전이 안되고 있는 것처럼 보이지만, 사실 더 심각한 것은 입출력(I/O) 장치들이 아닌가 생각된다. 이러한 것은 다음 기회에 I/O 이야기를 통해 알아보도록 하겠다. ⓢ


나동룡의'64비트 컴퓨팅'


<출처> 매일경제, 2006.05.24

Posted by TopARA
,