11 - CPU-Design [ID:10300]
50 von 838 angezeigt

So, guten Morgen an der Seite. Die Technik läuft wieder, keine Problemen. Gibt es Fragen?

Okay, das war der letzte Punkt letzten Donnerstag. Da soll es weiter gehen. Also wir bauen uns eine

Pipeline und schauen mal, was damit geht, was damit besser geht, was damit vielleicht auch nicht so

geht. Ja, wir haben gesehen, Speed Up war morgen Anzahl der Pipeline-Stufen. Oder da haben wir

schon letzte Woche überlegt, naja, nicht Anzahl der Stufen eigentlich, sondern Anzahl der Schritte,

die so eine mikro-programmierte CPU machen muss, entsprechend umgesetzt auf Pipeline-Stufen.

Kann man natürlich fragen, wie viele Stufen muss jetzt in der Pipeline mindestens sitzen?

Null ist zu klein, eins geht eins. Alles in einem Schritt.

Okay, von Pipeline kann man nicht mehr reden, aber prinzipiell geht das noch?

Naja, die Frage ist, geht das überhaupt? Also viele Leute behaupten immer so nach dem Motto,

ich muss ja erstmal die Instruktion holen, bevor ich sie ausführen kann.

Die habe ich aber im Programm speicher. Der ist ja quasi aktive, unabhängig von der Bahn,

also ich kann das Ganze weiter spielen. Also prinzipiell kann das schon gehen. Also ich

gebe meinen Program-Counter zum Codespeicher, der liefert dann ja, okay, langer Weg, aber hin.

Und das, was er liefert, stecke ich in meinen Register-File, da brutzeln hinten Werte raus,

die stecke ich in meine Alu, brutzeln Werte raus, stecke ich in mein, das kann man schon,

also prinzipiell ja. Eventuell muss man auch Einschränkungen machen beim Speicherzugriff,

also Speicher bei den Daten, weil wenn man sich aus dem Speicher so einen Code holt,

kann man möglicherweise nicht gleichzeitig Daten holen. Wir haben halt im Allgemeinen

nur einen Bus, dann geht es eventuell nicht. Aber wenn man da zwei Busse hat oder hätte,

geht im Prinzip ein Schritt. Okay, Pipeline haben wir nicht mehr, aber prinzipiell geht's.

Jo, andere Frage, wie viel können wir denn maximal sinnigerweise einbauen? Also ich glaube,

Hitler hatte mal so 40 Stück. Ganz so viel haben sie glaube ich noch nicht,

aber man nähert sich diesem Wert auf jeden Fall. Wenn man sich überlegt, wie viele

Gate-Stufen man hat in dem gesamten Fahrt, im längsten Fahrt, so viele. Das ist maximal, aber sinnvoll ist es nicht.

Okay, aber das ist schon mal ein guter Hinweis. Also die Idee ist natürlich, man kann sämtliche

Pipeline-Stufen, also ein Beispiel haben wir fünf, in einer Pipeline-Stufe, da sind ja zum Teil noch

komplexe Geschichten drin, eine Alu oder so. Eine Alu hat einen relativ langen Fahrt, da kann man auch

auf halbem Wege sagen, durchsägen. Das kann man nochmal machen, nochmal machen und nochmal machen,

bis man die Alu zerdröselt, zerdröselt, zerdröselt hat. Aber so wie du schon sagst, naja halbe

Gatter, die können wir jetzt nicht brauchen. Also spätestens da ist es beim Zersägen vorbei.

Jo, also zwischen diesen zwei Werten, da wandeln wir zwischen eins und, naja, wie viel mag sein,

ein paar hundert werden es schon sein. Sollte auch kürzer sein, wie viel brauche ich für eine Pipeline-Speicherstufe?

Also soll es wahrscheinlich nicht mehr Aufwand für die Speicherung der Werte und das Wiederauslesen der Werte in der Stufe machen, als wie ich das tatsächlich mache in der Stufe?

Das wäre jetzt meine nächste Frage gewesen. Jetzt kann man zwar 100 Stufen einbauen, aber, du sagst jetzt schon richtig,

das wird eventuell dann langsamer sogar wieder, weil einfach das Reinspreichern in die nächste Stufe natürlich auch immer ein bisschen Zeit braucht.

Wenn ich das jetzt so zerdröselt in ganz ganz viele kleine Einzelteile und nach jedem Nenngatter kommt ein Register und nach jedem Oder-Gatter kommt ein Register,

dann haben wir zwar blitzschnelle Oder-Gatter, aber das zieht sich doch für die Gummi.

Also, ja, und jetzt irgendwo dazwischen werden wir sein, wir werden uns das noch angucken. Ja, in der Praxis sieht das im Moment so aus.

Also die Liste erhebt keinen Anspruch auf Vollständigkeit. Also es gibt inzwischen bei Intel schon Bestrebungen, das so Richtung 40 zu drehen.

Das ist schon recht. Ja, aber man sieht hier mit 20 Pipeline-Stufen kommt man schon auf Größenordnung 5 Gigahertz. Das ist im Moment so das Maximum,

was man so sinnigerweise bauen kann. Gut, heutzutage sagt man, geh mal mit der Frequenz wieder ein bisschen runter, das wird so heiß das Ganze.

Aber was man sieht, das ist mir jetzt wichtig an diesem Bildchen, angefangen hat man ursprünglich das erste Mal Pipelining so richtig eingesetzt im Pentium.

Ja, da waren es ursprünglich mal 5 Stufen, beziehungsweise Motorola hat es mit dem G4 angefangen, da waren es nur 4.

Da war man Größenordnung in der Gegend so ein halbes Gigahertz. Und dann hat man versucht das immer weiter hoch zu schrauben mit der Taktfrequenz.

Ja, und man sieht dann eben, eine gewisse Alu braucht einfach Zeit. Und wenn wir das jetzt beschleunigen wollen, dann müssen wir mal sehen,

dass das die Komponente, die am langsamsten ist, die hacken wir in der Mitte durch. Dann haben wir nur noch zwei Teile.

Die zwei Teile müssen prinzipiell ja mal schneller sein. Dann ist die Pipeline eventuell schneller. Und dann gucken wir uns wieder aus,

welche Pipeline Stufe ist jetzt die langsamste. Halbieren, haben wir wieder eine Stufe mehr, aber wir können die Taktfrequenz wieder ein Stück hoch drehen.

Und das hat man halt mal gemacht, gemacht, gemacht, gemacht. Ja, und das ist so im Moment so die Bestmarke.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:30:18 Min

Aufnahmedatum

2013-05-28

Hochgeladen am

2019-04-06 10:19:04

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen