그라운드 임베디드 EN 유튜브 구독

노트 / 컴퓨터구조

메모리 계층: 빠를수록 작고 비싸다

레지스터, 캐시, SRAM, Flash, 외부 메모리. 각 계층의 속도와 용량 차이를 알면 변수를 어디에 둘지가 보입니다.

GROUND EMBEDDED · 정리 노트컴퓨터구조 04메모리 계층계층용량접근 시간레지스터수십 바이트0클럭캐시 / TCM수~수십 KB1클럭
계층 용량 접근 시간 특징
레지스터 수십 바이트 0클럭 CPU 안
캐시 / TCM 수~수십 KB 1클럭 M7 등 고성능 코어
SRAM 수십~수백 KB 1~2클럭 변수, 스택
내부 Flash 수백 KB~수 MB 대기 상태 있음 코드, 상수, 전원 꺼져도 유지
외부 메모리 MB~GB 수십 클럭 이상 SDRAM, QSPI Flash
레지스터가장 빠름캐시RAMFlash느리지만 전원이 꺼져도 남음
왼쪽일수록 빠르고 작습니다.

임베디드에서 기억할 것

  • Flash는 읽기는 되지만 쓰기가 느리고 횟수 제한이 있습니다. 설정값 저장은 별도 설계가 필요합니다.
  • SRAM은 전원이 꺼지면 사라집니다. 그래서 부팅 때 초기값을 Flash에서 복사해 옵니다.
  • 캐시가 있으면 DMA와 충돌할 수 있습니다. Cortex-M7에서 DMA로 받은 데이터가 안 보인다면 캐시 무효화를 의심합니다.

빠른 코드를 위한 배치

제어 루프처럼 시간이 중요한 함수는 RAM이나 TCM에 올려 실행하고, 자주 쓰는 변수는 지역 변수로 받아 레지스터에서 계산되게 합니다. 링커 스크립트에서 섹션을 지정하면 함수 단위로 위치를 정할 수 있습니다.

영상으로 이어 보기회로와 하드웨어 시리즈 8편전자제품 속 회로 소자는 어떻게 동작할까? · 저항 · 커패시터 · 인덕터 완벽 정리FREE PDF무료 전자책 3권 받기이 주제를 한 권으로 이어서 읽고 싶다면. BLDC 모터 제어, 직렬통신, 센서를 책 분량으로 묶었습니다. 이메일만 남기면 바로 받습니다.무료로 받기 →