fpganedir.com'da ara

fpganedir mail

FPGA mi İşlemci mi?

Bu sorunun yanıtı uygulamaya göre farklılık gösterecektir elbette. Bu bölümde FPGA ile hard işlemciler arasındaki farkları, her ikisini de artıları, eksileri ve hangi uygulamalarda işlemcilerin, hangi uygulamalarda FPGA’lerin daha yaygın kullanıldığı konularında bilgi vereceğiz.

FPGA ile mikroişlemci arasındaki en büyük ve temel fark FPGA’in donanımsal olarak sabit bir yapıya sahip olmayıp kullanıcı uygulamasına göre programlanabilir olmasıdır. İşlemciler ise sabit bir donanım yapısına sahiptir. Yani içerisindeki tüm transistör, bellek, çevrebirimi yapıları ve bağlantıları sabittir. İşlemcinin yapabileceği işlemler (toplama, çarpma, I/O kontrol, vs) önceden tanımlıdır ve kullanıcı yazılımla bu işlemleri kendi amacına uygun olarak “sıralı bir şekilde” işlemciye yaptırabilir.

FPGA’de ise donanım yapısı sabit değildir ve kullanıcı tarafından tanımlanır. FPGA içerisindeki mantık hücreleri sabit olmakla birlikte bunların gerçekleştirdiği fonksiyonlar ve aralarındaki bağlantılar kullanıcı tarafından belirlenir. Dolayısıyla FPGA’in yapabileceği işlemler önceden tanımlanmış değildir. Yazılan HDL koduna göre istediğiniz işlemleri “paralel olarak” yani aynı anda yaptırabilirsiniz. Paralel işlem yapabilme yeteneği FPGA’yi işlemciden ayıran ve birçok alanda üstün kılan en önemli özelliklerdendir.

Oyuncak Araba mı, Oyun Hamuru mu ?

FPGA ve işlemci arasındaki farkı bir analojiyle anlatmak gerekirse; FPGA'i istediğimiz şekli verebildiğimiz bir oyun hamuruna; hard işlemcileri ise oyuncak arabaya benzetebiliriz. Hamurdan araba dâhil istediğimiz oyuncağı yapabiliriz. Oyuncak arabayı ise olduğu gibi kabul etmek ve öyle oynamak durumundayız. Oyun hamurunu kullanarak satın aldığımız oyuncak arabanın aynısını yapmak ise zor ve ustalık yapmak isteyen bir iştir. Dolayısıyla istediğimiz şey tam olarak bu oyuncak arabaysa oyun hamuru yerine onu almak daha isabetli olacaktır. Fakat istediğimiz, hayal ettiğimiz arabayı bulamıyorsak o zaman elimizi hamura bulamak, deyim yerindeyse elimizin hamuruyla bu işi halletmek durumundayız demektir.

Performans Gerektiren işlemler İçin FPGA

İşlemciler genellikle belli devrelerin rutin kontrol işlemlerinde daha kullanışlıdır. Örneğin bilgisayardan herhangi bir cihazı açıp kapamak gibi basit fonksiyonlar için FPGA kullanmak biraz abartılı olabilir. Bu işlemi birçok sıradan mikrokontrolcü (PIC serisi gibi) ile kolaylıkla yapabiliriz. Fakat bilgisayardan gelen yüksek çözünürlükte bir video verisi üzerinde işlem yapmak istersek, FPGA çözümleri daha mantıklı olacaktır. Çünkü video işleme büyük verilerin hızlı bir şekilde işlenmesini gerektirir ve bu tip uygulamalar paralel işlem yapabilme yeteneğine sahip FPGA için gayet uygundur. Ayrıca FPGA’in donanım yapısını da kullanıcı belirlediği için büyük verileri birkaç clock saykılında yapabilecek şekilde FPGA’i programlayabiliriz. Veri akışı işlemcinin veri yolu (16 bit, 32 bit,vs) ve işlem hızı ile sınırlı olduğundan, bunu işlemci ile yapmak mümkün değildir.

Sonuç olarak; yoğun veri işleme gibi performans gerektiren uygulamalarda FPGA, rutin kontrol işlemlerinde işlemci/mikrokontrolcü ön plana çıkmaktadır.

FPGA İçine İşlemci / Mikrokontrolcü Gömülmesi

Bununla birlikte; işlemci/mikrokontrolcüler de aslında birer mantık devresi olduğundan, bunlar da FPGA içerisine gömülebilmektedir. Dolayısıyla FPGA kullanarak tep çipte hem işlemci hem de kullanıcıya özgü donanımsal fonksiyonları tanımlamak ve kullanmak mümkündür. Bu çözüm, mühendislere donanımı istedikleri gibi kontrol etme olanağı; dolayısıyla büyük esneklik sağlamaktadır. Dış devrede (board) hiçbir değişiklik yapmadan FPGA’deki programı değiştirerek tüm tasarımı (FPGA üzerindeki işlemci ve diğer mantık devreleri) değiştirebilir ve güncelleyebilirsiniz. Bu şekilde kartları yeniden tasarlamaksızın farklı fonksiyonlar ekleyebilir, performansını artırabilir ve bir nevi zamana dayanıklı hale getirebilirsiniz.

                                                                                                                                                                                                          

 

Anasayfa | Fpga | VHDL | VHDL Sözlüğü | Embedded Sistem | Android | Sayısal Tasarım | Simulasyon | PCB | Örnekler | Forum | İletişim
Copyright © 2010-2013 FPGAnedir. All Rights Reserved.