Neden hafıza yerleri kayıt olarak adlandırılıyor?

Gömülü sistemlerde ve sistem programlamasında, register terimi için kullanılır

  1. mikro denetleyicinin içindeki bir CPU kaydı, ör. R1, R2, ARM mikro kontrolörlerde PC ve
  2. bellek adres alanı içindeki belirli 'özel' konumlar.

'Kayıt' teriminin bu şekilde aşırı yüklenmesinin bir nedeni veya geçmişi var mı?

3

6 cevap

İşlevsel olarak konuşursak, bir kayıtçı, değeri saklayabileceğiniz bir elemandır (çok bitli bir D-tipi flop veya eşdeğeri dizisi)

Operasyonları tutmak için kullanılan geleneksel CPU kayıtlarına ve ALU hesaplamalarından elde edilen sonuçlara ek olarak, başka amaçlara adanmış Özel Fonksiyon Kayıtları (yonga veya kapalı) olabilir. Örneğin, seri bir bağlantı noktasını uygulayan bir UART çevre biriminde, baud hızını saatinden türeten böleni, giden veri için bir, alınan veri için ve diğeri mod ayarlarının bir bitmap'i türetmek için bir kayıt cihazı vardır.

Bellek eşlemeli G/Ç bulunan bir makinede özel işlev kaydı bellek alanında görünür ve bellek erişim talimatlarıyla erişilebilir (bazen yalnızca belirli bir erişim genişliği yasal olmak gibi kısıtlamalar olsa da). Buna karşılık, bir G/Ç eşlemeli makinede, yalnızca G/Ç bağlantı noktası adreslerine erişmek için özel talimatlar ve (en azından çift amaçlı bir harici veri yolu) bir erişim olup olmadığını belirten bir kontrol sinyali bulunur. hafızaya veya G/Ç alanınadır.

Daha da kafa karıştırıcı olanı, CPU kayıtlarının sıradan hafıza konumları olarak da erişilebildiği 8051 gibi birkaç eski işlemci tasarımı. Ve diğer pek çok makinede, CPU kayıtları hafızadan ziyade bir kayıt dosyasında saklanırken, işlevsel olarak, talimat yazısının bit alanında "adresleri" vardır, hangi kayıt bir işlenenin veya sonucun olduğunu belirtir - RISC mimarisi ile numaralandırılmış kayıt bu özellikle açık.

7
katma
Harika bir bakış. Ayrıca, mikroçip PIC'lerin tüm çip üzerindeki veri belleğine çoğu mimarinin RAM dediği “kayıt” olarak bahsettiğinden de bahsetmek istedim. Bu, terimden daha fazla aşırı yüklenir ve daha fazla karışıklığa yol açar. PIC'ler genel olarak sadece Von Neumann yerine Harvard kemeri olmaktan tuhaflar.
katma yazar Brian McFarland, kaynak

İşlevsel olarak konuşursak, bir kayıtçı, değeri saklayabileceğiniz bir elemandır (çok bitli bir D-tipi flop veya eşdeğeri dizisi)

Operasyonları tutmak için kullanılan geleneksel CPU kayıtlarına ve ALU hesaplamalarından elde edilen sonuçlara ek olarak, başka amaçlara adanmış Özel Fonksiyon Kayıtları (yonga veya kapalı) olabilir. Örneğin, seri bir bağlantı noktasını uygulayan bir UART çevre biriminde, baud hızını saatinden türeten böleni, giden veri için bir, alınan veri için ve diğeri mod ayarlarının bir bitmap'i türetmek için bir kayıt cihazı vardır.

Bellek eşlemeli G/Ç bulunan bir makinede özel işlev kaydı bellek alanında görünür ve bellek erişim talimatlarıyla erişilebilir (bazen yalnızca belirli bir erişim genişliği yasal olmak gibi kısıtlamalar olsa da). Buna karşılık, bir G/Ç eşlemeli makinede, yalnızca G/Ç bağlantı noktası adreslerine erişmek için özel talimatlar ve (en azından çift amaçlı bir harici veri yolu) bir erişim olup olmadığını belirten bir kontrol sinyali bulunur. hafızaya veya G/Ç alanınadır.

Daha da kafa karıştırıcı olanı, CPU kayıtlarının sıradan hafıza konumları olarak da erişilebildiği 8051 gibi birkaç eski işlemci tasarımı. Ve diğer pek çok makinede, CPU kayıtları hafızadan ziyade bir kayıt dosyasında saklanırken, işlevsel olarak, talimat yazısının bit alanında "adresleri" vardır, hangi kayıt bir işlenenin veya sonucun olduğunu belirtir - RISC mimarisi ile numaralandırılmış kayıt bu özellikle açık.

7
katma
Harika bir bakış. Ayrıca, mikroçip PIC'lerin tüm çip üzerindeki veri belleğine çoğu mimarinin RAM dediği “kayıt” olarak bahsettiğinden de bahsetmek istedim. Bu, terimden daha fazla aşırı yüklenir ve daha fazla karışıklığa yol açar. PIC'ler genel olarak sadece Von Neumann yerine Harvard kemeri olmaktan tuhaflar.
katma yazar Brian McFarland, kaynak

G/Ç veya özel işlevli kayıtlar tipik olarak hafıza eşlenir , ancak genel amaçlı hafıza olmadıkları anlamında kayıtlar olarak kalırlar, ancak daha çok G/Ç çevre kontrol ve durum kayıtları.

Bellek eşlemeli rastgele erişimli okuma/yazma veya salt okunur belleğin aksine, kayıtlar tipik olarak tanımlanmış açılış/sıfırlama durumları gibi özelliklere sahiptir ve tek tek bit seviyesinde r/w, r/o veya w/o olabilir . Ayrıca, değerleri, ilişkili çevre birimi tarafından da yazılabildiğinden, kendilerine yazılan herhangi bir değerden bağımsız olarak değişebilir; bu genellikle karşılıklılıktır - işlemci çevre birimi okurken veya tersi yazarken yazar; genellikle kelime seviyesinden ziyade bit seviyesinde. Tek bir adresin, bir salt okunur ve diğer salt okunur olan iki yazmaçtan bahsetmesi bile yaygındır.

2
katma

G/Ç veya özel işlevli kayıtlar tipik olarak hafıza eşlenir , ancak genel amaçlı hafıza olmadıkları anlamında kayıtlar olarak kalırlar, ancak daha çok G/Ç çevre kontrol ve durum kayıtları.

Bellek eşlemeli rastgele erişimli okuma/yazma veya salt okunur belleğin aksine, kayıtlar tipik olarak tanımlanmış açılış/sıfırlama durumları gibi özelliklere sahiptir ve tek tek bit seviyesinde r/w, r/o veya w/o olabilir . Ayrıca, değerleri, ilişkili çevre birimi tarafından da yazılabildiğinden, kendilerine yazılan herhangi bir değerden bağımsız olarak değişebilir; bu genellikle karşılıklılıktır - işlemci çevre birimi okurken veya tersi yazarken yazar; genellikle kelime seviyesinden ziyade bit seviyesinde. Tek bir adresin, bir salt okunur ve diğer salt okunur olan iki yazmaçtan bahsetmesi bile yaygındır.

2
katma

Her ikisi de kayıtlıdır, bu da özel amaçlı bir miktar bellek hafızasıdır. CPU kayıtları (doğal olarak) hafıza ile eşleştirilmez, çünkü CPU talimatlarıyla erişilebilirler. CPU çekirdeği dışındaki çevre birimlerini kontrol eden kayıtlar genellikle belirli adreslerde eşleştirilir.

Basitçe söylemek gerekirse, 1. ile 2. arasındaki tek gerçek fark, onlara nasıl erişeceğinizdir. Ancak her türlü kayıt vardır: CPU kayıtları belirli bir donanıma ilişkin oldukça özel şeyler olabilir ve programın hesaplamalarının sonucunu almak için sadece genel amaçlı "akümülatörler" değil.

işlemci kayıtları için wikipedia sayfası bu konuyu okumak için oldukça iyi görünüyor.

1
katma

Her ikisi de kayıtlıdır, bu da özel amaçlı bir miktar bellek hafızasıdır. CPU kayıtları (doğal olarak) hafıza ile eşleştirilmez, çünkü CPU talimatlarıyla erişilebilirler. CPU çekirdeği dışındaki çevre birimlerini kontrol eden kayıtlar genellikle belirli adreslerde eşleştirilir.

Basitçe söylemek gerekirse, 1. ile 2. arasındaki tek gerçek fark, onlara nasıl erişeceğinizdir. Ancak her türlü kayıt vardır: CPU kayıtları belirli bir donanıma ilişkin oldukça özel şeyler olabilir ve programın hesaplamalarının sonucunu almak için sadece genel amaçlı "akümülatörler" değil.

işlemci kayıtları için wikipedia sayfası bu konuyu okumak için oldukça iyi görünüyor.

1
katma