Burada ayrıntılı olarak görmediğim bir ayrım, FPGA'ların işlemciler için tamamen farklı bir şekilde kullanılması ve davranmasıdır .
Bir FPGA aynı görevi tekrar ve tekrar yapmakta gerçekten iyidir. Örneğin, video, ses veya RF sinyalleri işleniyor. Veya Ethernet paketlerini yönlendirme. Veya sıvı akışını simüle edin. Size çok fazla aynı türden veri attığınız veya gerçekten hızlı bir şekilde attığınız ve bunların hepsini aynı şekilde ele almak istediğiniz durumlar. Veya aynı algoritmayı tekrar tekrar çalıştırmak istersiniz. FPGA gerçekten [1] 'i başlatan ve durduran' görevlere 'sahip değil; tüm işi, olduğu sürece, aldığı veriyle aynı şeyi yapmak. Vites değiştirmiyor, başka bir şey yapmıyor. Nihai üretim hattı çalışanıdır. Sonsuza kadar, aynı şeyi tekrar tekrar, olabildiğince hızlı bir şekilde yapacaktır.
İşlemciler ise, esnekliğin özüdür. Herhangi bir şey yapmak için programlanabilirler ve aynı anda birden fazla şey yapmak için programlanabilirler. Başlayan ve duran görevleri var, vites değiştiriyorlar, çoklu görevler sürekli değişiyor ve işlevleri değiştiriyorlar.
FPGA ve CPU tam karşıtlardır. CPU'nun emtia zamanı geldi - işleri daha hızlı halletmesi gerekiyor. Uygulamanız ne kadar hızlı çalışırsa, o kadar iyidir.
FPGA'nın meta alanıdır. FPGA'nız sadece çok büyük ve istediğiniz görevi yerine getirebilecek çok sayıda kapı var. Zamanın büyük çoğunluğu, mesele hızdan daha büyüktür [2].
Bir FPGA'nın CPU gibi hareket etmesi mümkündür. Bir CPU IP çekirdeğini bir FPGA'ya yerleştirebilirsiniz, ancak diğerlerinin tarif ettiği nedenlerden dolayı haklı göstermek çok zordur [3]. FPGA ve CPU, hem kendi güçlü ve zayıf yönlerine sahip hem de sonuçta kendi yerlerine sahip olan karşıtlardır.
Notlar:
1) Bir FPGA farklı görevleri yerine getirmek için tasarlanabilir, ancak o zaman bile önceden tasarlandığı belirli bir sayı olurdu.
2) Hız aynı zamanda bir FPGA tasarım özelliğidir. Gerçekten hız ve boyut arasında bir takas.
3) Bir İşlemciyi FPGA'ya yerleştirmek nispeten sık yapılır, ancak belirli uygulamalara bağlı olarak duruma göre yapılır. Örneğin, gerçekten küçük bir mikrodenetleyiciye ihtiyacınız varsa ve fazladan FPGA alanına sahipseniz.
Ve son olarak: Bu cevap büyük bir sadeleştirmedir - FPGA'lar çok çeşitli ve karmaşık şekillerde kullanılır ve bu genel olarak nasıl kullanıldığına dair çok kısa bir bakış niteliğindedir.