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:[*kaynak belirtilmeli*]

* 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.[*kaynak belirtilmeli*]

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.

Ayrıca bakınız
--------------

* İşlemci yazmacı
* Yazmaç aktarım düzeyi (RTL)
* Giriş/çıkış temel adresi

Kaynakça
--------

1. ↑  
*Hardware And Software Of Personal Computers*. New Age International. 2007. s. 54. ISBN 9788122403039. Erişim tarihi: 10 Eylül 2012. Once the INS 8250 has been properly initialized, we should make proper use of the Modem Status register (MSR), Line Status register (LSR) and the Interrupt Identification register (IIR) for controlling the device during actual operation.  Yazar `|ad1=` eksik `|soyadı1=` (yardım)
2. ↑  "Microsoft MVP: If every hardware engineer just understood that... …write-only registers make debugging almost impossible". 21 Ağustos 2004 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Haziran 2023.
3. ↑  "Microsoft "Guidelines for Bus and Device Specifications"". 22 Mayıs 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Haziran 2023.
4. ↑  "blog entry on IP-XACT format". 9 Mart 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2009.
5. ↑  "IP-XACT Schema... see component XSD". 10 Haziran 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Haziran 2023.
6. ↑  "DITA Semiconductor register spec". 13 Şubat 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Haziran 2023.