FPS AP-120B - FPS AP-120B

FPS AP-120B 38 bitlik, ardışık düzen odaklı dizi işlemci tarafından üretildi Kayan Nokta Sistemleri. DEC gibi bir ana bilgisayara bağlanmak üzere tasarlanmıştır. PDP-11 hızlı bir sayı hesaplayıcı olarak. Veri aktarımı kullanılarak gerçekleştirildi Doğrudan bellek erişimi.

İşlemci döngü süresi 167 nanosaniye idi ve 6 MHz hız veriyordu. Döngü başına iki kayan nokta sonucu sunabildiğinden, biri toplayıcıdan diğeri çarpandan 12 Megafloplar işlemci için talep edildi.

Mimari

İşlemci, senkronizasyonda çalışan birden çok paralel işlem birimi konsepti etrafında tasarlandı. Tek bir 64-bit komut kelimesi, her biri CPU'nun kontrolü altında belirli bir modüle talimat veren alanlara bölündü. Modüller aşağıdaki gibiydi:

  • 16-bit Aritmetik ve Mantık birimi (ALU)
  • 38-bit Kayan Nokta Toplayıcı (FADD) (iki aşamalı)
  • 38-bit Kayan Nokta Çarpanı (FMUL) (üç aşama)
  • Bellekten veri almak için iki Data Pad kaydı.

İşlemcinin, tek numaralı adreslerin bir fiziksel bankada saklandığı ve çift numaralı adreslerin diğerinde depolandığı çift serpiştirilmiş çekirdek belleğe erişimi vardı. Bu, bellek kelimelerinin tipik sıralı getirilmesinden yararlanma girişimini temsil ediyordu. Bir fiziksel bankadan sıralı olarak getirme, veriler hedef veri pedine yüklenmeden önce iki talimat döngüsünün gecikmesine neden olacaktır. Serpiştirme, bir öncekinden hemen sonra sıralı bir erişimin gerçekleşmesine izin verdi. Her iki erişimin de tamamlanması iki döngü aldı, ancak örtüşme ve ikili hedef pedleri veri kanalının kullanımını en üst düzeye çıkardı.

Kayan nokta aritmetik modülleri, açık talimatlarla çalıştırılan çok aşamalı işlemcilerdi. İki aşamalı toplayıcıda, FADD DX gibi bir montajcı talimatı, DY, DX ve DY veri pedlerinden değerleri toplayıcının birinci aşamasına yükleyecektir. Sonucu toplayıcının çıkışında sunmak için sonraki bir FADD talimatı gerekecektir. Bu ikinci FADD, bağımsız değişken içermeyen bir sahte olabilir veya bir sıradaki sonraki hesaplama olabilir. Bu şekilde, her ekleme iki döngü gerektirmesine rağmen, her komut döngüsünde yeni bir sonuçla, bir boru hattında bir FADD işlemleri akışı gerçekleştirilebilir.

Benzer şekilde, üç aşamalı bir birim olan çarpan, bir çarpmaya başlamak için bir FMUL DX, DY ve ardından sonucu üretmek için iki FMUL komutu daha gerektirdi. Boru hattının dikkatli bir şekilde programlanması, her bir hesaplamanın kendi içinde üç döngü aldığı, döngü başına bir sonuç üretilmesine izin verdi.

Maksimum verimlilik için tüm hesaplamalar, donanımla birlikte verilen montaj dili kullanılarak programlandı. Benzeyen yüksek seviyeli bir dil Fortran görevleri koordine etmek ve ana bilgisayara veri aktarımlarını kontrol etmek için sağlanmıştır.

Arama tabloları

Sinyal işlemede tipik uygulamaları desteklemek için, donanım önceden hesaplanmış bir arama tablosu ile teslim edildi. sinüs ve kosinüs değerler. 0 ila / 2 radyan açılar için sinüsler ve kosinüsler, yukarıda açıklanan serpiştirmeden yararlanmak için alternatif adreslerde depolanmıştır. Diğer tüm açılar için değerler, iyi bilinen kurallar kullanılarak, gerekirse reddedilerek, başvuru tablosundaki değerlerden biri veya birkaçı kullanılarak hesaplanabilir.

Tipik programlama stili

Bu alışılmadık bir durumdu, senkron paralel işleme mimarisi tarafından yönlendiriliyordu. Temel felsefe şu şekilde özetlenebilir:

  • İki döngülü bellek gecikmesine ve kayan noktalı modüllerin açık FADD ve FMUL talimatlarıyla çalıştırılmasına izin vererek, istenen hesaplamanın bir örneğini gerçekleştirmek için en kısa talimat dizisini düzenleyin.
  • Hesaplamayı tekrar tekrar gerçekleştirecek bir döngü oluşturan minimum talimat sayısını belirlemek için sıralamayı inceleyin. Bu, kaynak uyuşmazlıklarına dikkat edilmesini gerektirir. Örneğin, sonuçları hareket ettirmek için veri yolu, döngü başına yalnızca bir veri kelimesini hareket ettirebilir. Benzer şekilde, çoğunlukla döngüleri saymak ve bellek adresleme için kullanılan ALU, döngü başına yalnızca bir amaç için kullanılabilir. Bu adım tipik olarak deneme yanılma şeklindedir.
  • Hesaplamaları ardışık düzenler boyunca yönlendirmek için FADD ve FMUL talimatlarını kullanarak tüm talimat dizisini kavramsal olarak "sarmalayın".
  • Döngü başlamadan önce, gerektiği gibi paralel işlem başlatmaları ekleyin.

Son öğe şu şekilde gerçekleştirildi: tüm hesaplamanın 15 döngü gerektirdiğini ve minimum döngü boyutunun 5 döngü olduğunu varsayın. İlk 5 talimat kelimesi hesaplamanın 1. yinelemesine başlar. İkinci 5 kelime hem iterasyon 1'i hem de iterasyon 2'nin başlangıcını paralel olarak içerir. Bu genellikle, yineleme 1 ile başlayan işlemlerin bir kopyası olacaktır. Sonraki 5 kelime, yineleme 1'in son adımlarını, yinelemenin ortasını ve yinelemenin 3 başlangıcını içerir. Bu beş sözcük, döngünün gövdesini oluşturur. istenen sayıda veri noktası işlendi.

Uygulama

Bağlı bir işlemci olarak AP-120B, tipik olarak tanısal tıbbi görüntüleme sistemleri ve daha fazlası gibi sistemlere düşük maliyetli / uygun maliyetli bir ek olarak kullanıldı. 80'li yılların başlarında, FPS-AP-120B ve Versatec plotter içeren bir VAX 11/780 veya 11/785, petrol endüstrisindeki sismik veri işleme için en etkili sistemlerdi. Ticari sismik işleme paketleri, varsa FPS AP-120B rutinlerini çağırabilecekleri şekilde yazılmıştır.

Referanslar

  • Sayfa 206 ff, Paralel Bilgisayarlar İki: Mimari, Programlama ve AlgoritmalarRoger W. Hockney, C. R. Jesshope tarafından. CRC Basın 1988 ISBN  0-85274-811-6
  • FPS'de bir makale bibliyografyası vardı.[nerede? ]