포스트

임베디드 스터디 - 메모리 - 1

임베디드 스터디 - 메모리 - 1

이번 글 참고자료:
한빛아카데미, 디지털 논리회로4판
ElectronicsTutorials

A digital logic designer and circuit simulator. Contribute to hneemann/Digital development by creating an account on GitHub.

메모리

  • 컴퓨터, 마이크로프로세서나 디지털 신호 프로세서 등의 장치에서 사용하는 데이터와 명령을 저장하거나, 저장된 데이터를 읽을 수 있다.
  • 저장된 데이터는 새 데이터가 입력되는 경우를 제외하고 입출력 시 데이터가 변경되지 않는다.
  • 컴퓨터의 주기억 장치, 보조 기억 장치 외에도 모니터나 프린트와 같은 주변 장치(Peripheral devices)의 입출력 버퍼로도 사용된다.

메모리 구조

  • 워드(Word)라는 데이터 비트의 집합으로 관리된다. (워드는 장치의 성능에 따라 크기가 다를 수 있다.)
  • 메모리와 주변 장치 사이의 데이터 전송은 제어 신호 2개와 레지스터 2개를 통해 이루어짐
    • 읽기 제어 신호 : 메모리로부터 데이터를 읽으라는 신호
    • 쓰기 제어 신호 : 데이터를 메모리에 저장하라는 신호
    • 메모리 주소 레지스터(MAR, Memory Address Register) : 특정 워드와 데이터의 주소를 보유한다. MAR은 주소 버스의 길이를 나타내기도 한다.
    • 메모리 버퍼 레지스터(MBR, Memory Buffer Register) : 메모리와 외부 장치 사이에 전송되는 데이터의 통로. MBR은 워드의 길이를 나타내기도 한다.

    메모리 블록도

메모리 분류

메모리 분류도

  • 접근 방식 분류
    • RAM(Random Access Memory) : 랜덤 액세스 메모리
    • SAM(Sequential Access Memory) : 순차 액세스 메모리
  • 기록 기능 분류
    • RWM(Read and Write Memory) : 읽기, 쓰기가 가능한 메모리
    • ROM(Read Only Memory) : 읽기만 가능한 메모리
      • MROM(Masked ROM) : 제조 시 정보가 기록되는 메모리
      • PROM(Programmable ROM) : 제조 후에도 사용자가 정보를 기록할 수 있는 메모리
        • PROM VS RWM : PROM은 전체 소거 후 재작성(블록/칩 단위), RWM은 임의 주소에 바이트 단위 쓰기 가능
  • 기억 방식 분류
    • SRAM(Static RAM) : 전원이 공급되는 동안만 메모리 유지. DRAM에 비해 사용하기 쉽고, 읽기, 쓰기 사이클이 빠름.
    • DRAM(Dynamic RAM) : 커패시터에 전하 형태로 데이터 저장하여 메모리 유지. 단, 일정시간 안에 커패시터 재충전을 해야 메모리가 유지된다. SRAM보다 전력 소비가 적고 더 많은 정보 저장 가능.
  • 휘발성/비휘발성 분류
    • RAM : 휘발성 메모리. 전원이 차단되면 저장된 데이터가 소실된다.
    • ROM : 비휘발성 메모리. 전원이 차단되어도 데이터가 유지된다.
  • 기억 소자 분류
    • BJT 메모리 : 액세스가 빠르지만 전력 소비가 높음.
    • MOS 메모리 : 전력 소비가 적음.
    • CCD 메모리 : 현대에서는 잘 안 쓰임. 전하를 커패시터 체인을 따라 순차적으로 이동시켜 데이터를 저장함.
    • MBM 메모리 : 현대에서는 잘 안 쓰임. 비휘발성 직렬 메모리.

RAM

  • RAM은 읽기, 쓰기가 모두 가능한 메모리로 RWM이라고도 부르지만, 보편적으로 RAM으로 부른다.

SRAM

  • $n$비트의 워드가 $m$개의 워드 구성의 RAM은 $m \times n$ 의 메모리 셀을 갖는 구조로 형성된다.
  • SRAM의 1셀은 FF 1개, 입력 3개, 출력 1개로 구성도를 그릴 수 있지만, 실제로는 입력이 여러 개인 트랜지스터 6개(P1, P2, N1, N2, N3, N4)로 구성된다.
    • 트랜지스터 6개는 다음 기능을 수행한다.
    • N2, N4 : 데이터 저장, 유지
    • P1, P2, N1, N3 : 데이터 읽기, 쓰기

SRAM 1메모리셀

DRAM

  • DRAM은 1개의 커패시터가 1개의 셀 역할을 수행하는 1T1C 구조를 갖는다. 하나의 셀에 1개의 트랜지스터만 필요하기에 SRAM보다 소비전력이 낮고, IC칩 집적도가 높다.
  • DRAM은 메모리 유지를 위해 일정 시간마다 커패시터의 재충전이 필요하다.

DDR (Double Data Rate)

  • DRAM의 액세스에 상승엣지 트리거, 하강엣지 트리거를 모두 사용하여 DDR RAM이라고 한다. 한 쪽 트리거만 사용하는 경우 SDR(Single Data Rate)이라 한다.
규격한 줄 요약
DDR31.5V 동작, 대역폭 6.4~17 GB/s, 2007년 표준화, 현재도 산업용·임베디드에 다수 사용
DDR41.2V 동작(DDR3 대비 저전력), 대역폭 최대 25.6 GB/s, Bank Group 도입으로 병렬성 향상
DDR51.1V 동작, 대역폭 최대 51.2 GB/s, 채널 2분할(독립 32bit×2) 구조, 온다이 ECC 내장
LPDDRLow Power DDR — 모바일·임베디드 전용, 패키지를 SoC에 직접 탑재(PoP), 동작전압 1.1V 이하로 DDR 대비 소비전력 최소화

메모리 확장

  • 여러 개의 메모리칩을 바탕으로 워드 길이를 확장하거나, 워드의 개수를 늘릴 수 있다.

워드 길이 확장

  • 메모리 2개를 합쳐 워드의 크기를 크게 만들 수 있다. 16개의 주소와 4비트 길이의 워드를 갖는 16X4 RAM 2개를 조합하여 16X8 RAM으로 구성할 수 있다.
  • Address Bus에서 주소를 입력하면 두 RAM에서 동일 주소를 참조하여 각각에 대응하는 데이터를 입출력한다.

RAM 워드 길이 확장

주소 확장

  • 메모리 2개를 합쳐 워드의 개수를 늘릴 수 있다. 16개의 주소와 4비트 길이의 워드를 갖는 16X4 RAM 2개를 조합하여 32X4 RAM으로 구성할 수 있다.
  • Chip Select를 통해 지정된 RAM을 선택하고, 데이터를 입출력한다.

RAM 주소 확장

ROM

  • ROM은 메모리에 저장된 데이터를 읽을 수 있으나, 특별한 장치나 기능이 없으면 데이터를 기록하거나 수정할 수 없다. 보통 반영구적으로 사용하는 코드, 환산표, 컴퓨터 명령 등이 저장된다.

ROM 구성

  • ROM은 입력선 $n$개와 출력선 $m$개로 $2^n$개의 m비트 워드를 출력할 수 있다. ROM의 출력단은 퓨즈 링크와 OR 게이트로 구성되어있으며, 퓨즈 링크는 ROM 구성에 따라 연결되어있거나, 해제되어있다.

ROM 기본 구조

ROM의 종류

  • 마스크 ROM (MROM) : 제조 과정 중 제작자가 마지막 과정에 사용자의 ROM 진리표를 따라 개발한다.
  • PROM : 특별한 프로그램 장치를 통해 ROM의 퓨즈 링크를 1회에 한해 절단한다. 절단된 퓨즈는 논리 0, 연결된 퓨즈는 논리 1이다.
  • EPROM : 퓨즈 링크 대신 플로팅 게이트를 사용하는 ROM이다. 플로팅 게이트 트랜지스터에 전하를 주입하여 데이터를 기록하고, 자외선(UV)을 조사하여 전하를 방전시킴으로써 데이터를 소거한다
  • EEPROM : 퓨즈 링크 대신 플로팅 게이트를 사용하는 ROM이고, EPROM의 UV 소거 방식과 달리, 전기 신호(Fowler-Nordheim 터널링)를 통해 바이트 단위로 데이터를 기록하고 소거한다
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.