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
반응형