컴퓨터구조

[컴퓨터 구조] 5.2 메모리 기술 및 종류(SRAM, DRAM, Flash Memory, Magnetic Disk)

ima9ine4 2023. 11. 25. 21:26
728x90

'컴퓨터 구조 및 설계 MIPS edition 제 6판' 교재와 국민대학교 임은진 교수님의 강의를 바탕으로 작성한 글입니다.
정리 과정에서의 오류 및 오타가 있을 수 있습니다 :)

[ Lecture 23 / 교재 5.2 ] 메모리 기술

CPU의 성능은 메모리의 성능보다 훨씬 빠르게 증가한다. 

병목현상이란 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상을 말한다. '병목'이라는 용어는 물이 병 밖으로 빠져나갈 때 병의 몸통보다 병의 목부분의 내부 지름이 좁아서 물이 상대적으로 천천히 쏟아지는 것에 비유한 것이다.

컴퓨터에서 병목 현상이라고 하면 두 구성 요소의 성능 차이로 인해 한 구성 요소가 다른 요소의 성능을 제한하는 것을 말한다. 

메모리 병목현상도 말 그대로 메모리의 성능으로 인해 전체적인 CPU 성능에 제약이 발생하는 것을 의미한다. 아래 그래프를 보면 CPU 성능의 발전 속도보다 메모리 성능의 발전 속도가 훨씬 느린 것을 확인할 수 있다.


오늘날 사용되는 메모리 계층구조에서는 네 가지 주요 기술이 사용된다. 하나씩 알아보자.

SRAM (Static Random Access Memory)

  • 값은 두 개의 인버팅 게이트에 저장된다.
  • 매우 빠르지만 DRAM보다 더 많은 공간을 차지한다.
  • 읽기 접근 시간과 쓰기 접근 시간이 다를 수는 있지만, 데이터 위치에 상관 없이 접근 시간은 같다.
  • 리프레시(refresh)가 필요 없다.
  • 비트 당 6~8개의 트랜지스터
  • 오늘날에는 모든 계층의 캐시가 프로세서 칩에 집적되므로 분리된 SRAM칩 시장은 거의 사라졌다.

 

DRAM (Dynamic Random Access Memory)

  • 매우 작지만 SRAM보다 빠르다.
  • 데이터를 전하 형태로 Capacitor에 저장한다. 
  • 비트 당 1개의 트랜지스터 -> SRAM에 비하여 훨씬 집적도가 높고 값도 싸다.
  • 전하는 수 밀리초 동안만 유지된다. -> 주기적인 refresh 필요, 셀 단위가 아닌 행 단위 refresh(읽기 사이클에서 전체 행을 한꺼번에 읽은 후 바로 쓰기 실행)

 

cf ) ROM (Read Only Memory)
- Mask ROM
    많이 사용하는 프로그램은 미리 공장에서 내용을 써준다.(진리표라고 생각하면, 진리표를 작성해준다)
- PROM(Programmable ROM)
    처음에는 내용이 없는 ROM을 기계에 넣고 구워 내가 직접 PROM에 내용을 써줄 수 있다.
    한 번 써준 ROM은 지울 수 없다.
- EPROM(Erasable Programmable ROM)
    굽는 기계에 넣어서 다시 내용을 바꿀 수 있다.
- EEPROM(Elactrically Erasable Programmable ROM)
    특별한 하드웨어, 기계를 거칠 필요 없이 컴퓨터에 꽂아두고 변경할 수 있다.
    ??? 이거 RAM인데? RAM으로 쓰자 -> Flash Memory로 발전

 

Flash Memory

  • 비휘발성(nonvolatile)이면서 읽고 쓰기가 가능하다. (본질적으로는 ROM이기 때문이다.)
  • 전기적으로 지울 수 있고 프로그래밍이 가능한 EEPROM의 한 종류이다.
  • 마모 균등화(wear leveling)
    • 플래시 메모리의 쓰기는 비트를 마모시킨다.
    • 여러 번 쓰기가 수행된 블록을 덜 사용된 블록에 재사상(remapping)해서 쓰기를 분산시키는 방법
  • 읽고 쓰는 시간이 SRAM, DRAM보다 느리다.

 

디스크 메모리

  • 반도체가 아닌 자성체
  • 하드디스크는 원판의 집합으로 구성되어 있다.
  • 읽고 쓰는데 시간이 가장 오래 걸린다.

 

728x90
반응형