lshw와 lscpu는 캐시에 대해 동의하지 않습니다. 어느 것이 맞나요?

lshw와 lscpu는 캐시에 대해 동의하지 않습니다. 어느 것이 맞나요?

캐시에 대한 세부 사항(특히 코어 간에 공유되는 캐시와 공유되지 않는 캐시)을 찾으려고 노력 중인데 불일치가 발생했습니다.

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.

에서 제공하는 정보에는 lscpuL1, L2, L3의 세 가지 캐시 수준이 모두 포함되어 있으므로 더 정확합니다. lshwIntel이 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의 감소와 함께 하이퍼스레딩이 다시 도입되었습니다.모든 코어에서 사용 가능."

관련 정보