Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

1148
469
422441


[Arm프로세서] 캐시: 캐시와 관련된 시스템 레지스터 - CLIDR_EL1 Arm: Cache and Barrier

CLIDR_EL1는 Cache Level ID Register의 약자로 캐시의 타입과 각각 캐시 레벨에서 구현 방식을 설정할 수 있는 레지스터입니다. CLIDR_EL1 레지스터를 통해 최상위 통합 캐시 레벨과 최상위 캐시 일관성 레벨을 알 수 있습니다.

다음 그림에서 CLIDR_EL1 레지스터의 비트 맵을 확인할 수 있습니다.

 

그림 17.13 CLIDR_EL1 레지스터의 비트 맵

이어서 CLIDR_EL1 레지스터를 구성하는 비트 맵을 살펴보겠습니다.

Ctype1~Ctype7

Arm 스팩 문서에서 [20:0] 비트를 'Ctype<n>, bits [3(n-1)+2:3(n-1)], for n = 1 to 7'으로 표기합니다. n의 범위가 1~7이므로 Ctype1~Ctype7으로 표기할 수 있습니다. 각각 비트 필드는 다음 동작을 설정합니다.

000: no cache
001: 명령(Instruction) 캐시만 사용
010: 데이터(Data) 캐시만 사용
011: 명령(Instruction) 캐시와 데이터(Data) 캐시 분리
100: 통합 캐시 사용

LoUIS, bits [23:21]

Inner 공유 영역 내의 코어에서 최상위 통합 캐시 레벨을 설정하는 비트 필드입니다.
  
LoC, bits [26:24]

최상위 캐시 일관성 레벨을 설정하는 비트입니다.

LoUU, bits [29:27]

Uni 프로세서 시스템에서 최상위 통합 캐시 레벨을 설정하는 비트입니다.


#Reference Armv8: 캐시(Cache)

캐시 소개
캐시의 기본 동작 원리
   캐시의 검색 방법
   캐시 lookup 기본 동작 원리
       캐시 히트 동작  
       캐시 미스 동작  
캐시 제어 레지스터






핑백

덧글

댓글 입력 영역