lshw와 lscpu는 캐시에 동의하지 않습니다.


14

캐시에 대한 세부 사항 (특히 어떤 캐시가 코어간에 공유되고 그렇지 않은 캐시)을 찾으려고 노력하고 불일치에 빠졌습니다.

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

이것은 일반적인 질문이지만 필자가 찾은 가장 정확한 제조업체 사양 이나 Wikipedia 에는 필요한 세부 사항이 없습니다.

관련이없는 보너스 질문 : External Cache캐시가 4 개의 코어 (및 Internal Cache반대) 간에 공유된다는 의미 입니까?


두 가지 생각. 먼저 제조업체는 무엇을 말합니까? 내 접근 방식은 아마도 CPU의 사양을 찾은 다음 거기에서 추론하려고 시도하는 것입니다. 둘째, 당신이 할 수있는 일이라면 최신 Ubuntu 또는 Fedora를 위해 Live CD / USB를 부팅 한 후 이것을 시도했을 때 무엇을 얻었는지 궁금합니다. (아마도 이미 수정 된 버그일까요? 버그가 존재하고 수정되었는지 확인하는 다른 방법이 있다고 생각하지만 ...)
비합리적인 John

@irrationalJohn : 공식적인 스펙에 대한 좋은 점 (더 일반적인 질문과는 관련이 없지만). 안타깝게도 사양은 도움이되지 않습니다 (편집 참조). 또한 기계를 조작 할 수 없습니다.
Raphael

답변:


3

프로세서에 대한 추가 정보를 질문에 추가해 주셔서 감사합니다. 게시 한 예제가을 참조한다는 것을 아는 데 도움이됩니다 Intel Core i7-920 Processor.

제공되는 정보 lscpu는 L3, L2 및 L3의 세 가지 레벨의 캐시를 모두 포함하므로보다 정확합니다. 그 표시 lshw만 최소한 자신의 CPU에 L3 캐시의 인텔의 추가를 반영하기 위해 수정되었습니다. 세 가지 캐시 레벨에 대한 정보를 모두 표시하는 대신 L3 캐시 크기에 대한 정보는 L2 캐시로보고됩니다.

주어진 마이크로 아키텍처 내에서 모두 동일하기 때문에 당신이 본 사양에 L1 및 L2 캐시가 포함되지 않았다고 가정합니다. 예를 들어 Nehalem의 경우 " 64KB L1 캐시 / 코어 (32KB L1 데이터 + 32KB L1 명령어) 및 256KB L2 캐시 / 코어 "입니다.

나는 네 하렘 (마이크로 아키텍처) 의 일부로 2008 년 11 월에 각 코어에 L1과 L2에 하나의 더 큰 공통 L3을 처음으로 도입했다고 생각 합니다.

나는 왜이 lshw용어 External Cache를 사용하여 L3을 언급 하는지 모른다 . 하지만 그것은 L3 캐시는 CPU 다이에 나는이라고 생각하지 무엇 때문에 오해의 소지가 나를 파업 외부 . 다시 말하지만, 이는 소프트웨어를 최소한으로 변경하는 동안 오래된 소프트웨어를 사용하여 최신 하드웨어를 설명하려고합니다.

(실제 소스 코드를 보면 더 많은 것을 배울 수는 있지만 그렇게 할 시간이 없었습니다.)

마지막으로 L3 캐시는 코어 / 스레드간에 공유됩니다. 다음 인용문은 위에 링크 된 Wikipedia 기사에서 인용 한 것입니다. " 모든 스레드에서 사용할 수있는 L3 캐시로 통합 된 L2 감소와 함께 하이퍼 스레딩이 다시 도입되었습니다 . "


사양에 관한 도움을 주셔서 감사합니다. 그래도 우리가 원하는 것으로 가장하는 도구가 있다면 사양을 찾아야합니다.
Raphael

@RI는 (여전히) 무언가를 찾고 있다는 것을 인식하지 못했습니다. 솔직히 말해서 인텔에서 일반적으로 겪고있는 문제는 너무 많은 정보 가 있다는 것입니다 . 어떤 종류의 정보에 관심이 있습니까? 상의 오른쪽으로 보면 인텔 i7-920 페이지 보시 빠른 링크를 . 데이터 시트 링크는 기술 문서 페이지로 연결됩니다. i7-900 프로세서에는 기계 및 열 사양을 나열하기 전에 두 가지 볼륨이 있습니다. 소프트웨어 개발자는 다른 페이지를 사용합니다. 목록에 너무 많습니다.
불합리한 John

글쎄, 나는 병렬 알고리즘을 벤치마킹했기 때문에 캐시 아키텍처가 중요했다. GNU / 리눅스 도구가 모두 신뢰할 수있는 것은 아닙니다. 어쨌든 문제는 내가 작업했던 특정 기계보다 도구에 관한 것이 었습니다.
Raphael

@Raphael 실제로 lshw캐시 결과를 반환하는 이유를 모르겠습니다 . 그러나 걱정하지 않고 출력 형식을 변경하고 싶지 않았을 때 출력을 구문 분석하는 스크립트를 손상시킬 수 있습니다. 소프트웨어 도구를 사용하면 구석에 너무 쉽게 페인트 칠을 할 수 있습니다.
불합리한 John
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.