maniac1985
Neuling
- Mitglied seit
- 22.07.2008
- Beiträge
- 19
Aber nicht zum Start der ersten 45 nm Prozessoren?
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: this_feature_currently_requires_accessing_site_using_safari
Branching ist grob erklärt, das Sprungverhalten einer CPU. In x86 µCode wird das über die jxx Instruktionen realisiert, welche wiederum den Status der Prozessorflags abfragen. Mal ein kleines Beispiel:
Hier arbeitet der Prozessor eine Codesequenz ab, bis er zu dem Punkt kommt, wo das Register eax (32 Bit) mit dem Wert 1 verglichen wird (cmp=compare). Das Ergebnis der Gleichheit wird nun in einem Flag gespeichert. In dem Fall zf (zero flag). Mit der Sprunganweisung jz (jump zero) wird nun entsprechend dem Zustand des Flags der IP (instruction pointer), also der nächsten zu bearbeitenden Instruktion, verschoben.Code:label1: ... cmp eax,1 jz label1 ...
Genau hier kommen die Branching Fähigkeiten einer CPU zum tragen. Erfolgt kein Sprung, passiert im Grunde nicht nicht viel und die Verarbeitung kann ganz normal mit den nächsten Instruktionen im Prefetch Buffer fortgesetzt werden. Wird jedoch gesprungen, hat das mehrere Auswirkungen. Das fängt beim Cache und Prefetcher an, die uU die nächsten zu bearbeitenden Daten erstmal wieder besorgen müssen. Und geht hin bis zu den Recheneinheiten und der Pipeline, die uU geflusht und erst wieder neu aufgebaut werden muss, um die Leistung durch Befehlspipelining, also dem parallelen Verarbeiten von Instruktionen, zu maximieren, so wie das bei modernen Architekturen üblich ist.
Und je besser und cleverer die Logik letztendlich implementiert wurde, umso effektiver kann die Architektur dann auch arbeiten. Da es sich eben nicht nur auf die einzelnen Instruktionen auswirkt, wie das zB bei Int oder FP Berechnungen der Fall ist, sondern auf die gesamte interne Infrastruktur.
Ja, weil der in 'nem kleineren Verfahren gefertigt wurde. Is also eigentlich "nur" ein Shrink mit einigen Tweaks.
Aber leider nur bedingt OC tauglich.