Spannendes Thema. Bei uns an der Uni hat sich ein Doktorand gerade mit dem Thema befasst und ein Linux auf einem solchem CPLD laufen lassen, und so ganz nebenbei dazu gebracht die Hardware auf der es läuft quasi beliebig umzuschreiben...Dunuin hat geschrieben:Ein Dualcore hätte die sicher auch schneller fertig gehabt. Ist zwar theoretisch 4x 1,4 GHZ aber in der Praxis kommt es doch nur auf knapp unter 4x 1GHZ, da immer von 1,4 auf 0,8 GHZ runtergetaktet werden muss, da die Hitzeentwicklung sonst zu hoch wäre. So ein 2x 1,3 GHZ ARM kann da vielleicht dauerhaft auf 1,3 GHZ arbeiten.
Interessant würde ich mal einen Test auf einem FPGA finden. Das ist sozusagen der neuste Schritt in der Elektronik.
Früher hat man Logik ICs benutzt, welche alle echt hardwareseitig Multitasking gemacht haben. Man konnte aber nicht schnell was verändern.
Dann sind die Microcontroller gekommen, welche mit ihrer ALU, FPU, Intergereinheit etc praktisch per Software diese Logic IC Hardware simuliert haben.
Heute gibt es die FPGAs. Das ist halt ein IC wo man über eine Programmiersprache keine HArdware simuliert, sondern sagt wie die Elektronik in diesem IC verschaltet werden soll. Lade ich ein Programm für eine C64-CPU in den FPGA, dann habe ich auf Knopfdruck eine echte C64 CPU. Keine Emulation, sondern eine echte Elektronik.
Soll der FPGA lieber ein WLAN Emfangsmodul sein...kein Problem. Neuen Code draufladen, die Elektronik im inneren verschaltet sich neu und man hat ein echtes WLAN-Modul.
So könnte man sich praktisch ICs selber bauen, welche genau das tun, was man für das DC-Projekt gerade braucht. Macht man viele Fließkommaberechnungen aber wenig Intergerberechnungen, dann lässt das FPGA-IC halt 32 FPUs, 4 Intergereinheiten und 4 ALUs bilden. Braucht ein Projekt keine Fließkommaarithmetik, dann schaltet man halt alles per Software um und hat auf Knopfdruck 1 FPU, 12 Intergereinheiten und 60 ALUs. Da sind praktisch keine Grenzen gesetzt und man kann die Hardware immer zu 100% ausnutzen, da man einfach alles weglässt, was man nicht braucht und dafür nur das bildet, was wirklich benötigt wird.
Und da es eben keine Emulation ist, arbeiten die 60 ALUs dann auch wirklich 60 Befehle gleichzeitig ab.
Deshalb sind die Grafikkarten ja auch bei Fließkommaarithmetik so schnell. Die haben halt dutzende kleine FPUs die nichts anderes können als parellel Fließkommaarithmetik zubetreiben. Anstatt wie bei der CPU mit dem einen großen Kern, der zwar alles kann, aber dafür langsam ist.
So könnte sich praktisch jedes DC-Projekt die Hardware per Code selbst zusammenbasteln, die genau auf die Bedürfnisse abgestimmt ist.
Man hat einen ARM als feste Schnittstelle zum PC oder Rounter und der ARM arbeitet praktisch als Master und sagt den angeschlosenen FPGAs, wie sie sich schalten sollen.
Jeder FPGA ist dann mit mehreren Leitungen an den Arm verbunden. Das BOINC-Projekt kann dann selbst entscheiden, was die jeweiligen FPGAs machen und wie die aussehen.
Das muss man sich wie einen Nano-Elektronikbaukasten vorstellen, wo man praktisch einen digitalen Schaltplan (in VHDL geschrieben) draufläd und die Platine sich automatisch so bestückt, dass da das entsteht, was man auf dem Schaltplan angegeben hat. Diese "Schaltpläne" gibts auch fertig zum runterladen, wenn man die nicht selbst bauen will. So ist das gleiche FPGA-IC dann z.B. eine Pentium 2 CPU, eine SD-Speicherkarte, ein C64, ein ARM Cortex, ein Amiga, ein Atmega etc.
Das hier ist z.B. so eine Bibliothek für die "Schaltpläne".
Sollte vllt. als Ausblick wohin wir mit der Technik gehen im Hinterkopf bleiben.





