[네트워크 기초]

메모리란?

호지98 2024. 7. 10. 20:09

1. 메모리란 무엇인가?

메모리(Memory)는 컴퓨터 시스템에서 데이터를 저장하고, 읽고, 쓸 수 있는 공간을 제공하는 중요한 부품입니다. CPU가 명령을 처리할 때 필요한 데이터와 프로그램을 저장하며, 이 데이터는 임시 저장되거나 영구적으로 저장될 수 있습니다.

2. 메모리의 종류

메모리는 크게 두 가지로 구분됩니다: 휘발성 메모리와 비휘발성 메모리.

  • 휘발성 메모리(Volatile Memory): 전원이 꺼지면 데이터가 사라지는 메모리입니다.
    • RAM(Random Access Memory): 데이터와 명령어를 일시적으로 저장하며, 읽기와 쓰기가 가능합니다.
      • DRAM(Dynamic RAM): 주기적으로 데이터를 재충전해야 하며, 컴퓨터의 주 메모리로 사용됩니다.
      • SRAM(Static RAM): 빠르지만 비싸며, 주로 캐시 메모리로 사용됩니다.
    • 캐시 메모리(Cache Memory): CPU와 주 메모리 사이에 위치하여, 자주 사용하는 데이터를 임시 저장합니다.
  • 비휘발성 메모리(Non-Volatile Memory): 전원이 꺼져도 데이터가 유지되는 메모리입니다.
    • ROM(Read-Only Memory): 초기 부팅 시 필요한 데이터를 저장하며, 읽기만 가능합니다.
      • PROM(Programmable ROM): 한 번만 프로그래밍 가능한 ROM.
      • EPROM(Erasable Programmable ROM): 자외선으로 지울 수 있는 ROM.
      • EEPROM(Electrically Erasable Programmable ROM): 전기적으로 지우고 다시 쓸 수 있는 ROM.
    • 플래시 메모리(Flash Memory): 전기적으로 데이터를 지우고 쓸 수 있으며, USB 드라이브, SSD 등에 사용됩니다.

3. 메모리의 작동 원리

메모리는 주소 버스(Address Bus), 데이터 버스(Data Bus), 제어 버스(Control Bus)와 함께 작동합니다.

  • 주소 버스: CPU가 메모리의 특정 위치를 지정할 때 사용됩니다.
  • 데이터 버스: 메모리와 CPU 사이에서 데이터를 전송합니다.
  • 제어 버스: 읽기/쓰기 신호와 같은 제어 신호를 전달합니다.

메모리는 주소 버스를 통해 특정 위치를 지정하고, 데이터 버스를 통해 데이터를 읽거나 씁니다. 제어 버스는 메모리의 상태를 관리합니다.

4. 메모리 계층 구조

메모리 계층 구조는 속도와 용량의 균형을 맞추기 위해 다양한 유형의 메모리를 계층적으로 배치한 것입니다.

  1. 레지스터(Register): CPU 내부의 초고속 메모리로, 매우 빠른 접근 속도를 가집니다.
  2. 캐시(Cache): CPU와 주 메모리 사이에 위치하며, L1, L2, L3 캐시로 나뉩니다.
  3. 주 메모리(Main Memory): 일반적으로 DRAM으로 구성되며, 컴퓨터의 작업 메모리입니다.
  4. 보조 기억장치(Secondary Storage): HDD, SSD와 같은 비휘발성 저장장치로, 데이터의 영구 저장을 담당합니다.

5. RAM과 ROM의 차이

  • RAM(Random Access Memory):
    • 데이터의 읽기와 쓰기가 가능합니다.
    • 휘발성 메모리로, 전원이 꺼지면 데이터가 사라집니다.
    • 주로 시스템의 작업 메모리로 사용됩니다.
  • ROM(Read-Only Memory):
    • 데이터의 읽기만 가능합니다.
    • 비휘발성 메모리로, 전원이 꺼져도 데이터가 유지됩니다.
    • 시스템 부팅에 필요한 펌웨어를 저장합니다.

6. 메모리의 성능 지표

메모리 성능은 다음과 같은 지표로 평가할 수 있습니다.

  • 용량(Capacity): 메모리가 저장할 수 있는 데이터의 양을 나타내며, 단위는 GB(기가바이트)입니다.
  • 대역폭(Bandwidth): 메모리가 초당 전송할 수 있는 데이터 양을 나타내며, 단위는 GB/s(기가바이트/초)입니다.
  • 지연 시간(Latency): 메모리가 데이터에 접근하는 데 걸리는 시간을 나타내며, 단위는 ns(나노초)입니다.
  • 클럭 속도(Clock Speed): 메모리의 작동 주기를 나타내며, 단위는 MHz(메가헤르츠)입니다.

7. 메모리 관리 기술

효율적인 메모리 관리를 위해 다양한 기술이 사용됩니다.

  • 페이징(Paging): 메모리를 페이지 단위로 나누어, 필요한 페이지만 메모리에 로드합니다.
  • 세그멘테이션(Segmentation): 메모리를 논리적 세그먼트로 나누어 관리합니다.
  • 가상 메모리(Virtual Memory): 실제 메모리보다 큰 주소 공간을 제공하여, 보조 기억장치를 메모리처럼 사용합니다.
  • 캐시 일관성(Cache Coherence): 다중 캐시 시스템에서 데이터 일관성을 유지합니다.

8. 최신 메모리 기술

  • DDR4 및 DDR5: 최신 RAM 표준으로, 더 높은 속도와 대역폭을 제공합니다.
  • NVMe(Non-Volatile Memory Express): 고속 플래시 메모리를 위한 인터페이스로, SSD의 성능을 극대화합니다.
  • 3D XPoint: 인텔과 마이크론이 개발한 새로운 형태의 비휘발성 메모리로, DRAM보다 빠르고 NAND 플래시보다 내구성이 뛰어납니다.

9. 메모리의 발전 역사

메모리는 1950년대부터 급격히 발전해 왔습니다.

  • 1세대: 자기 코어 메모리(Magnetic Core Memory)는 초기 컴퓨터에서 사용되었습니다.
  • 2세대: 1960년대, 최초의 반도체 RAM이 개발되었습니다.
  • 3세대: 1970년대, DRAM이 상용화되었으며, 개인용 컴퓨터에 널리 사용되었습니다.
  • 현대: DDR, GDDR, LPDDR 등 다양한 형태의 고속 메모리가 개발되었습니다.

10. 메모리 선택 시 고려할 사항

메모리를 선택할 때 다음 사항을 고려해야 합니다.

  • 용도: 게임, 그래픽 작업, 서버 등 용도에 맞는 메모리를 선택합니다.
  • 용량: 필요로 하는 데이터와 프로그램을 모두 수용할 수 있는 충분한 용량을 선택합니다.
  • 속도: 클럭 속도와 대역폭을 고려하여 시스템 성능을 극대화할 수 있는 메모리를 선택합니다.
  • 호환성: 메인보드와의 호환성을 확인합니다.
  • 가격: 예산 내에서 최대 성능을 낼 수 있는 메모리를 선택합니다.

결론

메모리는 컴퓨터 시스템의 중요한 구성 요소로, 데이터 저장과 처리 속도에 큰 영향을 미칩니다. 다양한 메모리 종류와 기술을 이해하고, 시스템 용도에 맞는 메모리를 선택하는 것이 중요합니다. 메모리의 발전은 컴퓨터 성능 향상에 큰 기여를 하였으며, 앞으로도 계속 발전할 것입니다.