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.

제공된 정보 lscpu에는 L1, L2 및 L3의 세 가지 캐시 수준이 모두 포함되어 있으므로 더 정확합니다. lshw인텔이 자사 CPU에 L3 캐시를 추가한 것을 반영해 최소한으로 수정한 것으로 보인다 . L3 캐시 크기에 대한 정보는 세 가지 캐시 수준에 대한 정보를 모두 표시하는 것이 아니라 L2 캐시로 보고되는 것으로 보입니다.

나는 당신이 보고 있는 사양에 L1 및 L2 캐시가 포함되어 있지 않다고 가정합니다. 왜냐하면 둘 다 주어진 마이크로 아키텍처에서 동일하기 때문입니다. 예를 들어 니할렘의 경우이것은"64KB L1 캐시/코어(32KB L1 데이터 + 32KB L1 지침) 및 256KB L2 캐시/코어.".

나는 각 코어에 자체 L1과 L2를 제공하고 더 큰 범용 L3을 제공하는 것이 다음과 같다고 생각합니다.Nehalem(마이크로아키텍처)(2008년 11월?)

왜 이 단어가 L3를 지칭하는 데 lshw사용되는지 모르겠습니다 . External Cache하지만 L3 캐시가 내가 고려했던 것이 아닌 CPU 칩에 있기 때문에 오해의 소지가 있는 것 같습니다.외부. 다시 말하지만 이는 소프트웨어를 최소한으로 변경하면서 오래된 소프트웨어를 사용하여 새 하드웨어를 설명하려는 것과 같습니다.

(실제 소스코드를 보면 더 많은 것을 배울 수 있겠지만, 시도해 볼 시간이 없습니다.)

마지막으로 L3 캐시는 코어/스레드 간에 공유됩니다. 다음 인용문은 위에 링크된 Wikipedia 기사에서 가져온 것입니다.하이퍼스레딩이 다시 도입되고 L2가 줄어들었으며 L2는 L3 캐시로 병합되었습니다.모든 코어를 사용할 수 있습니다.."

관련 정보