Prozessordesign
Prozessordesign ist ein Unterfeld von Technische Informatik und Elektrotechnik (Herstellung), die sich mit der Erstellung von a befasst Prozessor, eine Schlüsselkomponente von Computerhardware.
Der Entwurfsprozess beinhaltet die Auswahl eines Befehlssatz und ein bestimmtes Ausführungsparadigma (z. VLIW oder RISC) und führt zu a Mikroarchitektur, die in z. VHDL oder Verilog. Zum Mikroprozessor Design wird dann diese Beschreibung hergestellt, die einige der verschiedenen verwendet Herstellung von Halbleitervorrichtungen Prozesse, die zu a führen sterben was an a gebunden ist Chipträger. Dieser Chipträger wird dann gelötet oder in a eingefügt Steckdose auf einen gedruckte Leiterplatte (PCB).
Die Funktionsweise eines Prozessors ist die Ausführung von Anweisungslisten. Die Anweisungen enthalten normalerweise diejenigen, um Datenwerte zu berechnen oder zu manipulieren Register, ändern oder abrufen Werte im Lese-/Schreibspeicher, führen Sie relationale Tests zwischen den Datenwerten und zur Steuerung des Programmflusses durch.
Prozessordesigns werden häufig auf einem oder mehreren FPGAs getestet und validiert, bevor sie das Design des Prozessors an eine Gießerei senden Halbleiterherstellung.[1]
Einzelheiten
Grundlagen
Das CPU -Design ist in das Design der folgenden Komponenten unterteilt:
- Datapaths (wie zum Beispiel Alus und Pipelines)
- Steuergerät: Logik, die die Datapaths steuert
- Erinnerung Komponenten wie Registrieren Sie Dateien, Caches
- Uhr Schaltkreise wie Uhrfahrer, PLLS, Taktverteilungsnetzwerke
- Pad Transceiver Circuit
- Logik -Tor Zelle Bibliothek Welches wird verwendet, um die Logik zu implementieren
CPUs, die für Hochleistungsmärkte entwickelt wurden, müssen für jede dieser Elemente kundenspezifische (optimierte oder anwendungsspezifische (siehe unten)) Designs erfordern, um die Frequenz zu erreichen. Energieverschwendungund Chip-Area-Ziele, während CPUs, die für niedrigere Leistungsmärkte entwickelt wurden geistiges Eigentum. Steuerungstechniken der Logik implementieren (Logiksynthese Verwenden von CAD -Tools) kann verwendet werden, um DataPaths, Registrierung von Dateien und Uhren zu implementieren. Häufige Logikstile, die im CPU -Design verwendet werden, umfassen unstrukturierte Zufallslogik, Finite-State-Maschinen, Mikroprogrammierung (gemeinsam von 1965 bis 1985) und Programmierbare Logikarrays (häufig in den 1980er Jahren, nicht mehr häufig).
Implementierungslogik
Gerätetypen zur Implementierung der Logik umfassen:
- Transistor-Logik Kleine Integration Logikchips - für CPUs nicht mehr verwendet
- Programmierbare Array -Logik und Programmierbare Logikgeräte - Nicht mehr für CPUs verwendet
- Emitter-gekoppelte Logik (ECL) Gate -Arrays - nicht mehr häufig
- CMOs Gate -Arrays - Nicht mehr für CPUs verwendet
- CMOs Massenproduzierter ICs - Die überwiegende Mehrheit von CPUs nach Volumen
- CMOs Asics - Nur für eine Minderheit von speziellen Anwendungen aufgrund von Kosten
- Feldprogrammierbare Gate-Arrays (FPGA) - häufig für Weiche Mikroprozessoren, und mehr oder weniger erforderlich für Rekonfigurierbares Computer
Ein CPU -Designprojekt hat im Allgemeinen diese wichtigen Aufgaben:
- Programmierer sichtbar Anweisungsset Architektur, was durch eine Vielzahl von implementiert werden kann Mikroarchitekturen
- Architekturstudie und Leistungsmodellierung in Ansi c/C ++ oder Systemc[Klarstellung erforderlich]
- Hochrangige Synthese (HLS) oder Übertragungsstufe Register (RTL, z. B. Logik) Implementierung
- RTL Überprüfung
- Schaltungsdesign von Geschwindigkeit kritischen Komponenten (Caches, Register, Alus)
- Logiksynthese oder Design auf Logik-Gate-Ebene
- Zeitanalyse Um zu bestätigen, dass alle Logik und Schaltungen an der angegebenen Betriebsfrequenz ausgeführt werden
- Physisches Design einschließlich Bodenplanung, Platz und Route von logischen Toren
- Überprüfen Sie, ob RTL-, Gate-Level-, Transistor-Level- und physikalische Darstellungen äquivalent sind
- Überprüfungen für Signalintegrität, CHIP -Herstellbarkeit
Die Neugestaltung eines CPU-Kerns in eine kleinere Stanzfläche hilft, alles zu verkleinern (a "Fotomaske Shrink ")), was zu der gleichen Anzahl von Transistoren bei einem kleineren Würfel führt. Es verbessert die Leistung (kleinere Transistoren schneller), reduziert die Leistung (kleinere Drähte haben weniger Parasitäre Kapazität) und die Kosten senken (mehr CPUs passt auf denselben Siliziumwafer). Die Veröffentlichung einer CPU auf derselben Größe sterben, aber mit einem kleineren CPU -Kern hält die Kosten etwa gleich, ermöglicht jedoch ein höheres Integrationsniveau innerhalb eines Sehr große Integration CHIP (zusätzlicher Cache, mehrere CPUs oder andere Komponenten), Verbesserung der Leistung und Reduzierung des Gesamtsystemkostens.
Wie bei den komplexesten elektronischen Designs, die Logiküberprüfung Bemühungen (beweisen, dass das Design keine Fehler hat) dominiert nun den Projektplan einer CPU.
Zu den wichtigsten architektonischen Innovationen der CPU gehören Indexregister, Zwischenspeicher, virtueller Speicher, Unterrichtspipelining, Superscalar, CISC, RISC, virtuelle Maschine, Emulatoren, Mikroprogramm, und Stapel.
Mikroarchitekturkonzepte
Forschungsthemen
Eine Vielzahl von Neue CPU -Designideen wurden vorgeschlagen, einschließlich rekonfigurierbare Logik, COCKLOS CPUS, RechenrAM, und Optisches Computer.
Leistungsanalyse und Benchmarking
Benchmarking ist eine Möglichkeit, die CPU -Geschwindigkeit zu testen. Beispiele sind Specint und Specfp, entwickelt von Standard -Leistungsbewertungsunternehmen, und Verbrauchermark entwickelt vom eingebetteten Mikroprozessor -Benchmark -Konsortium EEMBC.
Einige der häufig verwendeten Metriken umfassen:
- Anweisungen pro Sekunde - Die meisten Verbraucher wählen eine Computerarchitektur (normalerweise Intel Ia32 Architektur) in der Lage sein, eine große Basis bereits vorhandener vorkompilierter Software ausführen zu können. Wenn Sie relativ uninformiert auf Computer -Benchmarks sind, wählen einige von ihnen eine bestimmte CPU basierend auf der Betriebsfrequenz (siehe Megahertz Mythos).
- Flops - Die Anzahl der schwebenden Punktvorgänge pro Sekunde ist häufig wichtig für die Auswahl von Computern für wissenschaftliche Berechnungen.
- Leistung pro Watt - Systemdesigner Gebäude Parallele Computer, wie zum Beispiel GoogleWählen Sie CPUs basierend auf ihrer Geschwindigkeit pro Watt Strom, da die Kosten für die Stromversorgung der CPU die Kosten der CPU selbst überwiegen.[2][3]
- Einige Systemdesigner, die parallele Computer bauen, wählen CPUs basierend auf der Geschwindigkeit pro Dollar.
- Systemdesigner Gebäude Echtzeit-Computing Systeme möchten die schlechteste Reaktion garantieren. Das ist einfacher, wenn die CPU niedrig ist Latenz unterbrechen und wenn es eine deterministische Reaktion hat. (DSP)
- Computerprogrammierer, die direkt in der Montagesprache programmieren möchten Befehlssatz.
- Niedrige Leistung - für Systeme mit begrenzten Stromquellen (z. B. Solar, Batterien, menschliche Kraft).
- Kleine Größe oder niedriges Gewicht - für tragbare eingebettete Systeme, Systeme für Raumfahrzeuge.
- Umweltauswirkungen - Minimierung der Umweltauswirkungen von Computern während der Herstellung und Recycling auch während der Verwendung. Abfall reduzieren, gefährliche Materialien reduzieren. (sehen Umweltfreundliche Computernutzung).
Es kann Kompromisse bei der Optimierung einiger dieser Metriken geben. Insbesondere viele Designtechniken, die einen CPU -Lauf schneller machen, machen die "Leistung pro Watt", "Leistung pro Dollar" und "deterministische Reaktion" viel schlechter und umgekehrt.
Märkte
Es gibt verschiedene Märkte, in denen CPUs verwendet werden. Da sich jeder dieser Märkte in ihren Anforderungen an CPUs unterscheidet, sind die für einen Markt entwickelten Geräte für die anderen Märkte in den meisten Fällen unangemessen.
Allgemeines Computer
Die überwiegende Mehrheit der Einnahmen aus CPU -Verkäufen dient zum Allzweck -Computer, dh Desktop, Laptop und Servercomputer, die üblicherweise in Unternehmen und Häusern verwendet werden. In diesem Markt die Intel IA-32 und die 64-Bit-Version x86-64 Architektur dominiert den Markt mit ihren Rivalen Powerpc und Sparc Aufrechterhaltung viel kleinerer Kundenbasen. Jährlich werden Hunderte Millionen von IA-32-Architektur-CPUs von diesem Markt verwendet. Ein wachsender Prozentsatz dieser Prozessoren bezieht sich auf mobile Implementierungen wie Netbooks und Laptops.[4]
Da diese Geräte verwendet werden, um unzählige verschiedene Arten von Programmen auszuführen, werden diese CPU -Designs nicht speziell auf eine Art von Anwendung oder eine Funktion ausgerichtet. Die Anforderungen, eine breite Palette von Programmen effizient durchzuführen, hat diese CPU -Designs zu den fortgeschritteneren technischeren gemacht, zusammen mit einigen Nachteilen, relativ kostspielig zu sein und einen hohen Stromverbrauch zu haben.
High-End-Prozessorökonomie
Im Jahr 1984 benötigten die meisten Hochleistungs-CPUs vier bis fünf Jahre, um sich zu entwickeln.[5]
Wissenschaftliches rechnen
Scientific Computing ist ein viel kleinerer Nischenmarkt (im Versand von Einnahmen und Einheiten). Es wird in staatlichen Forschungslabors und Universitäten verwendet. Vor 1990 wurde häufig CPU -Design für diesen Markt durchgeführt, aber Massenmarkt -CPUs, die in großen Clustern organisiert wurden, haben sich als erschwinglicher erwiesen. Der wichtigste verbleibende Bereich des aktiven Hardwaredesigns und der Forschung für wissenschaftliche Computing ist für Hochgeschwindigkeitsdatenübertragungssysteme, um Massenmarkt-CPUs zu verbinden.
Eingebettetes Design
Gemessen an versandten Einheiten sind die meisten CPUs in andere Maschinen eingebettet, z. B. Telefone, Uhren, Geräte, Fahrzeuge und Infrastruktur. Eingebettete Prozessoren verkaufen sich im Volumen von vielen Milliarden Einheiten pro Jahr, hauptsächlich zu viel niedrigeren Preisspunkten als die der allgemeinen Verarbeiter.
Diese Einzelfunktionsgeräte unterscheiden sich in mehrfacher Hinsicht von den bekannteren CPUs mit allgemeinem Zweck:
- Niedrige Kosten sind von großer Bedeutung.
- Es ist wichtig, eine Verlustleistung mit geringer Leistung aufrechtzuerhalten, da eingebettete Geräte häufig eine begrenzte Akkulaufzeit haben, und es ist oft unpraktisch, Kühlventilatoren einzubeziehen.
- Um geringere Systemkosten zu erzielen, werden Peripheriegeräte in den Prozessor auf demselben Siliziumchip integriert.
- Durch das Einhalten von Peripheriegeräten wird auch der Stromverbrauch reduziert, da externe GPIO-Anschlüsse normalerweise eine Pufferung erfordern, damit sie die relativ hohen Stromlasten beziehen oder sinken können, die erforderlich sind, um ein starkes Signal außerhalb des Chips aufrechtzuerhalten.
- Viele eingebettete Anwendungen haben eine begrenzte Menge an physischer Raum für Schaltkreise. Wenn Sie die Peripheriegeräte auf dem Chip beibehalten, verringert sich der für die Leiterplatte erforderliche Platz.
- Das Programm und die Datenerinnerungen werden häufig in denselben Chip integriert. Wenn der einzige erlaubte Programmspeicher ist Rom, das Gerät ist als a bekannt Mikrocontroller.
- Für viele eingebettete Anwendungen wird die Interrupt-Latenz kritischer sein als bei einigen allgemeinen Prozessoren.
Eingebettete Prozessorökonomie
Die eingebettete CPU -Familie mit der größten Anzahl von Gesamteinheiten, die versandt werden, ist die 8051durchschnittlich fast eine Milliarde Einheiten pro Jahr.[6] Der 8051 wird weit verbreitet, weil er sehr kostengünstig ist. Die Entwurfszeit ist jetzt ungefähr Null, da sie als kommerzielles geistiges Eigentum weit verbreitet ist. Es wird jetzt oft als kleiner Teil eines größeren Systems auf einem Chip eingebettet. Die Siliziumkosten von 8051 sind jetzt bis zu 0,001 US -Dollar, da einige Implementierungen bis zu 2.200 Logiktore verwenden und 0,4730 Quadratmillimeter Silizium nehmen.[7][8]
Ab 2009 werden mehr CPUs unter Verwendung der produziert Armarchitektur Anweisungssatz als jeder andere 32-Bit-Befehlssatz.[9][10] Die ARM -Architektur und der erste Armchip wurden in etwa eineinhalb Jahren und 5 menschlichen Arbeitszeiten entworfen.[11]
Der 32-Bit Parallaxe Propeller Die Mikrocontroller -Architektur und der erste Chip wurden von zwei Personen in etwa 10 menschlichen Arbeitszeiten entworfen.[12]
Der 8-Bit AVR Architektur Und der erste AVR -Mikrocontroller wurde von zwei Studenten des norwegischen Instituts für Technologie konzipiert und entworfen.
Die 8-Bit 6502 Architektur und die erste MOS -Technologie 6502 Chip wurde in 13 Monaten von einer Gruppe von etwa 9 Personen entworfen.[13]
Forschungs- und Bildungs -CPU -Design
Das 32 Bit Berkeley Risc Die Prozessoren von I und RISC II wurden hauptsächlich von einer Reihe von Studenten als Teil einer vier Viertel -Sequenz von Graduiertenkursen entworfen.[14] Dieses Design wurde zur Grundlage des Werbespots Sparc Prozessordesign.
Etwa ein Jahrzehnt lang war jeder Schüler, der die 6.004 -Klasse am MIT nahm 7400 Serie integrierte Schaltkreise. Ein Team von 4 Studenten entwarf und baute während dieses Semesters eine einfache 32 -Bit -CPU.[15]
In einigen Kursen im Grundstudium ist ein Team von 2 bis 5 Studenten erforderlich, um eine einfache CPU in einem FPGA in einem einzigen 15-wöchigen Semester zu entwerfen, umzusetzen und zu testen.[16]
Die Multititaner -CPU wurde mit 2,5 -mannsjährigen Anstrengungen entworfen, was zu dieser Zeit als "relativ wenig Designanstrengungen" angesehen wurde.[17] 24 Personen trugen zum 3,5 -jährigen multititischen Forschungsprojekt bei, das das Entwerfen und Erstellen einer Prototyp -CPU umfasste.[18]
Weiche Mikroprozessorkerne
Bei eingebetteten Systemen sind die höchsten Leistungsniveaus aufgrund der Stromverbrauchsanforderungen häufig nicht benötigt oder gewünscht. Dies ermöglicht die Verwendung von Prozessoren, die vollständig implementiert werden können durch Logiksynthese Techniken. Diese synthetisierten Prozessoren können in viel kürzerer Zeit implementiert werden, was schneller verleiht Zeit-auf-Markt.
Siehe auch
- Amdahls Gesetz
- Zentrale Verarbeitungseinheit
- Vergleich der Architekturen für den Unterrichtssatz
- Komplexer Befehlssatz Computer
- Elektronische Designautomatisierung
- Hochrangige Synthese
- Vorgeschichte des allgemeinen CPUs
- Integriertes Schaltungsdesign
- Mikroarchitektur
- Mikroprozessor
- Minimaler Befehlssatz Computer
- Moores Gesetz
- Reduzierter Befehlssatz Computer
- System-on-a-Chip
- Prozessdesign -Kit - Eine Reihe von Dokumenten, die für einen Halbleiter -Geräteproduktionsprozess erstellt oder akkumuliert wurden
Verweise
- ^ Cutress, Ian (27. August 2019). "Xilinx kündigt weltgrößte FPGA an: Virtex Ultrascale+ VU19p mit 9M Zellen". Anandtech.
- ^ "EEMBC Consumermark". Archiviert von das Original am 27. März 2005.
- ^ Stephen Shankland (9. Dezember 2005). "Macht könnte mehr kosten als Server, warnt Google". ZDNET.
- ^ Kerr, Justin. "AMD verliert zum ersten Mal den Marktanteil als mobiler CPU -Vertriebs -Outsell -Desktop." Maximaler PC. Veröffentlicht 2010-10-26.
- ^ "Neues System verwaltet Hunderte von Transaktionen pro Sekunde" Artikel von Robert Horst und Sandra Metz von Tandem Computern Inc., "Electronics" Magazine, 1984, 19. April: "Während die meisten Hochleistungs-CPUs vier bis fünf Jahre benötigen, um sich zu entwickeln Nonstop Der TXP -Prozessor brauchte nur 2+1/2 Jahre - sechs Monate, um eine vollständige schriftliche Spezifikation zu entwickeln, ein Jahr, um einen funktionierenden Prototyp zu errichten, und ein weiteres Jahr, um die Volumenproduktion zu erreichen. "
- ^ Curtis A. Nelson. "8051 Übersicht" (PDF). Archiviert von das Original (PDF) Am 2011-10-09. Abgerufen 2011-07-10.
- ^ "T8051 Tiny 8051-kompatibler Mikrocontroller" (PDF). Archiviert von das Original (PDF) Am 2011-09-29.
- ^ Dollar pro Quadratmillimeter zu digonieren, siehe [1]und beachten Sie, dass eine SOC -Komponente keine PIN- oder Verpackungskosten hat.
- ^ "Armkerne klettern in 3G Territory" von Mark Hachman, 2002.
- ^ "Die zwei Prozent Lösung" von Jim Turley 2002.
- ^ "Arm's Way" 1998
- ^ "Warum der Propeller funktioniert" durch Chip Gracey
- ^ "Interview mit William Mensch". Archiviert von das Original am 2016-03-04. Abgerufen 2009-02-01.
- ^ CH. Paillette; D.A. Patterson. "Design und Implementierung von RISC I" (PDF).
- ^ "Der VHS". Archiviert von das Original Am 2010-02-27.
- ^ Jan Gray. "Computerdesign mit FPGAs unterrichten".
- ^ Jouppi, N.P.; Tang, J.Y.-F. (Oktober 1989). "Ein 20 MIPS hat einen 32-Bit-CMOS-Mikroprozessor mit einem hohen Verhältnis von anhaltenden zur Spitzenleistung". IEEE Journal of Solid-State Circuits. 24 (5): 1348–1359. Bibcode:1989IJSSC..24.1348J. doi:10.1109/jssc.1989.572612.
- ^ "Multititaner: vier Architekturpapiere" (PDF). 1988. S. 4–5.
Allgemeine Referenzen
- Hwang, Enoch (2006). Digital Logic und Mikroprozessordesign mit VHDL. Thomson. ISBN 0-534-46593-5.
- Prozessordesign: Eine Einführung