Donanım yazmacı

Dijital elektronikte, özellikle bilgi işlemde, donanım yazmaçları genellikle belleğe benzer birçok özelliğe sahip, genellikle flip floplardan oluşan devrelerdir, örneğin:
Bir seferde birden fazla bit okuma veya yazma yeteneği ve
Bir bellek adresine benzer şekilde belirli bir yazmacı seçmek için bir adres kullanabilme
Bununla birlikte, ayırt edici özellikleri, sıradan belleğin ötesinde donanımla ilgili özel işlevlere de sahip olmalarıdır. Dolayısıyla, bakış açısına bağlı olarak, donanım yazmaçları, donanımla ilgili ek işlevlere sahip bellek gibidir; veya bellek devreleri, yalnızca verileri depolayan donanım yazmaçları gibidir.
Donanım yazmaçları, yazılım ve çevre birimleri arasındaki arayüzde kullanılır. Yazılım bunları cihaza bilgi göndermek için yazar ve cihazdan bilgi almak için okur. Bazı donanım aygıtları, dahili kullanımları için yazılım tarafından görülemeyen yazmaçlar da içerir.
Karmaşıklıklarına bağlı olarak, modern donanım cihazlarının birçok yazmacı olabilir. Standart entegre devreler, tipik olarak elektronik bileşen veri sayfalarının bir parçası olarak harici olarak açığa çıkan yazmaçlarını belgeler.
İşlev
Donanım yazmaçlarının tipik kullanımlarından bazıları şunlardır:
özellikle başlatma sırasında belirli özelliklerin yapılandırılması ve başlatılması
arabellek depolama, örneğin grafik kartları için video belleği
farklı türden giriş/çıkış (G/Ç)
örneğin bir modem durum yazmacı veya bir hat durum yazmacı gibi donanım biriminde belirli bir olayın meydana gelip gelmediği gibi durum raporlaması.
"Çevresel birimlerde" -CPU dışındaki bilgisayar donanımı- bir donanım yazmacının okunması işlemci tarafından verilen bir "yükleme" veya "depolama" talimatıyla bellek eşlemeli G/Ç adresine veya bağlantı noktası eşlemeli G/Ç adresine erişmeyi içerir. Donanım yazmaçları sözcüklerle adreslenir, ancak bazen yazmaca okunan veya yazılan sözcüğün yalnızca birkaç bitini kullanır.
Ticari tasarım araçları, donanım, sabit yazılım, donanım doğrulaması, test etme ve belgeleme için bellek eşlemeli yazmaç belirtimini ve kod üretimini basitleştirir ve otomatikleştirir.
Yazmaçlar okunabilir/yazılabilir, salt okunur veya salt yazılır olabilir.
Salt yazılır yazmaçlardan genellikle kaçınılır. Yazıldığında geçici bir eyleme neden olan ancak 'çevre birimini sıfırla' yazmacı gibi okunacak kalıcı veri depolamayan yazmaçlar için uygundurlar. Atari 2600 oyun konsolunun TIA çipi gibi nispeten büyük mantık devresi ve yazmaç verilerinin yeniden okunması için gereken sinyal yönlendirmesi için kapıları karşılayamayan tasarımlarda tek seçenek olabilirler. Bununla birlikte, salt-yazma yazmaçları hata ayıklamayı zorlaştırır ve okuma-değiştirme-yazma sorununa yol açar, bu nedenle okuma/yazma yazmaçları tercih edilir. PC'lerde salt yazılır yazmaçlar, Gelişmiş Yapılandırma ve Güç Arayüzünün (ACPI) uyku modundan çıkarken bu durumu geri yüklemek için uyku moduna girerken cihazın durumunu belirlemesini zorlaştırmıştır.
Yazmaç çeşitleri
Bir merkezi işlem birimi (CPU) içindeki donanım yazmaçlarına işlemci yazmacı denir.
Strobe yazmaçları, normal donanım yazmaçları ile aynı arayüze sahiptir, ancak verileri depolamak yerine, her yazıldıklarında (veya nadiren okunduklarında) bir eylemi tetiklerler. Onlar bir sinyal verme aracıdır.
Yazmaçlar normalde tutabilecekleri bit sayısıyla ölçülür, örneğin "8 bitlik yazmaç" veya "32 bitlik yazmaç".
Tasarımcılar, yazmaçları aşağıdakiler de dahil olmak üzere çok çeşitli şekillerde uygulayabilir:
yazmaç öbekleri
standart SRAM
bireysel flip floplar
yüksek hızlı çekirdek bellek
Yazılımla okunabilen ve yazılabilen "programcı tarafından görülebilen" yazmaçlara ek olarak, birçok yongada durum makineleri ve ardışık düzen için kullanılan dahili mikro mimari yazmaçlar bulunur; örneğin, yazmaçlı bellek.
Standartlar
SPIRIT IP-XACT ve DITA SIDSC XML, bellek eşlemeli yazmaçlar için standart XML biçimlerini tanımlar.