DEV Community

Cover image for FPGA_Part_01
Ahmet Kargı
Ahmet Kargı

Posted on

FPGA_Part_01

FPGA(Field Programmable Gate Array - Alanda Programlanabilir Kapı Dizileri)şu şekil programlanabilir bölgelerin Logic Birimlerini birleştirmesi üzerine kurulmuş bir yapı. Bunun olayı anladığım kadarıyla bu programlanabilir bölgeleri değiştirerek işlem birimini farklı şekillerde kullanabiliyorsun. Resimde de gördüğünmüz gibi her türlü I/O yu in veya out olarak programlayabiliyor ve onları içerideki logic cell lerle bağlayabiliyor, istediğimiz işlemi yaptırabiliyoruz. Yani işlemciyi programlıyoruz gibi bişey. Gayet hoş.
CPU dan farkı ne diye bir baktığımızda ise asıl fark tabiki de işlemcinin iç yapısını değiştiremiyor oluşumuz. FPGA larda içerdeki içerdeki yolları değiştirebilirken CPU ların yapısı sabit. Örneğin bir işlemcinin protokol pinleri sabitken FPGA da bunların hepsini ayarlayabiliyoruz.
Bir başka fark ise performans alanında öne çıkıyor. FPGA larda sadece istediğimiz birimleri istediğimiz şekilde çalıştırdığımız için güç konusunda çok daha verimli olmasının yanında FPGA da işlem birimlerinin birbirinden bağımsız olması aynı anda birden fazla işlemin yapılabilmesine olanak sağlamakta. CPU lar işlemleri sıraya sokup hepsini sırayla yaparken FPGA da farklı işlem birimleri farklı işlemleri eşzamanlı olarak yürütebilmekte. FPGA ların esnekliğinden bahsetmiyorum bile.
FPGA ların geliştirme süreci ise işlemcilerden çok daha karmaşık ilerler. Belli bir yazılımı çalıştırmak için var olmayan bu işlem birimleri C/C++ gibi yazılım temelli dillerle programlanamazla. Verilog veya VHDL gibi donanım destekli dillerle programlanabilirler.
Son olarak FPGA lar yüksek performanslarından ve esnekliklerinden dolayı özellikle iletişim ve veri merkezlerinde ve endüstride kullanılıyor.

FPGA_Part_01
A.KARGI

Top comments (0)