Wie Prozessoren entworfen und hergestellt werden: die Zukunft der Computerarchitekturen

Bild

Trotz kontinuierlicher Verbesserungen und schrittweiser Fortschritte in jeder neuen Generation haben sich in der Prozessorindustrie seit langem keine grundlegenden Veränderungen ergeben. Ein großer Fortschritt war der Übergang von Vakuum zu Transistoren sowie der Übergang von einzelnen Komponenten zu integrierten Schaltkreisen. Nach ihnen traten jedoch keine ernsthaften Paradigmenwechsel in der gleichen Größenordnung auf.

Ja, Transistoren sind kleiner geworden, Chips schneller und die Leistung hat sich hunderte Male erhöht, aber wir sehen allmählich eine Stagnation ...

Dies ist der vierte und letzte Teil einer Reihe von Artikeln zur CPU-Entwicklung, die sich mit dem Design und der Herstellung von Prozessoren befassen. Ausgehend von einer hohen Ebene haben wir gelernt, wie Computercode in Assemblersprache und dann in binäre Anweisungen kompiliert wird, die die CPU interpretiert. Wir haben diskutiert, wie die Prozessorarchitektur aufgebaut ist und wie sie Anweisungen verarbeitet. Dann haben wir uns die verschiedenen Strukturen angesehen, aus denen der Prozessor besteht.

Etwas tiefer in dieses Thema hinein haben wir gesehen, wie diese Strukturen entstehen und wie Milliarden von Transistoren im Prozessor zusammenarbeiten. Wir haben den Prozess der physikalischen Herstellung von Prozessoren aus Rohsilizium untersucht. Wir haben etwas über die Eigenschaften von Halbleitern gelernt und wie die Innenseiten eines Chips aussehen. Wenn Sie eines der Themen verpasst haben, finden Sie hier eine Liste der Artikel in der Reihe:

Teil 1: Grundlagen der Computerarchitektur (Befehlssatzarchitekturen, Caching, Pipelines, Hyperthreading)
Teil 2: CPU-Entwurfsprozess (elektrische Schaltungen, Transistoren, Logikelemente, Synchronisation)
Teil 3: Aufbau und physikalische Herstellung des Chips (VLSI- und Siliziumherstellung)
Teil 4: Aktuelle Trends und wichtige zukünftige Richtungen in der Computerarchitektur (Meer von Beschleunigern, dreidimensionale Integration, FPGA, Near Memory Computing)

Fahren wir mit dem vierten Teil fort. Die Entwicklungsunternehmen teilen der Öffentlichkeit weder ihre Forschung noch die Details moderner Technologien mit, so dass es für uns schwierig ist, uns klar vorzustellen, was genau sich in der CPU des Computers befindet. Wir können jedoch einen Blick auf die moderne Forschung werfen und herausfinden, in welche Richtung sich die Branche bewegt.

Eines der bekanntesten Bilder der Prozessorindustrie ist das Mooresche Gesetz. Es heißt, dass sich die Anzahl der Transistoren in einem Chip alle 18 Monate verdoppelt. Diese Faustregel war lange Zeit fair, aber das Wachstum beginnt sich zu verlangsamen. Transistoren werden so klein, dass wir uns der Grenze physikalisch erreichbarer Größen nähern. Ohne eine revolutionäre neue Technologie müssen wir in Zukunft andere Möglichkeiten für Produktivitätswachstum ausloten.


Moores Gesetz seit 120 Jahren. Dieses Diagramm wird noch interessanter, wenn Sie erfahren, dass sich die letzten 7 Punkte auf die Nvidia-GPU und nicht auf Allzweckprozessoren beziehen. Steve Jarvetson Illustration

Aus dieser Analyse folgt eine Schlussfolgerung: Um die Produktivität zu steigern, begannen die Unternehmen, die Anzahl der Kerne anstelle der Häufigkeit zu erhöhen. Aus diesem Grund beobachten wir, wie weit verbreitet Achtkernprozessoren sind, anstatt Doppelkernprozessoren mit einer Frequenz von 10 GHz. Wir haben nur noch wenig Raum für Wachstum, außer das Hinzufügen neuer Kerne.

Andererseits verspricht das Gebiet des Quantencomputers einen riesigen Raum für zukünftiges Wachstum. Ich bin keine Spezialistin, und da ihre Technologien noch entwickelt werden, gibt es auf diesem Gebiet immer noch wenige echte "Spezialisten". Um die Mythen zu zerstreuen, werde ich sagen, dass Quantencomputer nicht in der Lage sein werden, 1000 Bilder pro Sekunde in einem realistischen Render oder so etwas bereitzustellen. Bisher besteht der Hauptvorteil von Quantencomputern darin, dass sie die Verwendung komplexerer Algorithmen ermöglichen, die zuvor nicht erreichbar waren.


Einer der Prototypen von IBM Quantencomputern

In herkömmlichen Computern ist der Transistor entweder ein- oder ausgeschaltet, was 0 oder 1 entspricht. In einem Quantencomputer ist eine Überlagerung möglich, dh ein Bit kann gleichzeitig in den Zuständen 0 und 1 vorliegen. Dank dieser neuen Funktion können Wissenschaftler neue Berechnungsmethoden für entwickeln Sie werden in der Lage sein, Probleme zu lösen, für die wir immer noch nicht genügend Rechenleistung haben. Es geht nicht so sehr darum, dass Quantencomputer schneller sind, sondern dass sie ein neues Rechenmodell sind, mit dem wir andere Arten von Problemen lösen können.

Es sind noch ein oder zwei Jahrzehnte bis zur Masseneinführung dieser Technologie. Welche Trends sehen wir heute bei echten Prozessoren? Dutzende aktiver Forschungen sind im Gange, aber ich werde nur einige Bereiche ansprechen, die meiner Meinung nach den größten Einfluss haben werden.

Ein wachsender Trend ist der Einfluss von heterogenem Computing . Diese Technik besteht darin, viele verschiedene Computerelemente in ein System zu integrieren. Die meisten von uns nutzen diesen Ansatz als separate GPUs in Computern. Der Zentralprozessor ist sehr flexibel und kann mit einer anständigen Geschwindigkeit eine Vielzahl von Computeraufgaben ausführen. Auf der anderen Seite sind GPUs speziell für grafische Berechnungen wie die Matrixmultiplikation konzipiert. Sie kommen damit sehr gut zurecht und sind in solchen Anweisungen um Größenordnungen schneller als die CPU. Durch die Übertragung eines Teils der Grafikberechnungen von der CPU auf die GPU können wir die Berechnungen beschleunigen. Jeder Programmierer kann die Software durch Ändern des Algorithmus optimieren, die Optimierung der Ausrüstung ist jedoch viel schwieriger.

Die GPU ist jedoch nicht der einzige Bereich, in dem Beschleuniger immer beliebter werden. Die meisten Smartphones verfügen über Dutzende von Hardwarebeschleunigern, mit denen ganz bestimmte Aufgaben beschleunigt werden können. Diese Art der Datenverarbeitung wird als Sea of ​​Accelerators bezeichnet . Beispiele hierfür sind kryptografische Prozessoren, Bildprozessoren, Beschleuniger für maschinelles Lernen, Videocodierer / -decodierer, biometrische Prozessoren und vieles mehr.

Die Lasten werden immer spezialisierter, daher nehmen Designer mehr Beschleuniger in ihre Chips auf. Cloud-Dienstanbieter wie AWS haben begonnen, Entwicklern FPGA-Karten zur Verfügung zu stellen, um ihr Cloud-Computing zu beschleunigen. Im Gegensatz zu herkömmlichen Computerelementen wie CPUs und GPUs, die eine feste interne Architektur haben, sind FPGAs flexibel. Dies ist eine fast programmierbare Ausrüstung, die an die Bedürfnisse des Unternehmens angepasst werden kann.

Wenn jemand eine Bilderkennung benötigt, implementiert er diese Algorithmen in die Hardware. Wenn jemand die Arbeit einer neuen Hardwarearchitektur simulieren möchte, kann diese vor der Herstellung auf einem FPGA getestet werden. FPGA bietet eine höhere Leistung und Energieeffizienz als die GPU, aber immer noch weniger als der ASIC (anwendungsspezifische integrierte Schaltung - eine spezielle integrierte Schaltung). Andere Unternehmen wie Google und Nvidia entwickeln separate ASICs für maschinelles Lernen, um die Bilderkennung und -analyse zu beschleunigen.


Kristallaufnahmen beliebter mobiler Prozessoren zeigen ihre Struktur.

Wenn Sie sich die Kristallbilder im Vergleich zu modernen Prozessoren ansehen, sehen Sie, dass der Kern selbst nicht den größten Teil des CPU-Bereichs einnimmt. Verschiedene Beschleuniger nehmen einen größeren Anteil ein. Dies ermöglichte es, sehr spezielle Berechnungen zu beschleunigen und den Stromverbrauch erheblich zu senken.

Zuvor mussten Entwickler einen neuen Chip installieren, als das Videoverarbeitungssystem erweitert werden musste. Es ist jedoch hinsichtlich des Energieverbrauchs sehr ineffizient. Jedes Mal, wenn ein Signal einen Chip durch einen physikalischen Leiter zu einem anderen Chip verlassen muss, wird pro Bit eine große Energiemenge benötigt. Der winzige Teil des Joule selbst scheint keine besonders große Verschwendung zu sein, aber die Übertragung von Daten innerhalb und nicht außerhalb des Chips kann 3-4 Größenordnungen effizienter sein. Dank der Integration solcher Beschleuniger in die CPU ist kürzlich die Anzahl der Chips mit extrem geringem Stromverbrauch gestiegen.

Beschleuniger sind jedoch nicht ideal. Je mehr wir sie der Schaltung hinzufügen, desto weniger flexibel wird der Chip und wir beginnen, die Gesamtleistung zugunsten der Spitzenleistung spezialisierter Computertypen zu opfern. Irgendwann verwandelt sich der gesamte Chip einfach in einen Satz Beschleuniger und ist keine nützliche CPU mehr. Das Gleichgewicht zwischen spezialisierter Computerleistung und Gesamtleistung wird immer sehr sorgfältig abgestimmt. Diese Diskrepanz zwischen Allzweckgeräten und Speziallasten wird als Spezialisierungslücke bezeichnet .

Obwohl einige Leute denken. Da wir uns auf dem Höhepunkt der GPU / Machine Learning-Blase befinden, können wir höchstwahrscheinlich erwarten, dass immer mehr Computer auf spezialisierte Beschleuniger übertragen werden. Cloud Computing und KI entwickeln sich weiter, sodass GPUs die beste Lösung sind, um das erforderliche Volumen an volumetrischem Computing zu erreichen.

Ein weiterer Bereich, in dem Designer nach Möglichkeiten suchen, die Produktivität zu steigern, ist das Gedächtnis. Das Lesen und Schreiben von Werten war traditionell immer einer der schwerwiegendsten Engpässe bei Prozessoren. Schnelle und große Caches können uns helfen, aber das Lesen aus RAM oder SSD kann Zehntausende von Taktzyklen dauern. Daher sehen Ingenieure den Speicherzugriff häufig als teurer an als die Berechnungen selbst. Wenn der Prozessor zwei Zahlen hinzufügen möchte, muss er zuerst die Speicheradressen berechnen, unter denen die Zahlen gespeichert sind, herausfinden, auf welcher Ebene der Speicherhierarchie diese Daten vorhanden sind, die Daten in Register einlesen, Berechnungen durchführen, die Empfängeradresse berechnen und den Wert an die richtige Stelle schreiben. Für einfache Anweisungen, die ein bis zwei Zyklen dauern können, ist dies äußerst ineffizient.

Eine neue Idee, die aktiv erforscht wird, ist eine Technik namens Near Memory Computing . Anstatt kleine Daten aus dem Speicher abzurufen und mit einem schnellen Prozessor zu berechnen, stellen die Forscher die Arbeit auf den Kopf. Sie experimentieren mit der Erstellung kleiner Prozessoren direkt in RAM- oder SSD-Speichercontrollern. Aufgrund der Tatsache, dass sich die Berechnungen dem Speicher nähern, besteht das Potenzial für enorme Energie- und Zeiteinsparungen, da Daten nicht mehr so ​​oft übertragen werden müssen. Computermodule haben direkten Zugriff auf die benötigten Daten, da sie sich direkt im Speicher befinden. Diese Idee steckt noch in den Kinderschuhen, aber die Ergebnisse sehen vielversprechend aus.

Eine der Hürden, die beim Near-Memory-Computing zu überwinden sind, sind die Einschränkungen des Herstellungsprozesses. Wie im dritten Teil erwähnt , ist der Siliziumproduktionsprozess sehr komplex und umfasst Dutzende von Stufen. Diese Verfahren sind normalerweise auf die Herstellung von schnellen Logikelementen oder dicht beabstandeten Speicherelementen spezialisiert. Wenn Sie versuchen, einen Speicherchip mithilfe eines für die Berechnung optimierten Herstellungsprozesses zu erstellen, erhalten Sie einen Chip mit einer extrem geringen Elementdichte. Wenn wir versuchen, einen Prozessor mithilfe des Laufwerksherstellungsprozesses zu erstellen, erhalten wir eine sehr geringe Leistung und große Zeitabläufe.


3D-Integrationsbeispiel mit vertikalen Verbindungen zwischen Transistorschichten.

Eine mögliche Lösung für dieses Problem ist die 3D-Integration . Herkömmliche Prozessoren haben eine sehr breite Schicht von Transistoren, dies hat jedoch seine Grenzen. Wie der Name schon sagt, ist die dreidimensionale Integration der Prozess, bei dem mehrere Schichten von Transistoren übereinander angeordnet werden, um die Dichte zu erhöhen und Verzögerungen zu verringern. Vertikale Säulen, die in verschiedenen Herstellungsprozessen hergestellt wurden, können dann zum Verbinden zwischen Schichten verwendet werden. Diese Idee wurde vor langer Zeit vorgeschlagen, aber die Industrie hat aufgrund schwerwiegender Schwierigkeiten bei der Umsetzung das Interesse daran verloren. In jüngster Zeit erleben wir die Entstehung der 3D-NAND-Speichertechnologie und die Wiederbelebung dieses Forschungsbereichs.

Neben physischen und architektonischen Veränderungen wird ein weiterer Trend die gesamte Halbleiterindustrie stark betreffen - eine stärkere Betonung der Sicherheit. Bis vor kurzem wurde die Prozessorsicherheit fast im letzten Moment gedacht. Dies ähnelt der Entwicklung des Internets, der E-Mail und vieler anderer Systeme, die wir heute aktiv nutzen, fast ohne Rücksicht auf die Sicherheit. Alle bestehenden Schutzmaßnahmen wurden bei Zwischenfällen „vermasselt“, damit wir uns sicher fühlen. Auf dem Gebiet der Prozessoren haben solche Taktiken Unternehmen und insbesondere Intel geschadet.

Bugs Spectre und Meltdown sind wahrscheinlich die bekanntesten Beispiele dafür, wie Designer Funktionen hinzufügen, die den Prozessor erheblich beschleunigen, ohne sich der damit verbundenen Sicherheitsrisiken bewusst zu sein. Bei der Entwicklung moderner Prozessoren wird der Sicherheit als Schlüsselelement der Architektur viel mehr Aufmerksamkeit geschenkt. Wenn die Sicherheit verbessert wird, leidet häufig die Leistung. Angesichts der Schäden, die durch schwerwiegende Sicherheitslücken verursacht werden können, kann jedoch mit Sicherheit gesagt werden, dass es besser ist, sich im gleichen Maße auf die Sicherheit wie auf die Leistung zu konzentrieren.

In den vorherigen Teilen der Serie haben wir Techniken wie die Synthese auf hoher Ebene angesprochen, mit denen Designer die Struktur zunächst in einer höheren Sprache beschreiben und dann mit komplexen Algorithmen die optimale Hardwarekonfiguration für die Funktion bestimmen können. Mit jeder Generation werden Konstruktionszyklen teurer, daher suchen Ingenieure nach Möglichkeiten, die Entwicklung zu beschleunigen. Es ist zu erwarten, dass sich dieser Trend beim Hardware-Design mit Software in Zukunft nur noch verstärken wird.

Natürlich können wir die Zukunft nicht vorhersagen, aber die innovativen Ideen und Forschungsbereiche, die wir in diesem Artikel berücksichtigen, können als Richtlinien für die Erwartungen bei der Gestaltung zukünftiger Prozessoren dienen. Wir können zuversichtlich sagen, dass wir uns dem Ende der üblichen Verbesserungen des Herstellungsprozesses nähern. Um die Produktivität in jeder Generation weiter zu steigern, müssen Ingenieure noch komplexere Lösungen erfinden.

Wir hoffen, dass unsere Serie von vier Artikeln Ihr Interesse geweckt hat, das Design, die Verifizierung und die Produktion von Prozessoren zu untersuchen. Es gibt unendlich viele Materialien zu diesem Thema, und wenn wir versuchen würden, alle aufzudecken, könnte jeder Artikel zu einem ganzen Universitätskurs werden. Ich hoffe, Sie haben etwas Neues gelernt und jetzt verstehen Sie besser, wie hochentwickelt Computer auf jeder Ebene sind.

Source: https://habr.com/ru/post/de458670/


All Articles