Klausur
Komplettes Skript / Mitschriebe erlaubt
[email protected]
[email protected]
Podcast:
Geschichten aus der Geschichte Daniel Messner und Richard
Architektur nach von Neumann

Rechner besteht aus Funktionseinheiten
- Rechenwerk
- Steuerwerk
- Speicherwerk
- Eingabe / Ausgabe
Bus-System als Bottleneck (Von Neumannscher Flaschenhals)
Struktur ist unabhängig vom Problem
Sicherheit
Anweisungen, Daten und Zwischenergebnisse liegen im selben Speicher, Eingabedaten können nicht unbedingt vom Programmcode unterschieden werden
a')´ drop table --Versucht die Trennung zu umgehen
- Nur ein Bus ist zur Datenübertragung notwendig
- Reihenfolge der Befehle wird durch Sprungbefehle realisiert
- Bitvektoren enthalten keine Angaben über ihren eigenen Typ
Streng Sequentieller Ablauf ist vorteilhaft gegenüber parallelen Architekturen, da das Programmieren leichter und weniger fehleranfällig ist.
Harvard Architektur

- Gleichzeitiges Lesen und Schreiben von Daten und Befehlen möglich
- Einfache Verwaltung von Zugriffsrechten und Speicherschutz
Nachteile gegen von Neumann
Race Conditions sind möglich
Kein Deterministischer Ablauf
Getrennter Speicher für Daten und Code -> separate Busse zur Übertragung
Leistungsvergleich von Systemen
Welche Kriterien werden verglichen?
- Preis
- Geschwindigkeit
- Bandbreite (Menge an Kassen)
- Durchsatz (Tatsächlich offene Kassen)
- Stromverbrauch
- Größe
- Gewicht
Benutzersicht
- Antwortzeit
Anbietersicht - Durchsatz vs. Bandbreite
Beide - Ausführungszeit
Leistungsmessung
Definitionen
- Laufzeit
Die gesamte verbrauchte Zeit, inklusive I/O, Speicherzugriffen und Wartezeit auf Betriebssystem und andere fremde Prozesse - CPU Zeit
- User CPU Zeit
Sinnvolle Leistungsdefinitionen
- Systemleistung (Laufzeit in einem unbelasteten System)
- CPU-Leistung Betrachtung unabhängig von I/O und OS
Was messen? - Reale Programme
Eindeutige Leistungsmessung sehr schwierig (Stark Use-Case abhängig)
Mögliche Programm Typen:
- Reale Applikationen
- Text
- Bild
- Datenbank
- Problem: Portabilität, Interaktivität
- Skript Applikationen
- Simulation von PC-Verwendung
- Spiel Benchmarks
- Tante Erna Test
Mischbewertung passt oft gut
Dokumentation
Reproduzierbarkeit, genaue Angaben
- Getestetes System
- Hardware Konfiguration
- Software Einstellungen (Compiler Optionen)
Verwendung mehrerer Benchmark Suiten?
- Summe
- Mittelwert (gewichtet?)
Benchmark entspricht tatsächlichem UseCase besser als
Berechnung
Arithmetisches vs. Geometrisches Mittel

Optimierung
Geometrisches Mittel:
scheint gleich wie
Make The Common Case Fast
Tatsächliche Zeitersparnis besser bei Optimierung tatsächlich häufig verwendeter Berechnungen
Gesamtspeedup bei Optimierung eines Teilsystems (Beide Gleichungen verwandt und in einander umformbar)
Klausuraufgabe
Foliensatz 1, Seite 40 (Amdahls Law IV)
Vergleich große Optimierung seltenes Feature - Weniger Starke Optimierung Common Case
CPU Leistungsmessung
- CPU Zeit = Zykluszeit * CPU-Zyklen für Programm
- CPU Zeit = IC * CPI * (1/Taktrate)
Prinzip der Lokalität
Eigenschaft von Programmen:
- Blinde Wiederverwendung von Code & Daten (Cache) die kürzlich verarbeitet wurden (Kontrolle im Hintergrund)
- 10% Code werden in 90% der Zeit tatsächlich verwendet
Örtliche Lokalität (nah beieinander) vs. temporale Lokalität (vor Kurzem verwendet)
Mögliche Irrtümer
- Gleicher Befehlssatz der CPU ist bedeutet nicht, dass diese Rechner nur anhand der Taktrate vergleichbar sind.
- Instructions per Second variiert stark je nach Programm.
Außerdem stark abhängig vom Befehlssatz
Programmiermodelle
- Desktop -> Viel Integer / Floating Point
- Server -> Integer / Strings
- Embedded -> Codegröße & Stromverbrauch
Entwurfsmodelle
- Simple gets regular
- Small is fast
- Make the Common Case Fast
- Good Design means Compromises
Übungen
2
2.1
3x1280x1024
2.2
250MB / (0.9 * 10
3
3.1
IC kürzt sich raus, Rest gegeben mit CPU Leistungsmessung-Gleichung
Klausurfrage
CPI und Takt nutzen um Rechner zu vergleichen