Was ist der Unterschied zwischen Skalar- und Array-Prozessoren?
Es gibt einen wesentlichen Unterschied zwischen zwei der Hauptformate - Skalar- und Array-Prozessoren -, in denen ein Computersystem Informationen verarbeitet. Während skalare Prozessoren jeweils ein Datenelement bearbeiten, können Array-Prozessoren mehrere Datenströme gleichzeitig verarbeiten. Beide Prozessoren sind jedoch Teil der Zentraleinheit (CPU), die alle Aktionen eines Computers steuert und alle Datenzeiten verarbeiten kann. Skalar- und Array-Prozessoren führen viele der gleichen Vorgänge aus, jedoch auf unterschiedliche Weise, wodurch jeder für einen anderen Zweck geeignet ist und sichergestellt wird, dass alle Funktionen von den einfachsten bis zu den komplexesten ausgeführt werden können.
Array-Prozessoren wenden einen einzelnen Befehl gleichzeitig auf mehrere Arrays oder Datenmatrizen an, bevor sie mit dem nächsten Befehl fortfahren. Dies ermöglicht es Array-Prozessoren, viel schneller zu arbeiten, da der Prozessor nicht warten muss, bis der erste Befehlssatz für ein Element ausgeführt wird, bevor er zum nächsten übergeht. Viele der Schritte, die zum Ausführen einer Operation erforderlich sind, entfallen, da der Computer mehrere Elemente gleichzeitig abruft, die Operation für alle ausführt und sie dann erneut in den Speicher schreibt, anstatt die Schritte für jedes neue Datenelement zu wiederholen.
Skalarprozessoren bearbeiten jeweils ein Datenelement, bevor mit dem nächsten Element fortgefahren wird. Jede Anweisung muss für das aktuelle Element ausgeführt werden, bevor mit der nächsten Anweisung fortgefahren wird. Am Ende der Schleife werden die Anweisungen für das nächste Element in der angegebenen Reihenfolge ausgeführt. Fast alle Massenmarkt-CPUs sind skalar, obwohl sie möglicherweise Elemente enthalten, die eher wie Array-Prozessoren funktionieren.
Supercomputer der 1980er und 1990er Jahre waren darauf ausgelegt, große Datenmengen mit Single-Instruction-Multiple-Data zu verarbeiten. Mit Array-Prozessoren konnten Wissenschafts- und Forschungsdaten in kürzerer Zeit bearbeitet werden. Obwohl es intuitiv erscheinen mag, dass Array-Prozessoren alle CPU-Funktionen schneller ausführen als skalare Prozessoren, ist dies nicht der Fall. Array-Prozessoren sind in der Lage, große Datenmengen effizient zu verarbeiten. Da die Funktion jedoch eine komplexere CPU erfordert, sind einfachere Vorgänge schwieriger durchzuführen.
Mit der Einführung der Mikroprozessoren im Jahr 1994 wurden die Unterschiede zwischen Skalar- und Array-Prozessoren immer geringer. Seitdem sind Mikroprozessoren mit Elementen aus Einzelanweisungen und Mehrfachdaten zur Norm geworden und haben die Lücke zwischen Skalar- und Array-Prozessoren weiter verkleinert. Videospielkonsolen und Grafikbeschleuniger verfügen über eine eigene Grafik-CPU, die parallel zur Hauptskalar-CPU ausgeführt wird, sodass die Haupt-CPU keine Grafikfunktionen mehr ausführen kann.