Study/임베디드 | Embedded System
[임베디드시스템] 03. XIP 실행 방식과 DRAM vs Flash Memory 비교
도엔
2025. 3. 22. 15:09
728x90
1. 시스템 종류에 따른 실행 방식 차이
1.1 서버 또는 개인 컴퓨터에서의 실행 방식
- 실행 가능한 애플리케이션과 라이브러리는 스토리지 장치(HDD, SSD)에 저장됨
- 실행이 시작되면 해당 코드와 데이터를 RAM으로 복사한 후 실행함
1) 이는 일반적인 컴퓨팅 환경에서의 실행 방식임
2) RAM은 속도가 빠르기 때문에 실행 성능을 높이기 위해 사용됨
_
1.2 임베디드 시스템에서의 펌웨어 실행 방식
- 펌웨어는 보통 하나의 단일 바이너리 파일로 구성됨
- Flash Memory(NOR Flash 등)에 저장된 펌웨어가 메모리 주소 공간의 고정된 위치에 직접 매핑됨
- CPU가 이 메모리 영역에서 직접 명령어를 가져와 실행할 수 있음
1) 이 방식을 Execute In Place(XIP)라고 부름
2) 별도의 RAM으로 복사 과정 없이 직접 실행 가능함
3) RAM 용량이 적은 임베디드 시스템에서 매우 유용함
==========𝔼𝔼𝟚𝟚==========
2. XIP 방식과 일반 실행 방식의 차이점
2.1 일반적인 실행 방식
- Flash나 저장장치에 있는 프로그램을 RAM으로 복사 후 실행
- RAM의 속도는 빠르지만, DRAM의 특성상 전력 소모와 휘발성 문제가 있음
_
2.2 XIP 방식
- Flash Memory에서 직접 실행
- RAM을 복사하는 과정이 없어 실행 시간 단축 및 메모리 절약 가능
- 주로 NOR Flash 사용 (Random Access가 가능하기 때문)
==========𝔼𝔼𝟚𝟚==========
3. 임베디드 시스템에서 Flash Memory를 사용하는 이유
3.1 비휘발성 특성
- Flash Memory는 전원이 꺼져도 데이터가 유지됨 (비휘발성)
- OS, 부트로더, 펌웨어 등은 반드시 비휘발성 메모리에 저장되어야 함
- DRAM은 휘발성이므로 저장 용도로는 부적합
_
3.2 전력 소비 절감
- Flash Memory는 전력 소비가 적음
- DRAM은 refresh 동작 때문에 지속적인 전력이 필요함
- 배터리 기반 시스템에서 매우 중요
- DRAM 사용을 최소화하고 Flash Memory를 중심으로 동작하도록 구성
_
3.3 비용 및 공간 효율성
- DRAM은 속도는 빠르지만 가격이 비쌈; 용량이 커질수록 비용이 기하급수적으로 증가
- Flash Memory는 상대적으로 대용량 구성이 저렴
- 공간이 제한된 임베디드 장치에서는 Flash 중심 설계가 더 적합
_
3.4 XIP를 통한 실행 최적화
- Flash Memory에서 직접 실행 가능(XIP)하여 RAM 사용량 최소화
- 저용량 RAM만으로도 펌웨어 실행이 가능함
1) 예: 부트로더, OS 커널 일부, 코드 섹션 등을 Flash에서 직접 실행
2) 데이터 처리나 스택 등은 RAM에 위치시켜 혼합 운영 가능
==========𝔼𝔼𝟚𝟚==========
4. 결론: DRAM과 Flash Memory 비교
메모리 유형 | 속도 | 휘발성 | 전력 소비 | 비용 | 주요 역할 |
---|---|---|---|---|---|
DRAM | 매우 빠름 | 있음 | 높음 | 비쌈 | 실행 메모리(RAM) |
Flash Memory | 느림 | 없음 | 낮음 | 저렴함 | OS 및 코드 저장, XIP 실행 가능 |
- DRAM: 실행 시 필요한 작업 공간 확보용 (속도 중요)
- Flash Memory: 프로그램 및 펌웨어 저장용 (비휘발성, 저전력 중요)
- XIP(Execute In Place) 기법을 통해 Flash에서 직접 실행하여, RAM 사용을 최소화하면서도 실행 가능
- 임베디드 시스템에서는 두 메모리의 특성을 조합하여 성능과 전력 효율을 최적화함
728x90
반응형