인텔의 Haswell (또는 최소한 Iris Pro 5200 GPU를 통합 한 제품)과 IBM의 POWER7 및 POWER8에는 모두 내장 DRAM 인 "eDRAM"이 포함됩니다.
eDRAM이 최근까지 공통적이지 않은 한 가지 중요한 문제는 DRAM 제작 프로세스가 본질적으로 논리 프로세스와 호환되지 않기 때문에 eDRAM이 필요할 때 추가 단계가 포함되어야 (비용 증가 및 수율 감소)한다는 점입니다. 따라서 이러한 경제적 단점을 상쇄하기 위해이를 도입하려는 강력한 이유가 있어야합니다. 대안 적으로 DRAM은 CPU와 독립적으로 제조 된 다음 동일한 패키지에 통합 된 별도의 다이에 배치 할 수 있습니다. 이것은 진정으로 통합 된 방식으로이 두 가지를 제조하는 데 어려움을 겪지 않고 지역의 이점을 대부분 제공합니다.
또 다른 문제는 DRAM은 전원이 공급되는 동안 내용을 무기한 저장하지 않으며, 읽는 경우 저장된 데이터를 파괴한다는 점에서 SRAM과 다릅니다. 따라서 주기적으로 그리고 매번 읽은 후에 갱신해야합니다. 또한 DRAM 셀은 커패시터를 기반으로하기 때문에 다음 번 새로 고침에 약간의 시간이 걸리기 전에 누설이 값을 손상시키지 않도록 충분히 충전 또는 방전합니다. 이 충전 시간은 래치 일 뿐인 SRAM에는 필요하지 않습니다. 결과적으로 CPU와 동일한 속도로 클럭킹 할 수있는 반면, DRAM은 합리적인 전력 소비를 유지하면서 약 1GHz로 제한됩니다. 이로 인해 DRAM은 SRAM보다 고유 대기 시간이 길어 지므로 미스 레이트가 줄어드는 가장 큰 캐시를 제외한 모든 캐시에 사용할 가치가 없습니다.
또한 대기 시간에 관한 한, 어려움의 대부분은 물리적 거리 신호가 이동해야한다는 것입니다. 빛은 3GHz CPU의 클럭주기에서 10cm 만 이동할 수 있습니다. 물론, 신호는 다이를 가로 질러 직선으로 이동하지 않으며 전파 지연이 발생하는 버퍼링 및 팬 아웃이 필요하기 때문에 빛의 속도에 가까운 어떤 것도 전파하지 않습니다. 따라서 1 클럭 사이클의 대기 시간을 유지하기 위해 메모리가 CPU에서 멀리 떨어져있을 수있는 최대 거리는 최대 몇 센티미터이므로 사용 가능한 영역에 수용 할 수있는 메모리의 양이 제한됩니다. 인텔의 Nehalem 프로세서는 실제로 L2 캐시의 용량을 Penryn과 비교하여 부분적으로 대기 시간을 개선하여 성능을 향상 시켰습니다. * 대기 시간에 대해 신경 쓰지 않는다면 메모리를 패키지에 넣을 이유가 없습니다.
또한 캐시 적중률은 대부분의 워크로드에서 매우 높습니다. 거의 모든 실제 사례에서 90 % 이상, 드물게는 99 % 이상은 아닙니다. 따라서 다이에 더 큰 메모리를 포함시키는 이점은 본질적으로이 몇 퍼센트의 미스로 인한 영향을 줄이는 것으로 제한됩니다. 엔터프라이즈 서버 시장 (예 : POWER) 용 프로세서는 일반적으로 막대한 캐시를 가지며 많은 엔터프라이즈 워크로드의 대규모 작업 세트를 수용하는 데 유용하므로 eDRAM을 포함 할 수 있습니다. Haswell은 텍스처가 커서 캐시에 수용 할 수 없기 때문에 GPU를 지원합니다. 전형적인 캐시 또는 HPC 워크로드가 아닌 오늘날의 eDRAM 사용 사례는 일반적인 캐시 계층 구조에서 잘 지원됩니다.
주석에서 제기 된 일부 문제를 해결하려면 다음을 수행하십시오.
이 eDRAM 캐시는 L4 대상 캐시로 설계되었으므로 주 메모리 대신 사용할 수 없습니다. 이는 데이터가 휘발성이고 효과적으로 내용을 다루기 때문에 저장된 데이터는 특정 위치에있는 것으로 취급되지 않으며 언제든지 폐기 될 수 있음을 의미합니다. 이러한 속성은 RAM이 직접 매핑되고 영구적이어야한다는 요구 사항과 조정하기 어렵지만,이를 변경하면 캐시가 의도 한 목적에 따라 캐시를 사용할 수 없게됩니다. 물론 마이크로 컨트롤러에서와 같이보다 일반적인 디자인의 메모리를 내장하는 것이 가능하지만, 낮은 대기 시간은 캐시 에서처럼 메인 메모리에서 유리하지 않기 때문에 큰 메모리를 가진 시스템에는 적합하지 않습니다. 또는 캐시를 추가하는 것이 더 가치있는 제안입니다.
기가 바이트 단위의 용량을 가진 매우 큰 캐시의 가능성과 관련하여 캐시는 응용 프로그램에 대한 작업 세트의 크기보다 크면됩니다. HPC 응용 프로그램은 테라 바이트 데이터 세트를 처리 할 수 있지만 시간 및 공간적 위치가 양호하므로 작업 세트는 일반적으로 그리 크지 않습니다. 대규모 작업 세트가있는 응용 프로그램은 데이터베이스 및 ERP 소프트웨어와 같지만 이러한 종류의 워크로드에 최적화 된 프로세서 시장은 제한적입니다. 소프트웨어에 실제로 필요한 경우가 아니라면 캐시를 더 추가하면 매우 빠르게 수익이 감소합니다. 최근 프로세서가 프리 페치 명령어를 얻으므로 캐시를보다 효율적으로 사용할 수 있습니다. 이러한 명령어를 사용하여 작업 세트의 절대 크기가 아닌 메모리 액세스 패턴의 예측 불가능 성으로 인한 누락을 피할 수 있습니다.
* 대기 시간의 향상은 캐시의 물리적 크기가 더 작을뿐 아니라 연관성이 감소했기 때문입니다. Nehalem의 전체 캐시 계층 구조는 몇 가지 다른 이유로 크게 변경되었지만 성능 향상에 중점을 두지는 않았습니다. 따라서 이것은 예로서 충분하지만 완전한 계정은 아닙니다.