메모리 장치
메모리 장치의 용도 > 프로그램과 데이터를 저장하기 위한 공간
메모리 장치의 종류
구 분 | 속 도 | 가 격 | 용 도 | 특 징 | ||
휘발성 (Volatile Memory) |
SRAM (Static) |
수ns,고속 | 비싸다 | 캐시 등 | ||
DRAM (Dynamic) |
수십 ns | 저렴 | 주기억 장치 | |||
비휘발성(Non-Volatile Memory) | EEPROM (Electrically Erasable) |
수십 ns | 비싸다 | 소용량 데이터나 프로그램 저장용 | ||
Flash | NAND | 수십 ns | 저렴 | 대용량 데이터 저장 | 블록 단위 읽기 쓰기 | |
NOR | 수십 ns | 비싸다 | 프로그램 저장 데이터 저장 |
>주 기억 장치 (main memory) -> 프로그램이 실행되는 동안 프로그램과 데이터 저장 , DRAM이 많이 사용된다.
>보조 기억 장치(secondary memory)-> 주 기억장치보다 빈번하게 사용하지 않는 프로그램과 데이터 저장 , HDD, SD, MMC등에 사용된다.
>캐시(cache)-> 주 기억장치의 접근 속도를 빠르게 하기 위해서 프로세서 주변에 배치된 소 용량의 메모리 , SRAM이 사용된다.
chache 읽기
>목적 -> 프로세서가 읽고자 하는 명령이나 데이터를 최대한 빨리 프로세서에 전달하는데 목적이 있다.
>성능 -> CPU가 읽고자 하는 명령이나 데이터가 Cache 내에 존재( Cache Hit) 해야 할 횟수가 많아야 Cache의 성능이 우수하다.
->CPU가 데이터나 명령을 읽고자 하는데 Cache 내에 원하는 명령이나 데이터가 없으면(Cache Miss), Cache 제어기는 시스템 메모리 장치에서 line 크기 만큼 명령이나 데이터를 읽어 Cache 메모리에 저장(Line Fill)
chache 쓰기
>Write Through -> CPU가 특정 주소에 데이터를 write하는 경우, 해당하는 데이터가 Cache 메모리에 있을 때, Cache 메모리와 외부 메모리에 동시에 쓰기 동작을 한다.
>Write Back->CPU가 특정 주소에 데이터를 wirte하는 경우, 해당하는 데이터가 Cache 메모리에 있을 때, Cache 메모리에만 쓰기 동작을 하고, 외부 메모리는 나중에 기록 된다.
임베디드 시스템에서 사용되는 메모리
RAM(Random Access Memory)
전원이 인가되는 상태에서만 데이터를 유지
SRAM (Static RAM) VS DRAM(Dynamic RAM)
SRAM
>빠르다 (active drive)
> Less dense(4-6 transistors/bit)
> Stable(holds value as long as power applied)
DRAM
> SRAM에 비해 늦다.
> High density (1 transistor/bit)
> Unstable (refresh가 필요)
이외로 SDRAM, Video RAM, FERAM등이 존재한다.
이를 정리하면 다음과 같이 나타 낼 수 있다.
구분 | DRAM | SRAM |
리플래시와 충전 | 주기적 | 필요 없다 |
억세스 주기 | 느리다 | 빠르다 |
회로구조 | 단순하다 | 복잡하다 |
칩크기 | 작다 | 크다 |
가격 | 싸다 | 비싸다 |
용도 | 일반 메모리 | 캐시 메모리 |
메모리 시스템 구조
MMU(Memory Management Units)
어드레스 변환(translation) 기능
> CPU에서 사용되는 logical 한 Virtual 어드레스를 physical 어드레스로 변환
메모리 보호(protection) 기능
메모리 제어기
주요 기능 -> 어드레스 디코드(Address Decode) 기능 , 메모리 제어 신호 구동
동작 -> 입력되는 주소 정보에 따라 어떤 메모리 장치를 억세스 할 것인지를 결정(Address Decode)하고 각각의 메모리 장치의 특징에 따라 제어신호를 구동한다.
어드레스와 어드레스 버스
>어드레스 -> 메모리 장치의 어느 영역을 익어 올 것인가를 구분
>어드레스 버스 -> 메모리 장치에 접근할 때 영역을 구분하기 위해서 사용하는 신호
>1K 바이트 메모리를 구분하기 위해서는 10개의 어드레스 신호선 필요 1k 바이트 = 2^10 = 1024
'임베디드 > linux kernel with udoo' 카테고리의 다른 글
7. 임베디드 시스템 설계 절차 (0) | 2022.07.07 |
---|---|
5.입출력 장치 (0) | 2022.07.05 |
3.프로그램 (0) | 2022.07.01 |
2.마이크로 프로세서와 SoC (0) | 2022.06.30 |
1.임베디드 시스템 (0) | 2022.06.29 |