Aus welchen vier Teilwerken besteht ein von-Neumann-Rechner?
1) Leitwerk (Steuerwerk, control unit), 2) Rechenwerk (ALU), 3) Haupt-/Arbeitsspeicher, 4) Ein-/Ausgabewerk. — Leit- und Rechenwerk bilden zusammen die CPU (Prozessor); die Kommunikation läuft über Busse.
Welche Aufgaben haben Leitwerk und Rechenwerk?
Leitwerk (control unit): steuert die Abläufe durch schrittweise Interpretation der Befehle. Rechenwerk (ALU): führt die arithmetischen und logischen Operationen aus. — Das Leitwerk koordiniert, das Rechenwerk „rechnet".
Was ist das Besondere am gemeinsamen Speicher beim von-Neumann-Konzept?
Programme UND Daten stehen im selben Speicher und können durch den Rechner modifiziert werden. — Konsequenz: Bitfolgen im Speicher sind nicht selbstidentifizierend (Daten oder Befehl?). Genau das ermöglicht aber Universalität.
Was macht einen von-Neumann-Rechner „universell"?
Bedingte Sprungbefehle: Abweichungen vom sequentiellen Ablauf, die von der Auswertung arithmetischer/logischer Operationen abhängen. — Dadurch ist der Rechner unabhängig vom konkreten Problem programmierbar (Universalrechner).
Über welche drei Busse kommunizieren die Teilwerke?
Steuerbus (Signalisierung zwischen Teilwerken), Adressbus (spricht Speicherzellen/Geräte an), Datenbus (transportiert Daten/Befehle). — Der gemeinsame Bus ist zugleich der von-Neumann-Flaschenhals.
Welche Funktion hat das Befehlszähler-Register (PC / BZ)?
Program Counter: enthält die Adresse des nächsten auszuführenden Befehls. — Wird nach jedem Befehl weitergeschaltet (oder bei Sprüngen überschrieben).
Wofür stehen die Register IR, SR, MAR und MDR?
IR (Instruction/Befehlsregister): aktueller Befehl als Maschinencode. SR/CR (Statusregister): Rückmeldungen/Flags aus Rechen-/Leitwerk. MAR (Memory Address Register): RAM-Adresse für Speicherzugriff. MDR (Memory Data Register): Datenwort zur Kommunikation mit dem Hauptspeicher.
Was ist ein Flag im Statusregister und welche gibt es typischerweise?
Flag = einzelnes Bit mit Boole'scher Aussage über die letzte Operation. Typisch: CF (Carry, Übertrag), ZF (Zero, Ergebnis 0), SF (Sign, negativ), OF (Overflow, Überlauf), EF (Even). — Flags steuern bedingte Sprünge.
Aus welchen 6 Phasen besteht der klassische Maschinenbefehlszyklus?
1) IF Befehlsholphase, 2) ID Decodierphase, 3) OF Operandenholphase, 4) EX Ausführungsphase, 5) WB Rückschreibphase, 6) PC Befehlszähler-Weiterschaltung. — Merkhilfe: Holen → Decodieren → Operanden → Ausführen → Zurückschreiben → Weiterschalten.
Welche drei Ausführungsmodelle (Architekturen) gibt es für Operationen?
Stack-Architektur (Push/Pop, Operanden auf dem Stack), Akkumulator-Architektur (ein Operand implizit im Akku), Register-Register-Architektur (Load/Store, Operationen nur zwischen Registern). — Beispiel-Befehlsfolgen unterscheiden sich entsprechend.
Was ist der von-Neumann-Flaschenhals (bottleneck)?
Die Schnittstelle Prozessor↔Speicher: über das gemeinsame Bussystem kann nur EINE Transportoperation gleichzeitig laufen (z.B. Befehl holen ODER Operand holen). — Dieser Engpass limitiert das Gesamtsystem.
Was ist die „Memory Wall"?
Die wachsende Diskrepanz zwischen Prozessorgeschwindigkeit und Speicher-Latenz: der Prozessor verarbeitet Daten schneller, als der Speicher sie liefern kann. — Ursache: CPU-Leistung wächst ~60%/Jahr, DRAM nur ~9%/Jahr.
Wie ist die Speicherhierarchie aufgebaut und nach welchem Prinzip?
Von schnell/klein/teuer nach langsam/groß/billig: Register → Cache (SRAM) → Hauptspeicher (DRAM) → Massenspeicher (HDD/SSD). — Mit wachsender Entfernung vom Prozessor steigen Größe und Zugriffszeit, der Preis/Byte sinkt.
Was besagt das Lokalitätsprinzip (mit 90/10-Regel)?
Programme greifen in einem Zeitintervall nur auf einen kleinen Teil des Speichers zu (90% der Zugriffe auf 10% des Speichers). Zeitliche Lokalität: kürzlich Benutztes nahe am Prozessor halten. Örtliche Lokalität: benachbarte Speicherblöcke vorab laden. — Basis für die Effizienz der Cache-Hierarchie.
Was ist ein Cache und bringt er immer eine Beschleunigung?
Ein kleiner, sehr schneller Speicher zwischen Prozessor und Hauptspeicher, der demnächst benötigte Befehle/Daten vorhält → mildert den Flaschenhals. — NEIN, nicht immer: bei bedingten Sprüngen oder schlechter Vorhersage liegen die „falschen" Daten im Cache.
Was ist Fließbandverarbeitung (Pipelining)?
Mehrere Befehle werden gleichzeitig, aber zeitlich versetzt bearbeitet: jede Pipeline-Stufe führt eine Teilphase aus, getrennt durch Pipeline-Register. — Zentrales Merkmal von RISC-Prozessoren. Knackpunkt: erhöht den Durchsatz, NICHT die Ausführungszeit eines einzelnen Befehls.
Was verbessert Pipelining – und was nicht?
Es erhöht den DURCHSATZ (Befehle pro Zeit), weil mehrere Befehle parallel in verschiedenen Stufen sind. Die LATENZ (Bearbeitungszeit eines einzelnen Befehls) wird NICHT verbessert. — Latenz L = τ·k (Taktzeit × Stufenzahl).
Verfahren: Wie berechnet man den Speedup einer Pipeline?
S = (n·k) / (k + n − 1), mit n = Anzahl Befehle, k = Pipeline-Stufen. — Grenzwerte: n=1 → S=1; n→∞ → S=k. Gesamtzeit mit Pipeline: TP = (k + n − 1)·τ.
Aufgabe: Wie viele Pipeline-Stufen k sind nötig, damit bei 34 Befehlen ein Speedup von 5,95 entsteht?
S = 34k/(k+33) = 5,95 → 34k = 5,95k + 196,35 → 28,05k = 196,35 → k = 7. — Probe: 34·7/40 = 238/40 = 5,95. ✓
Aufgabe (Fortsetzung): Bei k=7, τ ist so zu wählen, dass ein Befehl ≤ 350 ns dauert. Welcher Takt mindestens?
Latenz L = k·τ ≤ 350 ns → 7·τ ≤ 350 ns → τ ≤ 50 ns → Takt = 1/τ ≥ 20 MHz. — Und 34 Befehle dauern TP = (7+34−1)·50 ns = 40·50 ns = 2000 ns = 2 µs.
Welche drei Arten von Pipeline-Konflikten (hazards) gibt es?
1) Ressourcenkonflikte (gleichzeitiger Zugriff auf dieselbe Ressource), 2) Datenkonflikte (Datenabhängigkeit: read-after-write, write-after-read, write-after-write), 3) Steuerkonflikte (control hazards durch Sprungbefehle). — Bedingte Sprünge erzwingen ggf. Leeren/Neufüllen (flush) der Pipeline.
Warum sind bedingte Sprünge ein Problem für Pipelining?
Bei falsch vorhergesagtem Sprung muss die Pipeline geleert (flush) und neu gefüllt werden → große Latenz. — Abhilfe: Sprungvorhersage (branch prediction) mit bis zu ~95% Trefferrate.
Was besagt das Amdahlsche Gesetz?
Die durch Parallelisierung erreichbare Beschleunigung ist durch den nicht-parallelisierbaren (sequentiellen) Anteil f begrenzt: Sp = 1/(f + (1−f)/p) < 1/f. — Selbst mit unendlich vielen Prozessoren ist der Speedup auf 1/f begrenzt.
Was ist die Harvard-Architektur und ihr Vorteil?
Eine Rechnerarchitektur mit GETRENNTEN Speichern für Befehle und Daten → Befehl und Operand können gleichzeitig geholt werden, beseitigt den von-Neumann-Flaschenhals. — Nachteil: hoher Aufwand; selbstmodifizierender Code ggf. nicht lauffähig. Einsatz v.a. bei Echtzeitanwendungen.
Was ist eine Prozessorfamilie (Familienkonzept)?
Verschiedene Prozessortypen mit weitgehend gleichem Kerndesign und Befehlssatz (z.B. Intel x86). — Vorteil: Aufwärtskompatibilität; der feste Befehlssatz trennt Hardware- von Software-Entwicklung.
Beispiel: Ein Anwender tippt Tasten und es erscheinen falsche Zeichen (A/Q vertauscht, Z→Y). Hardwarefehler?
Nein – im E/A-Werk ist das falsche Tastatur-Layout eingestellt (US- statt deutsches Layout, QWERTY vs. QWERTZ). — Eine Reservetastatur hilft nicht; es ist ein Software-/Konfigurationsproblem.
Last changed9 days ago