Atmosphäre: Entspannt Prüfer: Prof. Dr.-Ing. Fey Beisitzer: Sebastian Rachuj ** # CISC & RISC** P: Wir haben CISC und RISC kennen gelernt. Was ist das Merkmal von CISC? S: Trennung Makrobefehl - Mikroprogramm, Flexibilität, Unterschiedliche Adressmodi P: Patterson hat gemeint, dass CISC nicht mehr im Gesamten Sinnvoll ist. Warum? S: Patterson-Studie, nur ein Teil der CISC-Befehle werden von Compilern benutzt. Aufgrund kompatibilität müssen aber alle anderen Befehle noch weiterhin vorhanden sein; Viel Kosten für wenig Nutzen P: Was wird bei RISC dann anders gemacht? S: Nur ein Adressmodus, explizite load/store Befehle, Makrobefehl wird direkt mit fest verdrahtetem Leitwerk in Signale für Prozessor umgewandelt P: Und was muss man dann machen, wenn man auf etwas aus dem Speicher zugreifen möchte? S: Explizit in Register laden P: Was wurde bei RISC noch anders gemacht, auf Befehlsebene? S: Pipelining ausgenutzt [Pipeline hingemalt, erklärt, dass Befehle sequenziell durch Befehlszyklus laufen müssen, freie Funktionale Einheiten werden mit nachfolgenden Befehlen aufgefüllt] P: Was ist dann der Geschwindigkeitsunterschied zu nicht-gepipelineten Architekturen? S: Bei k Pipelinestufen: Theoretischer Speedup von k ** # Hazards** P: Theoretisch, weil es Dinge gibt, die es verbieten, da ranzukommen. Was sind das für Dinge? S: Strukturhazards [Diese dann anhand der Zeichnung der Pipeline erklärt], Datenhazards [WAW, WAR, RAW erwähnt, WAR und RAW Hazards hingezeichnet und erklärt], Steuerungshazards P: Was können wir gegen RAW machen? S: Forwarding P: Und gegen WAR? S: Scoreboard- und Tomasulo-Algorithmus P: Was ist der Scoreboard? S: [Angefangen, zu erklären, dann unterbrochen und Scoreboard-Algorithmus Folie vorgelegt. Anhand der Folie dann erklärt, was wo warum passiert und welche Hazards verhindert werden. Dann kurz erklärt, wie das gegen den WAR-Hazard, der davor angezeichnet wurde, hilft] P: Scoreboard hat dann aber immer noch einen Taktzyklus, den es am Schluss wartet; das geht besser mit was? S: Tomasulo P: Wie funktioniert Tomasulo? S: Reservierungsstationen zu Funktionalen Einheiten, die Ergebnisse und Operanden zwischenspeichern und sich gegenseitig über den Datenbus austauschen P: Was muss alles auf den Datenbus gelegt werden, damit Tomasulo funktioniert? S: [War erst nicht sicher, was damit gemeit war] P: Wie wissen andere Reservierungsstationen, dass das ihr Operand ist? S: Reservierungsstation gibt sich selbst und das Ergebnis mit P: Und was, wenn das Ergebnis schon vorhanden ist, also keine Station dieses generiert? S: Dann wird der Operand in die Station kopiert und zwischengespeichert ** # Multicore** P: Warum ist man auf Multicore umgestiegen? S: Sprungvorhersage schon >95%, keine Verbesserung mehr möglich. Frequenz erhöhen => Energieverbrauch erhöht sich. [Formel für P = C * rho * f * Vdd^2 hingemalt]. Vdd ist schon minimal, kann nicht mehr runter geschraubt werden. P: Schon mal was von einer Skalierung gehört? [Hatte einen bestimmten Namen, konnte ich mir aber nicht merken] S: Nein P: Und warum hilft Multicore dabei jetzt? S: Regel von Pollack, Kerne mit niedrigerer Frequenz laufen lassen P: Was passiert denn in diesem Bild? [F 2-18] S: Links: Pollack, Medium core = 1/4 der Größe Large core => sqrt(0.25) = 0.5; selbe mit small. Rechts: Amdahl'sche Formel P: Warum nutzt mann dann nicht direkt 1000 Kerne? S: Bei gleichbleibender Transistor-Zahl verringerung Rechenkapazität jedes Kerns; Irgendwann kann man nichts mehr mit zu wenigen Transistoren rechnen P: Wo wurde das auf die Spitze getrieben? S: [War mir nicht sicher, was gemeint war] P: Welche Architektur hat extrem viele Kerne? S: [Immer noch unsicher] P: Grafikkarten ** # GPP vs FPGA vs ASIC** P: Was ist der unterschied zwischen ASICs, FPGAs und Universalprozessoren? S: ASIC: Funktionale Einheiten entlang Datenfluss fest verdrahtet, FPGA: LUT, Universalprozessor: ALU mit Registern P: Und welches ist am energetisch Effiziententen? S: ASICs, dann FPGAs, dann Universalprozessor