메모리(Memory)란
메모리(Memory)는 프로그램이나 데이터를 저장하기 위한 장치로, 크게 주기억 장치(Main Memory), 보조 기억 장치(Secondary Memory),
캐시(Cashe)로 나뉜다.
주기억 장치는 프로그램이 수행되는 동안에 프로그램과 데이터를 저장한다. 어떠한 동작을 바이트, 하트워드, 워드 단위에 맞게 수행할 수 있도록
구성되어 있으며, 메모리의 특정 위치에 명령이나 데이터의 접근(Access)하기 위해 주소를 사용한다.
일반적으로 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory)를 주로 사용한다.
보조 기억 장치는 자주 사용되지 않거나, 당장 사용하지 않는 프로그램이나 데이터를 저장하기 위해 사용된다.
디스크, SD/MMC 카드 등이 있으며, 가격이 주기억 장치에 비해 저렴하지만, 접근 속도가 느리고 프로그램 동작을 위해서는
보조 기억 장치의 프로그램과 데이터를 주기억 장치에 탑재해야 한다.
캐시 메모리는 주기억 장치의 접근 속도를 더욱 빠르게 하기 위해 프로세스 주변에 존재하는 고속 메모리이다.
임베디드 시스템에서 주로 사용되는 메모리는 크게 2가지로 휘발성과 비휘발성으로 구분한다.
휘발성 메모리는 전원이 인가되는 동안에만 자료를 보관하고, 전원이 인가되지 않으면 자료들이 사라진다.
휘발성 메모리는 일반적으로 RAM이라 부르며, 메모리의 셀 구성에 따라 SRAM, DRAM으로 나뉜다.
비휘발성 메모리는 전원이 인가되지 않은 상태에서도 자료를 보관한다.
비휘발성 메모리에는 ROM, Mask ROM, PROM, EPROM 등 이 있다.
휘발성 메모리와 비휘발성 메모리의 특징을 고루 갖고 있는 하이브리드 메모리(HHybrid Memory)도 존재한다.
RAM(Random Access Memory)
RAM은 전원이 인가되는 상태에서만 데이터를 유지하는 휘발성 메모리로, 임의의 영역에 접근하여 값을 읽고 쓸 수 있는
주기억 장치이다. 저장되는 방법에 따라 SRAM, DRAM으로 구분된다.
SRAM이란 정적램으로 불리기도 하며, 고속으로 동작할 수 있고 전원이 공급되는 동안 데이터를 안전하게 저장할 수 있는 장점이 있다.
단점으로는 한 비트를 구성하는데 여러 개의 트랜지스터를 사용하기 때문에 생산 효율이 낮아 가격이 비싸다.
DRAM은 SRAM에 비해 동작 속도가 느리고 전원이 공급되는 동안 주기적으로 내용을 갱신해 주어야만 데이터를 안정적으로 저장한다.
이렇게 주기적으로 내용을 저장해 주는 것을 리프레시(Refresh)라고 한다.
SRAM과 달리 한 비트를 구성하는데 트랜지스터 하나만으로 구성할 수 있기 때문에 생산 효율이 좋아 가격이 저렴하다.
아래의 표는 SRAM과 DRAM의 큰 특징을 비교하는 표이다.
구분
|
DRAM
|
SRAM
|
리프레시
|
주기적
|
필요 없음
|
액세스 주기
|
느리다
|
빠르다
|
내부 회로 구조
|
단순하다
|
복잡하다
|
칩 크기
|
작다
|
크다
|
가격
|
저렴하다
|
비싸다
|
용도
|
일반 메모리
|
캐시 메모리
|
ROM(Read Only Memory)
ROM은 비휘발성 기억 장치로, 대표적으로 ROM, PROM, EPROM 등이 있다.
ROM은 말 그댈 읽기 전용 메모리이다. ROM은 시스템을 구동하기 위한 기본적인 정보가 담겨 있으며, 그 정보들을 기억하기 위해
다른 정보들은 기억하지 않는다.
PROM은(Programmable ROM) : 생산 당시 아무런 내용이 들어있지 않아 한 번만 프로그램이 가능한 ROM
EPROM(Erasable and Programmable ROM) : 자외선에 노출시켜 기존의 내용을 지우고 새로 내용을 저장할 수 있는 ROM
Hybrid Memory
하이브리드 메모리는 ROM과 RAM의 특성을 고루 갖추고 있다.
ROM의 한 번 기록된 내용은 전원을 인가하지 않더라도 보관된 내용을 그대로 유지할 수 있는 특성과
RAM의 자유롭게 메모리에 접근하여 내용을 읽고 지우는 등의 특성을 고루 갖추고 있다.
하이브리드 메모리는 크게 EEPROM, Flash Memory 등이 있다.
EEPROM(Electrically Erasable and Programmable ROM)
EEPROM은 기존에 들어있는 내용을 전기적 신호로 내용을 지울 수 있는 ROM의 종류이다. 물론 내용을 지운 후 다시 프로그래밍도 가능하다.
하지만 새로운 내용을 기록하기 위해 기존 내용을 지우고 다시 프로그래밍 과정을 거치므로 RAM에 비해 속도가 느리다.
Flash Memory는 가장 근래에 개발된 메모리 장치로, 임베디드 시스템에서 가장 많이 사용하는 메모리이다.
EEPROM에 비해 저가이면서도 매우 쉽고 빠른 속도로 새로운 내용을 기록할 수 있다.
또 EEPROM에 비해 대용량으로 데이터를 저장할 수 있다.
Flash Memory는 다른 메모리에 비해 제조 단가가 저렴하고 대용량이 가능하다는 가장 큰 장점이 있다.
위 두 메모리 말고도 NVRAM과 같은 메모리도 존재한다.
'Embedded > 이론' 카테고리의 다른 글
[Embedded] ARM 구성 레지스터 (0) | 2022.11.15 |
---|---|
[Embedded] ARM 동작 모드와 레지스터 (0) | 2022.11.15 |
[Embedded] ARM의 개요 (2) | 2022.11.15 |
[Embedded] 명령어 구조 (0) | 2022.11.15 |
[Embedded] Endian 구조 (0) | 2022.11.15 |