컴퓨터 메모리 정보
이 섹션에서는 PC가 현재 사용 중인 프로그램과 데이터를 저장하는 범용 메모리, 그리고 프로세서에 데이터를 공급하고 결과물을 받는 파이프라인에 중점을 둡니다. '읽기-쓰기 메모리' 또는 'RAM(Random Access Memory)'이라고 불리는 범용 메모리는 읽기와 쓰기가 모두 가능해야 합니다. 현대 PC에는 두 가지 유형의 RAM이 사용됩니다.
Dynamic RAM
'DRAM(Dynamic RAM)'은 데이터를 아주 짧은 시간 동안만 저장한 후 소실합니다. 저장된 데이터를 유지하려면 시스템이 끊임없이 DRAM을 '새로 고침(refresh)'해야 하는데, 이는 성능 저하를 일으키고 속도를 제한합니다. 일반적인 DRAM은 60 ns(나노초)의 접근 속도를 제공하지만, 비용이 저렴하고 전력 소비가 비교적 적습니다.
Static RAM
'SRAM(Static RAM)'은 전원이 공급되는 동안 새로 고침 없이도 데이터를 자동으로 유지합니다. SRAM은 DRAM보다 몇 배 빠른 접근 시간을 제공하지만, 비싸고 전력 소모가 큽니다.
PC는 이러한 특성을 활용하는 계층형 메모리 아키텍처를 사용합니다.
메인 메모리
PC 메모리의 대부분은 DRAM(현대 시스템은 다음 섹션에서 설명할 'SDRAM'이라는 변형을 사용)을 사용하며 이를 '메인 메모리'라고 부릅니다. 메인 메모리는 일반적으로 256 MB에서 1 GB 이상의 대용량이지만 현대 CPU의 속도를 따라가기에는 너무 느립니다. 메인 메모리는 CPU가 곧 필요로 할 프로그램과 데이터를 저장하는 공간입니다. 메인 메모리는 CPU와 디스크 사이의 버퍼 역할을 합니다.
캐시 메모리
'캐시 메모리'는 CPU와 메인 메모리 사이의 접근을 버퍼링하는 소량의 빠른 SRAM입니다.
현대 PC에는 두 가지 계층의 캐시 메모리가 있습니다:
1차 캐시 메모리
'1차 캐시 메모리'는 'Level 1 캐시' 또는 'L1 캐시'라고도 하며, 일반적으로 CPU 칩 내부에 위치한 16~128 KB의 매우 빠른 메모리입니다. L1 캐시의 크기와 효율성은 CPU 성능의 주요 요소입니다. L1 캐시의 양과 유형은 사용하는 CPU에 의해 결정되며 업그레이드할 수 없습니다.
2차 캐시 메모리
L1 캐시는 프로세서와 메인 메모리 사이의 속도 격차를 해소하기에 충분하지 않습니다. '2차 캐시 메모리'는 'Level 2 캐시' 또는 'L2 캐시'라고도 하며 비용과 성능 사이의 합리적인 타협점을 통해 그 격차를 메웁니다. L2 캐시는 Intel Pentium 4 및 Celeron, AMD Athlon 64 및 Sempron을 포함한 모든 현대 프로세서의 CPU 패키지(또는 CPU 기판 자체)의 일부입니다. 현대 프로세서의 L2 캐시 메모리 크기는 128 KB에서 2 MB까지 다양합니다.
캐시를 활용하세요
프로세서에 있는 캐시 메모리의 양은 특히 작은 데이터 세트에서 작업할 때 성능에 큰 영향을 미칠 수 있습니다. 예를 들어, 거의 동일한 두 프로세서에서 SETI@Home(http://setiathome.ssl.berkeley.edu/) 클라이언트를 테스트했을 때, 512 KB L2 캐시를 장착한 프로세서와 1 MB L2 캐시를 장착한 프로세서를 비교한 결과, 후자가 전자의 절반 이하의 시간 만에 작업 단위를 완료했습니다. 이는 작업 단위 전체가 512 KB L2 캐시에는 들어가지 않지만 1 MB L2 캐시에는 들어갔기 때문입니다. 1 MB L2 캐시에도 들어가지 않는 대규모 데이터 세트를 사용하는 유사한 분산 처리 애플리케이션을 실행했을 때, 더 큰 L2 캐시를 가진 프로세서는 미미하게 더 빠를 뿐이었습니다. 유사한 두 프로세서 중에서 선택해야 한다면 항상 더 큰 L2 캐시를 가진 프로세서를 선택하세요.
메모리 유형
최근 시스템은 다음 유형 중 하나를 메인 메모리로 사용합니다:
동기식 DRAM
'동기식 DRAM', 즉 'SDRAM'은 1996년부터 출하되기 시작했으며 2001년까지 PC에 흔히 사용되었습니다. 지금은 구식이 된 이전의 비동기식 메모리 형태와 달리, SDRAM은 CPU와 공통 클록 기준을 공유합니다. CPU와 메모리가 동기화되어 있어 CPU가 임의의 윈도우를 기다릴 필요 없이 원할 때마다 메모리와 데이터를 주고받을 수 있습니다. SDRAM 속도는 초기 메모리 형태와 달리 나노초가 아닌 MHz 단위로 지정됩니다. 동기식 DRAM은 다음과 같은 형태를 띱니다:
JEDEC SDRAM
'JEDEC SDRAM' 또는 'PC66 SDRAM'은 이후에 나온 'PC100 SDRAM' 및 'PC133 SDRAM'과 구분하기 위해 이렇게 부릅니다.
PC100 SDRAM
'PC100 SDRAM'은 100 MHz FSB를 사용하는 Pentium II 및 Pentium III 프로세서용으로 평가되었습니다.
PC133 SDRAM
'PC133 SDRAM'은 133 MHz FSB에서 사용하도록 평가되었습니다. PC133 메모리가 PC66 또는 PC100 메모리가 설치된 시스템을 업그레이드하는 데 안전하게 사용될 수 있다고 가정해서는 안 됩니다. 특히 Intel 440BX 및 810 시리즈 칩셋 기반의 일부 시스템은 PC100 메모리를 필요로 하며 PC133 메모리를 설치하면 제대로 작동하지 않습니다.
일반적으로 PC66, PC100, PC133 SDRAM 모듈은 여전히 구할 수 있지만(유통량이 제한적임), SDRAM을 사용하는 모든 시스템은 업그레이드 대상으로는 좋지 않습니다. 최신 SDRAM 시스템도 이미 5년 이상 된 구형이며 서비스 수명이 다해가고 있습니다. 1 GHz 이상의 Pentium III 모델과 같은 가장 빠른 SDRAM 시스템은 여전히 보조 역할로 사용할 만큼 빠르지만, SDRAM의 매우 높은 메가바이트당 비용 때문에 다른 구형 시스템에서 메모리를 적출하는 경우를 제외하고는 업그레이드하는 것이 비경제적입니다.
DDR-SDRAM
표준 SDRAM과 비교하여 'DDR-SDRAM(Double Data Rate SDRAM)'은 클록 사이클당 전송되는 데이터 양을 두 배로 늘려 최고 메모리 대역폭을 효과적으로 두 배로 높입니다. DDR-SDRAM은 표준 SDRAM의 진화된 개선형이며, 이를 구분하기 위해 때때로 'SDR-SDRAM(Single Data Rate SDRAM)'이라고도 부릅니다. DDR-SDRAM은 SDR-SDRAM과 생산 비용이 본질적으로 같기 때문에 빠르게 SDR-SDRAM을 대체했습니다.
DDR-SDRAM 메모리 모듈을 만드는 데 사용되는 칩은 DIMM(Dual In-line Memory Module)이라고 하며 동작 속도에 따라 이름이 붙습니다. 예를 들어 100 MHz 칩은 200 MHz로 더블 펌핑(double-pumped)되므로 DDR200 칩이라고 부릅니다. 마찬가지로 133 MHz로 작동하는 칩은 DDR266 칩, 166 MHz로 작동하는 칩은 DDR333 칩, 200 MHz로 작동하는 칩은 DDR400 칩이라고 합니다.
칩 속도로 지정되는 SDR-SDRAM DIMM과 달리 DDR-SDRAM DIMM은 대역폭으로 지정됩니다.
데이터 경로는 64비트(8바이트) 폭입니다. 따라서 예를 들어 DDR200 칩을 사용하는 DDR-SDRAM DIMM은 8바이트를 초당 2억 번 전송하여 총 대역폭이 16억 바이트/초가 되며 이를 PC1600 DIMM이라고 부릅니다. 마찬가지로 DDR266 칩을 사용하는 DDR-SDRAM DIMM은 PC2100, DDR333 칩을 사용하는 DIMM은 PC2700, DDR400 칩을 사용하는 DIMM은 PC3200으로 표기됩니다.
PC3200 DDR-SDRAM 모듈의 가격 하락으로 더 느린 형태의 DDR-SDRAM은 빠르게 도태되었지만, PC2700 모듈은 제한적으로 유통되고 있습니다. PC2100 및 그보다 느린 형태의 DDR-SDRAM의 가용성이 낮은 것은 해당 변형을 사용하는 시스템에는 문제가 되지 않는데, 이는 PC3200 메모리가 하위 호환성을 갖기 때문입니다.
더 빠른 것이 반드시 좋은 것은 아닙니다
게이머, 오버클러커, 기타 애호가를 겨냥한 고성능 메모리 모듈은 PC3500, PC4000, PC4200 이상의 등급으로 제공됩니다. 이러한 프리미엄 가격의 모듈은 시스템을 정격 속도 이상으로 오버클러킹하지 않는 한 아무런 이점을 제공하지 않습니다.
섞어서 사용하지 마세요
더 빠른 모듈과 더 느린 모듈을 섞으면 더 빠른 메모리도 설치된 가장 느린 모듈의 속도로 작동합니다. 또한 일부 마더보드는 혼합된 속도의 메모리를 제대로 처리하지 못합니다. 더 느린 DDR-SDRAM을 소량만 갖춘 시스템을 업그레이드하고 프로세서가 PC3200 DDR-SDRAM의 더 높은 속도를 활용할 수 있다면, 단순히 PC3200 모듈을 추가하는 것보다 느린 모듈을 교체하는 것이 종종 합리적입니다.
DDR-SDRAM을 사용하는 모든 시스템은 좋은 업그레이드 대상입니다. 라벨이 붙어 있지 않다면 제조업체 웹 사이트에서 모듈의 품목 번호를 확인하여 DDR-SDRAM DIMM의 속도 및 기타 특성을 파악할 수 있습니다. DDR-SDRAM DIMM은 184개의 핀을 사용하며, 핀 수와 단일 키잉 노치(keying notch) 위치를 확인하여 168핀 SDR-SDRAM 및 240핀 DDR2-SDRAM 메모리 모듈과 구분할 수 있습니다. 그림 6-2는 DDR-SDRAM DIMM을 보여줍니다.
그림 6-2: DDR-SDRAM DIMM
DDR2 SDRAM
2003년 초, 초기 DDR-SDRAM 기술은 한계에 다다르고 있었습니다. AMD와 Intel이 더 높은 FSB 속도로 전환함에 따라 DDR-SDRAM은 보조를 맞추기 어려워졌습니다. 주류 DDR-SDRAM은 PC3200에서 최고치를 기록합니다. PC3200 메모리를 사용하는 듀얼 채널 DDR 칩셋(쌍으로 된 메모리 모듈의 대역폭을 결합함)은 최고 대역폭을 6,400 MB/s로 제한합니다. 이는 주류 Pentium 4 모델과 같이 800 MHz FSB로 작동하는 64비트(8바이트) 폭의 메모리 채널을 가진 프로세서의 대역폭 요구 사항과 일치하지만, 새로운 프로세서가 도입됨에 따라 듀얼 채널 DDR-SDRAM조차도 프로세서 대역폭의 증가를 따라잡지 못하게 될 것입니다.
장기적인 해결책은 'DDR2 SDRAM'입니다. DDR2는 증가된 대역폭, 낮은 전압(DDR의 2.5V 대비 1.8V), 낮은 전력 소비, 개선된 패키징을 포함하여 표준 DDR 기술에 대한 일련의 진화적 개선을 통합합니다. DDR-SDRAM이 동일한 클록 속도에서 실행될 때 SDR-SDRAM보다 대역폭을 두 배로 늘린 것처럼, DDR2-SDRAM은 전기적 인터페이스의 속도를 두 배로 높여 DDR-SDRAM보다 대역폭을 두 배로 늘립니다. DDR2 DIMM은 184핀 DDR-SDRAM 및 이전 커넥터와 호환되지 않는 새로운 240핀 커넥터를 사용합니다. 표 6-1은 DDR2-SDRAM의 중요한 특성을 나열하며 비교를 위해 PC3200(DDR400) DDR-SDRAM을 함께 보여줍니다.
표 6-1: DDR2 특성
Intel이 도입 이후 DDR2를 강력하게 밀어붙였지만, 초기 채택은 두 가지 이유로 느렸습니다. 첫째, DDR2 메모리는 원래 DDR 메모리보다 매우 높은 프리미엄 가격에 판매되었으며, 때로는 200%에서 300%까지 높았습니다. 2005년 말까지 그 격차는 15%~20%로 줄어들어 DDR2가 더 합리적인 선택이 되었습니다. 둘째, DDR2는 DDR보다 훨씬 높은 대역폭을 제공하지만 훨씬 높은 '레이턴시(지연 시간)'로 인해 고통받습니다. 사실상 이는 DDR2가 DDR보다 더 높은 속도로 데이터를 전달할 수 있지만, 데이터 전달을 시작하는 데 시간이 더 걸린다는 것을 의미합니다. 비디오 편집과 같이 주로 순차적인 메모리 접근을 사용하는 애플리케이션의 경우, DDR2의 대역폭 이점은 눈에 띄게 더 높은 메모리 성능을 제공합니다. 많은 개인용 생산성 프로그램을 포함하여 메모리에 무작위로 접근하는 애플리케이션의 경우, DDR의 레이턴시 이점이 우위를 점합니다. DDR2-SDRAM DIMM은 240핀을 사용하며 핀 수와 키잉 노치 위치를 확인하여 168핀 SDR-SDRAM 및 184핀 DDR-SDRAM 메모리 모듈과 구분할 수 있습니다.
Rambus RDRAM
'Rambus RDRAM'은 Intel과 Rambus가 공동 개발한 독점 RAM 표준입니다. Rambus RDRAM은 'RIMM'이라는 모듈로 패키징되는데, 이는 약어가 아닌 상표명입니다.
'Base Rambus', 'Concurrent Rambus', 'Direct Rambus'라고 불리는 세 가지 유형의 RDRAM 메모리가 있습니다. 처음 두 가지는 구식이며 게임기와 같은 기기에만 사용되었습니다. PC에 사용되는 모든 RDRAM 메모리는 Direct Rambus 메모리입니다. RDRAM은 PC600, PC700, PC800, PC1066으로 지정된 네 가지 속도로 만들어졌지만, PC800과 PC1066만 여전히 사용할 수 있습니다. DDR-SDRAM과 마찬가지로 RDRAM 모듈은 대역폭에 따라 이름이 지정되지만 차이가 있습니다. RDRAM은 DDR-SDRAM의 8바이트 대역폭과 달리 한 번에 2바이트를 전송하기 위해 16비트 또는 18비트 데이터 경로(SDRAM의 경우 64비트)를 사용합니다. 따라서 PC800 RDRAM은 1.6 GB/s의 대역폭을 가지며 PC1066은 2.133 GB/s로, DDR2-SDRAM은 고사하고 DDR-SDRAM보다 훨씬 낮습니다.
하나의 모듈에 두 개
RDRAM RIMM은 원래 16비트 또는 18비트 부품으로 제공되었습니다. 듀얼 채널 RDRAM 마더보드에서 해당 모듈은 채널당 하나씩 쌍으로 설치해야 했습니다. 현재 제공되는 PC1066 32/36비트 RDRAM RIMM은 사실상 두 개의 16비트 또는 18비트 RIMM이 단일 패키지로 결합된 것이며, 듀얼 채널 RDRAM 시스템에 단일로 설치할 수 있습니다.
RDRAM은 심각한 레이턴시 문제도 겪으며, RDRAM 장치 수가 증가함에 따라 그 레이턴시도 증가합니다. RDRAM은 도입 당시 잠재적으로 더 높은 전체 성능을 제공했지만, 더 빠르고 훨씬 저렴한 DDR-SDRAM이 데스크톱 시스템용 RDRAM을 빠르게 대체했습니다. RDRAM 기반 시스템은 업그레이드가 거의 불가능하므로, 시스템의 노후도와 추가 RDRAM 메모리 비용을 마더보드를 교체하고 DDR-SDRAM 또는 DDR2-SDRAM 메모리를 사용하는 비용과 신중하게 비교하세요.
Rambus는 더 이상 PC용이 아닙니다
Rambus는 'XDR DRAM'이라는 RDRAM의 후속 제품을 도입했으며, 이는 (가격은 아니더라도) 성능 면에서 DDR-SDRAM과 경쟁할 만합니다. XDR DRAM은 Sony PlayStation 3 게임기에 사용되지만, 기존 PC 칩셋 중 XDR DRAM을 지원하는 것은 없습니다. Rambus 메모리로 구축된 모든 PC는 이제 설계 서비스 수명이 거의 끝나가고 있습니다.
시스템의 노후도를 알면 해당 시스템에 있을 법한 메모리 유형을 판단할 수 있습니다. 그림 6-3은 지난 10년 동안 새 시스템에 설치된 메모리 유형의 타임라인을 보여줍니다.
그림 6-3: 연도별 신규 시스템 사용 메모리 유형
2005년 말 현재, PC 메모리 시장은 향후 몇 년간 예측 가능한 것으로 보입니다. PC3200 DDR-SDRAM 메모리는 저가형 시스템에 계속 사용될 것이며 이전 시스템을 업그레이드하는 사람들에게 널리 제공될 것입니다. DDR2-SDRAM은 2005년 Intel 기반 시스템에서 마침내 발판을 마련했으며, AMD가 2006년 내내 DDR2 호환 프로세서를 도입함에 따라 DDR2는 주류 메모리 기술이 되어 점차 DDR-SDRAM을 대체할 것입니다.
댓글 0개