In Zukunft werden Prozessoren sicher noch mehr Cores als nur zwei oder vier haben. Ist die Software, die zum Beispiel für einen Dual-Core-Prozessor geschrieben wurde, flexibel genug für solche Wechsel?
Bei Windows Vista erkennt das Betriebssystem, wie viele Cores der Rechner hat und verteilt dementsprechend die Aufgaben. Das ist sicher nicht ganz optimal, aber es steigert die Leistung des Rechners schon deutlich. Ist ein Algorithmus extrem auf zwei Cores optimiert, dann kann dies bei vier Cores ein Problem sein (z.B. nicht vorhergesehne Nebenläufigkeiten). Man wird daher sicher Software entwickeln müssen, die sich allgemein einsetzen lässt oder sich flexibel den aktuellen Möglichkeiten in einem PC anpasst.
Welche Probleme bringen Multicore-Prozessoren noch mit sich?
Ein Problem ist, dass dabei viele Prozesse parallel ablaufen. Dadurch steigt die Wahrscheinlichkeit von Fehlern. Man könnte das mit dem Straßenverkehr vergleichen: Es laufen viele Prozesse parallel ab. Hin und wieder klappt es nicht richtig und es geschieht ein Unfall. Bei Single-Core-Prozessoren hingegen läuft fast alles sequentiell und vorausschaubarer ab. Diese Systeme sind sehr sicher und die Industrie braucht so eine Sicherheit. Single-Core und Multi-Core haben beide ihre Anwendungsgebiete für die Zukunft.
Eine abschließende Frage: Was kommt nach Multicore?
Ich habe da eine Prognose. Wenn ich mir einen PC ansehe, dann hat der eine CPU, eine Grafikkarte mit einer GPU und eine Audiokarte mit einem Signalprozessor. Die Strukturen sind also sehr verteilt. Ich denke, dass diese Funktionen in Zukunft noch weiter spezialisiert werden und es innerhalb des PCs ein Netzwerk aus kleineren Rechnern gibt, von denen jeder eine spezielle Aufgabe hat. Heute nutzen mehrere Cores einen gemeinsamen RAM und das auch noch über nur eine Schnittstelle den FSB. Warum sollte man nicht jeder CPU einen eigenen RAM und eigene Caches zuordnen? So entsteht ein flexibles modulares System, das über definierte Schnittstellen Daten austauscht.