캐시에 대한 세부 사항(특히 코어 간에 공유되는 캐시와 공유되지 않는 캐시)을 찾으려고 노력 중인데 불일치가 발생했습니다.
sudo lshw
라고
*-cache:0
description: L1 cache
physical id: a
slot: Internal Cache
size: 64KiB
capacity: 64KiB
capabilities: synchronous internal write-back
*-cache:1
description: L2 cache
physical id: b
slot: External Cache
size: 8MiB
capabilities: synchronous internal write-back
그러나 lscpu
주장
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
명령어와 데이터 캐시가 함께 추가되는 것에 대해 크게 걱정하지 않지만 L2는 어디로 갔습니까?
Ubuntu 10.10을 실행하는 시스템에서 관찰되거나 말하자면 다음과 같습니다 uname -a
.
Linux name 2.6.35-32-generic #66-Ubuntu SMP Mon Feb 13 21:04:32 UTC 2012 x86_64 GNU/Linux
이것은 일반적인 질문이지만 가장 정확한 질문은 아닙니다.제조업체 사양나는 찾을 수도 없었고위키피디아필요한 세부 사항이 있습니다.
관련 없는 보너스 질문: External Cache
캐시가 (4개) 코어(및 Internal Cache
그 반대) 간에 공유된다는 의미입니까?
답변1
귀하의 질문에 프로세서에 대한 추가 정보를 추가해 주셔서 감사합니다. 게시한 예제가 다음을 참조한다는 것을 아는 것이 도움이 됩니다.Intel Core i7-920 Processor
.
에서 제공하는 정보에는 lscpu
L1, L2, L3의 세 가지 캐시 수준이 모두 포함되어 있으므로 더 정확합니다. lshw
Intel이 CPU에 L3 캐시를 추가한 것을 반영하기 위해 최소한으로 수정된 것으로 보입니다 . 세 가지 캐시 수준에 대한 정보를 모두 표시하는 대신 L3 캐시 크기에 대한 정보가 L2 캐시로 보고되는 것 같습니다.
나는 당신이 본 사양에 L1 및 L2 캐시가 포함되어 있지 않다고 가정합니다. 왜냐하면 주어진 마이크로아키텍처 내에서는 모두 동일하기 때문입니다. 예를 들어 네할렘의 경우이것은"64KB L1 캐시/코어(32KB L1 데이터 + 32KB L1 명령어) 및 256KB L2 캐시/코어.".
나는 훨씬 더 큰 단일 공통 L3을 사용하여 각 코어에 자체 L1 및 L2를 제공하는 것이 처음으로 도입되었다고 생각합니다.Nehalem(마이크로아키텍처)(2008년 11월?)
왜 L3라는 lshw
용어를 사용하는지 모르겠습니다 . External Cache
하지만 L3 캐시는 CPU 다이에 있고 내가 고려한 캐시가 아니기 때문에 오해의 소지가 있는 것 같습니다.외부. 다시 말하지만, 이는 소프트웨어를 최소한으로만 변경하면서 최신 하드웨어를 설명하기 위해 오래된 소프트웨어를 사용하려는 것처럼 느껴집니다.
(실제 소스 코드를 살펴보면 더 많은 내용을 배울 수 있지만 그렇게 해볼 시간이 없었습니다.)
마지막으로 L3 캐시는 코어/스레드 간에 공유됩니다. 다음 인용문은 위에 링크된 Wikipedia 기사에서 가져온 것입니다.L3 캐시로 통합된 L2의 감소와 함께 하이퍼스레딩이 다시 도입되었습니다.모든 코어에서 사용 가능."