프로세서 캐시 L1, L2 및 L3은 모두 SRAM으로 구성됩니까?


9

프로세서 캐시 L1, L2 및 L3 모두 SRAM으로 구성되어 있습니까? 사실이라면, 왜 L1은 L2보다 빠르며 L2는 L3보다 빠릅니까? 내가이 부분을 읽을 때 나는이 부분을 이해하지 못했다.


관련 질문 : 왜 우리는 여러 수준의 캐시 메모리가 필요합니까? . 또한 다소 관련이있다 : 실제로 프로세서에서 멀티 레벨 캐시는 무엇입니까? . 거기서 당신의 의견을 통해, 나는 당신이 이미 후자의 질문을 발견 한 것을 봅니다.
Paul A. Clayton

답변:


12

일반적으로 그들은 모두 SRAM으로 구현됩니다.

(IBM의 POWER 및 zArchitecture 칩은 L3에 DRAM 메모리를 사용합니다. 이것은 로직과 동일한 유형의 프로세스 기술로 구현되어 DRAM과 동일한 칩에 고속 로직을 통합 할 수 있기 때문에 내장형 DRAM이라고합니다. POWER4의 경우, 칩 L3은 eDRAM을 사용했으며, POWER7은 프로세싱 코어와 동일한 칩에 L3을 가지고 있습니다.)

그들은 SRAM을 사용하지만, 모두 SRAM을 사용하지는 않습니다. 같은 SRAM 설계. L2 및 L3 용 SRAM은 크기 (제한된 제조 가능한 칩 크기로 주어진 용량을 증가 시키거나 주어진 용량의 비용을 줄이기 위해) 반면에 L1에 대한 SRAM은 속도를 위해 최적화 될 가능성이 더 크다.

더 중요한 것은 액세스 시간이 스토리지의 물리적 크기와 관련되어 있다는 것입니다. 2 차원 레이아웃을 사용하면 실제 액세스 대기 시간이 대충 용량의 제곱근에 비례합니다. (비 균일 캐시 아키텍처는이를 이용하여 낮은 대기 시간에 캐시의 서브 세트를 제공합니다. 최근 Intel 프로세서의 L3 슬라이스는 비슷한 효과를 나타내며 로컬 슬라이스의 히트가 지연 시간이 현저히 짧습니다.)이 효과는 DRAM 캐시를 더 빠르게 만들 수 있습니다 DRAM이 물리적으로 작기 때문에 고용량의 SRAM 캐시보다

또 다른 요소는 대부분의 L2 캐시와 L3 캐시가 대부분의 L1 캐시가 태그와 데이터에 동시에 액세스하는 태그와 데이터의 직렬 액세스를 사용한다는 것입니다. 이것은 전력 최적화입니다 (L2 누락 률은 L1 누락 률보다 높기 때문에 데이터 액세스가 낭비 될 가능성이 더 높습니다.) 일반적으로 L2 데이터 액세스는 용량과 관련하여 더 많은 에너지를 필요로하며 L2 캐시는 일반적으로 더 높은 연관성 이는 더 많은 데이터 항목이 추론 적으로 읽혀 져야 함을 의미합니다). 데이터에 액세스하기 전에 태그 일치를 기다리지 않고도 데이터를 검색하는 데 필요한 시간이 추가됩니다. (L2 액세스는 일반적으로 L1 미스가 확인 된 후에 만 ​​시작되기 때문에 L1 미스 탐지의 대기 시간이 합계 L2의 액세스 대기 시간).

또한 L2 캐시는 물리적으로 실행 엔진과 멀리 떨어져 있습니다. L1 데이터 캐시를 실행 엔진에 가깝게두면 (L1 히트의 일반적인 경우가 빠르기 때문에) 일반적으로 L2를 더 멀리 배치해야합니다.


좋은 대답. 그러나 L2 누락 률이 L1 누락 률보다 높다는 귀하의 진술에 동의하지 않습니다. 우리가 메모리 계층에서 더 낮은 위치로 이동할 때, 우리는 더 적은 미스를 제공하지만 더 큰 대기 시간을 제공하는 더 큰 구조를가집니다.
Harshavardhan Ramanna

@HarshavardhanRamanna 예 용량 및 연관성의 증가는 실패율을 낮추지 만 낮은 수준의 필터 액세스는 블록 내에서 단기 공간적 지역성에서 L2 필터의 전체 블록을 전송하는 전통적인 방식으로, L2에서의 한 번의 액세스에 대해서만 계산됩니다. 블록 자체는 추가적인 액세스를 위해 L1에서 히트를 제공 할 가능성이있다). 그만큼 합계 실패율이 내려갑니다 (예 : 괜찮은 80 %의 조회 율을 가진 L2 및 95 %의 조회 율은 총 99 %의 조회 율을 얻음).
Paul A. Clayton
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.