Warum brauchen wir so viele Transistoren in einem Chip und wie werden sie verwaltet?

7

Mein Wissen ist sehr vage, da wir nur visuelle Diagramme usw. haben, aber wir haben Speicheradressen und Register, wobei die ALU (anscheinend) das Herz ist. Single-Core-CPUs verarbeiten jeweils einen Befehl. AFAIK und Multi-Core-CPUs weisen bis zu einem gewissen Grad Parallelität auf. Woher kommen also die Millionen von Transistoren und wie verwalten 32 Register alles? Ich weiß, wir haben FPUs, wie viele Transistoren diese ungefähr verwenden würden. Jeder Weg, um eine ziemlich einfache Vorstellung davon zu bekommen, was der Großteil der Transistoren tut, warum mehr schneller bedeutet und wie die Register alles "verwalten".

user12979
quelle
5
Ich denke, dies liegt unter der Auflösung von CS; Vielleicht wäre diese Frage in der Elektrotechnik besser dran ? ( Diese Frage kann hilfreich sein.)
Raphael
2
Warum sagen Sie, dass die Register die CPU verwalten? Das scheint zu sagen, dass ein Stück Papier auf meinem Schreibtisch mich verwaltet; ist es nicht umgekehrt?
David Richerby
ziemlich ähnlich zu dieser Frage, wie ein Computer funktioniert . Die Frage scheint zu sein, wie die verschiedenen Transistoren auf verschiedene fns der CPU verteilt sind. Tatsächlich spielt die erwähnte ALU eine bedeutende Rolle ... da für die letzte Frage "wie die Register alles verwalten" nicht sehr aussagekräftig ist, die Register nichts "verwalten", ist es eher so, dass ein Compiler die Verwendung von Registern "verwaltet" Optimierung etc .... man kann Arbeitscode schreiben, der fast keine Register verwendet.
vzn
4
Warum bedeuten mehr Transistoren mehr Rechenleistung? auf der Electrical Engineering SE könnte von Interesse sein. (Ich bin etwas stolz auf meine Antwort dort, aber es könnte ein wenig zu technisch sein.)
Paul A. Clayton

Antworten:

14

Das ist eine große Frage. Eine vollständige Antwort würde viel mehr Platz in Anspruch nehmen, als Sie lesen möchten (ganz zu schweigen davon, dass ich vermute, dass die Länge einer SE-Antwort begrenzt ist), aber ich werde versuchen, Ihnen eine Vorstellung davon zu geben, was vor sich geht in der CPU.

Erstens ist ein Transistor (wenn er in einer CPU verwendet wird) im Wesentlichen ein Schalter, wie ein Lichtschalter, außer dass Sie ihn nicht manuell ein- oder ausschalten müssen. Sie wird vielmehr durch elektrischen Strom gesteuert. Das Wichtigste, was zu verstehen ist, ist, dass moderne Computer Geräte mit zwei Zuständen sind: Das einzige, was wirklich zählt, ist, ob ein Kabel einen Strom hat oder nicht.

Man beginnt dann den Prozess des Chipdesigns, indem man beispielsweise entscheidet, wie eine ganze Zahl (oder andere Daten) dargestellt wird. Beispielsweise für Ganzzahlen entscheiden sich die Chipdesigner im Allgemeinen für sie, indem sie Drähte in einer logischen Einheit zusammenfassen. Mit einer Sammlung von vier Drähten 16 mögliche Muster dargestellt werden: , wobei ein Muster wie eine Spannung in den Drähten 1, 2 und 4 und keine Spannung in Draht 3 darstellen würde und diese Sammlung möglicherweise als Nummer 13 interpretiert wird. In diesem Beispiel Wir hätten einen 4-Bit-Chip . Ein moderner Computer würde entweder 32 oder 64 Drähte als Einheit behandeln.0000,0001,11111101

Es kommt vor, dass man mit einer entsprechend verbundenen Sammlung von Schaltern (auch Transistoren genannt) Dinge tun kann, wie zwei Zahlen hinzufügen, zwei Zahlen auf Gleichheit vergleichen, entscheiden, ob eine Zahl Null ist oder nicht, und so weiter. Oft werden alle diese Operationen gleichzeitig gleichzeitig ausgeführt, und die relevante wird durch die aktuelle Anweisung ausgewählt, die bestimmt, welches der verschiedenen Ergebnisse verwendet werden soll und wohin dieses Ergebnis gesendet wird. Die gesamte Verkehrssteuerung wird auch von Schaltern gesteuert, abhängig von der aktuellen Anweisung (in dem ausgeführten Programm). Darüber hinaus können durch diese Schalter auch Dinge wie Speicher und Register implementiert werden, in denen Informationen gespeichert sind.

Um ein Gefühl für die Anzahl der verwendeten Transistoren zu bekommen, benötigt eine Addiererschaltung in einem Bit-Computer möglicherweise etwa Transistoren, ein Bit-Register benötigt möglicherweise Transistoren und die Verkehrssteuerungsschaltung, um die Ergebnisse an die zu senden Der richtige Ort erfordert möglicherweise mehrere hundert mehr für jedes Bit. Es ist nicht schwer vorstellbar, dass eine moderne CPU mit viel Funktionalität und einem breiten Datenpfad (die Anzahl der miteinander verbundenen Drähte) leicht Millionen von Transistoren aufnehmen kann.n20nn50n

Die Frage, warum "mehr [Transistoren] schneller bedeutet", lautet "nicht unbedingt". Wenn Sie jedoch die Breite des Datenpfads von 32 Bit auf 64 verdoppeln, können Sie im Allgemeinen größere Zahlen in einem einzigen bearbeiten Anweisung auf Kosten von mehr Transistoren.

Schließlich "verwalten" die Register nicht wirklich alles. Ein Register ist einfach eine sehr schnelle Speichereinheit, die Informationen viel schneller speichern und abrufen kann als beispielsweise RAM-Speicher. Aus diesem Grund werden Dinge wie der aktuelle Befehl häufig in einem speziellen Register (dem so genannten Befehlsregister) gespeichert, einfach weil der Zugriff auf seine Bits sehr schnell ist. Der aktuelle Befehl "verwaltet tatsächlich alles" und wird in einem Geschwindigkeitsregister gespeichert.

Dies ist eine sehr abgekürzte Erklärung - ich habe eine Menge Details ausgelassen und viele technische Fragen beschönigt, aber ich hoffe, es gibt Ihnen zumindest einen Eindruck davon, was in einem modernen Computer vor sich geht. [Eintritt in den Duck-and-Cover-Modus in Erwartung von Beschwerden von Computeringenieuren]

Rick Decker
quelle
3
Das "mehr Mittel schneller" kam aus den vielen Jahren, als das Moore'sche Gesetz (Transistorskalierung) und die Frequenzskalierung fast gleich schnell abliefen. In den Köpfen vieler Menschen sind sie immer noch ein bisschen zusammengewachsen. Eine andere Sache zu erwähnen - es gibt hier den Eindruck, dass alles linear ist; Es gibt jedoch eine Reihe von Stellen, an denen die Anzahl der Transistoren in der Anzahl der Stufen, Elemente oder Drähte polynomisch oder höher ist.
Matthew G.
Dies ist eine großartige kurze Antwort. Wenn Sie die lange und detaillierte Antwort eines äußerst begabten Autors und berühmten frühen Windows-Programmier-Gurus wünschen, empfehle ich das Buch Code von Charles Petzold. Ich habe 7 oder 8 Exemplare dieses Buches verschenkt und empfehle es jedem, der wissen möchte, wie moderne Computer funktionieren. Er beginnt mit einfachen logischen Bausteinen, die aus elektrischen Relais aufgebaut werden können, und verfolgt den Fortschritt bis hin zu einer einfachen CPU mit Speicherzugriff. Mit jedem Entwicklungskapitel sehen Sie, wohin alle Transistoren gehen. Seine Buchwebseite
inflector
6

Normalerweise erfordert ein Bit Cache-Speicher 6 Transistoren (einige Designs verwenden mehr oder weniger unterschiedliche Kompromisse; siehe http://en.wikipedia.org/wiki/Static_random-access_memory ), sodass moderne CPUs mit großen Caches viel Transistoren verbrauchen Dort.

Moderne CPUs führen auch mehrere Befehle gleichzeitig aus, sodass sich auf dem Chip mehrere Ausführungseinheiten (ALUs) befinden, von denen jede ziemlich komplex ist.

Bestimmte mathematische Algorithmen in der FPU können durch Tabellensuche plus Interpolation beschleunigt werden. Der reziproke Quadratwurzelbefehl in Intel SSE-Einheiten wird beispielsweise mit einer Tabelle implementiert, die fast sofort eine 12-Bit-Genauigkeit bietet. Diese Tabelle ist im Wesentlichen ein Stück ROM auf dem Chip - das heißt, noch mehr Transistoren.

Russell Borogove
quelle
1

Hier gibt es mehrere Fragen, die sich nur auf eine konzentrieren. Die Transistoren auf einem Chip sind "ungefähr" proportional zur Oberfläche, die für die Transistoren verwendet wird. Sie können also Diagramme eines Chips finden, die die grafischen Grenzen verschiedener Subsysteme zeigen, und einfach die Formel verwenden, dass die Anzahl der Transistoren in einer Region gleich dem Verhältnis der Fläche dieser Region zur Gesamtfläche mal der Gesamtzahl der Transistoren auf dem Chip ist.

Beispiel in diesem Artikel:

Abb. 1 zeigt die grafischen Grenzen auf dem Chip. In Abb. 4 sind der Bereich und die Anzahl der Geräte in Millionenhöhe für die einzelnen Funktionen der CPU angegeben. Die Ausnahme ist, dass es den Anschein hat, dass Cache-Schaltungen sehr dicht sind und viel mehr Transistoren pro Bereich haben. Es scheint 3x die Transistoren bei 2/3 der Fläche zu haben. Anscheinend sieht es auf diesem Chip so aus, als ob die Transistoren für den schnellen Cache vorgesehen sind.

vzn
quelle
-2

Die einfache Antwort lautet: Transistoren sind die Grundkomponenten von Logikgattern, Registern und Speichervorrichtungen. Ihre verschiedenen Konfigurationen ermöglichen die oder und nicht und Flip-Flops, die die Register und Prozessoren höherer Ordnung umfassen. Suchen Sie die 7404 (nicht Tor) 7408 (und) und die 7432 (oder Tore). Die Basis 7474 und 74279 sind Speicherkonfigurationen. Ich bin mir nicht sicher, ob National Semiconductor den aktuellen Schaltplan noch veröffentlicht, Texas Instruments jedoch.

SkipBerne
quelle
3
Sie graben viele alte Fragen aus und veröffentlichen Antworten, die nicht viel hinzuzufügen scheinen (oder in einer sehr überzeugenden Form). Überlegen Sie vor der Beantwortung sorgfältig, ob Sie wirklich etwas hinzufügen können, das frühere Antworten nicht liefern, und achten Sie darauf, dass es in verdaulicher Form unter Einhaltung wissenschaftlicher Standards (Referenzen, Beweise, ...) präsentiert wird
Raphael
Ich habe keine tatsächlichen Schaltkreisantworten auf die Fragen gesehen. Ich denke, Klarheit und Einfachheit tragen zur Diskussion bei. nicht wirklich interessiert an Ihrer Meinung zu meinen Beiträgen oder der Bewertung meiner Antworten. Tatsächlich finde ich Ihre Antwort eher snobistisch und herablassend. Vielleicht sollten Sie sich an dieselben Erwartungen halten und aufhören, das Recht anderer auf freie Meinungsäußerung zu kontrollieren.
SkipBerne
1) Als Moderator warne ich Sie, unsere Standards einzuhalten, um Enttäuschungen zu vermeiden. 2) Ihre Meinung zu meinen Aussagen ist mir egal. 3) Redefreiheit gilt hier nicht. Dies ist eine Website, die einem Unternehmen gehört und deren Community das Mandat hat, zu moderieren.
Raphael
Unter Verwendung dieses Falles habe ich Referenzen vorgelegt, tatsächlich habe ich die von TI geschriebene BIBEL der TTL-Logik zitiert. Ich dachte, dass die Person, die diese Frage stellt, unklar über Logikelektronik ist und einige benötigt, um sie auf die Grundlagen hinzuweisen. Was trägt dazu nicht zur Diskussion bei?
SkipBerne
2
Zum einen sehe ich in Ihrem Beitrag keine Referenz, die als solche erkannt werden kann. Dann scheinen Sie nur zu sagen, "sie sind die Grundbausteine ​​von Logikgattern, aus denen CPUs aufgebaut sind". Andere Antworten sagen dies bereits viel ausführlicher und erklärender.
Raphael