9 - Rechnerarchitektur [ID:10863]
50 von 848 angezeigt

Wo sind wir angekommen? Also was haben wir jetzt vor Weihnachten noch vor? Ich möchte

also das Kapitel 2 noch abschließen. Das heißt, wir werden das jetzt mit diesem Ruflan-Modell

dann noch zu Ende bringen heute und dann auch noch mal darauf eingehen, wie jetzt die Dinge,

die wir bisher gelernt haben, auch aus dem Kapitel 2.1, sich dann widerspiegeln in modernen

Architekturen und dazu machen wir dann einen kleinen Überblick, wie sich das von der Core2

Architektur, also angefangen eigentlich mehr von der Halem, da gehe ich eher darauf ein,

also schon von diesen Core IX Architekturen bis zur Haswell Architektur weiterentwickelt hat und geht

dann am Ende bei der Haswell Architektur nochmal etwas auf dieses neue Konzept, was jetzt da in

diesen Mikroarchitekturen enthalten ist, nämlich den Transactional Memory. Gut, ja dann, ich hatte

letztes Jahr dann noch AMD Prozessoren, die Pulte aus der Mikroarchitektur drin, ich glaube,

die lasse ich weg, weil nächste Woche will ich dann eigentlich zu den Grafikkarten kommen und

nochmal zu den Ficern Architekturen und nach Weihnachten dann soll eigentlich, wird es dann

einen kleinen Umstieg geben, auch bei den Übungen. Hat der Max mit Ihnen schon Grafikkarten gemacht?

Noch nicht, okay, das wäre vielleicht nächste Woche, vielleicht noch die erste Woche nach Weihnachten und

dann muss man schauen, weil dann soll der Mark Reichenbach einsteigen und dann ziehen wir das

Kapitel 4, was ich in den vergangenen Jahren, das sind die eingebreteten Prozessoren habe,

das wollen wir zu wenig Platz, das ziehen wir dann vor, machen das jetzt zum Kapitel 3,

dann haben sie da mehr Platz und tatsächlich dann auch mal im FPGA und durch Simulation eigene,

in Anführungsstriche Multikernarchitekturen zu entwerfen werden. Jetzt bis jetzt haben sie in

Übungen halt auf bestehende aufgesetzt und dann sollen sie ja selber mal im vorgegebenen Rahmen

welche entwickeln. So, also wir sind jetzt hier angekommen bei dieser, bei der grafischen,

bei dem Ruflaunmodell und das nochmal kurz zu wiederholen. Das Ruflaunmodell sieht also

folgendermaßen aus, ich habe hier so eine Dachkennlinienstruktur und je nachdem hier

auf der x-Axis aufgetragen, also die arithmetische Intensität, die wird nochmal gemessen in Flops pro

Byte, also wie viele Fließkummeroperationen kann ich auf dem Byte, das was ich mal aus dem Speicher

geholt habe, anwenden und je nachdem, wenn ich weiter rechts hier bin, ist mein Kern, also der

Ausschnitt, der die wesentliche Rechenzahl verursacht, das Compute Bound, also durch die

Berechnung begrenzt, das heißt ich bin am vollen Anschlag, mehr geht hier nicht und wenn ich weiter

links bin, das heißt ich rechne nicht so viel auf diesen Byte, die ich aus dem Speicher geholt habe,

dann bin ich ja durch die Speicherbandbreite begrenzt, das heißt meine Kerne könnten mehr

arbeiten, wenn sie es denn schaffen würden, bzw. wenn sie denn mit genügend Daten versorgt

werden würden, das ist der entscheidende Punkt. Die werden dann also nicht mit ausreichend Daten

versorgt und hängen sozusagen in der Luft. So und das hat man also schon bestimmt, ach ja genau,

die Schräge hier, die sagt dann auch etwas aus, wie gut die Speicherbandbreite ist und das kann man

sich dann mathematisch überlegen, wenn ich einfach die arithmetische Intensität, also gegeben in

Flops pro Byte, Multipliz, Flops pro Byte, rauskommen müssen Byte pro Sekunde und das Ganze mit der,

genau, die Steigung mir ausrechne und je besser die Bandbreite ist, umso höher, umso mehr Flops pro

Sekunde kann ich erreichen und das heißt also je steiler das Ganze, genau, wenn ich dann hier

eins hätte, dividiere ich durch die eins so rum und dann kann ich hier genau ablesen, wie viel Bytes

pro Sekunde ich übertragen kann. Das heißt also, um diese Schräge hier zu ermitteln vom Ruhflaut-Modell

muss ich mir halt ausrechnen, zum Beispiel mit dem Stream Benchmark kann ich messen, was ist meine

maximale Speicherbandbreite, die möglich ist und dann trage ich bei der eins genau den Wert hier

an, dann steht hier drüben halt nicht Gigaflop pro Sekunde, sondern die Flops haben sich dann sozusagen

rausgekürzt und dann muss ich das so interpretieren, dass der Wert an der Y-Axis

den Bytes pro Sekunde entspricht und die Gerade hier, die bekomme ich eben raus,

dadurch dass ich den maximalen Anschlag ausrechne, also was möglich wäre, das heißt aus der Takt-

frequenz und aus der Anzahl der Operationen, die ich im Maximalfall heraus bekomme, aus der

Maximalanzahl der Kerne, kann ich dann ausrechnen, wie viele Flops ich theoretisch erreichen könnte,

wenn meine Kerne immer voll am Anschlag sind und alle Superskalaneinheiten sozusagen voll

am Anschlag sind und ständig pro Takt ein Datum produzieren, was in der Regel nicht passieren wird.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:40:09 Min

Aufnahmedatum

2013-12-12

Hochgeladen am

2019-04-30 05:09:02

Sprache

de-DE

Die Vorlesung baut auf die in den Grundlagen der Rechnerarchitektur und -organisation vermittelten Inhalte auf und setzt diese mit weiterführenden Themen fort. Es werden zunächst grundlegende fortgeschrittene Techniken bei Pipelineverarbeitung und Cachezugriffen in modernen Prozessoren und Parallelrechnern behandelt. Ferner wird die Architektur von Spezialprozessoren, z.B. DSPs und Embedded Prozessoren behandelt. Es wird aufgezeigt, wie diese Techniken in konkreten Architekturen (Intel Nehalem, GPGPU, Cell BE, TMS320 DSP, Embedded Prozessor ZPU) verwendet werden. Zur Vorlesung werden eine Tafel- und eine Rechnerübung angeboten, durch deren erfolgreiche Beteiligung abgestuft mit der Vorlesung 5 bzw. 7,5 ECTS erworben werden können. In den Tafelübungen werden die in der Vorlesung vermittelten Techniken durch zu lösende Aufgaben vertieft. In der Rechnerübung soll u.a. ein einfacher Vielkern-Prozessor auf Basis des ZPU-Prozessors mit Simulationswerkzeugen aufgebaut werden. Im Einzelnen werden folgende Themen behandelt:
  • Organisationsaspekte von CISC und RISC-Prozessoren

  • Behandlung von Hazards in Pipelines

  • Fortgeschrittene Techniken der dynamischen Sprungvorhersage

  • Fortgeschritten Cachetechniken, Cache-Kohärenz

  • Ausnutzen von Cacheeffekten

  • Architekturen von Digitalen Signalprozessoren

  • Architekturen homogener und heterogener Multikern-Prozessoren (Intel Corei7, Nvidia GPUs, Cell BE)

  • Architektur von Parallelrechnern (Clusterrechner, Superrechner)

  • Effiziente Hardware-nahe Programmierung von Mulitkern-Prozessoren (OpenMP, SSE, CUDA, OpenCL)

  • Leistungsmodellierung und -analyse von Multikern-Prozessoren (Roofline-Modell)

Empfohlene Literatur
  • Patterson/Hennessy: Computer Organization und Design
  • Hennessy/Patterson: Computer Architecture - A Quantitative Approach

  • Stallings: Computer Organization and Architecture

  • Märtin: Rechnerarchitekturen

Einbetten
Wordpress FAU Plugin
iFrame
Teilen