İŞLEMCİ YAZMAÇLARI
Bilgisayar mimarisinde işlemci yazmaçları programların işletimini hızlandırmak için genelde kullanılan birimlere hızlı erişim sağlamak üzere kullanılan bellek bölümleridir.İstisnalar hariç,günümüz modern bilgisayar mimarisinde veri ana bellekten alınıp yazmaç içine atılır ardından söz konusu veri yazmaçta işlenir sonra çıkan sonuç ana belleğe yerleştirilir.Bu prensibe (yükle-sakla yapısı) denir. İşlemci yazmaçlar,bellek hiyerarşisinde başka deyişle bellek piramidinde en üst basamaktadır.Bu sayede sistem için ilgili bilgiye en hızlı ulaşma yolu yazmaçlar sayesinde olur.İşlemci yazmacı terimi genellikle belli grup yazmaçlar için kullanılır,bu yazmaçlar komut kümesi tarafından belirlenen girdi ya da çıktı komutunu direk gösteren yazmaçlara denir.Daha geniş anlamda bu yazmaçlara mimarisel yazmaçlar denir.Örnek olarak x86 komut kümesi 8 tane 32 bitlik yazmaç kümesini tanımlar,fakat x86 komut kümesi ailesinin tamamlayan CPU merkezi işlem birimi,8 taneden çok daha fazla sayıda yazmaç barındırır. Yazmaçların performansa da etkisi vardır.Eğer sıklıkla kullanılan değişkenleri yazmaçlar içine atarsak bu hareket ilgili programın performansını da ciddi şekilde kötü yönde etkiler.Söz konusu bu olaya yazmaç tahsis etme denir.Yazmaç tahsis etme kod geliştirme safhasında derleyici tarafından yapılır.YAZMAÇLARIN KATEGORİLERİ
Yazmaçlar tuttukları bit sayılarına göre isimlendirilirler, mesela 8 bit tutuyorsa “ 8-bitlik yazmaç”,32 bit tutuyorsa “32-bitlik yazmaç” gibi tutukları bit sayısına göre isimlendirilirler.Yazmaçlar şimdilerde genellikle yazmaç dosyası tamamlanmasıyla oluşturulur. Tabi başka yollar da vardır.Bu yollar tek başına olan flip-floplar yani mandallar kullanarak, yüksek hızlı çekirdek bellek,ince film bellek ve diğer yollar aracılığı ile çeşitli diğer makinelerde meydana getirilebilirler.İçeriğine göre yazmaçlar başka deyişle yaptıkları işe göre mimarisel yazmaçlar birçok sınıfa ayrılabilir.Şimdi belli başlılarını alt başlıklar altında inceleyelim.1-VERİ YAZMAÇLARI Tam sayı değerleri saklamak için kullanılırlar.Bazı eski ve şu anki merkezi işlem birimlerinde akümülatör dediğimiz özel veri yazmacı olarak adlandırılıp birçok önemli işlemde kullanılmaktadırlar.
2-ADRES YAZMAÇLARI Hafıza adresini tutar ve hafızadaki veriye ulaşmak için kullanılırlar.Bazı merkezi işlem birimlerinde adres yazmaçlarına gösterge yazmaçları da denir.Ayrıca adresleri değiştirebilmek için sayı da tutarlar.
3-KOŞULLU YAZMAÇLAR Doğru değeri tutarlar ve genellikle bazı komutların çalışıp çalışmaması gerektiğini saptamaya yararlar.
4-GENEL AMAÇLI YAZMAÇLAR Adres ve bilginin ikisini de aynı anda saklayan yazmaçlara denir.
5-ONDALIK YAZMAÇLARI Ondalık sayıları göstermede kullanılır.
6-SABİT YAZMAÇLAR Sadece okunabilir özellikli değerlerii tutarlar (0,1,15,pia€¦..) gibi değerler.
7-VEKTÖR YAZMAÇLARI SIMD komutları tarafından yapılan vektör işlemi için olan veriyi tutar.
8-ÖZEL AMAÇLI YAZMAÇLAR Program durumunu tutarlar.Bunlar genellikle program sayacı (komut göstericisi de denir), yığın göstericisi ve statü yazmaçlarını içerir.
9-KOMUT YAZMAÇLARI İşletilmekte olan programın komutunu saklarlar.
10-GÖSTERİCİ YAZMAÇLARI Program çalıştığı esnada operandın adresini değiştirir.
Bazı mimarilerde,model-özgül yazmaçları (makine-özgül yazmaçları da denir) bulunmaktadır. Yazmaçlar,bilgiyi RAM den alırlar,birçok bellek yazmacı merkezi işlem biriminden ayrı bir yerde çiplerin üstüne yerleştirilmişlerdir.Yukarda anlatılan türde yazmaçlara benzemeyen yani mimarisel olmayan yazmaçlar da bilgisayar dünyasında mevcuttur.Şimdi kısaca bu yazmaçların belli başlılarını inceleyelim.
a)BELLEK TAMPON YAZMACI (MBR) Merkezi işlem biriminde yer alır.Bu yazmaç transferine başlanacak veriyi saklar. Bu yazmaç merkezi işlemci ile hafıza arasında bir tampon görevi görür.İşlemler sırasında işlemlerdeki ufak farlılıklardan etkilenmeyerek onlardan bağımsız çalışır.Veri parçası MBR a kopyalanarak bir sonraki saat vuruşunda kullanılmak üzere hazır hale getirir.Bir sonraki saat vuruşunda merkezi işlemci tarafından kullanılır ya da hafızada saklanır.
b)BELLEK VERİ YAZMACI Bilgisayar kontrol ünitesinin yazmacıdır.Bu yazmaç bilgisayar belleğinden alınacak ya da oraya yazılacak verinin adresini almak üzere bellek adres yazmacının içeriğini tutar.Hafıza veri yazmacının iki parcaya ayrılır biri mikroprogram ve bilgisayar hafızası arasında bir arayüz diğeri ise hafıza adres yazmacıdır.
c)BELLEK ADRES YAZMACI Bilgisayarın kontrol ünitesinin yazmacı olup bilgisayar belleğinden alınacak ya da oraya yazılacak verinin adresini tutar.Hafıza adres yazmacı da hem mikro program ve bilgisayar arasında bir arayüz hem de hafıza veri yazmacıdır.
d)BELLEK TİPİ VERİ YAZMAÇLARI Intel p6 ailesi işlemcileri (pentium pro, pentium 2) ve sonrası hafıza tipi dizi yazmaçları işlemci anabiliminin hafıza dizilerine ulaşmasını kontrol etmekte kullanılırlar.Bunu daha çok video da ya da agp busında sıkça karşılaşırız.