Kategorien

INTEL STEIGERT DIE SINGLE-THREAD-LEISTUNG MIT EINER NEUEN METHODE ZUR KOMBINATION MEHRERER KERNE - SDC KÖNNTE AUF DEN MARKT KOMMEN

Das Intel-Team entwickelt möglicherweise eine interessante Technologie, die derzeit nur in Form eines Patents existiert, zumindest offiziell.
J.o.k.e.r
J.o.k.e.r
Intel steigert die Single-Thread-Leistung mit einer neuen Methode zur Kombination mehrerer Kerne - SDC könnte auf den Markt kommen

Das Intel-Entwicklungsteam arbeitet im Hintergrund an einer interessanten Technologie, die kürzlich vom Hersteller patentiert wurde. Die Funktion "Software Defined Supercore" ist im Wesentlichen das Gegenteil von Hyper-Threading. Während Ersteres einem physischen Prozessorkern mehrere Threads (in der Regel zwei) zuweisen kann, so dass ein physischer Prozessorkern unter unterstützter Software als zwei virtuelle Kerne erscheint, soll die SDC-Unterstützung die Single-Threading-Leistung durch "Software-Merging" mehrerer Prozessorkerne unter Software, die diese Funktion unterstützt, erhöhen.

Der Vorteil eines von der Software erzeugten virtuellen "Superkerns" besteht darin, dass er Aufgaben auf mehrere Prozessorkerne "verteilen" kann, wobei die gleiche Ausführungsreihenfolge beibehalten wird, und dass er außerdem sicherstellen kann, dass die "zusammengelegten" Prozessorkerne eine angemessene Leistung erbringen, indem er versucht, ihr Potenzial auszuschöpfen, indem er sie mit der entsprechenden Last belastet. Mit dieser Funktion kann die Single-Thread-Leistung des Systems für Anwendungen, die in der Regel eine Single-Thread-Last aufweisen und über SDC-Unterstützung verfügen, erheblich gesteigert werden.

Durch das Pooling von Prozessorkernen können die Ressourcen von zwei oder mehr Prozessorkernen kombiniert werden, wobei jeder Prozessorkern bestimmte Teile der resultierenden "virtuellen Supercore"-Single-Thread-Last ausführt, wobei der Arbeitsablauf in Blöcke aufgeteilt und dann von jedem Prozessorkern empfangen wird, wobei die Synchronisierung und die Reihenfolge der Operationen wichtig sind. Mit dieser Methode entfällt die Notwendigkeit, breite Prozessorkerne mit großen, hohen Transistorbudgets zu bauen, die auch mit einem höheren Stromverbrauch arbeiten, und die Notwendigkeit, den Kerntakt zu erhöhen, um eine höhere Leistung zu erzielen: Die virtuelle Supercore-Funktion maximiert die Anzahl der Operationen pro Takt (IPC).

Galerie öffnen

In der Vergangenheit konnten x86-Prozessoren in der Regel 4-6 Operationen dekodieren und diese dann in 8-9 Mikrooperationen pro Taktzyklus ausführen, nachdem sie in Mikrooperationen umgewandelt wurden, um die IPC zu maximieren. Bei den modernen Prozessoren von heute wurden diese Zahlen verbessert, so dass eine bessere Leistung erzielt werden kann. Bei den SoCs der M4-Serie von Apple, die bis zu 8 Befehle pro Taktzyklus dekodieren und im Idealfall bis zu 10 oder mehr Operationen pro Taktzyklus ausführen können, ist dies der Grund, warum die Apple-Prozessoren im Vergleich zu anderen ARM-basierten Lösungen eine so hohe Single-Thread-Leistung haben und warum sie bei Single-Thread-Last einen besseren Stromverbrauch haben als ihre Konkurrenten.

Zwar ist es bei x86-Prozessoren möglich, bis zu acht CPU-Kerne zu schaffen, doch ist dies nicht ideal, teils wegen Schwächen in der Front-End-Verarbeitung, teils wegen der komplexeren Architektur und des höheren Stromverbrauchs, und teils, weil die Software das Potenzial in der Regel nicht ausschöpfen würde. Unter allgemeiner Last liegt die Anzahl der Operationen pro Taktzyklus bei den heutigen modernen Prozessoren typischerweise zwischen 2 und 4, so dass ein Design, bei dem anstelle großer Acht-Wege-Kerne kleinere Vier-Wege-Kerne hergestellt und dann bei Bedarf zu einem Acht-Wege-Kern kombiniert werden, z. B. im Rahmen des oben erwähnten Software-Ansatzes, einen größeren Vorteil bietet, so dass eine Leistung erreicht werden kann, die der eines nativen Acht-Wege-Kerns nahe kommt.

Damit dies auf Hardware-Ebene funktioniert, müssen die Prozessorkerne natürlich in der Lage sein, SDC zu handhaben, d. h. jeder Prozessorkern benötigt eine dedizierte Hardwareeinheit zur Durchführung von Synchronisation, Registeroperationen und Speicherverwaltungsaufgaben, damit die softwaregekoppelten Prozessorkerne zusammenarbeiten können. Die Prozessorkerne können einen dedizierten Speicherbereich nutzen, in dem sowohl Eingangs- und Ausgangsdaten als auch Synchronisationsoperationen koordiniert werden können, und es kann sichergestellt werden, dass die von den verschiedenen Prozessorkernen durchgeführten Operationsblöcke schließlich in der richtigen Reihenfolge wieder zusammengefügt werden. Diese Funktion, die sowohl In-Order- als auch Out-of-Order-Prozessorkerne unterstützt und nur minimale Änderungen an bestehenden Ausführungsengines erfordert, kann im Vergleich zu einem großen und breiten Kern Leistungssteigerungen, ein kompaktes Design und eine effiziente Nutzung des Platzes auf der Leiterplatte bieten.

Natürlich wird SDC-Unterstützung auch in der Software benötigt, um Aufgaben effizient und effektiv zu verteilen, d. h. um sie in Blöcke aufzuteilen und diese Blöcke dann den einzelnen Prozessorkernen in der richtigen Reihenfolge zuzuweisen. Die Sicherstellung der Integrität der Aufgabenausführung bedeutet einen minimalen Overhead, aber im Gegenzug kann die Leistung verbessert werden, obwohl dies Unterstützung auf Betriebssystemebene erfordert, da es im Wesentlichen das Betriebssystem ist, das entscheidet, ob eine Aufgabe in mehrere Teile aufgeteilt und von einem einzigen Supervisor ausgeführt werden soll oder nicht. Die Leistung wird ein Faktor bei diesem Balanceakt sein, aber auch das Gleichgewicht zwischen Leistung und Verfügbarkeit von Prozessorkernen, die das Betriebssystem dynamisch verwalten muss.

Leider gibt es keine Anhaltspunkte dafür, inwieweit diese Innovation zu einer Beschleunigung führen könnte, aber theoretisch ist es möglich, zwei schmalere Kerne zu kombinieren, um eine Systemleistung zu erzielen, die der eines breiteren Kerns nahe kommt.

Es ist noch nicht klar, von welchen Architekturen wir SDC erwarten können, aber da es sich immer noch um eine Patentanmeldung und nicht um Unterstützung für ein bestimmtes Produkt handelt, ist es möglich, dass SDC nicht in naher Zukunft eingesetzt wird, sondern erst dann, wenn die Bedingungen dafür gegeben sind.

Wir empfehlen Ihnen gerne

    Teste

      Diesbezügliche Artikel

      Zurück zum Seitenanfang