Yeniden yapılandırılabilir bilgi işlem - Reconfigurable computing

Yeniden yapılandırılabilir bilgi işlem , sahada programlanabilir kapı dizileri (FPGA'lar) gibi çok esnek yüksek hızlı bilgi işlem yapıları ile işleyerek, yazılımın bazı esnekliğini donanımın yüksek performansıyla birleştiren bir bilgisayar mimarisidir . Sıradan mikroişlemcilerin kullanımına kıyasla temel fark , kontrol akışına ek olarak veri yolunun kendisinde önemli değişiklikler yapabilme yeteneğidir . Öte yandan, özel donanımdan, yani uygulamaya özel entegre devrelerden (ASIC'ler) temel fark , yeniden yapılandırılabilir yapı üzerine yeni bir devre "yükleyerek" donanımı çalışma süresi boyunca uyarlama olasılığıdır.

Tarih

Yeniden yapılandırılabilir bilgi işlem kavramı, Gerald Estrin'in makalesinin standart bir işlemci ve bir dizi "yeniden yapılandırılabilir" donanımdan oluşan bir bilgisayar kavramını önerdiği 1960'lardan beri var olmuştur . Ana işlemci, yeniden yapılandırılabilir donanımın davranışını kontrol edecektir. İkincisi, görüntü işleme veya model eşleştirme gibi belirli bir görevi özel bir donanım parçası kadar hızlı gerçekleştirmek için uyarlanır . Görev yapıldıktan sonra, donanım başka bir görevi yapmak için ayarlanabilir. Bu, yazılımın esnekliğini donanım hızıyla birleştiren hibrit bir bilgisayar yapısıyla sonuçlandı.

1980'lerde ve 1990'larda, Copacobana, Matrix, GARP, Elixent, NGEN, Polyp, MereGen, PACT XPP, Silicon Hive, Montium, Pleiades, Morphosys ve PiCoGA. Bu tür tasarımlar, karmaşık tasarımların tek bir çip üzerinde uygulanmasına izin veren silikon teknolojisinin sürekli ilerlemesi nedeniyle uygulanabilirdi. Bu büyük ölçüde paralel yeniden yapılandırılabilir bilgisayarlardan bazıları, öncelikle moleküler evrim, sinirsel veya görüntü işleme gibi özel alt alanlar için inşa edildi. Dünyanın ilk ticari yeniden konfigüre edilebilir bilgisayar, Algotronix CHS2X4, bir ticari başarı değildi, ama o yeteri kadar umut verici olduğu 1991 yılında tamamlanmıştır Xilinx (mucidi FPGA , FPGA) teknolojisini satın aldı ve Algotronix personel işe . Daha sonraki makineler, MereGen ile genetik kodlamanın kendiliğinden mekansal kendi kendine organizasyonu gibi bilimsel ilkelerin ilk gösterimlerini mümkün kıldı.

teoriler

Tredennick'in Sınıflandırması

Tablo 1: Nick Tredennick'in Paradigma Sınıflandırma Şeması
Erken Tarihi Bilgisayarlar:
  Programlama Kaynağı
Kaynaklar düzeltildi Yok
Algoritmalar düzeltildi Yok
von Neumann Bilgisayar:
  Programlama Kaynağı
Kaynaklar düzeltildi Yok
algoritma değişkeni Yazılım (talimat akışları)
Yeniden Yapılandırılabilir Bilgi İşlem Sistemleri:
  Programlama Kaynağı
Kaynaklar değişkeni Yapılandırma yazılımı (yapılandırma)
algoritma değişkeni Akış yazılımı (veri akışları)

Yeniden yapılandırılabilir bilgi işlem makinesi paradigmasının temel modeli olan veri akışı tabanlı anti makine , Nick Tredennick'in aşağıdaki hesaplama paradigmaları sınıflandırma şemasında gösterildiği gibi, daha önce tanıtılan diğer makine paradigmalarından farklılıklar ile iyi bir şekilde gösterilmiştir (bkz. 1: Nick Tredennick'in Paradigma Sınıflandırma Planı").

Hartenstein'ın Xputer'ı

Bilgisayar bilimcisi Reiner Hartenstein, yeniden yapılandırılabilir hesaplamayı, ona göre, daha geleneksel von Neumann makinesinden temel bir paradigma kaymasını temsil eden bir anti-makine olarak tanımlar . Hartenstein Reconfigurable Computing Paradox, yazılım-to-configware (yazılım-to diyor FPGA ) dörtten fazla büyüklük dereceleri yanı sıra hemen hemen hiç up elektrik tüketiminde azalmaya up raporlanan hız-up faktörler göç sonuç dört büyüklük sırası - FPGA'ların teknolojik parametreleri Gordon Moore eğrisinin yaklaşık dört büyüklük sırası gerisinde olmasına ve saat frekansı mikroişlemcilerinkinden önemli ölçüde daha düşük olmasına rağmen. Bu paradoks kısmen Von Neumann sendromu ile açıklanmaktadır .

Yüksek performanslı bilgi işlem

Yüksek Performanslı Yeniden Yapılandırılabilir Bilgi İşlem (HPRC), sahada programlanabilir geçit dizisi gibi yeniden yapılandırılabilir bilgi işlem tabanlı hızlandırıcıları CPU'lar veya çok çekirdekli işlemcilerle birleştiren bir bilgisayar mimarisidir .

Bir FPGA'daki mantığın artması, daha büyük ve daha karmaşık algoritmaların FPGA'ya programlanmasını sağlamıştır. Böyle bir FPGA'nın PCI express gibi yüksek hızlı bir veri yolu üzerinden modern bir CPU'ya bağlanması , yapılandırılabilir mantığın bir çevre biriminden ziyade bir yardımcı işlemci gibi davranmasını sağlamıştır . Bu, yeniden yapılandırılabilir bilgi işlemi yüksek performanslı bilgi işlem alanına getirdi .

Ayrıca, bir FPGA üzerinde bir algoritmayı kopyalayarak veya çok sayıda FPGA'nın kullanımı, birkaç hesaplama cihazının aynı anda farklı veriler üzerinde çalışabileceği, yüksek düzeyde paralel hesaplama olan yeniden yapılandırılabilir SIMD sistemlerinin üretilmesini sağlamıştır .

Bu heterojen sistem tekniği, bilgisayar araştırmalarında ve özellikle süper hesaplamada kullanılır . 2008 tarihli bir makale, 4 büyüklük derecesinden fazla hızlanma faktörleri ve neredeyse 4 büyüklük sırasına kadar enerji tasarrufu faktörleri bildirdi. Bazı süper bilgisayar firmaları, hızlandırıcı olarak FPGA'lar dahil olmak üzere heterojen işleme blokları sunar. Bir araştırma alanı, bu tür heterojen sistemler için elde edilen ikiz paradigma programlama aracı akış üretkenliğidir.

ABD Ulusal Bilim Vakfı , yüksek performanslı yeniden yapılandırılabilir bilgi işlem (CHREC) için bir merkeze sahiptir. Nisan 2011'de dördüncü Çok Çekirdekli ve Yeniden Yapılandırılabilir Süper Bilgi İşlem Konferansı Avrupa'da düzenlendi.

Ticari yüksek performanslı yeniden yapılandırılabilir bilgi işlem sistemleri, IBM'in FPGA'ları POWER işlemcisi ile entegre ettiğini duyurmasıyla ortaya çıkmaya başlıyor .

Kısmi yeniden yapılandırma

Kısmi yeniden yapılandırma , yeniden yapılandırılabilir donanım devresinin bir bölümünün , diğer bölümün eski yapılandırmasını korurken değiştirme işlemidir . Alanda programlanabilir kapı dizileri genellikle kısmi yeniden yapılandırmaya destek olarak kullanılır.

Yazılım gibi elektronik donanım , alt bileşenler ve daha sonra bunları somutlaştırmak için daha üst düzey bileşenler oluşturularak modüler olarak tasarlanabilir. Çoğu durumda, FPGA hala çalışırken bu alt bileşenlerin bir veya birkaçını değiştirebilmek yararlıdır.

Normalde, bir FPGA'nın yeniden yapılandırılması, harici bir denetleyici üzerine bir tasarımı yeniden yüklerken sıfırlamada tutulmasını gerektirir. Kısmi yeniden yapılandırma, tasarımın kritik bölümlerinin çalışmaya devam etmesine izin verirken, FPGA'daki veya bunun dışındaki bir denetleyici, yeniden yapılandırılabilir bir modüle kısmi bir tasarım yükler. Kısmi yeniden yapılandırma, yalnızca tasarımlar arasında değişen kısmi tasarımları depolayarak birden fazla tasarım için yerden tasarruf etmek için de kullanılabilir.

Kısmi yeniden yapılandırmanın ne zaman faydalı olacağına dair yaygın bir örnek, bir iletişim cihazı durumudur. Cihaz, bazıları şifreleme gerektiren birden fazla bağlantıyı kontrol ediyorsa, tüm denetleyiciyi indirmeden farklı şifreleme çekirdeklerini yükleyebilmek faydalı olacaktır.

Kısmi yeniden yapılandırma tüm FPGA'larda desteklenmez. Modüler tasarıma vurgu yapan özel bir yazılım akışı gereklidir. Tipik olarak tasarım modülleri, tasarımın dahili donanıma özel olarak eşlenmesini gerektiren FPGA içinde iyi tanımlanmış sınırlar boyunca inşa edilir.

Tasarımın işlevselliğinden, kısmi yeniden yapılandırma iki gruba ayrılabilir:

  • aktif kısmi yeniden yapılandırma olarak da bilinen dinamik kısmi yeniden yapılandırma - bir FPGA'nın geri kalanı hala çalışırken cihazın parçasının değiştirilmesine izin verir;
  • statik kısmi yeniden yapılandırma - yeniden yapılandırma işlemi sırasında cihaz etkin değildir. Kısmi veriler FPGA'ya gönderilirken, cihazın geri kalanı (kapanma modunda) durdurulur ve konfigürasyon tamamlandıktan sonra getirilir.

Mevcut sistemler

bilgisayar öykünmesi

Vector-06C bilgisayarını yeniden oluşturmak için bir FPGA kartı kullanılıyor

Uygun fiyatlı FPGA panolarının ortaya çıkmasıyla, öğrencilerin ve hobilerin projeleri eski bilgisayarları yeniden yaratmaya veya daha yeni mimariler uygulamaya çalışıyor. Bu tür projeler, yeniden yapılandırılabilir donanım (FPGA'lar) ile oluşturulmuştur ve bazı cihazlar, tek bir yeniden yapılandırılabilir donanım ( C-One ) kullanarak birden çok eski bilgisayarın öykünmesini destekler .

COPACOBANA

Tamamen FPGA tabanlı bir bilgisayar COPACOBANA, Maliyet Optimize Edilmiş Kod Kırıcı ve Çözümleyici ve onun halefi RIVYERA'dır. Almanya'daki Bochum ve Kiel Üniversiteleri COPACOBANA Projesi'nin bir yan kuruluşu olan SciEngines GmbH , tamamen FPGA tabanlı bilgisayarların geliştirilmesine devam ediyor.

mitrionik

Mitrionics , tek bir atama dili kullanılarak yazılan yazılımların FPGA tabanlı bilgisayarlarda derlenmesini ve yürütülmesini sağlayan bir SDK geliştirmiştir . Mitrion-C yazılım dili ve Mitrion işlemcisi, yazılım geliştiricilerin FPGA tabanlı bilgisayarlarda grafik işleme birimleri (“GPU'lar”), hücre tabanlı işlemciler, paralel işleme gibi diğer bilgi işlem teknolojileriyle aynı şekilde uygulamalar yazmasına ve yürütmesine olanak tanır. birimler (“PPU'lar”), çok çekirdekli CPU'lar ve geleneksel tek çekirdekli CPU kümeleri. (kullanım dışı)

Ulusal Enstrümanlar

National Instruments , CompactRIO adında hibrit bir gömülü bilgi işlem sistemi geliştirdi . Kullanıcı tarafından programlanabilen FPGA, çalışırken değiştirilebilir I/O modülleri, deterministik iletişim ve işleme için gerçek zamanlı kontrolör ve hızlı RT ve FPGA programlama için grafiksel LabVIEW yazılımı barındıran yeniden yapılandırılabilir kasadan oluşur.

Xilinx

Xilinx , FPGA cihazlarının iki kısmi yeniden yapılandırma stili geliştirmiştir: modül tabanlı ve fark tabanlı . Modül tabanlı kısmi yeniden yapılandırma, tasarımın farklı modüler parçalarını yeniden yapılandırmaya izin verirken , bir tasarımda küçük bir değişiklik yapıldığında fark tabanlı kısmi yeniden yapılandırma kullanılabilir.

Intel

Intel , Stratix V gibi 28 nm cihazlarda ve 20 nm Arria 10 cihazlarında FPGA cihazlarının kısmi yeniden yapılandırılmasını destekler. Arria 10 için Intel FPGA kısmi yeniden yapılandırma akışı, Quartus Prime Pro yazılımındaki hiyerarşik tasarım metodolojisine dayanmaktadır; burada kullanıcılar, tasarımın geri kalanı çalışmaya devam ederken, çalışma zamanında yeniden yapılandırılabilen FPGA'nın fiziksel bölümlerini oluşturur. Quartus Prime Pro yazılımı ayrıca hiyerarşik kısmi yeniden yapılandırmayı ve kısmi yeniden yapılandırma simülasyonunu destekler.

Sistemlerin sınıflandırılması

Gelişmekte olan bir alan olarak, yeniden yapılandırılabilir mimarilerin sınıflandırmaları, yeni mimariler geliştirildikçe hala geliştirilmekte ve iyileştirilmektedir; bugüne kadar birleştirici bir taksonomi önerilmemiştir. Ancak, bu sistemleri sınıflandırmak için birkaç tekrar eden parametre kullanılabilir.

taneciklilik

Yeniden yapılandırılabilir mantığın ayrıntı düzeyi, eşleme araçları tarafından adreslenen en küçük işlevsel birimin (yapılandırılabilir mantık bloğu, CLB) boyutu olarak tanımlanır. İnce taneli olarak da bilinen yüksek ayrıntı düzeyi, genellikle algoritmaları donanıma uygularken daha fazla esneklik anlamına gelir. Bununla birlikte, hesaplama başına gereken daha fazla yönlendirme miktarı nedeniyle artan güç, alan ve gecikme açısından bununla ilişkili bir ceza vardır. İnce taneli mimariler, bit düzeyinde işleme düzeyinde çalışır; kaba taneli işleme elemanları (yeniden yapılandırılabilir veri yolu birimi, rDPU) standart veri yolu uygulamaları için daha iyi optimize edilmiştir. İri taneli mimarilerin dezavantajlarından biri, tanecikliklerinin sağladığından daha küçük hesaplamalar yapmaları gerektiğinde, kullanımlarının ve performanslarının bir kısmını kaybetme eğiliminde olmalarıdır, örneğin, dört bit genişliğinde bir işlevsel birime bir bit ekleme için üç bit boşa harcanacaktır. . Bu sorun, iri taneli bir dizi (sahip çözülebilir yeniden konfigüre veri yolu dizisi , rDPA) ve bir FPGA aynı çip üzerinde.

Kaba taneli mimariler ( rDPA ), kelime genişliği veri yollarına (rDPU) ihtiyaç duyan algoritmaların uygulanması için tasarlanmıştır. İşlevsel blokları büyük hesaplamalar için optimize edildiğinden ve tipik olarak sözcük çapında aritmetik mantık birimlerinden (ALU) oluştuğundan , bu hesaplamaları bir dizi birbirine bağlı daha küçük işlevsel birimlerden daha hızlı ve daha fazla güç verimliliği ile gerçekleştireceklerdir; bunun nedeni, bağlantı kablolarının daha kısa olması ve bunun sonucunda daha az kablo kapasitansı ve dolayısıyla daha hızlı ve daha düşük güç tasarımları olmasıdır. Daha büyük hesaplama bloklarına sahip olmanın istenmeyen bir potansiyel sonucu, işlenenlerin boyutu algoritmayla eşleşmediğinde, kaynakların verimsiz bir şekilde kullanılmasıyla sonuçlanabilir. Genellikle çalıştırılacak uygulamaların türü önceden bilinir ve mantık, bellek ve yönlendirme kaynaklarının cihazın performansını artırmak için uyarlanmasına izin verirken, yine de gelecekteki uyarlamalar için belirli bir düzeyde esneklik sağlar. Bunun örnekleri, esnekliklerini azaltarak daha genel daha ince taneli FPGA kuzenlerinden güç, alan, verim açısından daha iyi performans elde etmeyi amaçlayan alana özgü dizilerdir .

Yeniden yapılandırma oranı

Bu yeniden yapılandırılabilir sistemlerin yapılandırılması, dağıtım sırasında, yürütme aşamaları arasında veya yürütme sırasında gerçekleşebilir. Tipik bir yeniden yapılandırılabilir sistemde, cihazı dağıtım zamanında programlamak için bir bit akışı kullanılır. İnce taneli sistemler, doğası gereği, daha fazla öğenin ele alınması ve programlanması gerektiğinden, daha kaba taneli mimarilerden daha uzun yapılandırma süresi gerektirir. Bu nedenle, daha az bilgi aktarıldığı ve kullanıldığı için, daha kaba taneli mimariler, potansiyel daha düşük enerji gereksinimlerinden kazanç sağlar. Sezgisel olarak, yeniden yapılandırma hızı ne kadar yavaş olursa, ilgili yeniden yapılandırmanın enerji maliyeti daha uzun bir süre boyunca amorti edildiğinden enerji tüketimi o kadar az olur. Kısmi yeniden yapılandırma, başka bir parça hala aktif hesaplama gerçekleştirirken cihazın bir bölümünün yeniden programlanmasına izin vermeyi amaçlar. Kısmi yeniden yapılandırma, daha küçük yeniden yapılandırılabilir bit akışlarına izin verir, böylece bit akışında fazlalık bilgileri iletmek için enerji harcamaz. Bit akışının sıkıştırılması mümkündür, ancak daha küçük bit akışları kullanılarak tasarruf edilen enerjinin, verilerin sıkıştırmasını açmak için gereken hesaplamadan daha ağır basılmamasını sağlamak için dikkatli bir analiz yapılmalıdır.

ana bilgisayar bağlantısı

Genellikle yeniden yapılandırılabilir dizi, bir ana bilgisayar işlemcisine bağlı bir işleme hızlandırıcısı olarak kullanılır. Bağlantı düzeyi, yeniden yapılandırılabilir mantık kullanılırken dahil olan veri aktarımları, gecikme süresi, güç, aktarım hızı ve genel giderlerin türünü belirler. En sezgisel tasarımlardan bazıları, yeniden yapılandırılabilir dizi için yardımcı işlemci benzeri bir düzenleme sağlamak üzere bir çevresel veri yolu kullanır. Bununla birlikte, yeniden yapılandırılabilir yapının işlemciye çok daha yakın olduğu, hatta bazılarının işlemci kayıtlarını kullanarak veri yoluna uygulandığı uygulamalar da olmuştur. Ana işlemcinin görevi, kontrol işlevlerini gerçekleştirmek, mantığı yapılandırmak, verileri programlamak ve harici arabirim sağlamaktır.

Yönlendirme/ara bağlantılar

Yeniden yapılandırılabilir cihazlarda esneklik esas olarak yönlendirme ara bağlantılarından gelir. FPGA satıcıları tarafından popüler hale getirilen bir ara bağlantı stili olan Xilinx ve Altera, blokların dikey ve yatay yönlendirme ile bir dizi halinde düzenlendiği ada tarzı yerleşimdir. Yetersiz yönlendirmeye sahip bir yerleşim, zayıf esneklik ve kaynak kullanımından zarar görebilir, bu nedenle sınırlı performans sağlar. Çok fazla ara bağlantı sağlanırsa, bu gerekenden daha fazla transistör ve dolayısıyla daha fazla silikon alanı, daha uzun kablolar ve daha fazla güç tüketimi gerektirir.

İşletim sistemleri için zorluklar

Yeniden yapılandırılabilir bilgi işlem için en önemli zorluklardan biri, daha yüksek tasarım üretkenliği sağlamak ve temel kavramlara aşina olmayan kullanıcılar için yeniden yapılandırılabilir bilgi işlem sistemlerini kullanmanın daha kolay bir yolunu sağlamaktır. Bunu yapmanın bir yolu, genellikle bir işletim sistemi tarafından desteklenen ve uygulanan standardizasyon ve soyutlama sağlamaktır.

Bir işletim sisteminin ana görevlerinden biri, donanımı gizlemek ve programları (ve programcılarını) çalışmak için güzel, temiz, zarif ve tutarlı soyutlamalarla sunmaktır. Başka bir deyişle, bir işletim sisteminin iki ana görevi soyutlama ve kaynak yönetimidir .

Soyutlama, karmaşık ve farklı (donanım) görevleri iyi tanımlanmış ve yaygın bir şekilde ele almak için güçlü bir mekanizmadır. En temel işletim sistemi soyutlamalarından biri bir süreçtir. İşlem, temeldeki sanal donanım üzerinde kendi başına çalıştığı algısına (işletim sistemi tarafından sağlanan) sahip çalışan bir uygulamadır. Bu, görev düzeyi paralelliğinden yararlanmak için bu sanal donanımda farklı görevlerin aynı anda çalışmasına izin vererek, iş parçacığı kavramıyla gevşetilebilir. Farklı süreçlerin ve iş parçacıklarının işlerini koordine etmesine izin vermek için, işletim sistemi tarafından iletişim ve senkronizasyon yöntemleri sağlanmalıdır.

Soyutlamaya ek olarak, işletim sistemi tarafından işlemlere ve iş parçacıklarına sağlanan sanal bilgisayarların mevcut fiziksel kaynakları (işlemciler, bellek ve aygıtlar) uzamsal ve geçici olarak paylaşması gerektiğinden, temel donanım bileşenlerinin kaynak yönetimi gereklidir.

Ayrıca bakınız

Referanslar

daha fazla okuma

  • Cardoso, João Milletvekili; Hübner, Michael (Eds.), Reconfigurable Computing: From FPGAs to Hardware/Software Codesign , Springer, 2011.
  • S. Hauck ve A. DeHon, Reconfigurable Computing: The Theory and Practice of FPGA-Based Computing , Morgan Kaufmann , 2008.
  • J. Henkel, S. Parameswaran (editörler): Gömülü İşlemcilerin Tasarlanması. Düşük Güç Perspektifi; Springer Verlag, Mart 2007
  • J. Teich (editör) ve diğerleri: Yeniden Yapılandırılabilir Hesaplama Sistemleri. Journal it'in Özel Konu Sayısı — Bilgi Teknolojisi , Oldenbourg Verlag, Münih. Cilt 49(2007) Sayı 3
  • TJ Todman, GA Constantinides, SJE Wilton, O. Mencer, W. Luk ve PYK Cheung, "Reconfigurable Computing: Architectures and Design Methods", IEEE Proceedings: Computer & Digital Techniques, Cilt. 152, No. 2, Mart 2005, s. 193–208.
  • A. Zomaya (editör): Handbook of Nature-Inspired and Innovative Computing: Klasik Modelleri Gelişen Teknolojilerle Bütünleştirme; Springer Verlag, 2006
  • JM Arnold ve DA Buell, "Splash 2'de VHDL programlama", More FPGAs, Will Moore ve Wayne Luk, editörler, Abingdon EE & CS Books, Oxford, İngiltere, 1994, s. 182–191. (Proceedings, Uluslararası Sahada Programlanabilir Mantık Çalıştayı, Oxford, 1993.)
  • JM Arnold, DA Buell, D. Hoang, DV Pryor, N. Shirazi, MR Thistle, "Splash 2 ve uygulamaları, "Proceedings, International Conference on Computer Design, Cambridge, 1993, s. 482–486.
  • DA Buell ve Kenneth L. Pocek, "Özel bilgi işlem makineleri: Bir giriş," The Journal of Supercomputing , v. 9, 1995, s. 219–230.

Dış bağlantılar