RAM zamanlaması nedir ?

Cansu

New member
RAM ZAMANLAMASI NEDİR? CL, TRCD, TRP VE TRAS DEĞERLERİ PERFORMANSI NASIL ETKİLER?

Arkadaşlar selam! Bilgisayar toplarken veya mevcut sistemimizi hızlandırmaya çalışırken çoğumuz işlemciye, ekran kartına ve RAM kapasitesine özellikle dikkat ediyoruz. Ancak iş RAM seçimine geldiğinde bazen gözden kaçırdığımız bir ayrıntı var: RAM zamanlamaları. İki farklı 16 GB DDR4 bellek düşünün. İkisinin de frekansı 3200 MT/s olsun ama birinin zamanlamaları 16-18-18-38, diğerinin ise 16-20-20-40 şeklinde olsun. Kâğıt üzerinde ikisi birbirine çok benziyor. Peki, gerçekten aynı performansı mı sunuyorlar?

İşin içine girdiğinizde konu biraz daha ilginç hâle geliyor. Çünkü RAM performansı yalnızca yüksek frekans değerinden ibaret değil. Belleğin veriye ne kadar sürede ulaşabildiği, işlemcinin belleği nasıl kullandığı, anakartın bellek denetleyicisi ve hatta kullandığınız program bile sonucu değiştirebiliyor.

Benim bu konudaki düşüncem şu: Bilgisayar bileşenlerini değerlendirirken tek bir sayıya bakarak karar vermek, bütün resmi görmeden yorum yapmak gibi. RAM zamanlamaları da bu resmin önemli parçalarından biri. Gelin, konuyu teknik ayrıntılarıyla ama forumda arkadaşlarla sohbet ediyormuşuz gibi inceleyelim.

1. RAM ZAMANLAMASI NEDİR? TEMEL MANTIKTAN BAŞLAYALIM

RAM zamanlaması, belleğin belirli işlemleri gerçekleştirmek için ihtiyaç duyduğu saat döngülerini ifade eder. Başka bir deyişle, işlemcinin bellekten veri istemesiyle belleğin ilgili işlemleri tamamlaması arasındaki süreçte çeşitli bekleme süreleri bulunur.

Burada önemli bir ayrıntı var: Zamanlama değerleri doğrudan nanosaniye cinsinden verilmez. Bunlar, belleğin saat döngüsü üzerinden ifade edilen gecikme değerleridir. Bu nedenle aynı zamanlama değerine sahip iki RAM kiti, farklı frekanslarda çalışıyorsa aynı gerçek gecikmeye sahip olmayabilir.

Örneğin CL16 değerine sahip 3200 MT/s bir DDR4 bellek ile CL16 değerine sahip 6000 MT/s bir DDR5 bellek düşünelim. İkisinin CAS Latency değeri aynı olsa da gerçek gecikmeleri farklıdır.

DDR belleklerde gerçek bellek saat frekansı, belirtilen veri aktarım hızının yarısıdır. Dolayısıyla yaklaşık CAS gecikmesini şu formülle hesaplayabiliriz:

Gerçek CAS gecikmesi (ns) = CL × 2000 / Veri aktarım hızı (MT/s)

Örnek hesaplama yapalım:

• DDR4-3200 CL16: 16 × 2000 / 3200 = 10 ns

• DDR4-3600 CL18: 18 × 2000 / 3600 = 10 ns

• DDR5-6000 CL30: 30 × 2000 / 6000 = 10 ns

Bu örnekte üç bellek de aynı teorik CAS gecikmesine sahiptir. Ancak bu, sistem genelindeki bellek gecikmelerinin eşit olduğu anlamına gelmez. Belleğin diğer zamanlamaları, işlemci mimarisi, bellek denetleyicisi, veri yolu genişliği ve kullanılan erişim düzeni de sonucu etkiler.

Buradan çıkaracağımız önemli sonuç şu: Yalnızca CL değerine bakarak RAM'in tamamını değerlendiremeyiz. Üstelik yüksek frekans, daha fazla bant genişliği sağlayabilirken gerçek erişim gecikmesi aynı kalabilir veya farklılaşabilir.

2. RAM ZAMANLAMALARININ TARİHSEL GELİŞİMİ

RAM zamanlamalarını daha iyi anlamak için bilgisayar belleğinin gelişimine kısaca bakmak gerekiyor.

Eski bilgisayarlarda kullanılan DRAM teknolojileri, verileri depolamak için kapasitörlerden yararlanıyordu. Bu hücrelerdeki bilgilerin belirli aralıklarla yenilenmesi gerekiyordu. Bellek denetleyicisinin bir satırı açması, sütunu seçmesi ve veriyi aktarması gibi işlemler zaman alıyordu. Modern RAM zamanlamalarının temelinde de bu fiziksel gereksinimler bulunuyor.

SDRAM teknolojisinin yaygınlaşmasıyla bellek işlemleri saat sinyaliyle daha düzenli biçimde eşleştirildi. Ardından DDR teknolojisi, saat sinyalinin hem yükselen hem de düşen kenarlarında veri aktararak aktarım hızını artırdı.

DDR, DDR2, DDR3 ve DDR4 nesilleri boyunca veri aktarım hızları ve bellek mimarileri gelişti. Ancak bu gelişim, bütün zamanlama sayılarının sürekli küçülmesi anlamına gelmedi. Yeni bellek nesilleri daha yüksek aktarım hızlarına ulaşırken bazı gecikme değerleri saat döngüsü cinsinden artabildi.

DDR5 ile birlikte daha yüksek veri hızları, iki adet bağımsız 32 bit alt kanala sahip DIMM mimarisi ve gelişmiş güç yönetimi gibi yenilikler öne çıktı. DDR5 modüllerinde çip üzerinde hata düzeltme mekanizması olan on-die ECC de bulunur. Bununla birlikte on-die ECC, sunucu sistemlerinde kullanılan uçtan uca sistem belleği ECC'siyle aynı şey değildir.

Bence bu tarihsel gelişimin en ilginç tarafı, bilgisayar teknolojisinin yalnızca daha hızlı çalışmaya değil, artan veri ihtiyacını daha verimli yönetmeye de odaklanmasıdır. İşlemciler aynı anda daha fazla iş yapabilir hâle geldikçe bellek sistemlerinin de bu işlemcilere yetişmesi gerekti.

Bugün RAM zamanlamalarını tartışmamızın nedeni de budur. Bellek teknolojisi ilerledikçe performansı belirleyen etkenler çoğaldı ve tek bir teknik değerin bütün sistemi açıklaması giderek zorlaştı.

3. CL, TRCD, TRP VE TRAS NE ANLAMA GELİYOR?

RAM kutularında genellikle 16-18-18-38 veya 30-36-36-76 gibi sayı dizileri görüyoruz. Bunlar çoğunlukla dört temel zamanlama değerini gösterir.

CL (CAS Latency):

CAS Latency, bir bellek satırı etkin durumdayken istenen sütundaki verinin okunması için gereken gecikmeyi ifade eder. Kısacası, ilgili satır zaten açıksa sütun erişiminin temel zamanlamalarından biridir.

CL değeri ne kadar düşükse diğer koşullar aynı kaldığında bu işlem o kadar az saat döngüsü gerektirir. Ancak sistemdeki her bellek erişiminin doğrudan CL kadar süreceğini düşünmek yanlış olur.

tRCD (RAS to CAS Delay):

Bellek denetleyicisinin bir satırı etkinleştirmesiyle sütun erişimini gerçekleştirebilmesi arasında gereken zamanlamadır. İstenen veri başka bir satırda bulunuyorsa yeni satırın açılması ve sütun erişimine geçilmesi gerekir.

Bu değer özellikle farklı satırlara erişilen durumlarda önem kazanır.

tRP (Row Precharge Time):

Bir bellek satırının kapatılması ve yeni bir satırın açılabilmesi için gereken zamanlamayı ifade eder. Bellek denetleyicisi başka bir satıra geçmek istediğinde mevcut satırın kapatılması gerekebilir.

tRP değeri, art arda farklı satırlara erişilen işlemlerde etkili olabilir.

tRAS (Row Active Time):

Bir satırın etkin durumda kalması gereken asgari süreyi belirtir. Satırın açılmasıyla kapatılması arasındaki zamanlamayla ilişkilidir.

Bu değerleri birlikte değerlendirdiğimizde bellek erişiminin neden yalnızca CL'den ibaret olmadığını anlayabiliyoruz. Örneğin satırın kapatılması, yeni satırın açılması ve sütunun okunması gibi işlemler bir erişimin toplam süresini etkileyebilir.

Bazı durumlarda yaklaşık bir satır değiştirme ve okuma süreci için tRP + tRCD + CL toplamı kullanılabilir. Fakat bu, bütün erişimlerin gecikmesini gösteren evrensel bir formül değildir. Belleğin mevcut durumu, komut sıralaması ve erişimin hangi bankada gerçekleştiği sonucu değiştirebilir.

4. FREKANS MI DAHA ÖNEMLİ, ZAMANLAMA MI?

Forumlarda en sık karşılaştığımız tartışmalardan biri budur. Bir taraf yüksek frekansın her zaman daha iyi olduğunu savunurken diğer taraf düşük CL değerlerinin daha önemli olduğunu söyleyebilir.

Gerçekte bu iki özellik birbirinin alternatifi olmak zorunda değildir. Frekans yükseldikçe bellek daha yüksek veri aktarım hızına ulaşabilir. Zamanlamalar ise belirli işlemlerin kaç saat döngüsünde tamamlandığını gösterir.

Örneğin DDR4-3200 CL16 ile DDR4-3600 CL18 belleklerin teorik CAS gecikmesi aynı, yani yaklaşık 10 ns'dir. Buna rağmen DDR4-3600 modeli daha yüksek teorik aktarım hızına sahiptir.

Çift kanallı ve her kanalda 64 bit veri yolu kullanan standart bir sistemde teorik bant genişliği yaklaşık olarak şu şekilde hesaplanabilir:

• DDR4-3200: 3200 MT/s × 8 bayt × 2 kanal = 51,2 GB/s

• DDR4-3600: 3600 MT/s × 8 bayt × 2 kanal = 57,6 GB/s

Burada kanal başına 64 bit, yani 8 bayt veri yolu genişliği varsayılmıştır. Hesaplanan değerler teoriktir; gerçek uygulama performansı daha düşük olabilir.

Bu örnek, frekansın neden önemli olduğunu açıkça gösteriyor. Ancak yüksek bant genişliğinden her program aynı ölçüde yararlanmaz. Belleğe yoğun biçimde veri aktaran uygulamalarla önbellekte sık çalışan uygulamaların ihtiyaçları birbirinden farklıdır.
 
Üst