Random Access Memory (RAM)¶
앞서 살펴본 것처럼
- Address를 통해 위치를 지정하여 읽고 쓰는 방식의 Memory 를
Random Access Memory (RAM)
라고 칭함.
Random Acess 는
Address
를 통해임의의 순서로 접근 (Access In Any Order)
이 가능함.
컴퓨터를 조립할 때 사용하는 RAM
이 바로 Random Acces Memory
의 약어임.
주로,
Volatile Memory
라는 점을 주의할 것 (전원이 꺼지면 데이터가 사라짐).Core
RAM이라는Non-volatile RAM
도 초기에 사용되었다고 함: 개인적으로 사용해 본 적은 없음.
RAM
은 크게 다음과 같은 두 종류로 나뉜다.
- Static RAM (
SRAM
)- static(정적) :
- Refresh가 필요없음.
- 전원이 공급되는 기억한 데이터를 유지하기 위한 Recharge등이 필요없음.
- static(정적) :
- Dynamic RAM (
DRAM
)- dynamic(동적) :
- Capacitor를 사용하기 때문에
- Leakeage Current로 인해 Recharge가 주기적으로 필요함.
- dynamic(동적) :
컴퓨터 조립 등의 경우에 흔히 애기하는
RAM
은 흔히,Dynamic RAM
을 가리킴.
Volatile
은 "휘발성" 이라는 뜻이나, 컴퓨터에서는 전원이 꺼지면 데이터가 사라지는 것을 의미함.
Non-volatile Memory
의 대표적인 것은ROM
과Flash Memory
임.
Static RAM (SRAM)¶
SRAM은 Flip-Flop
, Register
처럼 Gate (즉, Transistor로 만들어짐)로 만들어진 Memory 로 구성되기 때문에,
- Transistor를 다량으로 집적( 보통 1 Bit 기억하는
D Flip-Flop
에 보통 6개의NAND
가 들어감)시켜야 함. - 저장용량이 커지기 위해선 상당한 크기의 회로가 필요함.
즉, 대용량 Memory를 집접시켜 만들기가 어렵다.
Register 도 일종의
SRAM
이라고도 볼 수 있음.
SRAM
은 DRAM
대비하여,
용량 당 제조 비용이 매우 큰 편 이다.
하지만 속도 측면에서는 DRAM
보다 매우 높은 성능을 보인다.
On-Chip Memory
로 쓰임. (CPU의 Cache Memory등)- CPU 와 Main Memory는 수행속도가 차이가 나며,
- 이를 보완하기 위해 중간에
Cache
Memory (orCache
로 줄여서도 부름)가 들어감. - Cache는 CPU 내에서 CPU 에 해당하는 속도로 동작하여 속도차를 개선함.
- 이와 달리, Main Memory는 마더보드의 Front Side Bus (FSB) 에 해당하는 속도(보다 느림)로 동작.
SRAM
은 용량별 단가가 높으나 빠른 속도 와 낮은 소비전력 이 장점.- 전원이 꺼지면 데이터가 사라지나(
Volatile
), 전원이 켜있는 한Refresh
(또는 충전)가 필요 없다.
참고:
Cache Memory
Buffer
와 마찬가지로 속도의 차이가 나는 두 소자 사이에 놓여
속도 차이에 의한 문제를 완화시켜주는 역할을 한다.차이점이라면,
Cache
는Prefetch
방식과 같이 필요할 것으로 예측되는 데이터를 미리 가져다 놓는 알고리즘 등이 적용된 소자에 사용 되는 용어임.
- Temporal Locality와 Spacial Locality에 기반한
Locality of Reference
를 이용하여 Cache Hit Ratio를 향상시킴.
Buffer
가Cache
보다 넓은 개념으로 사용된다.
Dynamic RAM (DRAM)¶
DRAM
은
Capacitor
를 이용 하여- 필요한 Transistor의 수를 대폭 줄인 memory이다: (from 6 to 1)
기생 Capacitor(Transistor 제조시 생기는 Capacitor)를 활용하는 기술 등의 발전은 집적도가 매우 높은 DRAM
구현(1Cell 당 1개 Transistor 와 1개 Capacitor)을 가능 하게 함.
오늘날 대용량의 Memory를 위해 주로 채택되는 방식 이다.
Capacitor를 사용하기 때문에
- 누설전류로 인한 데이터 소실을 막기 위한 주기적인 충전(recharge)이 필요(전력효율이 낮음) 하고
- SRAM에 비해 속도가 느림.
요약하면
DRAM
은 Computer의 Main Memory로 사용됨.- 소비전력이 높고 속도도 느리지만,
- 용량별 단가가
SRAM
대비 압도적으로 낮고, 고밀도 집적화 가 가능함. - 초기에는 비동기식이었으나, Synchronous Dynamic RAM (
SDRAM
)이 개발된 이후로는 - System Bus (=Front Side Bus)와 동기화 되어 사용됨.
Synchronous DRAM (SDRAM)¶
SDRAM
은 Synchronous Dynamic RAM 을 가리킴.
Single Data Rate SDRAM (SDR SDRAM
, SDR)에서 시작하여 Double Data Rate SDRAM (DDR SDRAM
, DDR)으로 발전했으며, DDR의 경우 DDR5까지 개발된 상태임.
- Single Data Rate (SDR) SDRAM :
- Clock Cycle 하나당
- 하나의 데이터를 전송
- Rising Edge만 사용.
- Double Data Rate (DDR) SDRAM :
- Clock Cycle 하나당
- 2개의 데이터를 전송
- Rising and Falling Edge 모두 사용.
속도의 측면에서
- DDR 은 SDRAM 의 대략 2배 빠른 속도를 가짐
- DDR2 는 DDR 에 대해 2배 빠름.
- DDR3 는 DDR2 에 대해 2배 빠름.
- DDR4 는 DDR3 에 대해 2배 빠름.
- DDR5 는 DDR4 에 대해 2배 빠름