캐시란 무엇입니까?

캐시란 무엇이며, CPU, GPU 및 기타 프로세서에 캐시가 있는 이유는 무엇입니까? 여기에 당신이 알아야 할 모든 것이 있습니다.

빠른 링크

  • 캐시: 소량의 고속 메모리
  • 캐시 수준 및 메모리 계층 구조
  • 캐시는 필요하지만 그 자체로는 성능을 향상시키지 않습니다.

캐시는 코어만큼 많이 언급되지는 않지만, (랜덤 액세스 메모리) 또는 VRAM, 여러분은 아마도 이전에, 특히 최근에 그것에 대해 들어본 적이 있을 것입니다. AMD는 자사의 게임 성능을 자랑스럽게 광고합니다. 3D V-캐시를 갖춘 Ryzen CPU 캐시를 사용한 결과, Intel이 13세대 Raptor Lake CPU를 통해 개선한 가장 큰 개선 사항 중 하나는 더 많은 캐시를 추가한 것입니다.

하지만 캐시를 메가바이트 단위로 측정할 때 캐시가 어떻게 성능을 향상시킬 수 있습니까? 요즘에는 가장 저렴한 RAM 키트에도 16GB가 제공되는데, 캐시를 몇 메가바이트만 추가하면 성능이 어떻게 그렇게 큰 차이를 만들 수 있을까요? 글쎄, 캐시는 일반적인 유형의 메모리가 아닙니다.

캐시: 소량의 고속 메모리

출처: AMD

캐시는 실제로 1990년대에 시작된 꽤 최근의 프로세서 개발이며 RAM 때문에 발명되었습니다. RAM은 프로세서(CPU 및 GPU 등)에 자주 필요할 것으로 예상되는 상당한 양의 데이터를 저장하는 컴퓨터의 핵심 구성 요소입니다. 오랫동안 RAM 성능의 향상은 CPU 성능의 향상과 보조를 맞추었지만 1990년대에는 점점 더 빨라졌습니다. RAM이 최신 CPU를 따라갈 수 없다는 것은 분명합니다. RAM은 용량이 많았지만 전송 속도가 너무 빨랐습니다. 느린.

캐시가 들어오는 곳은 다음과 같습니다. 물리적으로나 용량 측면에서 RAM만큼 크지는 않지만 프로세서 자체 내부에 있으며 매우 빠르고 짧은 대기 시간으로 데이터를 전송할 수 있습니다. 캐시가 프로세서에 실제로 필요한 데이터를 저장하는 한 RAM에 동일한 데이터를 요청하는 것이 몇 배 더 느리기 때문에 시간을 절약할 수 있습니다. 이는 RAM 문제에 대한 훌륭한 솔루션이었으며 CPU 설계자가 계속해서 더 빠른 CPU를 만들 수 있도록 해주었습니다. RAM 설계자는 걱정할 필요 없이 계속해서 더 큰 용량의 RAM을 만들 수 있습니다. 성능. 오늘날 캐시는 거의 모든 종류의 프로세서에 사용됩니다.

캐시가 왜 그렇게 작은지 궁금할 수도 있습니다. 글쎄, 그것은 주로 공간과 돈과 관련이 있습니다. 32MB의 캐시라도 프로세서에서 꽤 많은 공간을 차지할 수 있으며 최신 칩은 총 면적이 약 600mm2로 제한되므로 현명하게 사용해야 합니다. 즉, 캐시에 더 많은 영역을 할당하면 비용이 상당히 많이 들 수 있다는 의미입니다. 상황은 나아지기는커녕 오히려 점점 더 악화되고 있다. 최신 제조 공정으로 인해 캐시 밀도가 점점 더 개선되고 있으며 TSMC는 3nm 공정의 첫 번째 반복에서 캐시 크기를 전혀 줄이는 데 실패했습니다.

캐시 수준 및 메모리 계층 구조

출처: 카를로스 카르발류

캐시의 발명은 컴퓨터의 모든 데이터 저장 장치에 새로운 계층이 있다는 것을 의미했습니다. 이러한 레이어는 위 이미지에서 볼 수 있는 메모리 계층 구조를 형성합니다. CPU 내의 일반적인 시스템에서 어떤 메모리가 어디로 가는지(다른 종류의 프로세서는 매우 유사해 보이지만) 비슷한). 오늘날 최신 메모리 계층에는 캐시, RAM 및 영구 저장 장치뿐만 아니라 캐시 자체 내의 메모리 계층도 포함됩니다.

대부분의 프로세서에는 다양한 목적에 따라 다양한 수준의 캐시가 있습니다. 첫 번째이자 가장 작은 캐시 수준은 즉시 필요한 데이터를 처리하기 위한 개별 코어가 제공되는 L1입니다. L1 캐시는 킬로바이트 단위로 측정되는 경우가 많으며 최신 Ryzen 7000 CPU에는 코어당 64KB의 L1 캐시가 있습니다. 또한 최신 L1 캐시는 L1I(명령용)와 L1D(데이터용)로 더 구분되는 경우가 많습니다.

다음은 개별 코어가 아닌 코어 그룹을 위한 L2입니다. 당연히 L2 캐시는 L1 캐시보다 크지만(종종 수십 배 더 크지만) 훨씬 더 크고 더 많은 코어를 서비스해야 한다는 것은 속도가 느리고 대기 시간이 길다는 것을 의미합니다. 일부 프로세서, 특히 GPU 및 느린 CPU는 L2 캐시까지만 사용됩니다.

다음 단계는 일반적으로 칩의 모든 코어에서 사용되는 L3입니다. 크기는 프로세서에 따라 L2 캐시보다 몇 배 더 큰 것부터 10배 이상 더 큰 것까지 다양합니다. 즉, L2 캐시보다 속도는 느리지만 여전히 RAM보다 성능이 뛰어납니다. 또한 L3 캐시는 L1 및 L2 캐시에서 제거된 데이터가 이동하는 "피해자 캐시" 역할도 하는 경우가 많습니다. 필요하지 않은 경우 L3 캐시에서 추가로 제거될 수 있습니다. 오늘날 L3 캐시는 칩렛 기술로 인해 AMD에 특히 중요합니다. Ryzen 3D V-캐시 칩에는 64MB의 L3 캐시가 포함되어 있으며 RX 7000 메모리 캐시 다이(또는 MCD)에는 각각 16MB의 L3 캐시가 포함되어 있습니다.

대부분의 프로세서에서 볼 수 있는 가장 높은 수준의 캐시는 L4이며, 이는 종종 너무 커서 사실상 RAM과 같습니다. 실제로 L4 캐시를 사용하는 최신 CPU는 Intel의 Sapphire Rapids Xeon 칩으로, 최고급 모델에서는 HBM2를 L4 캐시로 사용합니다. 반면 AMD는 L4 캐시를 사용한 적이 없으며 대신 더 많은 CPU 및 V-캐시 칩렛을 추가하여 L3 캐시를 고용량으로 확장하는 데 만족하고 있습니다. L4 캐시는 일반적으로 CPU와 통합 GPU 간에 데이터를 공유할 수 있는 온다이 솔루션이므로 통합 GPU에 더 많은 이점을 제공합니다.

주로 모바일 칩셋인 일부 칩셋에는 SLC(시스템 수준 캐시)라는 또 다른 유형의 캐시가 있습니다. 그런 다음 이 캐시는 GPU, NPU, CPU 등 전체 칩셋에서 사용됩니다. 캐시는 메인 메모리에 대한 요청을 대체할 수 있으므로 SLC는 전체 SoC에 이점을 줍니다.

캐시는 필요하지만 그 자체로는 성능을 향상시키지 않습니다.

캐시의 최근 혁신을 둘러싼 모든 과장된 광고에도 불구하고 성능 면에서 만능은 아닙니다. 결국 캐시에는 처리 기능이 없습니다. 단지 데이터를 저장하기만 하면 됩니다. 모든 프로세서는 더 많은 캐시를 보유함으로써 절대적으로 이점을 얻을 수 있지만, 정확히 필요한 양보다 더 많이 추가하는 것은 비용이 너무 많이 드는 경우가 많습니다. 더 많은 캐시를 추가해도 작업 부하에 따라 성능이 향상되지 않을 수도 있으며, 이는 프로세서에 많은 양을 추가하지 않는 것이 더 좋습니다.

즉, 특정 상황에서는 많은 양의 캐시를 추가하는 것이 바람직할 수 있습니다. 예를 들어, 캐시가 많은 CPU는 게임에서 더 나은 성능을 발휘하는 경향이 있습니다. 3D V-Cache가 포함된 AMD의 Ryzen CPU는 V-Cache가 없는 칩보다 주파수가 낮음에도 불구하고 게임용으로 매우 빠릅니다. Intel의 13세대 CPU는 12세대 칩보다 훨씬 빠릅니다. 은닉처.

궁극적으로 캐시가 존재하므로 프로세서는 가능한 한 자주 RAM을 우회할 수 있고 성능은 최대한 제한되지 않을 수 있습니다. CPU 설계자는 캐시 용량과 크기, 나아가 비용의 균형을 맞춰야 하는데, 이는 새로운 제조 프로세스가 세대를 거듭할수록 점점 더 어려워지고 있습니다. 캐시가 발명된 지 수십 년 후에 프로세서에 캐시를 추가하는 새로운 방법이 도입되고 있지만 프로세서의 이 핵심 구성 요소의 목적이 바뀔 것이라고 상상하기는 어렵습니다.