SDRAM’in ortaya çıkıp tozu dumana katmasının ardından ortalık sakinleşmeye başladı gibi. Kendi kendimize, “Acaba gelecek büyük RAM dalgası ne?” diye sormaya başladık bile. Sanırım teknolojinin ultra hızlarda gelişmesine alıştık, bunu artık eskisi kadar yadırgamıyor ve anında sırada neyin olduğunu merak etmeye başlıyoruz. Teknoloji ve insan etkileşimi dedikleri şeyin bir yansıması da bu olsa gerek. Neyse, biz en iyisi, adaptasyon süreci üzerinde silikon çiplerin etkisini sorgulamayı bir kenara bırakalım ve gelin bu ay hangi sorulara cevap aramışız hep birlikte ona bakalım.
1 Bilgi işlem jargonunda DRAM, SRAM, EDO RAM ve SDRAM olarak karşımıza
çıkan ifadeler ne anlama gelmektedir? Bu RAM çeşitlerini birbirinden
farklı kılan şeyler nelerdir? SRAM (Static RAM), DRAM’den daha hızlı ve daha güvenilir olan (ama onun kadar yaygın olmayan) bir hafıza çeşididir. SRAM’lere statik denmesinin sebebi, DRAM’lerin ihtiyaç duyduğu tazeleme operasyonuna ihtiyaç duymamalarıdır; çünkü elektronik yükü orijinal konumunda tutan bir depolama hücresi esasına (ki bu DRAM’in yöntemidir) dayanmayıp, akımın belli bir yönde sürekli taşınması prensibini esas alarak çalışırlar. SRAM’ler –genellikle– sadece ön hafıza (cache) olarak kullanılır. Bunun altında iki temel sebep yatar. SRAM’lerin üretim maliyetlerinin DRAM’lerinkine oranla çok daha yüksek olması birinci sebebi teşkil eder. İkinci temel sebep olarak ise SRAM’lerin DRAM’lerden çok daha hızlı olması gelir. DRAM’ler minimum 60 nanosaniyelik erişim sürelerini (access time) destekler; bu süre SRAM’ler söz konusu olduğunda ise 10 nanosaniyeye kadar düşer (1 nanosaniye = 1 saniyenin milyarda biri). Ayrıca SRAM birbirini izleyen iki erişim arasında duraklama ihtiyacını hissetmezken DRAM’in iki ardışık erişimi arasında bir bekleme süresi vardır. Bu yüzden SRAM’in devir süresi (cycle time) de DRAM’in devir süresine nazaran çok daha kısadır. EDO RAM (Extended Data Out[put] RAM) temel olarak bir DRAM çeşidi olmakla birlikte standart DRAM’den daha hızlıdır. EDO RAM’den bazı kaynaklarda EDO DRAM (Extended Data Out[put] Dynamic Random Access Memory) olarak da söz edilmektedir. EDO RAM (ya da EDO DRAM), bir seferde sadece bir veri bloğuna erişebilen standart DRAM’den farklı olarak, bir hafıza (ya da veri) bloğunu işlemciye gönderdiği sırada bir sonraki veri bloğuna erişme işlemini de başlatabilmektedir. Bu da onun standart DRAM’den yüzde 10 veya 15 daha hızlı olmasının yolunu açar. Çünkü, yukarıda standart DRAM’i anlatırken sözünü ettiğimiz “ardışık iki erişim arasındaki bekleme süresi”nin hız üzerindeki olumsuz etkileri, RAM’in CPU’ya veri gönderirken aynı anda bir sonraki veri bloğuna da erişme teşebbüsüne başlaması ile azalmakta ve veri aktarım performansı doğal olarak yükselmektedir. Yani EDO RAM sayesinde veri transferinin senkronizasyonu işlemi, sıradan RAM’lerle yaşanan duruma göre daha süratli ve daha kolay yürütülebilmektedir. Bunun neticesinde EDO RAM’lerin erişim süresi 50 nanosaniyeye kadar düşebilmektedir. EDO RAM hem SIMM hem de DIMM modüllerde kullanılabilir. Standart DRAM ise –genellikle– sadece SIMM modüllere sahip olan PC’lerde bulunmaktadır. Bir ya da iki yıl evveline kadar üst seviye PC sistemlerinin RAM seçimi EDO idi. Ama önce Pentium MMX sonra da Pentium II çağının başlangıcı ile EDO gelişmiş sistemlerin yüksek hafıza performansı taleplerine cevap veremez oldu. Yeni bir DRAM türü olan SDRAM (Synchronous DRAM–senkronize DRAM), geleneksel hafıza çeşitlerinin sunduğu hızlardan çok daha yüksek saat hızlarını (100 MHz’yi, hatta daha da üstünü) desteklemektedir. SDRAM, sistem veriyolu ile aynı frekansta çalışır ve CPU’dan talep geldiği zaman otomatik olarak senkronizasyonu sağlar. (Sistem veriyolu [system bus], işlemciyi ana hafızaya bağlayan veriyoludur. Bazı kaynaklarda kendisinden işlemci veriyolu [CPU bus] veya kontrol veriyolu [control bus] olarak da söz edilmektedir.) SDRAM ile sistem saati arasında tesis edilen bu senkronizasyon sayesinde, veri erişimi ve tazeleme sırasında, CPU’nun boş boş oturup hafızanın kendisine yetişmesini beklemek zorunda kalması sonucunda oluşan zaman kayıpları minimuma düşürülmektedir. SDRAM teknolojisinin CPU ile hafıza arasında daha verimli bir iletişime imkân veren bu mimarisi, SDRAM’i EDO RAM’den daha hızlı bir hafıza türü haline getirmiştir. SDRAM, hafızayı iki ya da daha fazla dahili hafıza dizisine ayırır; bu işlemin amacı dizilerden birine bir erişim olduğu anda sıradaki dizinin erişim için hazırlanmasını sağlamaktır (buna “burst mode” metodunun bir varyasyonu gözüyle bakmak mümkündür aslında). SDRAM’in veriyi ilk olarak okuduğu sırada ulaştığı rasgele erişim hızı EDO RAM’in erişim hızı ile aynıdır; ama sıra müteakip karakterlerin ya da hücrelerin okunmasına geldiğinde SDRAM, EDO RAM’e 5-6 tur bindirmekte ve 10 nanosaniyelik erişim süreleri sunabilmektedir (daha net olmak gerekirse, bu erişim süresinin –yaklaşık olarak– 7 ns ile 12 ns arasında değiştiğini söyleyebiliriz). Veriye 10’ar nanosaniyelik aralıklarla erişilebilmesi demek, çevrim (ya da devir) süresinin 10 nanosaniye olması demektir. Yani her 10 ns’de 1 devir gerçekleşmektedir. Bu da her {[10 nanosaniye] x [1 milyar]}’da (yani her 10 saniyede) 1 milyar çevrim ve her 1 saniyede de 100 milyon çevrim anlamına gelir. Son cümlemizin ikinci kısmına dikkat edecek olursanız, orada aslında 100 MHz’in tanımını yaptığımızı görürsünüz. Sanırız, “SDRAM 100 MHz’lik veriyolu hızlarını destekliyor” ifadesini artık daha anlamlı bulacaksınız. Yani aslında 10 ns’lik SDRAM ve 100 MHz’lik SDRAM derken yaptığımız şey aynı anlamı iki farklı şekilde ifade etmek oluyor. SDRAM mimarisinin bir parçası olan senkronizasyon ile veriye çok daha hızlı bir biçimde erişilebilmesi, bilgisayar sisteminizin genel performansına direkt olarak olumlu bir şekilde yansır. SDRAM’in, kendisine nazaran daha eski olan hafıza teknolojileri karşısındaki bu üstünlüğü genel sistem performansınız söz konusu olduğunda kritik bir önem taşır. SDRAM, EDO’nun pabucunu dama atmış ve artık günümüz PC’lerin hafıza standardı olmuştur. SDRAM’in “senkronize” mimarisi aynı zamanda, önümüzdeki bir iki yıl içinde görmeye başlayacağımız çok daha yüksek veriyolu hızlarını desteklemeye de elverişlidir. Burada unutulmaması gereken bir nokta, 66 MHz’lik veya daha düşük sistem veriyolu hızlarında çalışan pek çok eski sistemin SDRAM’in hediye ettiği yüksek performans nimetinden tam anlamayla yararlanamayacağı gerçeğidir. Bu arada biz de, SDRAM’in hızına ayak uydurmakta güçlük çeken veriyolları sayesinde, “bir zincir en zayıf halkası kadar sağlamdır” sözünü “bir PC en yavaş veriyolu kadar hızlıdır” şeklinde değiştirebiliyoruz. 100 MHz’lik sistem veriyolu kullanan PC’lerin yaygınlaşmasıyla SDRAM’in eski teknolojileri silip süpürmesi kaçınılmazdır. SDRAM’ler –genellikle– sadece DIMM modüllerde kullanılır. Bunun haricinde, bazı anakartlar EDO ve SDRAM’lerin birlikte kullanılmasına müsaade etmektedir, ne var ki bu yaygın bir uygulama değildir. Zaten eğer sistemden performansı en küçük zerresine kadar almak istiyorsak, ikide bir SDRAM’leri çelmeleyecek olan EDO’ları bir kenara bırakmalı ve sadece SDRAM’leri kullanmalıyız.
2 Yukarıda DRAM’leri anlatırken elektronik tazeleme diye bir şeyden
bahsettiniz. Bu tam olarak nedir? Her hafıza hücresinde 1 bit’lik veri saklanır. Bu 1 bit’lik veri, hafıza hücresinde elektriksel bir yük olarak depolanmaktadır. Bulunduğu konumun satır ve sütun olarak belirtilmesi halinde veriye anında ulaşılması mümkündür. Ne var ki DRAM, geçici (ya da uçucu, volatile) bir hafıza türüdür; yani tutmakta olduğu veriyi elinden kaçırmaması için sürekli elektrik gücüyle beslenmek zorundadır. Güç kesildiği anda RAM’deki veri kaf dağının ardına gider. Yukarıda da belirttiğimiz gibi DRAM’e “dinamik” RAM denmesinin sebebi, veriyi elinde tutabilmek için her saniyede yüzlerce kez tazelenmek ya da yeniden enerji ile doldurulmak zorunda olmasıdır. Tazelenmek zorundadır çünkü hafıza hücreleri, elektrik yüklerini depolayan minik kondansatörler içerecek şekilde dizayn edilmiştir. Bu kondansatörler, kendilerine yeniden enerji verilmediği takdirde yüklerini kısa sürede kaybedecek olan çok minik enerji kaynakları olarak görev yaparlar. Aynı zamanda, hafıza dizisinden verinin alınması ya da okunması süreci de bu yüklerin hızla tüketilmesine katkıda bulunur; bu yüzden hafıza hücreleri verinin okunmasından önce elektrikle yüklenmiş olmalıdırlar. Elektronik tazeleme ya da kısaca tazeleme (refresh), bir hafıza çipindeki hücrelerin yeniden yüklenmeleri, ya da yeniden enerji ile doldurulmaları sürecidir. Hücreler, bir defada bir satır olacak şekilde tazelenir (genellikle her tazeleme çevriminde bir satır). “Tazeleme oranı” (refresh rate) ifadesi, hafızanın tazelenmesi sırasında geçen süreyi değil, DRAM dizisinin tamamının tazelenmesi için elden geçirilmesi gereken toplam satır sayısını gösterir (meselâ, 2000 [2K] veya 4000 [4K] satır). “Tazeleme çevrimi” (refresh cycle) ifadesi ise bir satırın tazelenmesi sırasında geçen zamanı belirtebileceği gibi aynı zamanda tüm DRAM dizisinin tazelenmesi sırasında geçen zamana da işaret edebilir.
3 “Cache memory” nedir? Yükseltilebilir mi? Ve “Hız Tuzağı”... Birinci soruda RAM türlerini anlatırken de söylediğimiz gibi ön hafıza bir SRAM çeşididir ve tazeleme ya da senkronizasyon gibi işlemlere ihtiyaç duymaz. SRAM, CPU’nun talep ettiği bilgiyi neredeyse hiçbir bekleme olmaksızın, anında işlemciye ulaştırır. Ön hafızayı upgrade etmek ancak sisteminizdeki cache memory soketinin kendisine erişime izin vermesi ve daha geniş, ikincil bir cache seçeneği sunması ile mümkün olabilir. Eğer sisteminizde bir Pentium II varsa, cache’i yükseltmek için işlemciyi değiştirmeniz gerekir, bunun sebebi cache’in Pentium II sistemlerinde işlemci ile aynı çatı altında olmasıdır. Bu genel bilgilerin ardından şimdi de kısaca ön hafıza mantığını izah etmeye çalışalım. Bilgisayar uygulamaları, genel olarak, bir program kodunun belli bir bölgesi etrafında bir müddet gezinirler, sonra başka bir kod bölgesine geçerler ve biraz da orada takılırlar; bu işlem çalışma süresince böyle devam eder gider. Veriler söz konusu olduğunda da benzer bir durum geçerlidir. Cache denetleyici önce bilgisayarın kullanımına bakarak hangi hafıza bölgesi ile ilgilenmesi gerektiği hakkında bir fikir edinir, ardından CPU’nun az sonra hafızadan talep edeceği bilginin hafızanın hangi bölgesinde tutulmakta olduğunu tahmin eder. Sonra, yavaş dinamik hafızanın bu bölgesine gider ve oradan bir miktar veriyi tuttuğu gibi yaka paça içeri atar (cache denetleyicinin ana hafızadan alıp cache’e aktardığı bu bilginin hacmi cache’in toplam boyutu kadar değildir, çok daha azdır). Peki bundan sonra ne olacaktır? Eğer cache denetleyicinin tahmini doğru çıkarsa CPU, talep ettiği veriyi almak için yavaş olan ana hafıza ile uğraşmak zorunda kalmayacak, veri cache’de anında CPU’nun emrine sunulacaktır. Yalnız dikkat edin! Yukarıdaki paragrafta “eğer cache denetleyicinin tahmini doğru çıkarsa...” diye bir laf ettik ve sonrasında neler olacağını buna dayanarak söyledik. Peki ya cache denetleyici yanılırsa? İşte o zaman bir hız tuzağına yakalandık demektir. Çünkü CPU tekrar yavaş DRAM’e geri dönmek ve ekstra bekleme süreleri yaşayarak acı çekmek zorunda kalacaktır. Neyse ki cache’ler pratikte %80 ilâ 99 oranında doğru tahminlerde bulunurlar.
4 SIMM’ler ile DIMM’ler arasındaki fark nedir? RIMM ne demektir? Standart DIMM’lerin (ki bunlara “unbuffered DIMM” de deniyor) maksimum kapasitesi 64 MB’tır. Yeni bir dizayn olan register’lı DIMM’ler (registered DIMM) ise 128 MB veya 526 MB veri tutabilmektedir. Bu yeni DIMM türü daha çok server’larda ve üst seviye çalışma istasyonlarında kullanılmaktadır. RIMM’ler (ya da Rambus hafıza modülleri), Intel’in gelecek kuşak Rambus hafıza arabirimi ile kullanılacak olan tasarımdır. Rambus, yüksek performanslı veriyollarını destekleyecek ve mevcut hafıza mimarilerinin önerdiğinden çok daha yüksek bant genişlikleri sunacaktır (yazının devamında Rambus hakkında daha fazla bilgi bulabilirsiniz).
5 ECC desteği, parity, non-parity gibi ifadeler ne anlama gelmektedir?
6 RAM’in hızı önemli mi? SDRAM’in hızı MHz cinsinden ölçülebilir, çünkü SDRAM ile sistem veriyolu arasında bir senkronizasyon söz konusudur. Intel’in Deschutes Pentium II işlemcisini kullanan yeni sistemlerde 100 MHz’lik sistem veriyolu bulunur. Bu yeni sistemler, hafızanın da sistem veriyolunun frekansında (yani 100 MHz’de) çalışmasını gerektirirler. Eğer sisteminiz EDO ya da SDRAM kullanacaksa, elinizdeki RAM’in, sistem üreticisinin tüm spesifikasyonlarına uyduğundan emin olun. DIMM modüllerine sahip olan bir PC’nin RAM’ini değiştiriyor veya upgrade ediyorsanız sistem kitapçığındaki prosedürleri dikkatlice okumanız ve doğru bir şekilde uygulamanız gerekmektedir.
7 Sistemimi upgrade ediyorum. Elimdeki RAM’i yeni bilgisayarımda
kullanabilecek miyim? Eğer yeni bilgisayarınız 100 MHz’lik bir sistem veriyoluna sahipse eski RAM’inizi çok büyük bir ihtimalle yeni sisteminizde kullanamayacaksınız. (Geriye kalan çok küçük ihtimal, değiştirmekte olduğunuz sistemin de 100 MHz’lik bir veriyolu kullanıyor olması ihtimalidir.) Yeni makinenize takacağınız RAM’in 100 MHz’de çalışmak üzere tasarlandığından emin olun; aksi takdirde performans kayıpları kaçınılmazdır, hatta sisteminizin göçmesine neden olabilecek “memory paging” hatalarıyla karşılaşmanız da sürpriz olmayacaktır.
8 “Memory paging” dediniz, bu ne demek?
9 Notebook’ların RAM’leri ile masaüstü PC’lerin RAM’leri arasında bir fark
var mıdır?
10 Bir grafik kartındaki RAM, ana hafıza olarak kullandığımız RAM’den
farklı mıdır?
11 RAM’ler alanında bizleri ne gibi gelişmeler beklemektedir? Daha ucuz bir alternatif de yüksek performanslı SDRAM-DDR ya da diğer adıyla “Double-Data Rate” SDRAM’dir. SDRAM-DDR veriyi 200 MHz hızında okuyabilmektedir; bu hız günümüz üst seviye PC veriyollarının 100 MHz’lik hızının iki katıdır. Bu mimarinin bir üst versiyonu SLDRAM’dir (SyncLink DRAM). SLDRAM veri okuma hızını 400 MHz’e çıkarmaktadır. Burada saymış olduğumuz üç alternatiften son ikisi Rambus’a göre hem daha ucuz hem de daha kolay uygulanabilir durumdadır. Gelecekte, Rambus üst seviye sistemlerde, SLDRAM ise daha ucuz sistemlerde yer almaya adaydır. |