-
Universalrechner
In vielen technischen Geräten sind heutzutage Mikroprozessor-Steuerungen
eingebaut.
Welche der folgenden Geräte kann man als Universalrechner ansehen und
welche nicht? Geben Sie jeweils eine kurze Begründung.
- (mechanische) Kurbelrechenmaschine
- elektronischer Taschenrechner
- Personal Computer
- Großrechner
- elektronische Waschmaschinensteuerung
- digitale Armbanduhr
- Handy
- GPS-Navigationssystem
- Postscript-Drucker
- Personal Organizer
- elektronische Schreibmaschine
-
von Neumann Konzept
Erläutern Sie die folgenden Prinzipien des von Neumann Universalrechners:
- Computerbestandteile
- Universalität
- Programme als Daten
- Linearer Speicher
- Sequentielle Ausführung
- Sprünge
- Zusätzliche Primitiva
- Binäre Codierung
(Vgl. dazu:
Wikipedia)
-
von Neumann Flaschenhals
Beschreiben Sie den üblicherweise als von Neumann Flaschenhals bezeichneten
Sachverhalt in der von Neumann Architektur.
Durch welche technischen
Entwicklungen der Eigenschaften der einzelnen Computerbestandteile wurde
dieses Problem massgeblich hervorgerufen?
Welche Möglichkeiten sehen Sie,
diesem Problem durch Modifikationen oder Erweiterungen der von Neumann
Architektur zu begegnen?
-
wait states
Was versteht man unter
wait states?
Weshalb sind sie bei Rechnerarchitekturen erforderlich?
-
Harvard Architektur
Worin unterscheidet sich die Harvard Architektur von der klassischen
von Neumann Architektur?
Welche Vor- und Nachteile sehen Sie?
In welcher Weise werden Harvard und Princeton Architekturen in
modernen Rechnerarchitekturen mit mehrstufigen Caches realisiert?
-
Caches
Wie groß sind die Datenblöcke, die zwischen primärem (L1) und
sekundärem (L2) Cache ausgetauscht werden? Warum?
Wie nennt man die Prinzipien, aufgrund derer größere
hit rates
erreicht werden?
(Vgl. dazu:
Wikipedia)
Nennen Sie typische Programm- und Datenstrukturen, die hohe bzw.
niedrige Cache-Trefferquoten verursachen.
-
Pipeline
Beschreiben Sie das Prinzip eines Befehls-Pipeline.
Was ist in diesem Kontext unter den Begriffen Latenz
und (Befehls-)Durchsatz zu verstehen?
Welche Probleme können beim Pipeline-Betrieb entstehen?
Erläutern Sie die Begriffe Stalling, Bubble und
(Pipeline-)Flush.
-
Minimierung der semantischen Lücke
Was ist unter der Bezeichnung Minimierung der semantischen Lücke
(bridging the semantic gap) zu verstehen?
Im Rahmen welcher Rechnerarchitektur spielt sie eine
grundlegende Rolle und weshalb kam es zu diesem "Ziel"?
-
CISC
Das CISC-Designprinzip:
Reduktion der semantischen Lücke zwischen Maschinensprache und Hochsprache durch
- viele komplexe Maschinenbefehle
- viele Adressierungsmodi
- Unterprogrammmanagement im Maschinencode
unter besonderer Berücksichtigung der langsamen Transportbefehle
vom Speicher zur CPU und vice versa.
Welchen Probleme gibt es bei der Ausführung von Instruktionen
unterschiedlicher Länge im Programmspeicher und unterschiedlicher
Ausführungsdauer?
Nenne Sie Ihnen bekannte Beispiele für Befehlssatzerweiterungen.
Durch welche Architektur ist es trotz beschränkter Chipgröße möglich,
eine große Anzahl an komplexen Maschinenbefehlen zur Verfügung zu stellen?
Welche Gründe haben bereits seit ca. 1970 zu einer Abkehr vom CISC-Design
geführt?
-
RISC
Das RISC-Designprinzip:
- Ermittlung von Schlüsseloperationen durch Analyse (typischer) Anwendungen
und Reduktion des Befehlssatzes auf diese Schlüsseloperationen
- Reduktion der Datenpfadzykluszeit für diese Schlüsseloperationen
- Jedes "neue Feature" ist nur zuzulassen, wenn es häufig benutzt wird und
die Mehrzahl der existierenden nicht verlangsamt.
- (Wiederhole diesen Design-Zyklus für die anderen CPU-Ressourcen:
Cache, Speichermanagement, Gleitkommakoprozessoren, ... )
Was ist mit Schlüsseloperationen gemeint und was versteht man unter der
Datenpfadzykluszeit?
Warum entspricht die
LOAD/STORE-Architektur diesem Designprinzip?
Durch welche Form der Befehlsverarbeitung wird es möglich, Prozessoren
zu erstellen, die (nahezu) einen Befehl pro Taktzyklus ausführen können?
Was ersetzt in RISC-Systemen die Komplexität der Befehle in CISC-Systemen?
Informieren Sie sich anhand einer WWW-Recherche über die in SPARC-Systemen genutzten
Register-Stapel.
-
CISC vs. RISC
Stellen Sie tabellarisch typische architektonische Unterschiede
von CISC-CPUs und RISC-CPUs dar:
Maschineninstruktionen, Register, Speicherzugriff, ...
-
hybride RISC/CISC-Prozessoren
Skizzieren Sie die Struktur einer mikroprogrammierten CISC-CPU.
Informieren Sie sich über
nanoprogrammierte
CPUs am Beispiel des
Motorola 68000.
Erweitern Sie die obige Skizze für diese Architektur.
Welchen Vorteil bieten (ggf. mehrstufig) mikroprogrammierte CPUs in
Bezug auf Designfehler der Hersteller?
Welche weiteren Vorteile bieten Mikroprogramme (Beispiel: 68000-360)?
-
superskalare CPUs
Was versteht man unter einer superskalaren CPU?
Durch welche Architekturmerkmale erreicht man Superskalarität?
Welche neuen Probleme entstehen durch diese Merkmale?
-
Instruction Level Parallelism
Erläutern Sie folgende Risiken bei der gleichmäßigen Instruktionsabarbeitung
jeweils anhand eines Beispiels:
- Structural Hazard
- Data Hazard
- Control Hazard
-
Register Files
Warum ist bei RISC-Systemen eine grosse Anzahl von Registern notwendig?
Warum wird in RISC-CPUs ein Register Stack / Register File anstelle einer
großen Anzahl direkt adressierbarer Register verwendet?
Erläutern Sie die Funktionsweise eines Register-Stapels beim Kontextwechsel
(etwa beim Aufruf eines Unterprogramms).
-
Instruction Reordering
In welchen Fällen ist Instruction Reordering sinnvoll.
Welche Voraussetzungen an die Prozessorhardware müssen dabei erfüllt sein?
Was ist zu beachten, um keine falschen Resultate zu erhalten?
-
Speculative Execution
Was versteht man unter Speculative Execution?
Welche Aktionen sind erforderlich, wenn Befehle aufgrund falscher
Sprungvorhersagen spekulativ fälschlich ausgeführt wurden?
Welche Arten von Operationen erscheinen Ihnen dabei besonders problematisch?
-
Branch Prediction / Branch Predication
Was ist unter Branch Prediction und einer Branch History Table
zu verstehen?
In welchen Stufen des klassischen vierstufigen Pipelinebetriebs
(fetch, decode, execute, write) wird in welcher Form auf diese Tabelle
zugegriffen?
(Vgl. dazu:
Wikipedia)
In welcher Weise unterscheiden sich Branch Prediction und
Branch Predication?
Welche der Risiken gleichmäßigen Instruktionsabarbeitung lassen sich
durch diese Techniken in welchem Maße lösen?
-
EPIC
Worin unterscheidet sich die explizite Parallelverarbeitung der EPIC-Architektur
vom parallelen Dispatch des sequentiellen Befehlsstroms beim dynamic instruction
scheduling etwa bei Intel Nehalem durch eine Instruction Fetch und Predecode
Unit?
Zu welcher Zeit erfolgt die Parallelisierung des Befehlsstroms bei beiden
Architekturen?
Beim Hyper-Threading stellt sich z.B. ein INTEL Pentium IV Xeon Prozessor nach
außen hin als zwei Prozessoren dar.
Inwiefern unterscheidet sich dies von der EPIC-Architektur?
-
Virtuelle Speicheradressen
Warum ist Multitasking-Multiuser-Systemen die Nutzung
virtueller Adressen unbedingt erforderlich?
Welche Probleme entstehen bei der Nutzung identischer Speicherbereiche
insbesondere in Bezug auf Systemsicherheit und Datenschutz.
Nennen Sie für beide Aspekte Szenarien, die Ihnen besonders problematisch erscheinen.
Warum ist eine kooperative Nutzung des Arbeitsspeichers durch verschiedene
Prozesse nicht sinnvoll?
Welche Systemkomponente sollte die Speicherverwaltung statt dessen regeln?
-
Speicherhierarchie
Skizzieren Sie eine Speicherhierarchie mit L1-, L2-Cache,
Arbeitsspeicher und externem Speicher mit typischen Größenangaben und
Datendurchsätzen.
-
Optimierung der Speicherverwaltung
Nennen Sie mindestens drei Konzepte für die Optimierung der
Speicherverwaltung und erläutern Sie diese kurz.
-
Zeitgewinn durch Caches
Welchen zeitlichen Vorteil erhält man durchschnittlich bei
Verwendung zweier bzw. dreier Cache-Level? Geben Sie entsprechende
Formeln für die Berechnung der Zugriffszeit analog zu
TZ = TC + ( 1 - h ) TM
(für einen Cache-Level) an.
Wie gering muss bei einem System mit einem Cache-Level die Zugriffszeit
auf den Cache mindestens sein, um bei einer Trefferquote von 80% einen
Nutzen gegenüber einem System ohne Cache zu erzielen?
Wie groß muss die (für alle Level identische) Trefferquote bei einem System
mit zwei Cache-Leveln und
den Zugriffszeiten 1, 10, 100 für Level-1-, Level-2-Cache und Hauptspeicher
mindestens sein, um einen Nutzen gegenüber einem System ohne Cache zu erzielen?
-
Cache-Assoziativität
Erläutern Sie anhand einer Skizze, welche Hauptspeicherblöcke in den
Cache-Organisationsarten
- direkt abgebildet (direct mapped)
- 2-fach satzsassoziativ (2-way set associative)
- 4-fach satzsassoziativ (4-way set associative)
- vollassoziativ (fully associative)
in welcher Cachezeile gespeichert werden können.
Welche Vor- und Nachteile haben die Varianten in Bezug auf
Nutzung des Cachespeichers und Hardwareaufwand.
-
Parallelrechnerklassen
Skizzieren Sie die Rechnerklassen SISD, SIMD, MIMD und
nennen Sie typische Beispiele für Rechner jeder Klasse.
Worin unterscheidet sich ein SPMD-Rechner von den Klassen
SIMD und MIMD der Flynnschen Systematik?
(Vgl. dazu:
Wikipedia)
Warum ist das Prinzip MISD nicht sinnvoll?
-
Shared / Distributed Memory
Skizzieren Sie die Speicherorganisationstypen
- gemeinsamer Speicher (shared memory)
- verteilter Speicher (distributed memory)
- gemeinsam genutzter verteilter Speicher (distributed shared memory)
Welche Vor- und Nachteile haben diese Formen der Speicherorganisation
bezüglich Hardware-Aufwand, Cacheorganisation und Programmierung?
-
Cache-Kohärenz
Beschreiben Sie das Verfahren, das bei einem Snoopy-Cache für die
Sicherstellung der Konsistenz gleicher Cachezeilen in mehreren Caches
Verwendung findet.
Worin unterscheiden sich die Varianten write through und write back?
In welchen (Schreib-/Lese-)Situationen kann es zu Problemen kommen,
die zusätzliche Lösungsstrategien erfordern?
-
Skalierung
Zeigen Sie, dass der Speedup in Amdahls Gesetz für beliebig viele
Prozessoren gegen den Wert
S = 1 + Tp / Ts
konvergiert und durch diesen nach oben beschränkt ist.
Sei nun P der parallele Anteil und (1-P) der serielle Anteil eines Programms.
Wie lautet Amdahls Gesetz für den Speedup SN bei N Prozessoren
und für den Speedup S für beliebig viele Prozessoren?
Wann ist der Speedup für unendlich viele Prozessoren unendlich groß?
Wie groß muss der parallele Anteil in Gustafsons Gesetz sein, damit der
Speedup der Anzahl der Prozessoren entspricht?
-
CSMA/CD
Wofür steht das Akronym CSMA/CD?
Erläutern Sie das damit bezeichnete Verfahren am Beispiel des Funkverkehrs
mehrerer Funkstationen, die gemeinsam nur eine Funkfrequenz benutzen.
(Vgl. dazu:
Wikipedia)
-
Crossbar Switch
Was ist ein Crossbar Switch (Kreuzschienenschalter)?
Zu welchem Zweck wird er eingesetzt?
Skizzieren Sie mit einer Zeichnung, wann sich Speicherzugriffe von 4 CPUs
auf 3 Speicherbänke bei Verbindung mit einem Crossbar Switch
blockieren und wann nicht (2 Skizzen).
-
Hypercubes
Geben Sie einen Algorithmus an, mit dem man in einem Verbindungsnetzwerk
mit d-dimensionaler Hypercubus-Topologie einen kürzesten Weg von Knoten A
zu Knoten B (in kanonischer Nummerierung) findet
(Hinweis: Binärdarstellung der Knotennummern).
Wieviele kürzeste Wege gibt es zwischen zwei Knoten, deren Nummern sich
in ihrer Binärdarstellung an k Stellen unterscheiden?
-
Netzwerk statt Peripheriebus
Neben Druckern werden in den heutigen Hochgeschwindigkeits-LANs
auch immer mehr Massenspeicher über das LAN mit dem Rechner verbunden.
(siehe Wikipedia:
NAS
und SAN)
Beschreiben Sie Vor- und Nachteile dieser Ansätze verglichen mit dem
alten Ansatz
DAS.
Was bedeutet das Akronym SCSI und wie sieht die aktuelle Entwicklung
im SCSI-Umfeld aus
(siehe Wikipedia:
SAS
und iSCSI).
-
InfiniBand vs. Ethernet
Stellen Sie die Unterschiede der Netzwerktechnologien InfiniBand
und Ethernet tabellarisch dar.
Für welchen Einsatz ist welche der Technologien zu bevorzugen.
Wie läßt sich ein (heute in Cluster-Systemen übliches) Netzwerk mit einer
Bandbreite von 40 Gbis/s auf QDR-InfiniBand-Basis realisieren?
-
Fließkommazahlen
Lesen Sie den Artikel über
Fließkommazahlen
und erläutern Sie die Vor- und Nachteile von Fließkommasystemen.
Stellen Sie mit Hilfe des Artikels
What Every Computer Scientist Should Know About Floating-Point Arithmetic
die wichtigsten "unerwarteten" Eigenschaften der Fließkommaarithmetik zusammen.
Referieren Sie kurz die
Historie der auf Computern eingesetzten Fließkommasysteme.
Welche Vorteile bringt der Standard
IEEE 754r
mit sich?
-
Bussysteme
Was ist ein Bus (in einem von Neumann Rechner)?
Welche Typen von Bussen kennt der von Neumann Rechner?
Für welche Zwecke werden sie jeweils eingesetzt?
Welche Probleme treten bei der Nutzung klassischer Bussysteme
auf und wie werden sie gelöst?
-
Circuit Switched Bus
Ein circuit switched Bus
(vgl. Leitungsvermittlung)
hat gravierende Nachteile. Schildern Sie einen solchen in einer Fallstudie.
Erläutern Sie die Aktionen auf dem Bussystem beim Schreiben eines Datenwortes
von der CPU in den Speicher.
-
Serielle Paket-basierte Bussysteme
Neuere Bussysteme basieren zumeist auf dem Paket-Prinzip und werden
seriell genannt.
Warum sind sie der alten "circuit switched"
Handshake-Methode überlegen?
Wie wird das Problem des gleichzeitigen Sendens von Paketen durch
mehrere Bus-Teilnehmer gelöst?
-
Benchmarks
Was sind Benchmarks?
Welche Aussagen können Sie aus einem kompletten SPEC-Benchmark-Protokoll entnehmen?
Welche Typen von Benchmarks gibt es
(vgl. Standard Performance Evaluation Corporation)?
Wie kann man diese Daten zur Abschätzung der Leistungsfähigkeit
eines Computersystems für ein spezielles Aufgabengebiet einsetzen?
-
Hochverfügbarkeitsrechner
Mission Critical Unternehmenscomputer müssen eine extrem hohe
Verfügbarkeit aufweisen.
Was versteht man unter der Verfügbarkeit eines Rechners?
Beschreiben Sie kurz konstruktive Maßnahmen, die solchen
HighEnd-Servern eine so hohe Verfügbarkeit verleihen.
Nennen Sie Beispiele für Mission Critical Computereinsätze.
-
High Performance Computing
Welche aktuellen Probleme aus Wissenschaft und Technik erfordern den
Einsatz von High Performance Computing? Nennen Sie typische Beispiele.
Aus welchem Grund sind Universalrechner für die genannten Beispiele
jeweils nur eingeschränkt geeignet?
Wieso verwendet man heute oft Standardtechnologien anstelle spezieller
Entwicklungen für den HPC-Bereich?
Welche zusätzlichen Anforderungen ergeben sich bei der Nutzung von COTS-Produkten?
-
LINPACK
Was ist LINPACK? Wodurch wurde es inzwischen weitgehend ersetzt?
Warum ist LINPACK für die Ermittlung der Leistungsfähigkeit moderner
HPC-Systeme nur eingeschränkt geeignet
(vgl. Wikipedia)?
-
HPC-Cluster
Welche der Komponenten eines HPC-Clusters lassen sich bildlich
mit Gehirn, Nerven, Herz und Seele vergleichen?
Bei welche dieser Komponenten lassen sich COTS-Produkte nutzen?
Warum ist ein Netzwerk einzelner Rechner zunächst "seelenlos"?
Welche "Zutat" ist für einen HPC-Cluster zusätzlich erforderlich?
-
BLAS
Was versteht man unter BLAS?
Nennen Sie die Stufen der BLAS-Funktionalitäten mit mathematischen Beispielen.
Welche Größenordnungen haben bei typischen BLAS-Operationen der jeweiligen Stufen
jeweils die Anzahlen der Einzelrechenoperationen und Speicherzugiffe?
-
Vektor-Prozessoren
Nennen Sie die Grundidee für die Entwicklung von Vektor-Prozessoren.
Welche Operationen lassen sich durch Vektor-Prozessoren ausführen?
Welches Parallelisierungs-Paradigma liegt Vektor-Prozessoren zugrunde?
Auf welche Weise lassen sich Vektoroperationen im herkömmlichen
CISC-Designprinzip realisieren?
Stellen Sie in einer Skizze die Ausführung einer verketteten Vektor-Operation
(a+b)+c für Vektoren a,b,c in einer Vektor-Pipeline dar.
-
Speicherzugriff
Aus welchem Grund ist es sinnvoll, Speicherzugriffe auf mehrere Speicherbänke
durch Steuerung der Schrittweite (stride) zu optimieren?
Welche Werte sind dabei grundsätzlich zu wählen, was sollte vermieden werden?
-
Nutzung von Vektor-Prozessoren
Wie lassen sich zwei unterschiedliche Vektor-Operationen auf jeweils
einer von zwei komplementären Teilmengen der Vektor-Komponenten
innerhalb einer einzelnen Vektoreinheit ausführen?
Welche Technik läßt sich zusätzlich nutzen, wenn nur eine der Operationen
auszuführen ist?
-
Aktuelle Vektor-Prozessoren
In welchen aktuellen Hardware-Entwicklungen spielen Vektor-Einheiten wieder
eine wichtige Rolle?
-
Feldrechner
Erläutern Sie die Grundprinzipien eines Feldrechners.
In welcher Hinsicht unterscheiden sich Feldrechner grundsätzlich von
zellulären Automaten und welche Gemeinsamkeiten gibt es?
Für welche Simulationen naturwissenschaftlicher Prozesse erscheinen Ihnen diese
Rechnertypen besonders geeignet?
-
Systolische Arrays
Erläutern Sie die Grundprinzipien systolischer Arrays.
Welches Prinzip wird in systolischen Arrays in welcher Weise
verallgemeinert?
Welche Gemeinsamkeiten mit Feldrechnern und zellulären Automaten gibt es?
Zu welchen Rechnerklassen (MIMD, ...) sind Feldrechner, zellulären
Automaten und systolische Arrays jeweils zu zählen?
-
Beowulf
Nennen Sie die Grundidee eines Beowulf Clusters.
-
Clustermanagement
Welche zusätzlichen Management-Funktionalitäten sind erforderlich,
um aus einem Netzwerk eigenständiger Rechenknoten einen
Clustercomputer zu machen?
-
Service-Netzwerke
Welche Aufgabe hat das Service-Netzwerk in einem Cluster?
Welche Komponenten werden vernetzt?
Warum ist es sinnvoll, solch ein Netzwerk neben dem
schnellen Datenkommunikationsnetzwerk zu betreiben?
-
Management-Netzwerke
Welche Aufgabe hat das Management-Netzwerk in einem Cluster?
Welche Knoten werden vernetzt?
-
Ubiquitious Computing
Beschreiben Sie Gefahren, die durch die Allgegenwart von Computersystemen
im Alltag des modernen Menschen entstehen
(vgl. Wikipedia).