박종훈 기술블로그

운영체제별 L1 Cache 사이즈 확인하기

이전글([자바 최적화] 캐시 미스 이해하기 (L1 Cache) + 코드 warm up 이해하기)을 작성하다가 궁금해서 찾아보았다.

내 컴퓨터의 L1 cache는 사이즈가 어떻게 될까?

내가 주로 사용하는 기기들의 L1 cache 사이즈를 찾아보았다.

Macbook Pro M2

애플의 경우 아래 명령어를 통해 L1 data cache 의 사이즈를 알아볼 볼 수 있다.

$ sysctl hw.l1dcachesize
hw.l1dcachesize: 65536

65536 는 2^16 이다. 2^10 을 1KB라고 할 때, 65536 = 2^6 * 1KB = 64KB

검증을 위해 Apple M 시리즈 관련 문서를 찾아보았는데 더 재밌는게 있었다.

m1-cache-size

애플 실리콘 시리즈의 경우 Performance Core 라는 것이 있고, Efficiency Core 라는 것이 있는데 일반적인 상황에는 Efficiency Core가 사용되고 무거운 작업을 해야 하는 경우에 Performance Core 가 사용된다고 한다.

ubuntu (AMD Ryzen 5 3600X)

ubuntu의 경우 lscpu 명령어를 사용하면 된다.

$ lscpu
L1d: 192 KiB (6 instances)

amd 공식 홈페이지 스펙 정보에는 L1 Cache : 384KB 으로 되어있는데 data cache 와 instruction cache를 합쳐서 명시해둔것으로 보인다.

windows (intel N100)

Cache L1: 96 KB (per core)

windows-task-manager

윈도우의 경우 작업관리자에서 볼 수 있는데 모든 코어의 L1 을 합쳐놓은 것으로 보인다. (384 = 96 * 4)

windows-cpuz

cpuz 로 보면 더 자세한 내용을 볼 수 있는데 l1 data cache가 32K 였다.

categories: 개발

tags: CPU , L1 , Cache , hardware , windows , ubuntu , mac