Bellek bant genişliği - Memory bandwidth

Bellek bant genişliği , verilerin bir işlemci tarafından yarı iletken bellekten okunabildiği veya saklanabildiği hızdır . Bellek bant genişliği genellikle bayt / saniye birimleri cinsinden ifade edilir , ancak bu, yaygın olarak kullanılan 8 bit baytların bir katı olmayan doğal veri boyutlarına sahip sistemler için değişebilir.

Belirli bir bellek veya sistem için tanıtılan bellek bant genişliği genellikle maksimum teorik bant genişliğidir. Uygulamada, gözlemlenen bellek bant genişliği, ilan edilen bant genişliğinden daha az olacaktır (ve aşılmayacağı garanti edilmektedir). Sürdürülebilir bellek bant genişliğini çeşitli erişim modellerini kullanarak ölçmek için çeşitli bilgisayar kıyaslamaları mevcuttur. Bunlar, bir sistemin çeşitli gerçek uygulama sınıflarında sürdürmesi gereken bellek bant genişliğine ilişkin içgörü sağlamayı amaçlamaktadır.

Ölçüm kuralları

"Bayt / saniye" payında aktarılan veri miktarını tanımlamak için üç farklı kural vardır:

  1. Bcopy kongre : birim zamanda başka bir yere bellekte bir yerden kopyalanmış veri miktarını sayar. Örneğin, bellekteki bir konumdan bellekteki başka bir konuma bir saniyede 1 milyon bayt kopyalamak, saniyede 1 milyon bayt olarak sayılır. Bcopy kuralı kendinden tutarlıdır, ancak daha karmaşık erişim düzenlerine sahip durumları, örneğin üç okuma ve bir yazma gibi kapsayacak şekilde kolayca genişletilemez.
  2. Akış kongre : Uygulama kodu açıkça okuduğu veri miktarını artı uygulama kodu açıkça yazıyor veri miktarını özetliyor. Önceki 1 milyon baytlık kopya örneğini kullanarak, STREAM bant genişliği, saniyede toplam 2 milyon bayt olacak şekilde 1 milyon bayt okuma artı bir saniyede yazılan 1 milyon bayt olarak sayılacaktır. STREAM kuralı en çok doğrudan kullanıcı koduna bağlıdır, ancak donanımın gerçekleştirmesi gereken tüm veri trafiğini saymayabilir.
  3. Donanım kongre : veri okuma ve donanım tarafından yazılan veri hareketi açıkça kullanıcı kodu veya değil tarafından talep edilip edilmediği, gerçek miktarını sayar. Aynı 1 milyon baytlık kopya örneğini kullanarak, yazma ayırma önbellek ilkesine sahip bilgisayar sistemlerindeki donanım bant genişliği, ek olarak 1 milyon baytlık trafik içerir, çünkü donanım, depoları gerçekleştirmeden önce hedef diziyi bellekten önbelleğe okur. Bu, donanım tarafından fiilen aktarılan saniyede toplam 3 milyon bayt verir. Donanım kuralı en çok doğrudan donanıma bağlıdır, ancak kullanıcının kodunu uygulamak için gereken minimum veri trafiği miktarını temsil etmeyebilir.
Örneğin, bazı bilgisayar sistemleri, özel talimatlar kullanarak yazma tahsis trafiğini önleme yeteneğine sahiptir, bu da gerçekleştirilen farklı veri trafiği miktarlarına dayalı olarak bant genişliğinin yanıltıcı karşılaştırmalarına yol açar.

Bant genişliği hesaplama ve isimlendirme

İsimlendirme, bellek teknolojileri arasında farklılık gösterir, ancak ticari DDR SDRAM , DDR2 SDRAM ve DDR3 SDRAM bellek için toplam bant genişliği aşağıdakilerin ürünüdür:

  • Temel DRAM saat frekansı
  • Saat başına veri aktarım sayısı : "Çift veri hızı" (DDR, DDR2, DDR3, DDR4) bellek durumunda iki.
  • Bellek veriyolu (arabirim) genişliği : Her DDR, DDR2 veya DDR3 bellek arabirimi 64 bit genişliğindedir. Bu 64 bit bazen "satır" olarak adlandırılır.
  • Arabirim sayısı : Modern kişisel bilgisayarlar , etkili bir 128-bit veri yolu genişliği için tipik olarak iki bellek arabirimi ( çift ​​kanal modu) kullanır.

Örneğin, çift kanallı belleğe ve 400 MHz'de çalışan kanal başına bir DDR2-800 modülüne sahip bir bilgisayar teorik olarak maksimum bellek bant genişliğine sahip olacaktır:

Saniyede 400.000.000 saat × saat başına 2 satır × satır başına 64 bit × 2 arayüz =
Saniyede 102.400.000.000 (102.4 milyar) bit (bayt cinsinden, 12.800 MB / sn veya 12.8 GB / sn)

Bu teorik maksimum bellek bant genişliği, sürdürülebilir olmayabilecek "patlama hızı" olarak adlandırılır.

DDR, DDR2 ve DDR3 modülleri için adlandırma kuralı, bir maksimum hızı (örn., DDR2-800) veya maksimum bant genişliğini (örn., PC2-6400) belirtir. Hız derecesi (800) maksimum saat hızı değil, bunun iki katıdır (iki kat veri hızı nedeniyle). Belirtilen bant genişliği (6400), 64 bit genişlik kullanılarak saniyede aktarılan maksimum megabayttır. Çift kanallı mod konfigürasyonunda bu, etkin bir şekilde 128 bitlik bir genişliktir. Bu nedenle, örnekteki bellek yapılandırması şu şekilde basitleştirilebilir: çift kanal modunda çalışan iki DDR2-800 modülü.

Modül başına iki bellek arabirimi, PC sistem belleği için ortak bir yapılandırmadır, ancak tek kanallı yapılandırmalar eski, düşük kaliteli veya düşük güçlü cihazlarda yaygındır. Bazı kişisel bilgisayarlar ve modern grafik kartlarının çoğu ikiden fazla bellek arabirimi kullanır (örneğin, Intel'in LGA 2011 platformu ve NVIDIA GeForce GTX 980 için dört ). Birçok arabirimi paralel olarak çalıştıran yüksek performanslı grafik kartları, çok yüksek toplam bellek veri yolu genişliğine erişebilir (örneğin, sırasıyla altı ve sekiz 64 bit arabirim kullanan NVIDIA GeForce GTX TITAN'da 384 bit ve AMD Radeon R9 290X'te 512 bit).

ECC bitleri

Hata düzeltme belleğine (ECC) sahip sistemlerde , arabirimlerin ek genişliği (tipik olarak 64 bit yerine 72), kullanıcı verilerini depolamak için fazladan bitler bulunmadığından bant genişliği özelliklerinde sayılmaz. ECC bitleri, o donanımda depolanan bilgilerden ziyade bellek donanımının bir parçası olarak düşünülmelidir.

Ayrıca bakınız

Referanslar

Genel

Dış bağlantılar