Untitled Deck Flashcards

1
Q

Was ist Simultaneous Multithreading und warum wenden sich Hersteller davon ab? (02_Cache_02)

A

SMT teilt einen physischen CPU-Kern in zwei logische Kerne auf. Statuskomponenten (Register etc.) werden dupliziert, andere Ressourcen (Caches, Execution Units) dynamisch geteilt. Hersteller wenden sich ab weil:
- Neue Technologien ähnliche Performance bieten
- SMT anfälliger für Seitenkanalangriffe ist
- Alternative Technologien bessere Sicherheit bieten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Beschreiben Sie die TLB-Hierarchie in modernen Intel-Prozessoren. (02_Cache_02)

A

Dreistufige Hierarchie:
1. iTLB: pro logischem Kern für L1 Instruction Cache
2. dTLB: pro physischem Kern für L1 Data Cache
3. sTLB: pro physischem Kern für L2 Cache
Eigenschaften:
- Set Associative Caches
- Virtuell indiziert, virtuell getaggt (VIVT)
- Werden bei Prozesswechsel invalidiert (außer PCID-markierte)
- Verwenden komplexe Adressierungsfunktionen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Erklären Sie die Komponenten und Funktionsweise der Branch Prediction Unit. (02_Cache_02)

A
  1. Branch Target Buffer (BTB):
    - Cache für Sprungzieladressen
    - Zugriff über virtuelle Adressen
  2. Pattern History Table (PHT):
    - Speichert Verlauf der Sprungentscheidungen
    - Verwendet 2-Bit Saturating Counter
  3. Global History Register (GHR):
    - LIFO für Sprungentscheidungen
    - Verbessert Vorhersagegenauigkeit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie funktioniert Prefetching und welche Arten gibt es? (02_Cache_02)

A

Prefetching ist eine Software-gesteuerte Cache-Optimierung mit verschiedenen Befehlen:
1. PREFETCHT0: lädt in alle Cache-Ebenen
2. PREFETCHT1: lädt in L2 Cache und höher
3. PREFETCHT2: lädt in L3 Cache und höher
4. PREFETCHNTA: lädt in nicht-temporäre Cache-Struktur
Besonderheiten:
- Löst keine Exceptions aus
- Zugriffszeiten teilweise vorhersagbar
- Nutzbar für Seitenkanal-Angriffe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Beschreiben Sie die Struktur und Funktionsweise des Last Level Cache (LLC). (02_Cache_02)

A

Der LLC ist:
- Gemeinsamer L3-Cache für alle CPU-Kerne
- Set Associative Cache
- Physisch indiziert und getaggt
- Inklusiv (enthält L1/L2 Inhalte)
- In Slices aufgeteilt (je Kern ein Slice)
- Verbunden durch Ringbus
- Verwendet Complex L3-Addressing Function
- Wird durch clflush invalidiert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie lassen sich Cache-Hits von Cache-Misses unterscheiden und welche Werte sind typisch? (02_Cache_02)

A

Unterscheidung durch Zeitmessung:
1. Typische Werte:
- Cache-Hit: ~74 Zyklen
- Cache-Miss: ~425 Zyklen
- Schwellwert: ~200 Zyklen
2. Benötigt:
- Präzise Zeitmessung (rdtsc)
- Mehrfache Messungen
- Statistische Auswertung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was sind die Voraussetzungen für einen erfolgreichen Flush+Reload Angriff? (02_Cache_02)

A
  1. System:
    - Sender und Empfänger auf gleichem Gerät
    - Keine besonderen Rechte nötig
    - Prozessisolation vorhanden
  2. Speicher:
    - Dynamische Bibliotheken via Shared Memory
    - Gemeinsamer Cacheeintrag zugänglich
  3. Technisch:
    - Präzise Zeitmessung möglich
    - Cache-Invalidierung verfügbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie funktioniert die Synchronisation zwischen Sender und Empfänger bei einem Cache-basierten Seitenkanal? (02_Cache_02)

A
  1. Zeitfenster:
    - Festes Intervall (typisch 100µs)
    - Zyklen-basierte Ausrichtung
    - Fehlertoleranz einplanen
  2. Implementation:
    - Grobe Synchronisation mit nanosleep
    - Feinabstimmung mit rdtsc
    - Behandlung von Jitter
  3. Fehlerbehebung:
    - Resynchronisation
    - Mustererkennung
    - Fehlerkorrektur
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Optimierungen sind für einen zuverlässigen Cache-basierten Seitenkanal notwendig? (02_Cache_02)

A
  1. Fehlerkorrektur:
    - Mehrfachmessungen
    - Mehrheitsentscheidung
    - Konfidenzberechnung
  2. Rauschreduktion:
    - CPU-Affinität setzen
    - Prioritätsanpassung
    - Cache-Line Vorladung
  3. Umgebung:
    - Prozessisolierung
    - CPU-Frequenzstabilität
    - Interrupt-Behandlung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie kann man die Performance eines Cache-basierten Seitenkanals messen und analysieren? (02_Cache_02)

A
  1. Statistiken:
    - Übertragene Bits
    - Fehleranzahl
    - Durchschnittliche Latenz
    - Bandbreitenberechnung
  2. Fehleranalyse:
    - Bitfehlerrate
    - Signal-Rausch-Verhältnis
    - Kanalkapazität
  3. Erkennung:
    - Cache-Miss-Überwachung
    - Performance-Counter
    - Anomalie-Erkennung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly