• Strukturgröße
    • Größenangabe in der Halbleitertechnik
    • Kleinste Abmessung der Elemente
    • z.B. 5 nm
  • Mikroprozessor
    • Alle Prozessorbestandteile auf einem Chip
    • Registerbasiert
  • Mikroarchitektur
    • Konkrete Architektur mit vorgegebenen Befehlssätzen usw
    • z.B. x86
  • RISC - Reduces Instruction Set Computer
    • Kleiner Befehlssatz, Fest gedrahtet, viele Register
    • Aufwand bei der Software
    • z.B. ARM
  • CISC - Complex Instruction Set Computer
    • Erleichterung für Programmierer
    • Aufwand bei der Hardware
    • z.B. x86

Von-Neumann-Rechner

  • Bus:
    • Datenbus - Überträgt Daten wischen CPU und Speicher; Busbreite entspricht Registerbreite
    • Adressbus - Überträgt Speicheradressen von CPU an Speicher
    • Steuerbus - Steuert das Bussystem (Lesen/Schreiben)
  • Werke
    • Leitwerk (CPU)
      • Dekodiert Befehle, steuert Programmablauf
      • Befehlszähler, Befehlsregister
    • Rechenwerk (CPU)
      • Verändert Daten
      • Registerblock, Operationswerk (ALU), Statusregister
  • Von-Neumann-Zyklus
    1. FETCH
      • Aktiviere Adresswerk und Bus
      • Sende Adresse des Befehlszählers über Adressbus
      • Speicherwort wird ausgegeben und zwischengespeichert
      • Über Datenbus gesendet und im Befehlsregister gespeichert
      • Befehlszähler wird erhöht
    2. DECODE
      • Sende Befehlswort an Decoder
      • Decoder entschlüsselt in Schaltinstruktionen
      • Gibt es an Ablaufsteuerung
    3. FETCH OPERANDS
      • Bestimmt Adresse des Operands und holt diesen aus dem Speicher in das Register
    4. EXECUTE
      • Befehl ausfüren
    5. WRITE BACK
      • Gibt Ergebnis zurück
      • Wiederholen
  • SISD - Single instruction, single data: Immer nur ein Befehl und daraus folgt auch immer exakt ein Rückgabewert
  • Vorteile:
    • Problemunabhängig
    • Nur eine Hardware für alle möglichen Programme/Probleme notwendig
    • Deterministisch -> Einfach
  • Nachteile:
    • Von-Neumann-Flaschenhals
    • Keine Parallelität -> Langsam
    • Memory Wall: Speicher langsamer als CPU

Von Neumann im 21. Jahrhundert

  • Multibus - Mehrere Busse exklusiv zum Hauptspeicher (z.B. Dual Channel), weitere Busse zu anderen Werken
  • Controller - z.B. I/O- und Speichercontroller, entlasten CPU
  • Caching
  • Pipelining
  • Hyperthreading
  • Koprozessoren - z.B. GPU, FPU
  • Multiprozessoren

Parallele Rechnerarchitekturen

  • Nebenläufigkeit (Quasiparallelität) - Beide Tasks werden abwechselnd auf dem selben Prozessor ausgeführt
  • Parallelität (Echte Parallelität) - Jeder Task wird auf einem eigenen Prozessor ausgeführt
Flynnsche KlassifikationSingle InstructionMultiple Instruction
Single DataSISDMISD
Multiple DataSIMDMIMD
  • SISD - Klassischer Von-Neumann-Rechner
  • SIMD - Grafikkarten, Einheiten in modernen CPUs
  • MIMD - Moderne CPUs, Aufteilung von Programmen auf separate Prozessoren

Software

  • Prozeduren/Unterfunktionen - Beginnt immer am Anfang und läuft ab
  • Coroutinen - Zwei Prozeduren laufen “gleichzeitig”, rufen sich gegenseitig auf. Beispiel yield
  • Threads - Teilaufgabe innerhalb eines Prozesses
    • Parallele Ausführung auf Multiprozessorsystememn möglich
    • Threadsceduling notwendig
  • User-Threads
    • Verwaltung innerhalb eines Programms
  • Kernel-Threads
    • Werden von OS verwaltet
    • Können auf mehrere Prozessoren aufgeteilt werden

Hardware

On-Chip-Parallelität

  • Pipelining
  • SIMD
    • AVX
  • Multithreading
    • Grobkörnig
      • Threadwechsel beim Eintreten einer Verzögerung
      • Spekulativer Wechsel bei Möglichkeit einer Verzögerung
    • Feinkörnig
      • Wechsel von Threads nach jedem Taktsyklus
    • Simultan
      • Bei Verzögerung Einschub eines Befehls aus einem anderen Thread und Wechsel zu Ersatzthread
      • Hyperthreading (Implementierung bei Intel CPUs mit 2 Threads -> OS sieht 2 Kerne)
  • Coprozessoren
  • Multiprozessoren
    • Mehrere CPUs an einen Hauptspeicher angeschlossen
    • Mehr Leisitung duch parallele Berechnungen
    • UMA (Uniform Memory Access) bzw SMP (Symmetric Multiprocessing)
      • Zentraler Multiprozessor
      • Alle CPUs greifen über selben Bus auf Speicher zu
      • MESI - Modified, Exclusive, Shared, Invalid - Information über Status der Daten im Cache
    • NUMA (Non-Uniform Memory Access)
      • Jeder Prozessor hat seinen eigenen Hauptspeicher
      • Über z.B. Internet verbunden

Hardware

Chipset

  • Northbridge, Southbrudge
    • Northbridge: RAM und GPU-Anbiundung
    • Southbridge: I/O Controller, Festplatten, USB, Netzwerk
  • Platform Controller Hub (PCH)
    • RAM und GPU direkt in CPU
    • Direct Media Interface (DMI) zu PCH
    • PCH übernimmt verbleibende Funktionen

Mainboard

  • Steckplätze für CPU, RAM, weitere Karten usw
  • BIOS
  • Uhr
  • Batterie

Prozessor

  • Turbo Boost
    • Kurzzeitige erhöhung des Taktes
    • Abhängig von Typ der Arbeit, aktive Kerne, Strom, Temperatur
    • Prozess kann manuell auf schnellsten Core gelegt werden
  • Geschwindigkeit
    • Instruktionen pro Sekunde (IPS), meist in Millionen (MIPS) - veraltet
    • Floating Point Operations per Second (FLOPS)
  • Tensor Processing Unit
    • Beschleunigung für Deep Learning
    • Skalar, Vektor, Matrix, Gleitkomma-Operationen
    • Entwickelt von Google

Arbeitsspeicher

  • RAM - Random Access Memory
  • SDRAM - Synchronous Dynamic RAM
  • SRAM - Static Ram
    • Braucht viel Chipfläche
    • Inhalt bleibt ohne Auffrischen gespeichert
    • Sehr schnell
    • -> Cache
  • DRAM - Dynamic RAM
    • Hohe Datendichte
    • Periodisches Auffrischen nötig
    • -> Arbeitsspeicher
  • Multi Channel Betrieb
    • Anbindung über mehrere getrennte Busse
  • Formen:
    • DIMM - Dual Inline Memory Module
    • SO-DIMM - Small Outline DIMM
    • Kontakte auf Vorder- und Rückseite
  • DDR - Double Data Rate
    • Sowohl bei der auf- als auch absteigenden Flanke des Taktes werden Daten übertragen
    • Datenrate wird verdoppelt - auch doppelt so groß angegeben
  • DDR4
    • Höher getaktet als DDR3
    • Spannung gesenkt
    • Verbesserte Fehlererkennung
  • CL - CAS Latency: Anzahl der Zyklen die es braucht bis nach der Adressendung die Antwort kommt
  • Beispiel: DDR3-2000 CL7 -> 1000 MHz -> 1 ns Zyklus - 7 ns
  • ECC - Error Correction Code
    • Fehler können erkannt und teilweise korrigiert werden
    • Datenleitungen haben mehr Bit als effektiv gesendet werden, Redundanz
  • LPDDR - Low-Power DDR - z.B. für Smartphones
  • NV-DIMM - Non Volatile DIMM - Nicht flüchtiger Speicher

Interne Schnittstellen

  • Direct Memory Access*
    • I/O-Hardware an Bus zwischen CPU und RAM angeschlossen
    • Kann ohne CPU auf Speicher zugreifen
    • Entlastung der CPU
    • Steuerung per Interrupts, Bus während Durchführung blockiert
  • Memory Mapped I/O
    • Register von Peripheriegeräten werden in Hauptspeicher-Adressraum abgebildet
    • Zugriff wie auf Hauptspeicher, auch über Hochsprache möglich
  • Port Mapped I/O
    • Register werden über eigenen Adressraum angesprochen
    • Eigene Assemblerbefehle
    • Standardmäßig nicht über Hochsprache möglich

publish: true

  • XT-Bus - eXtended Technology Bus
    • Alle Komponenten teilen sich Bus
  • ISA - Industry Standard Architecture
    • Erweiterung XT-Bus
  • EISA - Extended ISA
    • Erweiterung ISA
    • 32-Bit
  • PCI - Peripheral Component Interconnect
    • Nachfolger von ISA
    • Mit ISA kombinierbar
    • Master-Slave-Prinzip
  • PCIe - PCI express
    • Serielle Datenübertragung, kein Bussystem
    • Pakete werden über PCI-Bus versendet

publish: true

  • SCSI - Small Computer System Interface
  • SAS - Serial Attached SCSI
  • ATA - Advanced Technology Attachment
  • SATA - Serial ATA
  • M.2 - Steckkarten
    • Anbindung per PCIe oder SATA, auch parallel nutzbar
    • NVMe als Softwareschnittstelle

  • Parallel
    • Daten werden pber mehrere Leitungen übertragen
    • Unterschiedliche Laufzeiten -> Niedriger Takt
  • Seriell
    • Nur eine Datenleitung
    • Höhere Geschwindigkeit wegen höherem Takt

Externe Schnittstellen

  • Parallele Schnittstelle (Drucker, Rosa)
  • RS 232, Serielle Schnittstelle (LKW-Waage)
  • PS/2, Serielle Schnittstelle (Maus, Tastatur)
  • S/PIDIF (Audio)
  • Klinke (Kopfhörer)
    • Grau, Schwarz: Seiten, Hinten L/R
    • Orange: Bass
  • Koaxial (Chinch)
  • Glasfaser
  • Ethernet
  • eSATA
  • VGA - Video Graphics Array
  • DVI - Digital Visual Interface
    • DVI-D (Digital)
    • DVI-A (Analog)
    • DVI-I (Integriert)
  • DisplayPort
  • HDMI
  • USB
    • Host-Controller, Root-Hub als Einstiegspunkt
    • 127 Geräte pro Root-Hub
    • Max. 5 Ebenen
    • Geräte bekommen eine ID zugewiesen, vor der Zuweisung haben sie ID 0
    • Typ A: 4 Pins, Typ C: 24 Pins
    • Typ C hat Modi für Display Port, Thunderbolt, HDMI
  • Thunderbolt
    • Monitore, Peripherie, Festplatten usw.
    • Kombination aus DisplayPort und PCIe basierte Schnittstelle
    • 6 Chips pro Steckerende -> Teuer

Festspeicher

Festplatten

  • HDD - Hard Disk Drive
  • Langsam, Daten bleiben auch ohne Stromversorgung
  • Kein unmittelbarer Zugriff durch CPU
  • DASD - Direct Access Storage Device
  • S.M.A.R.T - Self monitoring, Analysis and Reporting Technology
    • Überwachung von z.B. Temperatur, Leistung, Schreib- und Lesefehler, Datendurchsatz, Startzeit usw.
    • Gibt einen Wert für die Ausfallwahrschienlichkeit

HDD

  • Übliche Größen: 3,5” (PC und Server), 2,5” (Laptops), 1,8” (Kompakte Geräte, z.B. erster iPod)
  • Rotationsgeschwindigkeit bestimmt Bitlänge
  • Longitudinal Recording (Parallel zur Rotationsrichtung)
  • Perpendicular Recording (Senkrecht zur Rotationsrichtung)
    • Höhere Datendichte
  • SMR - Shingled Magnetic Recording
    • Überlappung von Magnetspuren
    • Höherer Schreibaufwand: Dachziegel-Prinzip
  • CHS - Zylinder-Kopf-Sektor-Adressierung
    • Veraltet
    • Vergleichbar mit Koordinatenangabe
  • LBA - Logical Block Adressing
    • Unabhängig von Festplattengeometrie
    • Blöcke werden aufsteigend nummeriert

SSD

  • Halbleiterschaltungen
  • DASD - Direct Access Storage Device
  • 2,5” als Standard
  • M.2
  • PCIe Steckkarte
  • Bitfolgen -> Pages -> Blöcke
  • Schreiben:
    • Daten nur Pageweise schreibbar
    • Page beschreben -> Erst Page löschen
    • Block muss resettet werden
    • -> Garbage Collection (Hardwareseitig) oder per TRIM (Software, auch mit OS)
  • Bad Blocks werden vom Controller markiert und ersetzt, soweit es welche gibt die noch gehen (Spare Area)
  • Begrenzte Lebenszeit, aber Daten können noch gelesenw werden
  • Transistoren speichern Ladung
  • NAND-Flash
    • EEPROM - Electrically Erasable Programmable Read Only Memory
    • SLC - Single Level Cell
    • MLC - Multi Level Cell
    • TLC - Triple Level Cell
  • NOR-Flash
    • Braucht mehr Platz
    • Jedeoch Fehlerfrei
    • Lineare Adressierung -> Direkt Code ausführen
  • Wear-Levelling - Schreibvorgänge werden auf alle Blöcke verteilt
  • Lebensdauer zu Ende -> Read Only

Partitionierung

  • MBR - Master Boot Record
    • 4 Partitionen, davon eine Primäre
    • Erweiterte Partitionen nicht bootfähig
  • GPT - GUID Partition Table
    • 128 Primäre Partitionen
  • Gründe:
    • Multiboot
    • Trennung von Daten und OS -> Sicherheit
    • Nutzung als RAM
    • Dateisystemgrenzen

Speicherkarten

  • Diskette
  • SD Karte
  • Magnetband
  • CD, DVD, Bulue-Ray

RAID

  • Redundand Array of Independend Disks
  • Hardware-Raid oder Software-Raid
  • RAID0: Schneller
  • RAID1: Sicher
  • RAID5: 4 Platten, eine mit Paritätsbits
  • Kombinationen:
    • RAID 01 (3 Platten)
    • RAID 10 (2x2 Platten im Raid 0 mit RAID 1)
  • Hot-Spare: Platte wird in Reserve gehalten, sofortiger Ersatz bei Ausfalle einer anderen

Grafikkarte

  • Starker Fokus auf SIMD
  • VRAM: GDDR (Graphics DDR)
    • Framebuffer
    • Z-Buffer
    • Texturen
    • Shaderprogramme selbst
  • GPGPU - General Purpose Computation on GPUs
    • Da GPUs für Parallele Aufgaben optimiert sind, funktionieren auch andere Simulationen außer Grafikberechnungen gut
    • Wirtschafts- oder Techniksimulationen, Hashcat
    • SLI/Crossfire
    • Einheitliche Schnittstellen, z.B. OpenCL, CUDA

Firmware

BIOS

  • BIOS - Basic Input Output System
  • Gespeichert in einem EEPROM
  • Initislisiert Hardware:
    • POST - Power-on Self Test
      • Fehlermeldung (grafisch oder akustisch)
    • Option ROM: Treiber- oder Initialisierungsdaten auf anderen Erweiterungskarten
    • Video BIOS
  • Lädt Betriebssystem

UEFI

  • UEFI - Unified Extensible Firmware Interface
  • 64-Bit, GUID Partition Table, GUI, Maus, Netzwerk, Secure Boot
  • Schritte:
    • SEC - Security
      • Versetzt CPU in Protected bzw Long Mode
    • PEI - Pre Efi Initialization
      • Initialisiert Hauptspeicher
    • EXE - Driver Execution Environment
      • Initialisiert verbleibende Hardware
    • BDS - Boot Device Selection
      • Startet Bootmanager
      • Lädt Shell, GUI usw
    • TSL - Transient System Load
      • Signatur wird Überprüft (Secure Boot)
      • OS-Bootloader wird ausgeführt
  • EFI-Partition beinhaltet OS-Bootloader undMBR für Abwärtskompatibilität