13 - Rechnerarchitektur [ID:10881]
50 von 803 angezeigt

autonom fahrend nach sich. Das heißt, wir brauchen eigentlich auch immer mehr Rechenleistung.

Allerdings haben wir da ein gewisses Problem, was man in anderen Anwendungen außer emperehrt

nicht zu haben, das ist ja diese Vorher... die Vorhersagbarkeit.

Es sieht jetzt endgültig aus. Ich habe meine Batterien umgelassen.

Also die Vorhersagbarkeit. Was wir vor allen Dingen im eingebretteten

Bereich haben ist eine hohe Thread-Parellität, also viele, viele

kurzlaufende Threads, die zum Beispiel auch einen Sensor abgreifen, da den Wert

erfassen und dann irgendwo hin speichern. Und vorhersagbar heißt im Auto,

bei dem Avionics ist noch viel schlimmer, also bei den Flugzeugen, sie müssen ihre

Software zertifizieren lassen, das heißt sie müssen nachweisen, dass ihr Programm

innerhalb einer bestimmten Zeit fertig ist. Das ist gar nicht so leicht und das

erfordert bestimmte Anforderungen, bestimmte Bedingungen an den

Mikroprozessor, dass man sowas machen kann. Also zertifizieren heißt dann

tatsächlich, muss nicht unbedingt ein formaler Beweis sein, sondern es ist tatsächlich, die

setzen sich dann mit Hand vom TÜV an einen Tisch und dann gehen die das

Programm Stück für Stück da durch und dann müssen sie den TÜV-Mann davon

überzeugen, also es müssen eben nachweisen, sie halten die und die obere

Zeitschranke ein. Und durch das autonome Fahren hat das Ganze noch eine

neue Qualität bekommen, nämlich auch eine hohe Datenparalität, so wie wir das

jetzt in den Grafikkartenanwendungen schon mal gesehen haben. Also viele, viele

SRETs, die jetzt alle das Gleiche machen. Also SIMT, wenn SRETs drin oder

SIMD Prozessoren, schlicht und einfach, die dann halt auf Datenfeldern arbeiten.

Okay, ich werde jetzt mal ein paar Beispiele zeigen, den Infineon Aurex.

Alle Folien, die jetzt zum Aurex kommen, habe ich von meinem

Funktionsindustrie-Partner, dem Jens Hannesch von Infineon.

Das habe ich doch gestern geändert, hat er das noch gespeichert. Also das stimmt nicht mehr ganz,

das steht auch auf ihren Folien, da habe ich gestern auch ein paar Dinge geändert.

Das ist nicht der ARM 11, ich zeige Ihnen allgemein was zu den ARM Architekturen

nochmal. Und ja, dann gehen wir nochmal kurz auf

embedded GPUs ein, aber eigentlich nur eine Applikation und ich zeige Ihnen dann

gleich noch was, was Soft-IP Prozessoren sind. Zum Beispiel der MIPS, der Leon 3

oder ZPU, wir gehen jetzt aber nur auf den MIPS ein. Soft-IP Prozessoren heißt,

das sind Prozessoren, die gar nicht real existieren, in dem Sinne, sondern die

existieren erst mal als eine Softwarebeschreibung und werden dann in

einen FPGA synthetisiert und dann kann ich den dort programmieren, wie wenn es

ein ganz normaler Prozessor wäre. Jetzt gehen wir mal auf diesen AURX ein.

Der AURX ist also ein Mikrocontroller, der selber wiederum aus, AURX gibt es auch als

mehrere Kernen, ein AURX Kern besteht aber selber in sich wieder aus einem

sogenannten Tricore. Der Tricore, der hat dann auch wieder drei unterschiedliche

Kanne, um bestimmte Aufgaben zu erfüllen, die mir so mit Motor, die recht gut für

Motorsteuerung geeignet sind, solche Dinge, da wird sich im Detail darauf eingehen.

Wesentlich ist, das ist eine Architektur, die arbeitet im Log-Step-Modus. Was heißt

das? Das heißt, ich habe, wir sehen hier Tricore, Tricore, Checker-Core, Checker-Core,

Tricore, das heißt, ich lasse eine Software im Gleichschritt, Log-Step, die

gleiche Software auf verschiedenen Kannen laufen und zwar immer jede

Instruktion auf jeden Kann und das mache ich auf drei Stück, auf drei solchen

Kannen und mach, falls dann unterschiedliches Ergebnis irgendwo rauskommt,

Mehrheitsvergleich. Ich gehe mal davon aus, dass dann wenigstens nur bei den drei

Kannen hoffentlich nur einer einen Fehler macht. Aber die anderen zwei hoffentlich noch

richtig und dann bringen die zwei das richtige Ergebnis. Also so eine

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:26:30 Min

Aufnahmedatum

2018-01-29

Hochgeladen am

2019-05-01 13:29:03

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