programmierung
und datenbanken

Joern Ploennigs

Computerhardware

Midjourney: Man Computer, ref. Fritz Kahn

Ablauf¶

Definition: Computer¶

Computer sind heutzutage allgegenwärtig und erfüllen in unserem Alltag viele Aufgaben. Sie sind formal definiert als

📘 Definition: Computer

Ein Computer ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet

Hörsaalfrage¶

Welche Computer-Arten gibt es?

No description has been provided for this image
Midjourney: A Mona Lisa-style painting with a goat taking a photo with an iPad

Computerarten¶

  • Supercomputer – Spezielle Computer mit sehr vielen CPUs und GPUs zur hochparallelen Verarbeitung komplexer Probleme (z.B. Wettersimulation)
  • Mainframe – Spezielle Großrechner mit sehr hoher Zuverlässigkeit z.B. in Banken
  • Server – Computer in Rechenzentren ohne Bildschirm für das Internet oder Cloud-Computing
  • Personal Computer (PC) – Desktop Computer in Büros oder daheim für Arbeit, Spielen, etc.
  • Laptops – Mobile Computer unterwegs fürs arbeiten, spielen, studieren
  • Smartphones – Mobiler Rechner mit Touchscreen und wenig Telefonfunktion
  • Tablets – Mobiler Computer mit viel Touchscreen und ohne Telefonfunktion
  • Eingebettete Computer – kleine Rechner in Autos, Robotern und Smart-Homes

Hörsaalfrage¶

Aus welcher Hardware besteht ein Computer?

No description has been provided for this image
DALL-E 2: Early designs of the iPhone by Leonardo da Vinci

Computer Aufbau¶

Image

Die Kernmodule eines Computers sind:

  • die CPU als zentrale Recheneinheit,
  • die GPU für graphische Anwendungen,
  • der RAM als Arbeitsspeicher und
  • ein Harddrive (HDD) oder Solid State Drive (SSD)

Computer Aufbau Speicherdauer¶

Image

Der Computer hat ähnliche Gedächtnisarten wie der Mensch:

  • CPU und GPU haben kleine Register und Cache Speicher (Ultra-Kurzzeitgedächtnis)
  • Der RAM ist ein volatiler Speicher, d.h. der Inhalt geht beim ausschalten verloren (Kurzzeitgedächtnis)
  • Die HDD/SSD ist ein permanenter Speicher, d.h. der Inhalt bleibt erhalten (Langzeitgedächtnis)

CPU – Central Processing Unit¶

  • Die CPU ist die Recheneinheit des Computers um Daten zu verarbeiten
  • Sie bearbeitet eine Sequenz an Befehlen (Ein Programm)

  • Eine CPU besteht aus Millionen an Transistoren die nur wenige Nanometer (1000000nm=1cm) groß sind
  • Wenige Transistoren können nur eine einzelne logische Operation berechnen

No description has been provided for this image
https://www.ial-fa.com/blog/wafer-lot-acceptance-to-mil-std-883

Binären Zahlen¶

  • Computer speichern, verarbeiten & kommunizieren Daten als binären Zahlen, weil Transistoren in einem Gatter nur logische Operationen ausführen können.

  • binarius – Zweifach, doppelt

  • Das kleinste mögliche (nützliche) System von Zeichen

  • Mögliche Repräsentationen von Binärcode:

    • 0 / 1
    • Falsch / Wahr
    • Aus / An

Achtung: Der Unterschied im Computer¶

Aufgrund der binären Darstellung werden übliche Einheitenvorsätze wie Kilo-, Mega-, etc. auf Basis von 1024 und nicht auf Basis von 1000 definiert

Einheit Abkürzung Dezimal Wert Binär (IEC) Abkürzung Binär (Bytes)
Kilobyte kB 1.000 Kibibyte KiB 1.024
Megabyte MB 1.000.000 Mebibyte MiB 1.048.576
Gigabyte GB 1.000$^3$ Gibibyte GiB 1.024$^3$
Terabyte TB 1.000$^4$ Tebibyte TiB 1.024$^4$

Hörsaalfrage¶

Wie Weit kann man mit 10 Fingern Zählen?

No description has been provided for this image
Midjourney: Counting with two hands

Binären Zahlen - Ganze Zahlen¶

  • Unsere dezimalen Zahlen lassen sich als Binärzahlen codieren

  • Binärzahlen erlauben dieselben bekannten Grundrechenarten wie Dezimalzahlen also Addition, Subtraktion, Multiplikation und Division

  • So kann der Computer mit dezimalen Zahlen rechnen

  • Im Computer werden Zahlen auch oft hexagonal (Basis 16) codiert, da sich somit ein Byte (8 Bits) in 2 Zeichen beschreiben lassen

Dezimal Binär Hexadezimal
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

Binären Zahlen – Gleitkommazahl¶

  • Reelle Zahlen können im Computer nicht exakt dargestellt werden, da sie unendlich viele Nachkommastellen haben können (z. B. $1/3$, $\pi$)

  • Computer verwenden daher näherungsweise Gleitkommazahlen (floating point) in Exponentialschreibweise: $\pm m \times 2^e$

  • Zerlegung: Vorzeichenbit, Exponent (mit Bias), Mantisse (Binär)

⚠️ Achtung: Begrenzte Anzahl an Stellen → Rundungsfehler!

Beispiel: Wir möchten die Zahl $-13,25$ als Gleitkommazahl im Format $\pm m \times 2^e$ darstellen:

  1. Vorzeichen: Die Zahl ist negativ, also $1$.
  2. Dezimalzahl in Binärform: $13,25_{10} = 1101,01_2$
  3. Exponentialverschiebung: $1101,01_2 = 1,10101_2 \times 2^3$
  4. Zerlegung in Mantisse: $1,10101_2$ und Exponent: $3$
  5. Ergebnis: $-13,25 = -1,10101_2 \times 2^3$

Im IEEE 754 Standard werden die Bits zusätzlich aufgefüllt, so dass sie in die 32 oder 64 Bit passen.

  • Vorzeichenbit: $1$ (negativ)

  • Exponent mit Bias: $3 + 127 = 130_{10}$ ($10000010_2$)

  • Mantisse mit Nullen aufgefüllt: $10101000000000000000000$

  • Die Binärdarstellung im Speicher lautet also: 1 10000010 10101000000000000000000

Abbildung von Zeichen im Computer¶

  • Buchstaben in Texten werden im Computer binär codiert

  • ASCII: Textzeichen gespeichert in 8 Binärwerten (8 Bit = 1 Byte)

  • Binäre Codierung zieht sich vom niedrigsten Hardwarelevel bis hoch zur alltäglichen Anwendung

Char Dezimal Binär Char Dezimal Binär Char Dezimal Binär
a 97 01100001 A 65 01000001 0 48 00110000
b 98 01100010 B 66 01000010 1 49 00110001
c 99 01100011 C 67 01000011 2 50 00110010
d 100 01100100 D 68 01000100 3 51 00110011
e 101 01100101 E 69 01000101 4 52 00110100
f 102 01100110 F 70 01000110 5 53 00110101
g 103 01100111 G 71 01000111 6 54 00110110
h 104 01101000 H 72 01001000 7 55 00110111
i 105 01101001 I 73 01001001 8 56 00111000
j 106 01101010 J 74 01001010 9 57 00111001
k 107 01101011 K 75 01001011 ! 33 00100001
l 108 01101100 L 76 01001100 ? 63 00111111
m 109 01101101 M 77 01001101 . 46 00101110
n 110 01101110 N 78 01001110 , 44 00101100
o 111 01101111 O 79 01001111 Space 32 00100000

Abbildung von Bildern im Computer¶

  • Bilder werden im Computer auch binär codiert

  • Hierbei wird ein Bild in Pixel eingeteilt (Auflösung)

  • Die Farbe in jedem Pixel wird dann als Zahl gespeichert, z.B. True Color RGB (16,777,216 colour variations):

    • Blau – 0 … 256 (= 1 Byte)
    • Grün – 0 … 256 (= 1 Byte)
    • Rot – 0 … 256 (= 1 Byte)
  • Die Zahlen werden dann binär codiert, z.B. als 24 Bit (1 Byte = 8 Bit; 3 * 8 Bit = 24 Bit)

Image
Mahmut Sinecen: Digital Image Processing with MATLAB, 2015

Achtung: Der Unterschied im Computer¶

Aufgrund der binären Darstellung werden übliche Einheitenvorsätze wie Kilo-, Mega-, etc. auf Basis von 1024 und nicht auf Basis von 1000 definiert

Einheit Name Binär Dezimal (1000er) Ausgeschrieben Dezimal Binär (1024er) Ausgeschrieben Binär
Kilobyte Kibibyte 1 KB = $10^3$ B 1.000 B 1 KiB = $2^{10}$ B 1.024 B
Megabyte Mebibyte 1 MB = $10^6$ B 1.000.000 B 1 MiB = $2^{20}$ B 1.048.576 B
Gigabyte Gibibyte 1 GB = $10^9$ B 1.000.000.000 B 1 GiB = $2^{30}$ B 1.073.741.824 B
Terabyte Tebibyte 1 TB = $10^{12}$ B 1.000.000.000.000 B 1 TiB = $2^{40}$ B 1.099.511.627.776 B

Daten Wachstum¶

  • Die Größe der erzeugten Daten wächst zunehmend
  • Sie werden in Zukunft vor sehr vielen Daten konfrontiert werden
  • Der Computer muss Ihnen helfen diese Daten zu analysieren durch Informatik
Image
Worldwide IDC Global DataSphere Forecast, 2022–2026

Hörsaalfrage¶

Wie viele Sensoren hat ein Supermarkt?

No description has been provided for this image
Midjourney: An alien supermarket filled with exotic food

Beispiel – Tesco Irland¶

  • Die Supermarktkette Tesco hat sehr früh in Sensoren und Monitoringsysteme der Supermärkte mit dem Ziel Energie einzusparen investiert
  • Die gesammelten Daten wurden so schnell so groß, dass niemand sie analysieren konnte
  • Durch maschinelle Lernmodelle konnte IBM Research die Daten analysieren und half Ihnen 20% des Kühlbedarfs einzusparen
Tesco

Lessons Learned¶

  • „Lessons Learned“ sind kurze off-topic Themen, von denen ich wünschte irgendjemand hätte mir das als Student gesagt

  • Meist in der Mitte der Vorlesung um diese aufzulockern

  • Dieses Semester primär Softskill-Themen; Nächstes Semester Survival-Tipps fürs Berufsleben

No description has been provided for this image
DALL-E 2: Teddy bears mixing sparkling chemicals as mad scientists, steampunk

Lesson Learned¶

Welche Gedächtnisarten kennen Sie?

No description has been provided for this image
DALL-E 2: 1980s illustration of a face with a visible brain that’s exploding

Lessons Learned - Gedächtnis¶

Gedaechnisarten
  • Wissen braucht Zeit sich zu verfestigen
  • Nutzen sie Ihr Unterbewusstsein, d. h. Informationen sammeln und reifen lassen
  • Intervalllernen ist, wie im Sport, der effektivste Weg etwas langfristig zu lernen

fragen?

programmierung
und datenbanken