Skip to content

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등이 필요없음.
  • Dynamic RAM (DRAM)
    • dynamic(동적) :
      • Capacitor를 사용하기 때문에
      • Leakeage Current로 인해 Recharge가 주기적으로 필요함.

컴퓨터 조립 등의 경우에 흔히 애기하는 RAM 은 흔히, Dynamic RAM 을 가리킴.

Volatile 은 "휘발성" 이라는 뜻이나, 컴퓨터에서는 전원이 꺼지면 데이터가 사라지는 것을 의미함.
Non-volatile Memory 의 대표적인 것은 ROMFlash Memory 임.



Static RAM (SRAM)

SRAM은 Flip-Flop, Register 처럼 Gate (즉, Transistor로 만들어짐)로 만들어진 Memory 로 구성되기 때문에,

  • Transistor를 다량으로 집적( 보통 1 Bit 기억하는 D Flip-Flop에 보통 6개의 NAND가 들어감)시켜야 함.
  • 저장용량이 커지기 위해선 상당한 크기의 회로가 필요함.

즉, 대용량 Memory를 집접시켜 만들기가 어렵다.

Register 도 일종의 SRAM 이라고도 볼 수 있음.

SRAMDRAM 대비하여,
용량 당 제조 비용이 매우 큰 편 이다.
하지만 속도 측면에서는 DRAM 보다 매우 높은 성능을 보인다.

  • On-Chip Memory 로 쓰임. (CPU의 Cache Memory등)
    • CPU 와 Main Memory는 수행속도가 차이가 나며,
    • 이를 보완하기 위해 중간에 Cache Memory (or Cache 로 줄여서도 부름)가 들어감.
    • Cache는 CPU 내에서 CPU 에 해당하는 속도로 동작하여 속도차를 개선함.
    • 이와 달리, Main Memory는 마더보드의 Front Side Bus (FSB) 에 해당하는 속도(보다 느림)로 동작.
  • SRAM은 용량별 단가가 높으나 빠른 속도낮은 소비전력 이 장점.
  • 전원이 꺼지면 데이터가 사라지나(Volatile), 전원이 켜있는 한 Refresh(또는 충전)가 필요 없다.

참고: Cache Memory

Buffer와 마찬가지로 속도의 차이가 나는 두 소자 사이에 놓여
속도 차이에 의한 문제를 완화시켜주는 역할을 한다.

차이점이라면, CachePrefetch 방식과 같이 필요할 것으로 예측되는 데이터를 미리 가져다 놓는 알고리즘 등이 적용된 소자에 사용 되는 용어임.

  • Temporal Locality와 Spacial Locality에 기반한
  • Locality of Reference 를 이용하여 Cache Hit Ratio를 향상시킴.

BufferCache 보다 넓은 개념으로 사용된다.



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)

SDRAMSynchronous 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배 빠름


읽어볼 자료.