Akümülatör (bilgi işlem) - Accumulator (computing)

Walther WSR-16 mekanik hesap makinesi. Taşıyıcıdaki (önde) basamaklı tekerlek sırası Akümülatördür.

Bir de bilgisayar s' , merkezi işlem birimi (CPU), akümülatör a, yazmacı ara maddesi olan aritmetik mantık birimi sonuçları saklanır.

Akümülatör gibi bir kayıt olmadan, her hesaplamanın sonucunu (toplama, çarpma, kaydırma vb.) ana belleğe yazmak , belki de sadece bir sonraki işlemde kullanılmak üzere hemen tekrar okumak için gerekli olacaktır.

Ana belleğe erişim, akümülatör gibi bir kayda erişimden daha yavaştır, çünkü büyük ana bellek için kullanılan teknoloji, bir kayıt için kullanılandan daha yavaştır (ancak daha ucuzdur). Erken elektronik bilgisayar sistemleri genellikle akümülatörlü olanlar ve olmayanlar olmak üzere iki gruba ayrıldı.

Modern bilgisayar sistemlerinde genellikle akümülatör olarak çalışabilen çok sayıda genel amaçlı kayıt vardır ve bu terim artık eskisi kadar yaygın değildir. Bununla birlikte, tasarımlarını basitleştirmek için bir dizi özel amaçlı işlemci hala tek bir akümülatör kullanıyor.

Temel kavram

Matematiksel işlemler genellikle bir işlemin sonuçlarını diğerine girdi olarak kullanarak adım adım gerçekleşir. Örneğin, bir işçinin haftalık maaş bordrosunun manuel olarak hesaplanması şöyle görünebilir:

  1. çalışanın zaman kartından çalışılan saat sayısını arayın
  2. o çalışanın maaş oranını bir tablodan arayın
  3. Temel haftalık maaşlarını almak için saatleri ödeme oranıyla çarpın
  4. gelir vergisini hesaba katmak için temel ücretlerini sabit bir yüzde ile çarpın
  5. vergi sonrası haftalık maaşlarını almak için bu sayıyı temel maaşlarından çıkarın
  6. emeklilik planlarını hesaba katmak için bu sonucu başka bir sabit yüzde ile çarpın
  7. tüm kesintilerden sonra haftalık maaşlarını almak için bu sayıyı temel maaşlarından çıkarın

Aynı görevi yürüten bir bilgisayar programı, aynı temel işlem sırasını takip eder, ancak aranan değerlerin tümü bilgisayar belleğinde saklanır. İlk bilgisayarlarda, saat sayısı büyük olasılıkla bir delikli kartta tutulacaktı ve ödeme oranı başka bir bellek biçiminde, belki de manyetik bir tamburda olacaktı . Çarpma işlemi tamamlandıktan sonra sonucun bir yere yerleştirilmesi gerekir. Bir "davul makinesinde" bu, büyük olasılıkla tambura geri dönecektir, bu oldukça zaman alan bir işlemdir. Ve bir sonraki işlem, bu değeri tekrar okumak zorundadır, bu da başka bir önemli gecikmeye neden olur.

Akümülatörler, bir işlemin sonuçlarının çok az veya hiç performans cezası olmadan bir sonrakine iletilebildiği bir karalama defteri alanı sağlayarak bu gibi sistemlerde performansı önemli ölçüde artırır. Yukarıdaki örnekte, temel haftalık ücret hesaplanacak ve daha sonra gelir vergisi hesaplaması tarafından hemen kullanılabilecek akümülatöre yerleştirilecektir. Bu, diziden bir kaydetme ve bir okuma işlemini kaldırır, genellikle çarpma işleminin kendisinden onlarca ila yüzlerce kat süren işlemler.

akümülatör makineleri

Bir akümülatör makinesi da adlandırılan, 1-işlenen makinesi , ya da bir işlemci akümülatör tabanlı mimari , birkaç kayıtlar olabilir, ancak, işlemci çok özel bir kayıttaki hesaplama sonuçlarını depolar, CPU bir tür, tipik olarak denir "akümülatör". Hemen hemen tüm eski bilgisayarlar, yalnızca birden fazla kaydı olan yüksek performanslı " süper bilgisayarlar " olan akümülatör makineleriydi . Daha sonra ana bilgisayar sistemleri yerini mikrobilgisayarlara bıraktıkça , akümülatör mimarileri, MOS 6502'nin dikkate değer bir örnek olmasıyla yeniden popüler oldu . PICmicro ve 8051 gibi 2014 itibariyle hala popüler olan birçok 8-bit mikrodenetleyici , akümülatör tabanlı makinelerdir.

Modern CPU'lar tipik olarak 2 işlenen veya 3 işlenen makinelerdir. Ek işlenenler, birçok genel amaçlı kayıttan hangisinin ("genel amaçlı akümülatörler" olarak da adlandırılır) hesaplamalar için kaynak ve hedef olarak kullanıldığını belirtir . Bu CPU'lar "akümülatör makineleri" olarak kabul edilmez.

Bir kaydı bir bilgisayar mimarisinin akümülatörü olarak ayıran özellik , akümülatörün (eğer mimaride bir tane varsa) aritmetik komutlar için örtük bir işlenen olarak kullanılmasıdır . Örneğin, bir CPU'nun şöyle bir talimatı olabilir: bu, bellek konumu memaadresinden okunan değeri akümülatördeki değere ekleyerek sonucu akümülatöre geri yerleştirir. Akümülatör, talimatta bir kayıt numarası ile tanımlanmamıştır; öyle örtülü talimat ve başka hiçbir kayıt talimatında belirtilebilir. Bazı mimariler, bazı komutlarda akümülatör olarak belirli bir kaydı kullanır, ancak diğer komutlar, açık işlenen belirtimi için kayıt numaralarını kullanır. ADD memaddress

Bilgisayar akümülatörünün tarihi

Birden çok işlemin sonucunu depolamak için tek bir "bellek" kullanan herhangi bir sistem, bir akümülatör olarak kabul edilebilir. J. Presper Eckert , Gottfried Leibniz ve Blaise Pascal'ın en eski toplama makinelerinden bile akümülatör tabanlı sistemler olarak bahsediyor . Percy Ludgate , 1909'daki Analitik Makinesinde bir çarpan-akümülatörü (MAC) tasarlayan ilk kişiydi .

Tarihsel sözleşme, bir dizi aritmetik işlem sırasında numarasını tam anlamıyla biriktiren bir "aritmetik organ" olan "akümülatöre" bir kayıt ayırır:

"Aritmetik organımızın ilk kısmı... bir sayıyı alıp içindeki sayıya ekleyebilen, içeriğini de temizleyebilen ve içerdiğini depolayabilen paralel bir depolama organı olmalıdır. Böyle bir organa Akümülatör denir.Örneğin masa çarpanları, standart IBM sayaçları, daha modern röle makineleri, ENIAC gibi çok çeşitli türlerdeki geçmişteki ve günümüzdeki bilgisayar makinelerinde prensipte oldukça gelenekseldir" (Goldstine ve von Neumann, 1946; s. 98, Bell ve Newell 1971).

Talimatlardan sadece birkaçı, örneğin (bazı modern yorumlarla birlikte):

  • Akümülatörü temizleyin ve X hafıza konumundan numara ekleyin
  • Akümülatörü temizle ve sayıyı X hafıza konumundan çıkar
  • X hafıza konumundan kopyalanan numarayı akümülatörün içeriğine ekleyin
  • Akümülatörün içeriğinden X bellek konumundan kopyalanan sayıyı çıkarın
  • Akümülatörü temizle ve kayıt içeriğini akümülatöre kaydır

Kayıtlardan akümülatöre ve akümülatörden kayıtlara kadar olan işlemlerin isimleri konusunda bir konvansiyon yoktur. Gelenek (örn. Donald Knuth'un (1973) varsayımsal MIX bilgisayarı), örneğin, yazmaç/bellekten yük akümülatörü (örn. "LDA r") ve kayıt/belleğe depolama akümülatörü (örn. Knuth'un modelinde başka birçok talimat da var.

Önemli akümülatör tabanlı bilgisayarlar

Akümülatörü ve diğer kayıtları gösteren ışıkları olan bir IBM 701 bilgisayarının ön paneli

ENIAC'ın 1945 konfigürasyonunda paralel olarak çalışabilen 20 akümülatör vardı. Her biri sekiz ondalık basamaklı bir sayı saklayabilir ve aldığı bir sayıyı ona ekleyebilir (veya ondan çıkarabilir). IBM'in 1952'deki vakum tüpü IBM 701 ile başlayan ilk ikili "bilimsel" bilgisayarlarının çoğu, işlemleri daha uzun sonuçlarla işlemek için ayrı bir çarpan/bölüm kaydıyla birlikte tek bir 36 bitlik akü kullandı. Bir ondalık makine olan IBM 650 , bir adet 10 haneli dağıtıcıya ve iki adet on haneli akümülatöre sahipti; Daha sonraki bir transistörlü ondalık makine olan IBM 7070'in üç akümülatörü vardı. IBM System / 360 ve Digital Equipment Corporation, 'ın PDP-6 PDP-6 ve onun halefi rağmen, 16 genel amaçlı kayıtları vardı PDP-10 , onları akümülatörler diyoruz.

12-bit PDP-8 , akümülatörleri kullanan ilk mini bilgisayarlardan biriydi ve daha sonraki birçok makineye ilham verdi. PDP-8'in sadece bir akümülatörü vardı. HP 2100 ve Veri Genel Nova 2 ve 4 akümülatörleri vardı. Nova, PDP-8'in bu devamı, PDP-11 olacak olanın lehine reddedildiğinde yaratıldı . Nova, AC0-AC3 olmak üzere dört akümülatör sağladı, ancak AC2 ve AC3, kayıtlar için daha genel bir kullanım eğilimi göstererek ofset adresleri sağlamak için de kullanılabilir. PDP-11, System/360 ve PDP-10 çizgileri boyunca 8 genel amaçlı kaydediciye sahipti; çoğu daha sonraki CISC ve RISC makineleri, çoklu genel amaçlı kayıtlar sağladı.

4004 , 8008 ve diğerleri gibi ilk 4 bit ve 8 bit mikroişlemciler tipik olarak tek akümülatörlere sahipti. 8051 , mikro kontrolör (MUL AB) çarparak ya da (DIV AB) bölünmesi sadece ikinci talimatlara göre kullanılan iki primer akümülatör ve bir ikinci akümülatör olup, söz konusu Eski böler, iki 8-bit akümülatörleri arasında 16-bit sonuç, ikinci mağaza birinci akümülatör A bölüm ve 8008 soyundan olarak ikinci akümülatör B'de kalan ise 8080 ve 8086 , modern her yerde bulunan Intel x86 işlemciler, büyük sayıları çarpma ve bölme için hala birincil akümülatör EAX'i ve ikincil akümülatör EDX'i kullanır. Örneğin, MUL ECX, 32 bitlik ECX ve EAX kayıtlarını çarpar ve 64 bitlik sonucu EAX ve EDX arasında böler. Ancak, MUL ve DIV özel durumlardır; diğer aritmetik-mantıksal komutlar (ADD, SUB, CMP, AND, OR, XOR, TEST) akümülatör olarak sekiz EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI kayıtlarından herhangi birini belirtebilir (yani sol işlenen ve hedef). Bu, sonucun üst yarısı gerekli değilse çarpma için de desteklenir. Bu nedenle x86, bir akümülatör modeline dayanmasına rağmen oldukça genel bir kayıt mimarisidir. x86'nın 64-bit uzantısı, x86-64 , 8 genel kayıt yerine 16'ya daha da genelleştirildi.

Referanslar

  1. ^ "HC16'ya Genel Bakış" . Freescale.com.tr Arşivlenmiş orijinal 28 Eylül 2007 tarihinde . 2008-09-22 alındı .
  2. ^ J. Presper Eckert, "Dijital Bilgisayar Bellek Sistemleri Araştırması", IEEE Annals of the History of Computing, 1988, s. 15-28.
  3. ^ "Ludgate'in Analitik Makinesinin Uygulanabilirliği" .
  4. ^ a b Haigh, Thomas; Priestley, Mark; Ropefir, Crispin (2016). ENIAC İş Başında: Modern Bilgisayarı Yapmak ve Yeniden Yapmak . MİT Basın. ISBN'si 9780262334419.
  5. ^ Programmed Data Processor-1 Manual (PDF) , Maynard, Massachusetts : Digital Equipment Corporation , 1961, s. 7: PDP-1 sistem blok şeması , 2014-07-03 alındı
  6. ^ Irvine, Kip R. (2007). Intel Tabanlı Bilgisayarlar için Assembly Dili (5. baskı). Pearson Prentice Salonu. s. 633, 622. ISBN 978-0-13-238310-3.
  • Goldstine, Herman H. ve von Neumann, John, "Planning and Coding of the Problems for a Electronic Computing Instrument", Rep. 1947, Institute for Advanced Study , Princeton. 92–119'da Bell, C. Gordon ve Newell, Allen (1971), Computer Structures: Readings and Example , McGraw-Hill Book Company, New York'ta yeniden basılmıştır . ISBN  0-07-004357-4 }. Fotoğraflar da dahil olmak üzere eski makinelerin ayrıntılı açıklamalarının gerçek bir hazinesi.