Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

뚝딱뚝딱 블로그

Linux - Cache(ARM based) 본문

Linux

Linux - Cache(ARM based)

germonado 2022. 7. 3. 18:36

Cache Architecture

캐시 아키텍처 -> data/instruction 캐시가 분리되어있는지에 따라 하버드/폰 노이만 구조로 나뉘어 진다.

  • 폰 노이만 - data/instruction 버스가 공유 되어 CPU가 instruction, data 캐시에 동시에 접근하는 것이 불가능
  • 하버드 - data/instruction 버스가 물리적으로 분리되어 동시에 data, instruction 접근, read 가능

ARM은 하버드 아키텍처를 사용하여 Data, Instruction cache를 구분합니다.

  • L1 - data, instruction cache 분리
  • L2 - core끼리 공유
  • L3 - 클러스터 사이에서 공유

Cache 용어

  • Tag - 캐시 탐색 시 저장되는 메모리 주소 일부(cache line <-> 연결된 memory 주소) 식별할 때 사용
  • Cache line(캐시 라인) - 워드 단위로 묶이는 block은 cache line(load, flush 같은 cache 연산의 가장 작은 단위)

Cache 정책

  • Allocation 정책 - Write Allocation/Read Allocation
    • Write/Read 시도하고 Miss 나는 경우에 Allocation
  • 갱신 정책
    • write-back - write 요청이 오면,캐시 라인까지 갱신 후 dirty bit를 설정. 외부 메모리는 캐시 라인 방출(flush)이나 명시적인 clean에 의해 갱신됨.
    • write-through - write 요청시, 캐시와 외부 메모리까지 함께 갱신, dirty bit 표시 필요 없음. data가 날아가면 안되는 중요한 작업의 경우 이러한 방식사용

'Linux' 카테고리의 다른 글

리눅스 스터디 #2 프로세스 관리  (1) 2024.12.01
리눅스 스터디 #1 개요  (1) 2024.12.01
Linux - ARM AArch64 Exception Handling  (0) 2022.07.03
Linux - ARMv8 레지스터  (0) 2022.07.03
Linux - ARMv8 아키텍처  (0) 2022.07.03