Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 3 » CISC/RISC (Übersicht)
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
— | pruefungen:hauptstudium:ls3:ra-2018-02-26 [26.02.2018 14:30] (aktuell) – angelegt Alicen | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | |||
+ | ===== CISC/RISC ===== | ||
+ | |||
+ | **P:** Wir haben CISC kennengelernt. Was ist die Kernfunktionsweise dahinter? | ||
+ | |||
+ | Mikroprogrammierung, | ||
+ | |||
+ | **P:** Was sind denn die Vorteile, die man durch die Mikroprogrammierung hat? | ||
+ | |||
+ | Updates für Bugfixes, Abwärtskompatibilität mit älteren Architekturversionen, | ||
+ | |||
+ | **P:** Wieso ist man dann zu RISC gegangen? | ||
+ | |||
+ | Compilerbauer nutzten viele der Instruktionen nicht! Bei CISC wurden viele Befehle gar nicht verwendet (Teilweise nur noch 30%), also wird aufwändige Steuerlogik nicht ausgenutzt. | ||
+ | |||
+ | **P:** Wie sieht dann eine RISC-Architektur aus? | ||
+ | |||
+ | Alle Befehle sind gleich lang, Load/Store Architektur, | ||
+ | |||
+ | ===== Pipelining ===== | ||
+ | |||
+ | **P:** Was verbessert man durch Pipelining? | ||
+ | |||
+ | Den Durchsatz (wichtig!), der einzelne Befehl hingegen braucht laenger | ||
+ | |||
+ | **P:** Auf welcher Ebene pipelined man dort? | ||
+ | |||
+ | Auf Ebene der Befehlsverarbeitung (BH, DE, OP, EX, WB) | ||
+ | |||
+ | **P:** Warum das? | ||
+ | |||
+ | Wegen den Registern zwischen den einzelnen Stufen, technische Gruende | ||
+ | |||
+ | **P:** Was fuer technische Gruende? | ||
+ | |||
+ | Warten auf laengste Stufe, exaktes zeitgleiches Takten nicht moeglich, Puffer zwischen Stufen | ||
+ | |||
+ | **P:** Und wie viel besser wird man bei einer Pipeline mit k Stufen? | ||
+ | |||
+ | k mal so schnell wie in der sequentiellen Abarbeitung | ||
+ | |||
+ | **P:** Warum erreicht man diese k fachen Speedup aber nicht? | ||
+ | |||
+ | Hazards, Struktur, Kontroll, Daten, alle drei erklaert mit Beispiel, bei Daten direkt ein RAW-Beispiel genannt. | ||
+ | |||
+ | **P:** Was ist das einfachste, was man gegen RAW tun kann? | ||
+ | |||
+ | Forwarding, erklaert warum und wie. | ||
+ | |||
+ | **P:** Was fuer Datenhazards gibt es noch? | ||
+ | |||
+ | WAR, WAW | ||
+ | |||
+ | **P:** Koennen Sie ein Beispiel fuer WAR hinmalen? | ||
+ | |||
+ | Klar! | ||
+ | < | ||
+ | R0 = R1 / R2 (Das / hier ist wichtig, damit die Instruktion solange dauert( | ||
+ | R3 = R0 + R6 | ||
+ | R6 = R4 + r% | ||
+ | </ | ||
+ | |||
+ | Und dann natuerlich erklaeren, wo er auftritt und warum | ||
+ | |||
+ | |||
+ | **P:** Zur Vermeidung von Datenhazards gibts das Scoreboard. Wie funktioniert das? (Legt Blatt mit Scoreboard-Algorithmus aus Vorlesung hin) | ||
+ | |||
+ | Exakt erklaeren, was in den Stufen passiert, welche Hazards dadurch verhindert werden, sehr detailliert und Schrittweise erklaert warum man es so macht. Keine Nachfragen dazu. | ||
+ | |||
+ | **P:** Es geht noch besser als Scoreboard. | ||
+ | |||
+ | ...ja, mit Tomasulo. Hier vermeidet man WAW und WAR-Hazards durch Registerumbennenung. | ||
+ | Reservierungsstationen erklärt, erklärt, wie Befehle eingelastet werden, woher die Operanden kommen | ||
+ | (Werte aus Registerfile oder Referenzen auf die entsprechenden Reservierungsstationen -> das eigentliche Renaming). | ||
+ | |||
+ | **P:** Zeigen Sie das doch mal an ihrem Beispiel hier (siehe Code oben) | ||
+ | |||
+ | Erklaert, dass R6 kopiert wird, auf R0 gewartet wird und auf dem Datenbus gelauscht, Referenz auf FU Div eingetragen, | ||
+ | |||
+ | |||
+ | ===== Multicore ===== | ||
+ | |||
+ | **P:** Gut, genug von Kapitel 1. Wieso haben wir denn überhaupt Multicore? | ||
+ | |||
+ | Bislang zwei Arten, Leistungssteigerung zu bekommen: | ||
+ | Architektur (Sprungvorhersage usw) fast am Anschlag, 95% | ||
+ | Technologie, | ||
+ | |||
+ | Dann Regel von Pollak erklaert, dass nicht mehr LohneKurz erklaert, nswert, dann invers erklaert, angewandt, gezeigt, dass dadurch mehr Leistung erreichbar ist. | ||
+ | |||
+ | **P:** Welche Architektur baut den implizit auf dieser Erkenntnis auf? | ||
+ | |||
+ | GPUs, kleine einfache Kerne, die eigentlich nur ALUs sind, aber massiv parallel. | ||
+ | |||
+ | **P:** Bild von Intel-Studie (Kap2, Folie 18) vorgelegt und erklaert, warum greift Amdahl nicht? | ||
+ | |||
+ | Zuerst linker Teil erklaert, dann kurz auf TPT eingegangen, | ||
+ | |||
+ | ===== Eingebettete Prozessoren ===== | ||
+ | |||
+ | **P:** Die 30 Minuten sind eigentlich rum.. Erklären sie doch noch mal in kurzen Worten, wie so ein FPGA aufgebaut ist und was der Unterschied zu GPP und ASIC ist. | ||
+ | |||
+ | Gitterfoermige angeordnete Logicbloecke skizziert, Lookup-Table hingemalt, dann konfigurierbare Schaltmatrix angezeichnet, | ||
+ | |||
+ | ASIC ist schaltkreis, | ||
+ | Universalprozessor kann alles, ist flexibel, teuer, hat hohen Leistungsverbrauch. | ||
+ | |||
+ | **P:** Und wie erreicht man die Rekonfigurierbarkeit beim FPGA? | ||
+ | |||
+ | Gitterförmig angeordnete Einheiten, in die man über lookup-tables jede beliebige Logikfunktion programmieren kann. Flip-Flops zum speichern, | ||
+ | und auf dem Gitter-Kreuzungspunkten kann man schalten, wie die Daten fließen. | ||
+ | |||
+ | ===== Parallelrechner ===== | ||
+ | |||
+ | **P:** Gut, letzte Frage, skizzieren sie kurz den Unterschied Speichergekoppelt vs Nachrichtengekoppelt. | ||
+ | |||
+ | Speichergekoppelt: | ||
+ | Nachrichtengekoppelt: | ||
+ | |||
+ | |||
+ | Sehr gut. Viel Erzaehlen was man weiss, notfalls unterbricht er, wenns zuviel wird. Angenehme Atmosphaere, |