FPGA'ler nedir?

Sahada Programlanabilir Kapı Dizileri kulağa karmaşık gelse de geliştiriciler için yepyeni bir dünyanın kapılarını açıyor.

Retro oyun emülasyonunu okuduysanız, Alan Programlanabilir Kapı Dizisi (FPGA) adı verilen bir yarı iletken türüyle karşılaşmış olabilirsiniz. Yapılandırılabilir mantık blokları (CLB) sayesinde üretildikten sonra kendilerini yeniden yapılandırabilen özel entegre devrelerdir. Başka bir deyişle, yonga setini temelde yapay zeka, yonga seti tasarımı ve diğer alanlarda birden fazla uygulamaya sahip herhangi bir dijital devre türü gibi davranacak şekilde yeniden programlayabilirsiniz.

FPGA'lerin birçok kullanım durumu vardır ve Analog Pocket gibi cihazlar, farklı el tipi cihazları desteklemek için bunlardan yararlanır. Ancak Microsoft, Bing'i güçlendirmek için FPGA'leri de kullanıyor çünkü bu, şirketin geliştirildikçe yeni algoritmaları destekleyecek şekilde hızla yeniden programlamasına olanak tanıyor.

FPGA ve geleneksel CPU'lar: Fark nedir?

Standart bir yonga setinin aksine —

Aslanağzı 8 Nesil 2örneğin - bir FPGA sahada yeniden programlanmak üzere tasarlanmamıştır. GPU, NPU ve CPU dahil birden fazla parçadan oluşan bir Çip Üzerinde Sistemdir (SoC). Sevk edildikten sonra tüketiciler ve işletmeler bunu alacak.

Bununla birlikte FPGA'lerin, kullanıcının herhangi bir ek maliyet veya risk getirmeden çipin bölümlerini değiştirebilmesi için şekillendirilebilir olması amaçlanmaktadır. Kendi kendini süren otomobiller gibi hızlı hareket eden endüstrilerde, cihazın herhangi bir yönü için herhangi bir zamanda yeni düzenlemeler ve standartlar getirilebilir. Bir FPGA'nın kullanılması, bir OTA güncellemesinin çipin yeni standartları destekleyecek şekilde yeniden programlanmasına izin verebilir.

FPGA'ler ile geleneksel CPU'lar arasındaki büyük farklardan biri, verileri çok daha düşük bir saat hızı karşılığında paralel olarak işlemek üzere tasarlanmış olmalarıdır. Örneğin, veri işleme için 10 işlem hattına sahip bir FPGA, her işlem hattı için iki sayı üzerinde çarpma işlemlerini gerçekleştirebilir ve döngü başına 20 sayıyı çarpabilir. Geleneksel bir CPU, döngü başına, çekirdek başına ve sıralı olarak iki sayıyı çarpabilir.

FPGA'ler emülasyon için nasıl çalışır?

FPGA'ler genellikle donanım emülasyonu için kullanılır ve yonga seti tasarım sürecinin ilginç bir kısmı, testlerde SoC'nin farklı bölümlerini taklit etmek için FPGA'lerin kullanılmasıdır. Yonga seti tasarımcıları, Uygulamaya Özel Tümleşik Devrenin (ASIC) prototipini oluşturmak için birden fazla FPGA kullanabilir. Bir donanım tasarımı oluşturmak için Donanım Açıklama Dili (HDL) kullanılır ve bu dil FPGA'ya kendisini nasıl düzenleyeceğini söyler. Analog Pocket durumunda, bu tasarımlar genellikle Verilog'da yazılan "çekirdekler" biçiminde dağıtılır ve kullanıcılar, elde taşınır cihazı belirli konsollara hazırlamak için bir çekirdek indirebilir.

Örneğin Analog Pocket, Game Boy oyunlarını doğrudan kartuş yuvasından okuyabilir ve sanki orijinal konsolmuş gibi oynayabilir. Yalnızca bu değil, kartuş adaptörleri Game Gear, Atari Lynx ve daha fazlası gibi diğer cihazlar için de ek destek sağlar. Bu, oyunların oynanabilir olmasını sağlamak için yazılım emülasyonu yerine donanım emülasyonunu kullanan bir FPGA'nin yeniden programlanabilir doğası nedeniyle mümkündür. Bir MiSTer (temel olarak DE-10 Nano FPGA kartını kullanan ve bunun üzerinde ek modüller gerektiren) SNES, Sega Genesis ve hatta gibi konsolları taklit etmek için kullanılabilmesi bakımından benzerdir. Oyun küpü. Donanım emülasyonu genellikle yazılım emülasyonundan daha doğrudur ve aynı zamanda performans avantajları da sunar.

Donanım eskiyip zamanla güvenilmez hale gelebilirken, FPGA'ler aynı donanım deneyimini taklit edecek şekilde yeniden programlanabilir.

Elbette bu, çekirdeklerin bir yonga setinin birebir HDL yorumu olduğu anlamına gelmiyor. Oldukça yakınlar ancak normal kullanımda tespit edilebilecek sorunları gidermek için zamanla çekirdeklerde düzeltmeler ve iyileştirmeler yapılıyor. Bu çekirdekler, bu cihazlara giren yonga setlerinin tersine mühendislik yoluyla yapılır ve anakart üzerindeki her bir bileşenin haritalandırılmasını gerektirir. Özel tescilli yonga setlerinde, geliştiricilerin sıklıkla bunu görmesi gerektiğinden, bu daha da zorlaşıyor. Çipin içinde tam olarak ne olup bittiğini görmek ve onu kopyalamak için mikroskopla "kapaksız" bir çip.

Bu nedenle FPGA'ler donanımın korunması açısından da önemlidir. Donanım eskiyip zamanla güvenilmez hale gelebilirken, FPGA'ler aynı donanım deneyimini taklit edecek şekilde yeniden programlanabilir. Çip, kendisine verilen çekirdeğe uyacak şekilde kendi içindeki kendi fiziksel mantığını yeniden düzenleyecektir. openFPGA ekosistemi bu donanımın korunmasına yardımcı olmak için tasarlanmıştır.

Bunun da ötesinde, bu oyunları meşru bir hisle ancak daha iyi bir genel donanımla oynamanın ek avantajından da yararlanırsınız. 220 $ karşılığında bir Analog Pocket alabilir ve tıpkı geçmişte oynadığınız gibi Game Boy oyunlarını oynayabilirsiniz, ancak daha yüksek bir yapı kalitesi, daha iyi bir ekran ve hatta dock desteği ile.

FPGA'lerin dezavantajları

MiSTer FPGA yapısı için DE-10 Nano

Ancak birkaç dezavantajı var. Başlangıç ​​olarak, geleneksel CPU'lardan çok daha fazla yer kaplıyorlar ve ayrıca üretimleri de çok daha pahalı. Analog Pocket ve MiSTer FPGA gibi cihazlar çok paraya mal oluyor; ikincisi de birkaç eklenti alırsanız size 500 dolardan fazla para kazandırıyor. Çoğu kişi, oyunları akıllı telefonlarında veya bilgisayarlarında taklit etmeyi tercih eder ve donanım düzeyindeki emülasyonun sağladığı mükemmel piksel doğruluğunu umursamaz.

Tabii ki, FPGA'ler de tüketiciyle ilgili emekleme aşamasındadır ve popülerlikleri ancak son yıllarda artmaktadır. Aslında bilim insanları, yonga seti mimarları, yapay zeka ve benzerlerinin profesyonel kullanım örneklerinde çok uzun süredir varlar, ancak Tüketici cihazları ancak son yıllarda ortaya çıktı ve daha gündelik veya meraklı şekillerde kullanıma uygun hale geldi.

Öykünmeye girmek isteyen çoğu kişi için, özel bir cihazın rahatlığı garanti edilir. Orijinale sadık deneyim baştan çıkarıcıdır ancak herkesin ihtiyaç duyduğu ve hatta umursadığı bir şey değildir. Kişisel olarak Super Mario Bros gibi bir oyun oynamak istersem, onu hareket halindeyken telefonumda oynamaktan mutluluk duyarım. Bunun için özel bir cihaza ihtiyacım yok, ancak bir cihaza sahip olmanın çekiciliğini anlıyorum.