Embedded Recipes 7. Device Control And System Architecture

Sireal·2024년 3월 4일

Embedded Recipes

목록 보기
9/10
post-thumbnail

Embedded Recipes 7. Device Control And System Architecture


Macro Technics


C의 매크로를 통해 많은 걸 엮어서 사용할 수 있다.

하나의 매크로함수에 여러 동작 엮기

# define CRITICAL_IO_IN()\
critical_sction_in();\
ret = io_read();\
crtical_section_out();

만약에 중괄호를 넣어야하는 경우 (if, switch 같은) 꼭 {} 중괄호를 넣어야한다.

DMA


DMA: Direct Memory Access

  • CPU를 거치지 않고 메모리에 빠르게 직접 접근하는 것
  • DMAC의 레지스터에 접근하여 DMA 동작을 할 수 있다.

Cache


Cache: SW에서 자주 접근하는 주소를 모아놓는 공간

  • Hit: cache에 그 주소가 있다면 hit 표시
  • Miss: cache에 그 주소가 없다면 miss 후 cache 남김
  • LRU Policy: LRU policy 의거 사용하지 않는 cahce 데이터를 지움
  • clean, flush: cache reset

Cache = Cache Controller + Cache Memory

MMU


Memory Manage Unit

  • CPU가 메모리 Access 할때, 가상주소와 물리주소의 매핑을 통해 동작 최적화를 이뤄주는 친구

< 용어 정리 >
page: Virtual 주소
TLB(Translation Look Aside Buffer): Page 반환값 버퍼
entry: phys ~ virtual 반환 관련 Data Info
TTB(Translation Table Base Addr): Page Tables 시작 값
page table: entry table
frame: phys 주소

(TODO: 다시 PC로 그리기)

profile
달리다 넘어져도 아픔마저 즐기려하는 사람

0개의 댓글