내 컴퓨터의 코어가 공유 메모리를 사용하는지 아니면 분산 메모리를 사용하는지 어떻게 확인합니까?

내 컴퓨터의 코어가 공유 메모리를 사용하는지 아니면 분산 메모리를 사용하는지 어떻게 확인합니까?

내 컴퓨터에는 Intel® Core™ i7-4558U 프로세서가 있습니다. 코어가 2개인데 공유 메모리를 사용하는지, 분산 메모리를 사용하는지 모르겠습니다. 어떻게 답을 찾을 수 있나요?

답변1

귀하와 같은 단일 소켓 시스템의 코어는 공유 메모리 컨트롤러를 통해 메모리에 동일하게 액세스할 수 있습니다. 또한 가장 바깥쪽 캐시(귀하의 경우에는 4MiB입니다.). 각 코어에는 자체 Tier 1 및 Tier 2 캐시(코어당 각각 64KiB 및 256KiB).

Intel x86 호환 시스템에서는 NUMA(균일하지 않은 메모리 액세스) 다중 소켓이 있는 대규모 시스템에서는(기술적으로 10개 이상의 코어가 있는 고급 서버 CPU도 작동합니다)시뮬레이션NUMA이지만 실제 메모리 아키텍처는 변경되지 않습니다. 이러한 시스템에서는 각 CPU 소켓이 일련의 메모리 뱅크를 제어하며, 액세스를 수행하는 코드가 문제의 메모리를 제어하는 ​​CPU가 아닌 다른 CPU에서 실행되는 경우 메모리 액세스에 더 오랜 시간이 걸립니다. 그러나 대부분의 x86 스타일 시스템에서는 모든 메모리가 여전히 공유됩니다. 각 CPU는 RAM의 모든 바이트에 액세스할 수 있습니다.

x86 기반 시스템의 대부분은 NUMA 시스템이라 할지라도 공유 메모리 시스템입니다.분산 메모리이는 매우 드문 일이며 x86에서는 아마도 슈퍼컴퓨터에서만 발생할 수 있습니다.

이 모든 것을 찾으려면 시스템 아키텍처를 연구해야 합니다. 예를 들어 자세한 리뷰를 읽어보세요.아난드 테크놀로지스, 인텔의 데이터시트도 마찬가지입니다. 그것은 너무 "상식"으로 간주되어 종종 언급되지 않는 것 같습니다 ...

관련 정보