FPGA срещу микропроцесор
Полево програмируеми Gate Arrays или FPGAs бяха някога прости блокове от порти, които могат да бъдат конфигурирани от потребителя, за да реализират логиката, която той или тя иска. За сравнение, микропроцесорът е опростен процесор или централен процесор. Той изпълнява програма, която съдържа специфичен набор от инструкции. Основната разлика между FPGA и микропроцесорите е сложността. Въпреки че и двете се различават по сложност в зависимост от мащаба, микропроцесорите обикновено са по-сложни от FPGA. Това се дължи на различните процеси, вече реализирани в него.
Микропроцесорите вече имат фиксиран набор от инструкции, които програмистите трябва да научат, за да създадат подходяща работна програма. Всяка от тези инструкции има собствен съответстващ блок, който вече е свързан с хардуер в микропроцесора. FPGA няма никакви хардуерни логически блокове, защото това би разгромило полево програмируемия аспект на нея. FPGA е разположена като мрежа с всяко кръстовище, съдържащо превключвател, който потребителят може да направи или да прекъсне. Това определя как се определя логиката на всеки блок. Програмирането на FPGA включва изучаване на HDL или езика за описание на хардуера; език на ниско ниво, който някои хора казват, че е толкова труден, колкото и езика за сглобяване.
Развитието и спадът в цената на полупроводници и електроника като цяло бавно размиват линиите между FPGA и микропроцесорите, като буквално комбинират двете в един пакет. Това дава на комбинирания пакет много по-голяма гъвкавост. Микропроцесорът прави по-голямата част от действителната обработка, но той предава по-специфичните задачи на FPGA блок. Това ви позволява да получите най-доброто от двата свята. Микропроцесорът може да се справи с общите задачи, докато персонализираните FPGA блокове ви дават възможност да включите уникални блокове.
Подобрението в електрониката разшири обхвата на микропроцесорите и FPGA. Ако наистина искате, можете да използвате микропроцесор и да го накарате да свърши работата на FPGA. Можете също да вземете FPGA и да го накарате да работи като единична логическа порта. Така че за повечето задачи, при които избирате между микропроцесор и FPGA, вероятно можете да направите и с едната.
Резюме: