Radde
"Field Programmable Gate Array"
Im Endeffekt ist es so, du hast eine Anwendung die du sehr effizient abarbeiten möchtest. Am besten und schnellsten ist dann eine Hardware-Lösung, die für deine Problemlösung Schritt für Schritt angepasst ist.
Sagen wir, du hast jetzt eine Funktion a+b*c. Ein dummer x86 rechnet a+b, speicher in c, hole datei aus Arbeisspeicher und speicher in a und multipliziere dann a mit c ect (im schlimmsten Fall, benötigt eine dumme x86 CPU mehrere Schritte um zum Ergebnis zu kommen).
Im Verglich kannst du dann einfach eine Schaltung bauen die A+B*C in einen Schritt durchläuft. Solche Einheiten werden in CPUs oft als SIMD (Single Instruction, Multiple Data) implementiert. Natürlich gibt es auch noch die anderen drei Varianten (MIMD, SIMS, MISD) usw.
Sagen wir, du hast eine Server-Farm, die jetzt ganz spezielle Berechnungen ausführen soll und das möglichst effizient. Dann kannst du mit den FPGA quasi deinen eigenen Fix-Function Chip bauen und deine Software anpassen.
Das ein FPGA Chip sehr flexibel sein soll, damit man alle Schaltungen bauen kann, sind solche FPGA wesentlich teurer als "fertige" SIMD Lösungen und fallen releativ groß aus. Im Prinzip kannst du aber alle Schaltung aus NAND Gatter aufbauen.
Sprich, solche FPGA + x86 Server Chips, werden wohl eher nur für spezielle Anwendungen gekauft. Bin also gespannt, wie sich das weiterentwickelt.
@News
Hatte lange geglaubt, dass FPGA sogar direkt in die CPU integriert wird, aber so ergibt das natürlich am meisten Sinn.