Holt schrieb:
Der nächste Hammer von Intel dürften FPGA in der CPU sein, womit sich die SW dann ihre eigenen Befehlserweiterungen schaffen kann, statt darauf zu warten das der CPU Hersteller welche entwickelt und implementiert. Um davon zu profitieren muss die SW aber natürlich angepasst werden, was gewöhnlich immer erst mit einer stattlichen Verzögerung und selbst dann nur bei einigen Anwendungen passiert.
Ich glaube eher nicht das ein Feature für die Allgemeinheit wird.
Zum einen wird die Konfig von einem FPGA in der Regel einmal beim Stromeinschalten geladen und nicht (bzw. nur recht eingeschränkt) zur Laufzeit. Und wenn jede Software meine würde sie müsste sich hier irgendwas "reinbauen" dann müsste der Scheduler ja bei jedem taskswitch den FPGA neu laden und somit hast du auf einem Multicore-System schon wieder ein Riesen Problem wenn z.B. auf zwei Cores gerade unterschiedliche Anwendungen laufen und jede eine andere Konfig des FPGA haben will und somit eine Core auf den anderen warten muss.
Die Anwendung in einer Consumer-Umgebung kann hier also garnicht ihre eigenen "FPGA-Konfig" mitbringen. Wenn überhaupt könnte hier eventuell der OS-Hersteller hier einige Features implementieren und über seine API dann der restlichen Software zur Verfügung stellen.
Eine ganzen große Große frage ist auch noch wie ist dieser überhaupt exakt mit dem Restsystem verbunden, wo hat der FPGA überhaupt überall zugriff.
Wenn er zu große Zugriffsmöglichkeiten auf das ganze System hat kommt dann auch ganz schnell die Frage auf wie dichtet man das ganz vernünftig gegen Missbrauch ab usw. Weltweit einige Mio. an FPGA die direkten zugriff auf den LAN-Controller haben, da geht schon was...
Ich gehe eher mal davon aus das diese nur in ganz speziellen Rechnern zum Einsatz kommen wird die auf genau eine Anwendung hin optimiert werden. Von einem entsprechenden BIOS wird bei Start die Konfig in den FPGA geladen und dieser stellt dann eher komplexere Funktionen wie Teilimplementierungen von Protocol Stacks, Codecs oder Wissenschaftliche Berechnungen zur Verfügung wo dann größere Datenmengen mit recht wenig CPU-Impact verarbeitet werden können.
Ansonsten sehe ich das auch so wie etliche hier für X86 und im Prinzip auch für alle ähnlichen Architekturen "End of Evolution". Da wird keine Revolution mehr kommen. Das was jetzt alles noch kommt ist reine Kosmetik und Benchmarkoptimierung.
Die Aussage von Intel selbst auf eine Softwareentwickler Konferenz vor einigen Jahren war mal "macht euch keine Hoffnung mehr auf die Hardware die Leistung wird zukünftig nur noch über die breit (mehr Cores) skalieren".
Und somit ist das ganze Dilemma wieder auf Seiten der Softwareentwickler.
Für eine "Revolution" müsste erstmal jemand hergehen und die Gesamte eingefahrene Denke von durch Turing/Neumann/Havart/RISC/SISC geprägten Systemen über Bord werfen und war völlig neues "entwerfen".
Zu der Hardware die da neu entwickelt werden muss, muss ja auch noch eine völlig neue Software (falls man die dann überhaupt noch so nennt) Infrastrktur erstellt werden. Da reden wir dann eher über einige Jahrzehnt als wenige Jahre bis davon vielleicht mal was im Consumer Markt zu sehen wäre.
Aber die "ich klicke mir die Welt auf Framworks zusammen" Fraktion würde garantiert auch einen solchen Ansatz wieder auf "Mindestgeschwindigkeit" herunterbremsen:-)