2014-11-15 4 views
3

I가 ARM 기반의 SoC 다음 사양 :PDE 캐시 란 무엇입니까?

  • L1 데이터 캐시 = 32 KB, 64 B/라인, 2 웨이, LRU
  • L2 캐시 = 1 MB, 64 B/라인 16-WAY (부하)
  • L1 데이터 TLB : 32 명 엔트리, 완전 어소 시에이
  • L2 데이터 TLB 512 개 항목 4 WAY
  • PDE 캐시를 16 명 엔트리 (가상 공간에 1MB 당 하나 개의 엔트리)

그리고 PDE 캐시가 무엇인지 궁금합니다. TLB와 비슷한 것이 겠지만 확실하지는 않습니다.

답변
은 PDE (페이지 디렉토리 엔트리가) 실제로 TLB에서 개별적으로 구현 될 수있다 Intermediate table walk cache 것 같다.

Cortex-A15 MPCore 프로세서는 중간 수준의 변환 테이블 항목을 테이블 워크의 일부로 저장하는 전용 캐시를 구현합니다.

답변

2

위의 수준이 있습니다. ARM은 Cortex-A15, Cortex-A57 문서 및 ARMv7 및 ARMv8 프로그래밍 가이드에서이 PDE 캐시의 존재를 명명하지 않습니다.

PDE는 일반적으로 주소 변환을 수행 할 때 그래서 이것은 TTBR 레지스터 이러한 항목을 저장하고 쓸 수있는 전용 캐시 될 수있다 페이지 디렉토리 항목을 의미합니다.

ARM에는 ASID 필드 (주소 공간 식별자) 및 VMID 필드 (가상 컴퓨터 식별자)와 연결된 "중간 테이블 워크 캐시"가 있으므로 PDE 캐시와 중간 테이블 워크 캐시가 관련되어있는 것처럼 보입니다. 문서에서 "중간 테이블 워크 캐시"는 변환 테이블 항목의 중간 수준을 저장하므로 ... 페이지 디렉토리 항목 일 수 있습니다.

4

TLB는 전체 번역을 캐시합니다 (일관성이 없어도 페이지 맵이 변경된 경우 일관성이 손실 될 수 있으므로 SW는 일관성을 유지해야합니다. 명시 적으로 플러시를 통해).

그러나 pagemap 자체는 메모리에 상주하며 일반적인 캐시 계층인지 또는 PDE 캐시와 같은 특수 전용 캐시 내에서 캐시 될 수 있습니다. 이것은 구현에 따라 다르며, 다른 CPU가 어떻게 다른지를 결정할 수 있습니다.

TLB에 액세스하는 액세스 (해당 레벨에서)는 해당 데이터가 필요하지 않지만 TLB 미스가 페이지 헤드에서 메모리 읽기를 실행하는 페이지 워크를 트리거합니다. 이러한 읽기가 포함되면 캐시에서 히트 할 수 있습니다 pagemap 데이터를 저장하는 대신 메모리에 저장해야합니다.

페이지 워크는 길고 직렬화 된 중요한 연결 체인이기 때문에 (가상화가있는 경우 훨씬 더 그렇습니다) 캐싱을 통해 이러한 액세스의 대기 시간을 최적화하는 것이 얼마나 중요한지 상상할 수 있습니다. 따라서 일반적인 데이터 행 (캐시를 훨씬 자주 자주 쓰는)과 경쟁하는 데 도움이되는 임의의 페이지 맵 레벨에 대한 전용 캐시는 종종 성능에 매우 유용합니다.

4

A PDE (페이지 디렉토리 항목 ")는 최상위 레벨의 x86 아키텍처 용어입니다. * 페이지 테이블 항목 - ARM VMSA 용어의"첫 번째 수준 설명자 "에 해당합니다. this 가정

그것은 아마도 참조 것, 질문의 데이터 소스 인 완전히 적절하지 않다 코어 텍스 A15의 "intermediate table walk cache", 즉 수 있기 때문에 실제로 캐시 any level of translation. IA-32에서

*

은 적어도 - 64 비트 모드는 흥미로운이

+0

비록 수학자로서 훈련을 통해, 나는 CPU가 편미분 방정식을 캐싱하는 것을 상상할 수 있습니다 : D – Notlikethat