10 - Rechnerarchitektur [ID:10864]
50 von 1033 angezeigt

Also ihr seid quasi mit Transaction und Memory fertig gewesen,

und dann wäre eigentlich das nächste GPUs, hat mir der Chef gesagt.

Und deswegen gehen wir da hin und fangen auch dann damit an.

Einige von euch waren ja bei uns schon im Seminar und auch im Praktikum,

wird vieles davon für euch schon bekannt sein.

Ihr könnt in dem Sinne auch einschlafen.

Ich werde nichts anderes erzählen.

Wenn natürlich Fragen gibt, dann vielleicht schon.

Fahren wir mal.

Aber für die, die noch nichts mit Grafikkarten gemacht haben,

vielleicht gibt es ein paar von euch darunter,

hier beides zum Beispiel, genau,

könnte sein, dass da was dabei ist.

Vielleicht auch nicht.

Fahren wir mal.

Okay.

Die Grafikkartenentwicklung ist eigentlich eine sehr lange Geschichte.

Angefangen hat man mit einem VGA-Controller auf dem Mainboard.

Also kein explizites Device, sondern wirklich ein Chip auf dem Mainboard,

was einfach nur die Ausgabe auf dem Monitor gemacht hat.

Die einzige Funktivität von dem Ding war,

einfach nur Pixel für Pixel auf dem Monitor zu machen.

Das ist genau das Ding.

Wir haben die Texturen, wir haben irgendwelche Polygone,

und wir bilden die Textur auf den Polygon und stellen das auf dem Bildschirm da.

Mehr war es nicht.

Blablabla, genau.

Ein bisschen kurze Geschichte, das können wir alles überspringen.

Braucht man nicht.

Blablabla, genau.

Was wichtig ist, am Anfang war alles fix.

Man konnte die Dinge nicht programmieren.

Die hatten einfach nur eine Schnittstelle für den Entwickler von irgendwelchen Treibern und so weiter,

damit man sich von der Software kommunizieren kann, um die Sachen auf dem Monitor darzustellen.

Als Programmierer ist normaler.

Programmierer konnte man nichts damit machen.

Deswegen fixe Funktionspipeline.

Man kann keine Änderungen machen, keine Funktionen einbringen, nur das benutzen, was da ist.

Genau, und das war der VGA-Controller und die GPUs.

Also bis dahin.

Wo wir jetzt heutzutage sind, da sind die GPGPUs.

Was genau der Unterschied ist, kommen wir später noch dazu.

Das kommt quasi alles in den geschichtlichen Ablauf.

Aber schonmal vorweg, mit GPGPUs kann man Sachen programmieren.

Und man kann auch, wie der Name auch schon sagt, normale Anwendungen darauf laufen lassen.

Auf den Grafikkarten.

Genauso wie auf einer CPU.

All das, was auf der CPU laufen kann, kann man auch auf der Grafikkarte auswählen.

Nur die Art, wie man das umsetzt, ist anders.

Und wie, da kommen wir auch später drauf an.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:32:09 Min

Aufnahmedatum

2013-12-19

Hochgeladen am

2019-04-30 08:29:45

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