Endeks kaydı - Index register

Dizin kaydı , 1960'ların başından itibaren bir IBM 7094 ana bilgisayarında görüntülenir .

Bir bilgisayarın CPU'sundaki bir indeks kaydı , bir programın çalıştırılması sırasında işlenen adreslerini değiştirmek için kullanılan bir işlemci kaydı veya atanmış bellek konumudur . Bu, vektör / dizi işlemlerinde ve kayıtlar içinde alandan alana gezinmeye yönelik ticari veri işlemede yararlı oldu . Her iki kullanımda da indeks kayıtları, kullanılan bellek miktarını önemli ölçüde azaltmış ve yürütme hızını artırmıştır.

Gerçek verinin (işlenen) "etkili" adresini oluşturmak için bir indeks kaydının içeriği bir acil adrese (talimatın kendisinin bir parçası olan ) eklenir (bazı durumlarda buradan çıkarılır ). İndeks kaydını test etmek için tipik olarak özel talimatlar sağlanır ve test başarısız olursa indeks kaydını hemen bir sabitle artırır ve tipik olarak döngünün başlangıcına kadar dallar. Bazı komut setleri birden fazla indeks kaydının kullanılmasına izin verir; bu durumda ek talimat alanları, hangi dizin kayıtlarının kullanılacağını belirtir. Normalde, bir talimatın birden çok dizin kaydını belirtmesine izin veren işlemciler içerikleri birbirine eklerken, IBM, içeriklerin bir arada bulunduğu veya bir araya getirildiği bir bilgisayar hattına sahipti.

Herhangi bir form olmadan erken bilgisayarlarda adresleme dolaylı , dizi işlemleri tarafından gerçekleştirilen gerekiyordu değiştirerek birçok ek program adımlarını gerekli talimat adresini ve yanı sıra (daha fazla bilgisayar belleği, erken dönemin bilgisayar tesisatlarında bir kıt kaynak tükenmiş erken mikrobilgisayarlar yirmi yıl sonra).

Tarih

İlk İngiliz bilgisayarlarında yaygın olarak B-line olarak bilinen dizin kayıtları, ilk olarak 1949'da İngiliz Manchester Mark 1 bilgisayarında kullanıldı. Genel olarak, dizin kayıtları, teknolojinin ikinci nesli olan kabaca 1954-1966'da bilgisayarların standart bir parçası haline geldi. . IBM 700/7000 ana bilgisayar serisindeki çoğu makinede , IBM 650 ve IBM 1401 gibi bazı daha küçük makinelerde isteğe bağlı olsalar da, 1954'te IBM 704 ile başlayarak bunlara sahipti .

Dizin kayıtlarına sahip ilk "küçük makineler" arasında, 1960'larda AN / USQ-17 ve 1960'ların başından itibaren Scientific Data Systems'a ait 9 gerçek zamanlı bilgisayar serisi yer alıyor .

Intel 8080 bir kayıt yoluyla dolaylı adreslemeye izin verirken, gerçek bir indeks kaydına sahip ilk mikroişlemci Motorola 6800 gibi görünüyor ve benzer MOS Teknolojisi 6502 bu tür iki yazmaçtan iyi bir şekilde yararlandı.

Modern bilgisayar tasarımları genellikle adanmış dizin kayıtlarını içermez; bunun yerine, herhangi bir genel amaçlı kaydın bir adres içermesine izin verir ve sabit bir değer ve bazı makinelerde, başka bir kaydın içeriğinin etkili adresi oluşturmak için bir ofset olarak ona eklenmesine izin verir. Bu şekilde tasarlanan ilk bilgisayarlar PDP-6 ve IBM System / 360'ı içerir .

Misal

Aşağıda, 4 baytlık kelimelerin 100 giriş dizisini toplayan montaj dili sözde kodunda dizin kaydı kullanımının basit bir örneği verilmiştir:

   Clear_accumulator
   Load_index 400,index2  //load 4*array size into index register 2 (index2)
loop_start : Add_word_to_accumulator array_start,index2   //Add to AC the word at the address (array_start + index2)
   Branch_and_decrement_if_index_not_zero loop_start,4,index2   //loop decrementing by 4 until index register is zero

Ayrıca bakınız

Notlar

Referanslar