캐시에 대한 세부 정보(특히 코어 간에 공유되는 캐시와 공유되지 않는 캐시)를 찾으려고 노력했지만 불일치가 발견되었습니다.
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 캐시로 병합되었습니다.모든 코어를 사용할 수 있습니다.."