- 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
- Leitwerk (CPU)
- Von-Neumann-Zyklus
- 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
- DECODE
- Sende Befehlswort an Decoder
- Decoder entschlüsselt in Schaltinstruktionen
- Gibt es an Ablaufsteuerung
- FETCH OPERANDS
- Bestimmt Adresse des Operands und holt diesen aus dem Speicher in das Register
- EXECUTE
- Befehl ausfüren
- WRITE BACK
- Gibt Ergebnis zurück
- Wiederholen
- FETCH
- 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 Klassifikation | Single Instruction | Multiple Instruction |
|---|---|---|
| Single Data | SISD | MISD |
| Multiple Data | SIMD | MIMD |
- 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)
- Grobkörnig
- 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
- POST - Power-on Self Test
- 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
- SEC - Security
- EFI-Partition beinhaltet OS-Bootloader undMBR für Abwärtskompatibilität