🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

CNA_RA.01-zusammengefügt-seiten-gelöscht.pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Document Details

DecisiveTroll4451

Uploaded by DecisiveTroll4451

Hochschule Luzern

Tags

computer architecture rechnerarchitekturen computer science

Full Transcript

Studienelement Rechnerarchitekturen Rechnerarchitektur  Die Art und Weise, wie ein Rechner aus „Bauelementen“ aufgebaut ist, nennen wir Rechnerarchitektur.  Mit «Bauelemente» kann gemeint sein:  physikalische Bauelemente:...

Studienelement Rechnerarchitekturen Rechnerarchitektur  Die Art und Weise, wie ein Rechner aus „Bauelementen“ aufgebaut ist, nennen wir Rechnerarchitektur.  Mit «Bauelemente» kann gemeint sein:  physikalische Bauelemente: grundlegendes Bauelement: Schalter konkret: Mechanik (Bleche), Elektronenröhren, Transistoren, Integrierte Schaltungen (ICs) mit vielen Transistoren, … Oder auf einer höheren Entwurfsebene:  logische Bauelemente: Register, Speicher, Vergleicher, Addierer, Steuerwerk, Prozessor, … Anmerkung: Mit «Software-Architektur» ist etwas anderes gemeint: Gliederung bzw. Strukturierung der Softwareaufgabe in einzelne Komponenten (Programme/Module/Methoden/Routinen/…) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 5 Studienelement Rechnerarchitekturen Rechnerarchitektur  Ziel des Studienelements Rechnerarchitektur: Ich kann aus einer Menge einfacher Schalter einen Rechner bauen.   Wir werden schrittweise lernen:  Aus Schalter logische Grundfunktionen (Logikgatter) und Speicherelemente (Flip-Flops) aufbauen.  Aus Logikgattern und Flip-Flops logische Bauelemente aufbauen: Register, Speicher, Vergleicher, Addierer, …  Befehlsabarbeitung mittels Steuerwerk  Aufbau und Funktion eines Prozessors  Aufbau und Funktion eines Rechners V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 6 Studienelement Rechnerarchitekturen Rechner ( = Computer)  Rechner können: Nach festen Regeln eine Berechnung durchführen.  „Feste Regeln“ = Algorithmus = Handlungsvorschrift, Rechenanleitung, Rezept  Alle Maschinen sind höchstens Rechner.  Alles was wir berechnen können, kann mit Computern durchgeführt werden.  Alle Computer sind gleich.  Alle Architekturen sind äquivalent.  Jede Architektur kann die anderen emulieren V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 7 Studienelement Rechnerarchitekturen Beispiel: Turingmaschine  Rechnermodell von 1936 von Alan Turing (1912–1954):  Einfache Struktur  Eignet sich daher für Beweise über algorithmische Probleme  Endloses Speicherband, 1 Zeichen pro Feld  3 Operationen: Lesen, Schreiben, Band bewegen  In jedem Programmschritt:  Input: gelesenes Zeichen  Output: Zeichen schreiben, Band re/li, Sprung zum nächsten Programmschritt  schlechte Performance, keine praktische Anwendung, aber hilfreiches Denkmodell  Turing’s Beweis: „Die Maschine ist in der Lage, jedes vorstellbare mathematische Problem zu lösen, sofern dieses auch durch einen Algorithmus gelöst werden kann“.  V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 8 Studienelement Rechnerarchitekturen Was muss ein Rechner können?  Turing’s Beweis anders formuliert: Ein Algorithmus ist genau dann berechenbar, wenn er durch eine Turingmaschine berechenbar ist.  Gilt auch für alle anderen Computer (da alle Architekturen äquivalent).  Fazit: Ein Rechner muss einen Algorithmus ausführen können.  Was muss er dazu im Detail können?  Die Befehle eines Programms der Reihe nach ausführen: Steuerwerk.  Die Möglichkeit, Zahlen zu speichern: Speicher.  Speicherinhalt als Zahl interpretieren und manipulieren (rechnen): Rechenwerk.  Die Ablaufsteuerung muss auf den Inhalt des Speichers reagieren. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 11 Studienelement Rechnerarchitekturen Kennwerte von Rechnern Auch wenn theoretisch «alle Rechner gleich» sind, unterscheiden sie sich doch in einigen wichtiges Aspekten:  Rechenleistung  Ein-/Ausgabedatenrate  Antwortzeit  Speichergrösse  Leistungsverbrauch  Zuverlässigkeit  Grösse, Preis  Ein-/Ausgabegeräte, Bedienerfreundlichkeit: GUI (Graphical User Interface), MMI (Mensch-Maschine-Interface), … V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 12 Studienelement Rechnerarchitekturen Warum dieser Erfolg des Computers?  Rasante technische Entwicklung in 50 Jahren  Fortschritte in der Technologie  Innovation im Computerdesign  Zusammenwachsen von  Nachrichtentechnik  Elektronik und  Informatik (Computer Science)  Was verhalf dem Computer zum Durchbruch?  Hochsprachen  Standardisierte Betriebssysteme, unabhängig von den Hardwareherstellern  Graphische Benutzeroberfläche V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 17 Studienelement Rechnerarchitekturen Mooresches Gesetz (Moore’s Law) Das Mooresche Gesetz sagte voraus: Regelmässige Verdopplung der Komplexität (= Anzahl Transistoren pro Chip) Ursprünglich: jährlich, Später: alle 18 Monate oder alle 2 Jahre. (langsamerer Technologiefortschritt) Heute: Verdopplung der Prozessorleistung alle 18 Monate. Gordon Moore (* 1929, † 23.3.23) Mitgründer der Firma Intel V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 18 Studienelement Rechnerarchitekturen Mikroprozessoren (μP)  Heutige Rechner basieren fast ausnahmslos auf Mikroprozessoren (μP):  μP = Prozessor mit alle Grundfunktionen auf einem Mikrochip (Siliziumplättchen, Die) integriert  Erster Mikroprozessor:  März 1971, Intel 4004, 4-bit, 2'300 Transistoren  Prozessorfamilien:  Intel: Serien: x86er Pentium, Celeron, Xeon, Core-i, …  AMD: K5 … K10, Duron, Athlon, Phenom, Turion, Opteron, …  Sun Microsystems : SPARC, UltraSPARC, SPARC64, Sparc M7  Motorola: MC68'000, 68'302, 68'332, HC11, HC09  IBM: Power PC (mit Apple und Motorola), Power2 … Power7  ARM, RISC-V, …  siehe RA.08 V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 21 Studienelement Rechnerarchitekturen Beispiel: Intel Core i7 950: ab 2009, 4 Kerne, 731 Mio. Transistoren Mehr Details zu Intel- und AMD- Bilder: Architekturen: INTEL siehe RA.08 Beispiel AMD: Ryzen Threadripper PRO 3995WX Technolologie: 7 nm, Die-Grösse: 74 mm2 3,8 Mrd. Transistoren, 64 CPUs 2,7 bis 4,2 GHz, 292 MB Cache, 128 PCIe 4.0- Lanes 8x DDR4, 280 Watt seit Juli 2020 5’500 US$ V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 22 Studienelement Rechnerarchitekturen Speicherzelle (Memory-Cell)  Arbeitsspeicher: viele Speicherzellen, jeder Speicherzelle hat  eine Adresse: eine Zahl  einen Inhalt: ein Bitmuster typisch: 8 Bit  Im Prozessor (CPU)  Speicherzellefür ein Datenwort: Register Register A Register B Register C  mehrere Register = Registersatz V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 26 Studienelement Rechnerarchitekturen Speicherarchitektur  Jede Speicherzelle kann adressiert werden.  Besteht zumeist aus 2n Speicherzellen, 216 = 65'536 = 64k Speicherzellen 219 = 524'288 = 512k Speicherzellen  typ. Steuereingänge: CS, OE, WE, R/W  Einsatz im PC als Module mit mehreren Speicherchips: V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 27 Studienelement Rechnerarchitekturen Speicher: Funktionsweise Lesen:  Die CPU gibt eine Adresse auf den Adressbus aus.  Die CPU aktiviert die Steuersignale. Damit wird ein oder mehrere Speicherbausteine aktiviert: z.B. CS = aktiv; R/W = 1, …  Der Speicher legt den Inhalt der adressierten Zelle an seine Ausgänge und damit auf den Datenbus.  Die CPU liest den Wert vom Datenbus. Schreiben:  Genauso, jedoch gibt die CPU Adresse und Daten aus.  Speicher liest den Wert vom Datenbus und speichert CONTROL ihn in der adressierten Zelle ab. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 28 Studienelement Rechnerarchitekturen Minimal CPU - Was muss sie können? Die CPU (Central Processing Unit) muss:  ein paar Befehle der Reihe nach ausführen 0: Befehl 0 1: Befehl 1.. k: Befehl k  ein bisschen Rechnen: Speicherinhalt als Zahl interpretieren ! - Dekrementieren: a=a-1 - Inkrementieren: a=a+1  Die CPU muss auf den Inhalt des Speichers reagieren. - Falls a == 0: Fahre weiter bei Befehl 3 - Falls a # 0 Fahre weiter bei Befehl 9 V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 30 Studienelement Rechnerarchitekturen Fetch/Decode/Execute Cycle (Laden/Dekodieren/Ausführen-Schleife)  Fetch: Lade den nächsten Befehl in das Befehlsregister (Erhöhe den Programmzähler, so dass er auf den nächsten Befehl zeigt.)  Decode: Dekodiere den Befehl: Ermittle, welcher Befehl auszuführen ist. (Falls der Befehl ein Datenwort aus dem Speicher benötigt, dann lade diesen Wert in ein Register der CPU.  Execute: Führe den Befehl aus (eventl. Inklusive Abspeichern des Ergebnisses im Speicher) Gehe zum Anfang, um den nächsten Befehl auszuführen. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 31 Studienelement Rechnerarchitekturen Von-Neumann-Maschine  John von Neumann, 1945: First Draft of a Report on the EDVAC = Electronic Discrete Variable Automatic Computer „Von Neumann“: gemeinsamer  Besteht aus 4 Komponenten: Speicher für Daten und Befehle  Rechenwerk Speicher  Steuerwerk Eingabe Ausgabe  Speicher Verbindungsnetzwerk (Bus-System)  Ein-Ausgabe Execution Rechenwerk Steuerwerk Control Unit Unit CPU Prozessor = CPU = Central Processing Unit ( = Zentraleinheit) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 32 Studienelement Rechnerarchitekturen Datenpfad der CPU: ALU (Arithmetic Logic Unit) + Register 1. Daten werden aus dem Arbeitsspeicher oder aus anderen Registern in die beiden Eingangsregister geladen. 2. Das Steuerwerk sagt der ALU, welche Operation sie ausführen soll, z. B. «Addieren». 3. Die ALU führt die Operation aus. 4. Das Ergebnis kommt in das Ausgangsregister, Status-Bits werden dem Steuerwerk mitgeteilt. ALU input ALU input register 2 register 1 Select kind of Operation Steuerwerk Status-Bits (Flags) ALU output register (oft: Accumulator, Akku) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kapitel RA.01 34 Studienelement Rechnerarchitekturen Zahlendarstellung im Stellenwertsystem = polyadisches Zahlensystem (engl.: radix number system) n Zahl = ∑ Ziffer Stellenwert Number   d 10 i  k i i 100er 10er 1er 0,1er 0,01er 0,001er Stelle Stelle Stelle Stelle Stelle Stelle Beispiel: 3 2 8 , 1 7 3 3 102 + 2 101+ 8 100 + 1 10-1 + 7 10-2 + 3 10-3 3 100 + 2 10 + 8 1 + 1 0,1+ 7 0,01+ 3 0,001 V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 6 Studienelement Rechnerarchitekturen Vergleich verschiedener Basen (Radix) Dezimal Binär Oktal Hex Dezimal Binär Oktal Hex 0 0 0 0 8 1000 10 8 1 1 1 1 9 1001 11 9 2 10 2 2 10 1010 12 A 3 11 3 3 11 1011 13 B 4 100 4 4 12 1100 14 C 5 101 5 5 13 1101 15 D 6 110 6 6 14 1110 16 E 7 111 7 7 15 1111 17 F V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 7 Studienelement Rechnerarchitekturen Beispiel: Die Zahl “2001” in binär, oktal, dezimal und hexadezimal: V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 8 Studienelement Rechnerarchitekturen Beispiel: Umwandlung einer Dualzahl Hexadezimal Dual Oktal  Merke:  Jeweils 3 Ziffern der Dualzahl ergeben 1 Ziffer der Oktalzahl.  Jeweils 4 Ziffern der Dualzahl ergeben 1 Ziffer der Hexadezimalzahl.  Umwandlung beginnt vom Komma ausgehend nach rechts und links. V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 9 Studienelement Rechnerarchitekturen Umwandlung Binär zu Dezimal (Hornerschema) 1 0 1 1 1 0 1 1 0 1 1 12 = 299910 möglicher 1 + 2*1499 = 2999 Algorithmus zur 1 + 2*749 = 1499 Umwandlung 1 + 2*374 = 749 binär zu dezimal: 0 + 2*187 = 374 Fortgesetzte 1 + 2*93 = 187 Multiplikation 1 + 2*46 = 93 0 + 2*23 = 46 mit 2 1 + 2*11 = 23 Jeweils die 1 + 2*5 = 11 aktuelle 1 + 2*2 = 5 Stelle 0 + 2*1 = 2 aufaddieren 1 + 2*0 = 1 0 Start V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 10 Studienelement Rechnerarchitekturen Umwandlung Dezimal zu Binär (umgekehrtes Hornerschema) Start Ein möglicher 1492 / 2 = 746 Rest 0 Algorithmus zur 746 / 2 = 373 Rest 0 Umwandlung 373 / 2 = 186 Rest 1 dezimal zu binär: 186 / 2 = 93 Rest 0 93 / 2 = 46 Rest 1 46 / 2 = 23 Rest 0  Division durch 2 23 / 2 = 11 Rest 1  Rest (remainder) 11 / 2 = 5 Rest 1 ergibt jeweils 5 / 2 = 2 Rest 1 die Ziffer 2 / 2 = 1 Rest 0 der Binärzahl 1 / 2 = 0 Rest 1 149210 = 10111 0101 0 0 2 V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 11 Studienelement Rechnerarchitekturen Alternative Umwandlungsalgorithmen Dezimal zu Binär: Beispiel 328: 2er-Potenzen: 20 = 1 2er-Potenzen 328 - 256 = 72  28 21 = 2 aufschreiben 72 - 64 = 8  26 22 = 4 Jeweils versuchen, eine 23 = 8 möglichst hohe 2er- 8-8=0  23 24 = 16 Potenz abzuziehen 25 = 32 28 + 26 + 23 = 1 0100 10002 Die Stellenwerte der 26 = 64 abgezogenen Potenzen 27 = 128 mit “1” belegen 28 = 256 29 = 512 Binär zu Dezimal Beispiel 101001000: 210 = 1024 Für jede „1“ die 1 0100 10002 = 28 + 26 + 23 211 = 2048 entsprechende 2er 212 = 4096 Potenz addieren = 256 + 64 + 8 = 328 213 = 8192 V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 12 Studienelement Rechnerarchitekturen Kennzeichnung der verwendeten Basis Dezimal: 98710 #987 987d Binär: 010102 %01010 0b01010 01010b Oktal: 5678 @567 0o567 Hex: 1AF316 $1AF3 0x1AF3 1AF3h 1AF3H 1AF3hex 1AF3h 1AF3H 1AF3hex Spezialfall: BCD - Binary Coded Decimal Jeder Ziffer im Dezimalsystem wird als 4-bit-Zahl dargestellt. Bsp: 8539 = 1000 0101 0011 1001 Es werden ein oder 2 BCD-Ziffern in einem Byte gespeichert. Bsp: 7-Segment Anzeigen: V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 14 Studienelement Rechnerarchitekturen Darstellung negativer Zahlen  Möglichkeiten:  Vorzeichenbehafteter Wert  1er Komplement (One’s complement)  2er Komplement (Two’s complement)  Exzesscode (engl: excess code): mit Versatz / Bias / Offset V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 17 Studienelement Rechnerarchitekturen Exzesscode  typischer Versatz: 2m-1 oder: 2m-1 – 1 bei IEEE 754: m=8, 2m-1 – 1 = 28-1 – 1 = 127 Originale Zahl im Bereich -127 bis +128 -127 0 128 +127 +127 +127 Zahl im Exzesscode im Bereich 0 bis +255 0 127 255 V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 18 Studienelement Rechnerarchitekturen Negative Binärzahlen Positive Zahl Entsprechende negative Zahl N N -N -N -N -N dezimal binär Vorzeichen 1er Kompl. 2er Kompl. excess127 1 00000001 10000001 11111110 11111111 01111110 2 00000010 10000010 11111101 11111110 01111101 3 00000011 10000011 11111100 11111101 01111100 4 00000100 10000100 11111011 11111100 01111011 5 00000101 10000101 11111010 11111011 01111010 6 00000110 10000110 11111001 11111010 01111001 7 00000111 10000111 11111000 11111001 01111000 8 00001000 10001000 11110111 11111000 01110111 9 00001001 10001001 11110110 11110111 01110110 10 00001010 10001010 11110101 11110110 01110101 Betrag Betrag Betrag Betrag +127 Vorzeichen Vorzeichen Vorzeichen Nullpunkt verschieben V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 19 Studienelement Rechnerarchitekturen Binary Arithmetic 2-er Komplement: Betrag-Bits invertieren, Eins hinzuaddieren V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 20 Studienelement Rechnerarchitekturen Exkurs: 1er-Komplement vs. 2er-Komplement  1er-Komplement Nachteile:  Übertrag muss in zusätzlichem Schritt addiert werden  2 Darstellungen für Null: 0000 0000 (+0) und 1111 1111 (−0)  1er-Komplement Vorteile:  Schneller bei Division und Multiplikation mit doppelt langem Ergebnis  Einfachere Bildung einfacher Prüfsummen  2er-Komplement Nachteile  Komplementbildung etwas komplexer  2er-Komplement Vorteile  Nur 1 Darstellung für Null  Wertebereich um 1 grösser (eine neg. Zahl mehr)  Addition des Übertrags entfällt V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 21 Studienelement Rechnerarchitekturen Prinzip der Gleitkommazahlen Trennung von Präzision und Bereich erforderlich. Wissenschaftliche Darstellung (scientific notation): n = f × 10e  f Fraction (deutsch: Mantisse)  e Exponent (positive oder negative ganze Zahl)  Beispiele  3,14 = 0,314 × 101 = 3,14 × 100  19410000 = 0,1941 × 108 = 1,941 × 107  0,00000243 = 2,43 × 10−6 V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 25 Studienelement Rechnerarchitekturen IEEE Floating-point Standard 754 (1) IEEE floating-point formats. (a) Single precision (32 bit). (b) Double precision (64 Bit). V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 26 Studienelement Rechnerarchitekturen IEEE 754: Beispiel Dezimalzahl 432 Format: nicht normalisiert: 43210 = 1101100002 Normalisierung auf 1 ≤ m ≤ 2: 1.10110000 × 28 Da nach der Normalisierung immer eine “1” vor dem Komma steht, braucht diese nicht abgespeichert zu werden: Mantisse ohne führende “1”: 10110000 Exponent in Excess127: 810 +12710 = 13510 = 100001112 im IEEE754-Format: 0 10000111 10110000000000000000000 gruppiert zu je 4 bit: 0100 0011 1101 1000 0000 0000 0000 0000 als Hex-Zahl: 43D80000 hex V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 27 Studienelement Rechnerarchitekturen Zahlenbereiche und Fazit Die reelen Zahlen können in 7 Bereiche eingeteilt werden: Fazit  Bei ganzen Zahlen:  Gleitkommazahlen  Kleiner Bereich darstellbar  Grosser Bereich darstellbar nicht: sehr kleine/grosse Zahlen  Bereich exakt darstellbar  Nicht exakt darstellbar V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 29 Studienelement Rechnerarchitekturen Grundverknüpfungen Symbol Mengenlehre AND: Z = A B AND A Z = AB & Z A B B Z=A∩B Wenn A und B eintreten ist Z wahr Z=A˄B OR A Z 1 OR: Z = A+B B A B Z=A∪B Wenn A oder B eintritt ist Z wahr Z=A˅B NOT A Z 1 _ A NOT: Z=A Wenn A nicht eintritt ist Z wahr (Inversion) V Schaltungstechnisch A B Kombinatorische W C Logik X (Digitaltechnik): D Y Z V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 33 Studienelement Rechnerarchitekturen Wahrheitstabelle (Truth Table) A B Z 0 0 0 Zwei Schliesser in Serie: 0 1 0 AND 1 0 0 1 1 1 A B Z Zwei Schliesser parallel: 0 0 0 OR 0 1 1 1 0 1 1 1 1 NOT A Z 0 1 Ein Öffner: 1 0 V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 34 Studienelement Rechnerarchitekturen Symbole der Logikgatter (Gates) Name IEC 60617-12 ASA (USA) Beschreibung (ANSI/IEEE Std 91) (ANSI/IEEE Std 91/91a) Für Output = 1 müssen alle AND Inputs 1 sein. dito mit Invertierung NAND Für Output = 1 muss OR mindestens 1 Input 1 sein. dito mit Invertierung NOR Für Output = 1 muss genau XOR 1 Input 1 sein. Invertierung. NOT Umfassende Übersicht: https://de.wikipedia.org/wiki/Logikgatter V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 38 Studienelement Rechnerarchitekturen Halb-Addierer (HA) A + B ------------- Ü S V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 39 Studienelement Rechnerarchitekturen Voll-Addierer (VA) A + B + ÜE ------------- ÜA S Aufbau z.B. aus 2 HA + OR-Gate: A ÜA B S ÜE V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 40 Studienelement Rechnerarchitekturen 3-Bit-Addierer A = A2 A1 A0 B = B2 B1 B0 Ü1 Üo -------------------------- S = Ü2 S2 S1 S0 = Ripple-Carry-Adder (RCA) schneller: CLA = Carry-Look-Ahead V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 41 Studienelement Rechnerarchitekturen Sequentielle Logik A U Kombinatorische V B Logik W C X D Y Gespeicherte D1 Q1 D2 Q2 Zustände (Flip-Flops) D3 D4 V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 43 Studienelement Rechnerarchitekturen Flip-Flop Bistabile Kippstufe Stimulu s Zustand "1" Zustand "0" RS-Flip-Flop bleibt gespeichert bleibt gespeichert Prinzip, anschaulich Taktzustands- Q R ≥1 gesteuert Q S ≥1 V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 44 Studienelement Rechnerarchitekturen D-Flip-Flop Taktzustandsgesteuert Flankengesteuert Wechsel des Zustands nur Wechsel des Zustands nur bei der während des (positiven) Zustands (positiven) Flanke des Taktsignals des Taktsignals (clock) (clock, clk) clk C D Q+ clk O X Q C 1 0 0 1 1 1 C V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 45 Studienelement Rechnerarchitekturen 8-Bit-Register Aus 8 flankengesteuerten D-FFs D7 D6 D5 D4 D3 D2 D1 D0 CLK Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.02 46 Studienelement Rechnerarchitekturen Kleiner Vorgriff auf RA.04: Harvard-Architektur Adressen Daten-  Separate Speicher für Daten und Befehle Speicher  Separate Busse zu beiden Speichern Daten  Vorteil: Steuer- Rechen- Gleichzeitige Zugriffe auf beide Speicher werk werk  z.B. Laden eines Befehl gleichzeitig mit Laden oder Speichern von Daten Befehle Befehls- Speicher Adressen V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.03 14 Studienelement Rechnerarchitekturen Harvard Architektur *  Separate Speicher für Daten und Adressen Daten- Befehle Speicher  Separate Busse zu beiden Speichern Daten  Vorteil: Steuer- Rechen- Gleichzeitige Zugriffe auf beide Speicher werk werk z.B. Laden eines Befehl gleichzeitig mit Laden oder Speichern von Daten Befehle Befehls-  Im Idealfall: in einem Taktzyklus Speicher Adressen Befehl und Daten laden.  Im Gegensatz dazu: Von-Neumann-Architektur, mindestens zwei Taktzyklen nötig * Harvard University 1944: „Harvard Mark I“ V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 4 Studienelement Rechnerarchitekturen Harvard Architektur - Vorteile  Synchrones Laden auch mit mehreren Rechenwerken möglich (Vektorrechner, SIMD oder MIMD):  Strikte Trennung von Daten und Programmen  Speicherschutz und einfache Trennung der Zugriffsrechte  Datenwortbreite und Befehlswortbreite sind unabhängig voneinander festlegbar.  Benutzt wird die Harvard-Architektur z. B. von Mikrocontrollern (8051, PIC, AVR) und von vielen Digitalen Signalprozessoren (DSP).  Spätere Prozessoren verwenden zumeist eine Mischform aus Harvard- und von-Neumann-Architektur bzw. heute mit schnellen Zwischenspeichern (Cache) getrennt für Programm und Daten. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 5 Studienelement Rechnerarchitekturen Pipeline Befehle werden wie bei einem Fliessband überlappend abgearbeitet: Beispiel: Eine 5-stufige Pipeline. Zustand der 5 Stufen im Laufe der Zeit. Es sind 9 Taktzyklen dargestellt. (anschaulicher Vergleich: Fliessbandproduktion bei Henry Ford) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 7 Studienelement Rechnerarchitekturen Pipeline: Advanced Features  Eventuell Konflikte durch Datenabhängigkeiten ggfl. Verarbeitung anhalten (Pipeline stall)  Branch-Prediction (Sprungvorhersage)  Einfachste Form: Sprung wird nie ausgeführt  Dynamic Branch Prediction: Wurde der Sprung zuletzt ausgeführt?  Flush: bei unerwartetem Ereignis: siehe Übung  Speculative execution: (vorläufige) Ausführung beider alternativen Programmverläufe V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 8 Studienelement Rechnerarchitekturen Superskalare Architekturen (1) Superskalar = Pipeline + Parallelität: Beispiel: Zweifache 5-stufige Pipeline mit einer gemeinsamen Instruction-Fetch-Einheit. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 9 Studienelement Rechnerarchitekturen Superskalare Architekturen (2) Beispiel: superskalarer Prozessor mit 5 Ausführungseinheiten. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 10 Studienelement Rechnerarchitekturen Parallelverarbeitung auf der Prozessorebene (Processor-Level Parallelism, Multiprozessor- Systeme)  Weitere Steigerung der Verarbeitungsgeschwindigkeit durch mehrere Prozessoren, die parallel arbeiten.  Beispiel: V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 11 Studienelement Rechnerarchitekturen Parallelverarbeitung auf der Prozessorebene (2) Weitere Beispiele: (a) Ein Mehrprozessorsystem mit einem Bus. (b) Ein Mehrprozessorsystem mit lokalen Speichern. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 12 Studienelement Rechnerarchitekturen Mehrkern-Prozessor  Ein Prozessorchip kann auch 2 oder mehrere Rechenkerne (Cores) ent- halten. (z. B. Intel Xeon: bis 64 Kerne)  Mehrere Kerne können gleichzeitig mehrere Programme bearbeiten.  Laufendes Programme = Prozess (bzw. Thread = Befehlsstrang innerhalb eines Prozesses)  Kerne teilen sich anderer Ressource (wie Zugriff zum Cache, RAM, etc.) und können sich daher gegenseitig blockieren. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 13 Studienelement Rechnerarchitekturen Context-Switching  Wenn das Betriebssystem einen anderen Thread ausführen möchte, dann wird zu diesem Thread «umgeschaltet», d.h. es werden die (Register-) Zustände dieses Threads geladen.  Nachteil: Context-Switching braucht Zeit.  Abhilfe: Multithreading  Ein Core kann quasi «gleichzeitig» mehrere (typisch: 2) Threads bearbeiten.  Das Betriebssystem «sieht» mehrere «logische» Prozessoren, auf die es die Threads verteilen kann.  Es kann schnell zwischen diesen Threads umgeschaltet werden.  Multithreading-Implementierungen: Intel: HTT und AMD: SMT. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 14 Studienelement Rechnerarchitekturen Intel: Hyper-Threading Technologie (HTT)  Core-Erweiterung, so dass gleichzeitig 2 Threads bearbeitet werden können (sogar Threads von unterschiedlichen Prozessen).  Bei neueren Intel-Prozessoren: z.B. Core i7 und Xeon: 2 Threads pro Core: 4 Cores, 8 Threads  ein (komplexes) Steuerwerk  nur Teile der Architektur doppelt vorhanden, z. B.:  mehrere vollständige Registersätze Online transaction processing performance  Pipeline (ALU, FPU,..) nur 1 mal vorhanden (OLTP), Quelle: Intel Technology Journal   Threads können auf einem Core nicht gleichzeitig bearbeitet werden, nur nacheinander. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 15 Studienelement Rechnerarchitekturen Rechenleistung  Warum Leistungsmessung der Computer?  Was möchte man am liebsten zur Leistungsbestimmung? V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 23 Studienelement Rechnerarchitekturen Benchmarkprogramme  Linpack: Lineare Gleichungssysteme  SPEC: Standard Performance Evaluation Corporation, SpecInt und SpecFp  Whetstone: Floating-Point und Integer, Zugriffe auf Feldelemente.  Dhrystone: Integer (Wortspiel zu Whetstone=Wetzstein)  Für PCs: Cinebench, 3DMark, Sysmark, SuperPI, PCMark, (Windows-Leistungsindex)  Für Smartphones: Antutu (Android, iOS, auch für Ubuntu und Windows), …  Für div. OS: z.B. Geekbench (Windows, Mac, Linux, Android, iOS)  Für Grafikkarten/GPU: 3DMark, GTA V, Far Cry 5, Shadow of the Tomb Raider  Programme: Die Website “Tom’s Hardware” benutzt z. B. AutoCAD, SolidWorks, 3DMark Fire Strike. Oder für Games, z.B. PCGH-Leistungsindex  Einheiten  MIPS: Million Instructions per second (problematisch, da unspezifisch)  Flops, MFlops, Gflops, etc: Floating Point Operations Per Second  Neuere Programme: Score oder Programmlaufzeit in Sekunden V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 24 Studienelement Rechnerarchitekturen MIPS: Million Instructions Per Second Probleme bei Verwendung wieder: Mooresches Gesetz von MIPS: MIPS  Abhängig vom Instruktionssatz 1000‘000  Variiert bei Programmen auf dem selben Rechner 1000  MIPS Raten können sich umgekehrt proportional zur effektiven Leistung verhalten: 1 Floatingpoint-Operationen 1/1000 brauchen viele Befehle ohne FP-Unit -> grosse MIPS-Zahl. Mit FP-Unit sinkt die MIPS- 1/1Mio. Zahl obwohl das Programm schneller beendet wird! V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 25 Studienelement Rechnerarchitekturen Rechenzeit Die Ausführungszeitz für ein Programm (Rechenzeit) hängt ab von:  Technologie (siehe RA.07)  Material, Integrationsdichte, Logikfamilie, Klimatechnik  Taktfrequenz f0 ; Taktzeit: t0= 1 / f0 z.B. f0 = 1 MHz  t0= 1 / 1 MHz = 1 µs  Instruktionssatz (RISC/CISC)  Architektur des Systems  Bestimmung der Rechenzeit  falls alle Instruktionen gleich lang wären: CPU-Zeit = nI × CPI × t0 (Anzahl Instruktionen × Clocks/Instruktion × Prozessortaktzeit)  Allgemein: n Siehe Übungs- CPU-Zeit = t0 × ∑ CPIi i =1 aufgabe im ILIAS  Wichtig bei Echtzeitsystemen! V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 27 Studienelement Rechnerarchitekturen TOP500-Liste  Halbjährlich, weltweit: https://www.top500.org k = 103 = Tausend M = 106 = Million  Linpack-Benchmark, Flops G = 109 = Milliarde  1993: Numerical Wind Tunnel, 192 GFlops T = 1012 = Billion  2003: Earth Simulator, 35,86 TFlops, 3'250 m² P = 1015 = Billiarde E = 1018 = Trillion  November. 2012: Titan - Cray XK7 siehe auch RA.06 DOE/SC/Oak Ridge National Laboratory, USA Cray Inc., 560'640 Cores, RAM: 710 TB, 17,59 PF, 8,2 MW ( = 8'200 Haushalte)  2013 – 2015: MilkyWay-2 (Tianhe-2), China mit ca. 3 Mio. Cores  2016 – 2017: Sunway TaihuLight, 10 Mio. Cores, 93 PF, 15,3 MW, China Vergleich: KKW Mühleberg: 373 MW V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.04 31 Studienelement Rechnerarchitekturen Operationsarten Es gibt 3 Gruppen von Befehlen mit den 3 Operationsarten:  Datentransfer  Arithmetische und logische Operationen  Programmablaufsteuerung Vergleiche: RA.01, Folie 10 - Was muss ein Rechner im Detail können?  (Die Befehle eines Programms der Reihe nach ausführen.)  Die Möglichkeit, Zahlen zu speichern.  Speicherinhalt als Zahl interpretieren und manipulieren (rechnen).  Die Ablaufsteuerung muss auf den Inhalt des Speichers reagieren. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 4 Studienelement Rechnerarchitekturen Ein allgemeiner Befehl enthält diese Informationen:  Durchzuführende Operation  Falls Operanden benötigt werden: Typ, Länge, Adressierungsart und Adressangaben:  Für den ersten Quellenoperanden  Für den zweiten Quellenoperanden  Für das Resultat  Adresse des nächsten Befehls implizit durch die Befehlslänge oder explizit durch einen (bedingten) Sprung mit absolutem oder relativem Sprungziel  Zumeist ist nur ein Teil dieser Informationen im Befehl erforderlich.  Achtung: deutsch: Adresse, englisch: address V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 5 Studienelement Rechnerarchitekturen Codierung der Befehlsinformationen  Mnemonic: z.B. ADD #1234, adr1, adr2  Die durchzuführende Operation steckt in dem Mnemonic: z.B. ADD = addieren  Typ, Länge, Adressierungsart und Adressangaben: implizit im Mnemonic und/oder durch die Angabe der Operanden, z.B. ADD, FADD: addiere Intereger, addiere Floating-Point  Maschinenbefehl: Kodierung in ein oder mehrere Bytes, z.B.: $A6 = 10100110 (beim Holzi: nur 4 bit)  Oft vollständig kodiert, jeder Code hat eine bestimmte Bedeutung.  Manchmal haben bestimmte Bits eine feste Bedeutung, siehe Übung auf der nächsten Seite V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 6 Studienelement Rechnerarchitekturen Dreiadressbefehle 1. Quellenadresse 2. Quellenadresse 1. Operand 2. Operand Format Dreiadressbefehle Arithmetisch-Logische Operationen Operation 1. Quellen- 2. Quellen- Ziel- adresse adresse adresse Resultat Zieladresse Beispiel: ADD $800, $801, $802 ; ($802)  ($800) + ($801) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 9 Studienelement Rechnerarchitekturen Zweiadressbefehl 1. Quellenadresse 2. Quellenadresse Format Zweiadressbefehle Operation 1. Quellen- 2. Quellen- 2. Operand adresse adresse Ziel- Pufferregister adresse 1. Operand Arithmetisch-Logische Operationen Resultat Beispiel: ADD $800, $801 ; ($800)  ($800) + ($801) Operation 1. Quellen- 2. Quellen- Variante: Ergebnis bei der 2. Quelladresse abspeichern: adresse adresse ADD $800, $801 ; ($801)  ($800) + ($801) Zieladresse V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 10 Studienelement Rechnerarchitekturen Einadressbefehle Akkumulator 2. Quellenadresse 2. Operand Pufferregister 1. Operand Format Einadressbefehle Operation Quell- adresse Arithmetisch-Logische Operationen Resultat Beispiele: INC $800 ;($800)  ($800) + 1 ADDA $800; A  A + ($800) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 11 Wiederholung: Studienelement Rechnerarchitekturen Wo werden Daten gespeichert?  In der CPU gibt es einzelne Register, alle zusammen nennt man «Registersatz»: Registersatz Akku Register R1 Register R2 usw.  Im Programmspeicher:  Im Datenspeicher: Daten Befehle (und Konstanten) … $0108 LDA Befehl $0803 08 $0109 $0805 Adresse $0804 F3 $010A LDA Befehl $0805 E7 $010B #D3 Konstante $0806 5E … V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 14 Studienelement Rechnerarchitekturen Adressierungsarten = mögliche Methoden, um die Adresse (= den Speicherort) anzugeben, wo die Daten (Operanden) gespeichert sind. Programm- Register Daten- Speicher des Speicher (Code) Prozessors  Absolute oder direkte Adressierung: Absolute Operand „absolute Adresse“ Adresse z.B. LDA $0800  Registeradressierung Register- „Name des Registers“ Operand Bezeichnung z.B. LDA R1  Unmittelbare Adressierung (immediate): „Wertangabe“ Operand z.B. LDA #$F3 V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 15 Studienelement Rechnerarchitekturen Weitere Adressierungsarten Programm- Register Daten- Speicher des Speicher (Code) Prozessors  Indirekte Adressierung (Registerindirekte, relative): Register- Ganze Adresse Operand Adresse ist im Register Bezeichnung z.B. LDA (IX) Register-  Indizierte Adressierung Versatz Bezeichnung (indexed); wie absolute Adressierung, jedoch mit Versatz (Displacement) Absolute Adresse Operand  z.B. LDA $0700, X V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 16 Studienelement Rechnerarchitekturen Steuerwerk  Steuert den Ablauf der Befehlsabarbeitung  Program Counter (PC, Programmzähler) = Zeiger auf nächste Instruktion  Instruktionsregister (Befehlsregister)  Adressregister  Stackpointer (Stapelzeiger)  Frage: Bei welchem Register wird vom Prozessor automatisch der Inhalt neu berechnet? V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 21 Studienelement Rechnerarchitekturen Zwei Realisierungsmöglichkeiten für die Ablaufsteuerung im Steuerwerk  Festverdrahtet  Realisierung mit Flip-Flops, die den aktuellen Zustand speichern  Finite State Machine (FSM), siehe NW.01.4  Einfacher Befehlssatz (RISC, Reduced Instruction Set Computer)  Hohe Taktraten  Mikroprogrammierbar  Mikroprogramm vom Chipentwickler festgelegt = „Firmware“ des Prozessors  (Es gab auch CPUs mit vom Benutzer konfigurierbarem Mikroprogramm: z.B. Am2900 von AMD.)  Komplexer Befehlssatz (CISC, Complex I. S. C)  Heutige Prozessoren benutzen beide Techniken V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 22 Studienelement Rechnerarchitekturen Mikroprogramm (Microcode)  Ein Steuerwerk enthält ein „Mikroprogamm“. Darin ist für jeden Maschinenbefehl eine Sequenz von Mikrobefehlen, die diesen Maschinenbefehl Schritt für Schritt abarbeiten.  Das Mikroprogramm legt die Werte der Steuersignale fest. Die Steuersignale regeln das Verhalten der HW: Funktion der ALU, Register, interne Schalter, … Siehe Übung Mikrosim  Mikrocode-Updates für Intel- und AMD-Prozessoren via BIOS-Update, z.B. als Fix für die Spectre- Sicherheitslücke (im Jan. 2018 entdeckt). V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.05 23 Studienelement Rechnerarchitekturen Funktionsprinzip eines Stacks Daten in den Stack schreiben (push): SP SP SP Daten aus dem Stack auslesen (pop): SP SP SP Der Stackpointer (SP, Stapelzeiger) zeigt immer auf die aktuelle Adresse, also auf den obersten Stapeleintrag. Je nach Architektur zeigt er auf das zuletzt gespeicherte Element oder auf den 1. freien Platz danach. V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 4 Studienelement Rechnerarchitekturen Verwendung eines Stack Wozu wird ein Stack gebraucht?  Ausführung von Unterprogrammen  Parameterübergabe  Resultatrückgabe  Zwischenspeicher  Interrupt-Behandlung  Der Stack ist im Arbeitsspeicher realisiert (siehe BS.03).  Es gibt mehrere Stacks z.B. für das System und für jeden Prozess. V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 5 Studienelement Rechnerarchitekturen Prinzip der Unterprogrammtechnik V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 7 Studienelement Rechnerarchitekturen Unterprogramm mit Sprungbefehl V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 8 Studienelement Rechnerarchitekturen Unterprogrammaufruf mit Rettung der Rücksprungadresse V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 9 Studienelement Rechnerarchitekturen Interrupt  = Unterbrechungsanforderung für dringende Aufgaben durch ein externes Signal  Interrupt Service Routine (ISR) ähnlich wie Unterprogramm (Subroutine), jedoch:  Unterprogramm zum Zeitpunkt der Programmierung eingeplant  ISR: wird durch ein externes Ereignis ausgelöst  Ein Rechner kann mehrere Interrupteingänge haben oder es wird ein Interrupt-Controller verwendet.  Den Interrupt-Eingängen werden Prioritäten zugeordnet. Sie können einzeln freigegeben/gesperrt werden (enabled/disabled).  Es können mehrere Interrupts (gleichzeitig) aktiv sein (jedoch nur eine ISR).  Sonderfall: Interrupt per Software ausgelöst: Trap. Verwendet beim Kontext-Wechsel des Betriebssystems und für Test und Debugging. V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 10 Studienelement Rechnerarchitekturen Interrupt Controller Ablauf: 1. Interrupt Request IRQ von Gerät 2. Interrupt Controller bearbeitet die Aufforderung und erzeugt ein Interruptsignal zur CPU. 3. CPU unterbricht, rettet Context auf Schaltplan Stack, zeigt Acknowledge (INTA) an, liest vom IRC die Interrupt- nummer und verzweigt mit Hilfe der Vektortabelle in die ent- sprechende ISR. 4. ISR liesst Geräteregister aus und startet entsprechende Aktionen 5. Return from Interrupt: RTI Ablauf Bus V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 11 Studienelement Rechnerarchitekturen Verschachtelte Interrupts V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 12 Studienelement Rechnerarchitekturen Spezialprozessoren  Mikrocontroller (μC)  Mikroprozessor (μP) + Peripheriefunktionen + Speicher + …  = System on a Chip: SoC  Anwendung: eingebettete Systeme (embedded systems)  Bitbreite: 4-, 8-, 16- und 32-Bit-Mikrocontroller  Intel (Siemens, Philips, Atmel, Maxim/Dallas): 8051, …  Freescale (ex. Motorola): 68HC05, 68HC08, 68HC11, MC9S08, …  Microchip: PIC, Atmel: AVR AT32xx, TI: MSP430, …  DSP: Digitaler Signalprozessor (Digital Signal Processor)  Zur Bearbeitung digitalen Signalen (z. B. Audio- oder Videosignale)  = μP + Multiplizier-Addier-Werke (Multiply-Accumulate, MAC) ein einziger Assemblerbefehl kann z. B: F0=F3*F7, F1=F11+F15, F2=F11–F15, DM(I0,M1)=F2, F3=PM(I8,M9);  Beispiele: Texas Instruments (TI): TMS-320xx, Analog Devices: ADSP, Blackfin, Sharc, SigmaDSP V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 16 Studienelement Rechnerarchitekturen Grafikprozessor: GPU = Graphics Processing Unit  auch: Grafikchip, VPU, Visual Processing Unit  Massiv parallele Systeme: Streamprozessoren (Shader), Textureinheiten, Render-Einheiten, …  Aufgaben:  rechenintensive Aufgaben der 2D- und 3D-Computergrafik, Berechnung des Bildaufbaus, Raytracing, …  Dekodieren von Video-Datenströmen  Vega-GPUs von AMD: ideal für Mining von Kryptowährungen  auch als KI-Beschleuniger  Ansteuerung über Grafik-API: DirectX und OpenGL/Vulkan sowie OpenCL (auch für allgemeine Rechenaufgaben)  Auf einer separaten (dedizierten) Grafikkarte oder IGP (siehe nächste Seite)  Hersteller:  AMD: Radeon  Nvidia: GeForce  Intel: bis 2019 nur integriert (IGP), neu seit 2020: Intel Xe Discrete GPU = DG1, DG2 (=ACM-G10). Arc-Grafikkarten (Okt. 2022 angekündigt)  ehemalige: VIA Technologies, S3, SiS, ATI Technologies (jetzt AMD), … V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 17 Studienelement Rechnerarchitekturen Integrierter Grafikprozessor  IGP = Integrated Graphics Processor, intergrierte Grafik  GPU ist zusammen mit der CPU auf einem Die (oder in einem Chipgehäuse).  Auch wenn die GPU im Chipsatz oder auf der Hauptplatine integriert ist, wird dies teilweise als «integrierte Grafik» bezeichnet.  AMD benutzt(e) auch die Bezeichnung APU (Accelerated Processing Unit).  AMD: Typbezeichnung mit «G» = CPU + GPU (Radeon-Grafik) auf einem Chip  Intel: HD-Graphics 2000, 3000, 4000, … UHD Graphics 600, 610, 620, 630, … XE: integriert und diskret (DG1, SG1) Foto: DG1 = Xe Discrete GPU (nicht IGP) V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 18 Studienelement Rechnerarchitekturen Beschleuniger  KI-Prozessoren / KI-Beschleuniger:  Machine-Learning für Spracherkennung oder Bildanalyse  z.B. für Erkennung von Objektkanten in Bilddaten  Z.B Trillium von ARM, TPUv2/v3 von Google, Volta (Nvidia), Brainwave (Microsoft), Inferentia (Amazon), KI-Chip von Groq, Ascend 910 (Huawei), …  auch GPUs verwendbar  TPU von Google: Tensor Processing Unit Fotos: TPUv3 Board (oben links) TPUv2 board (unten links) TPUv3 Detail (rechts)  Mietpreis bei Google: TPUv4: 3,22 $ / Std. (2024, war 2002 noch 8$/h)  auch: NPU, Neural Processing Unit  Neuralprozessoren (Neurosynaptic Processor Unit, NPU)  Historisch: Mathematischer Koprozessor, mit FPU: Floating Point Unit, z.B. Intel 80387, heute in CPU integriert V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 19 Studienelement Rechnerarchitekturen Verschlüsselung in Hardware  Krypto-Prozessoren  Ver- und Entschlüsselung von Daten  z.B. Freescale C29x-Familie und Cavium NITROX (@Dell): für IPSEC, SSL, …  Vergleiche: ähnliche Funktion, anderer Einsatzzweck:  TPM (Trusted Platform Module)  IC mit Kryptoschlüssel zur Identifizierung der Hardware  Trusted Computing Platform (TCP), per BIOS ein-/ausschaltbar  Kryptofunktionen (Signaturen, Hash-Werte) V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 20 Studienelement Rechnerarchitekturen Weitere Sicherheitschips  Google: Titan-Sicherheitschips:  Fungiert als „ Root-of-Trust“  speichert kryptographische Zertifikate  intern generierten kryptografischen Schlüssel, der den Chip niemals verlässt, gespeichert in OTP – Memory (One Time Programmable) Titan (links) und Titan M  verifiziert Schlüssel unabhängig von der CPU  schützt PC/Server beim Fernzugriff z.B. in Google-Cloud-Servern  schützt Firmware vor Manipulationen  Variante: Titan-M für Smartphones und Open Titan: offen für Nutzung (WD, Smartphones, …)  Auch in Titan-Sicherheitsschlüsseln Titan-Sicherheitsschlüssel  Ähnlich:  Amazon: AWS Nitro System mit Nitro Security Chip  Microsoft: Cerberus = Sicherheitschip, der die Firmware von Servern und deren Komponenten vor Angriffen schützen soll. V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 21 Studienelement Rechnerarchitekturen JVM: Memory Model Drei Teile, jeweils wie Stack organisiert. CPP: Constant Pool Pointer LV: Local Variable Pointer SP: Stack Pointer PC: Program Counter V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 27 Studienelement Rechnerarchitekturen Mikrocontroller µC  Der 8051 ist einer der bekanntesten und am meisten produzierten µC, 1980 von Intel entwickelt, von vielen anderen Herstellen in Lizenz gefertigt.  Viele Erweiterungen und Varianten.  Weitere Prozessoren für eingebettete Systeme (embedded systems):  ARM Core der Fa. ARM Limited: in Lizenz von vielen Herstellern, z.B. in Smartphone, Tablet, … ARM 7, StrongARM, ARM 9, ARM Cortex, … (siehe auch RA.08)  PowerPC: Wii, Xbox, Dreambox, PlayStation, … V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 44 Studienelement Rechnerarchitekturen SI-Vorsätze (Einheitenvorsätze, Einheitenpräfixe) m k µ M n G p T f P a E z Z y Y deutsch englisch (USA) englisch (UK) k Tausend thousand thousand M Million million million G Milliarde billion billion (or milliard) T Billion trillion trillion (or billion) P Billiarde quadrillion quadrillion E Trillion quintrillion quintrillion (trillion) Übersicht: https://de.wikipedia.org/wiki/Zahlennamen V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 48 Studienelement Rechnerarchitekturen Vorsätze für Datenmengen Datenübertragungsraten:  Bitrate: 1 kbit/s = 1‘000 bit/s auch jeweils Fakto 1‘000 zu Mbit/s, Gbit/s englisch auch: bps (bit per second)  Byterate: 1 B/s = 8bit/s ( ≠ Baudrate) Speichergrössen:  Verbreitete aber missverständliche Bezeichnung: 1 Kilobyte (kB) = 1024 Byte, 1 Megabyte (MB) = 1024 Kilobyte  Normgerecht und zweifelsfrei mit Binärpräfixen mit dem Zusatz „i“ für binary genormt in IEC 60027-2, aber wenig gebräuchlich:  1 Kibibyte (KiB) = 1024 Byte (Achtung: Hier ein grosses „K“.)  1 Mebibyte (MiB) = 1024 x 1024 Byte  2 Gibibyte (GiB) = 2 x 1024 x 1024 x 1024 Byte  Usw: TiB, PiB, … V 3.2 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.06 49 Studienelement Rechnerarchitekturen Schalter-Technologie  Elektronen-Röhre: hoher Stromverbrauch, geringe Lebensdauer  Elektrisches Relais gross, langsam  Transistor  Integrated Circuit: IC mit vielen Transistoren auf einem Chip V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 4 Studienelement Rechnerarchitekturen Wafer  Zuerst: „Züchten“ (Ziehen) von monokristallinem Silizium aus der Siliziumschmelze  Ingot Achtung: englisch „silicon“ ≠ Silikon (Silikon = synthetisches Polymer mit Silizium-Sauerstoff-Verbindungen, Fugenkitt), englisch: silicone  (Kristall = ein Festkörper, dessen Atome regelmässig in einer Kristallstruktur (Kristallgitter) angeordnet sind. Bsp.: Kochsalz, Zucker, Schnee)  Zersägen in einzelne Scheiben  Wafer  Typische Durchmesser 8" = 20 cm, 12" = 30 cm, (18" = 45 cm, geplant)  Typische Dicke: 700 bis 800 µm  Vergleiche: SiO2 = Siliziumdioxid: Quarz- sand oder Quarzglas bzw. mit ausgebildeter Ingot Wafer: 2" bis 8" Kristallstruktur: Bergkristall V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 5 Studienelement Rechnerarchitekturen Integrierter Schaltkreis (IC, Mikrochip)  Viele integrierte Schaltungen (ICs) auf einem Wafer. Werden bereits auf dem Wafer getestet. Danach Zerteilen des Wafers in einzelne Silizium- Plättchen: „Die“ (Plural: „Dies“)  Auf jedem Die ist eine elektronische Schaltung.  Anschlusspunkte (Pads) am Rand  Aktuelle Prozesstechnologien (nächste Folie):  Intel: seit 2023: 7 nm, angekündigt für Dez 23: 4 nm Floorplan eines IC  TSMC: 7 nm, 5 nm, 4 nm, angekündigt Herbst 24: 3 nm z.B. für AMD: Zen-2 (13,2 Mrd. Tr.), Apple A14 (11,8 Mrd. Tr.) und für Broadcom: Tomahawk4 (31 Mrd. Tr.)  Aktueller Rekord (etwas exotisch): KI-Chip von Cerebras in 16 nm: 21×21 cm, 46'000 mm2, 400'000 Cores, 51,2 Bio. Tr. (2019) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 6 Studienelement Rechnerarchitekturen Prozesstechnologie = Gatelänge = Strukturgrösse (Feature Size) = Lithographie = Technologieknoten (manufacturing process nodes)  Nagel = 2 Million nm = 2 mm Draufsicht: Gate  Haar = 0,09 mm = 90 µm = 90'000 nm  Pflanzenpollen = 20'000 nm  Bakterium = 2'000 nm Source Drain  Virus = 20 nm  Abstand von 2 Silizium-Atomen im Kristall: 2,35 Å = 2,35 x 10−10 m = 0,235 nm  1971: Intel 4004 in 10 µm-Technologie  2012: 22 nm-Technologie Querschnitt: Gatelänge Intel Prozessoren Core i5 und i7  2014: 14 nm: Intel Core-M Prozessoren  2017: erste Chips in 10 nm von Samsung  2018: 7 nm von Samsung und von TSMC für Apple und AMD  2019: 10 nm von Intel, ab 2022 auch als 7nm  2020: 5 nm bei TSMC (z.B. für Apple)  2022: 4 nm TSMC + Samsung  2023: 3 nm Samsung  2026: 1,4 nm Intel und TSMC angekündigt  2030: 1 nm angekündigt V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 7 Studienelement Rechnerarchitekturen RAM-Speicher  SRAM = Statisches RAM  6 Transistoren pro Speicherzelle  Für Cache und Register im μP  Hohe Geschwindigkeit  Kleinere Speicherkapazität pro Chip  DRAM = Dynamisches RAM SRAM-Zelle (Bildquelle: Wikipedia)  1 Transistor pro Speicherzelle + Kondensator C  hohe Datendichte auf kleinen Chipfläche  Langsamer, ab billiger pro Bit  muss alle 32 oder 64 ms aufgefrischt werden  PSRAM: pseudo-statisches RAM  DRAM mit eingebauter Auffrischung  Auch: 1T-SRAM und cellularRAM (da in Mobiltelefonen verwendet) DRAM-Zelle (Bildquelle: Wikipedia) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 20 Studienelement Rechnerarchitekturen DRAM-Refresh  Der Kondensator in der Speicherzelle verliert langsam die elektrische Ladung (und damit die gespeicherte Information) durch Leckströme.  Refresh (deutsch: Auffrischung) nötig, bevor Zelle ihren Inhalt verliert.  Refresh-Controller (DRAM-Controller) nötig, damit alle DRAM-Zelle rechtzeitig (alle 32 oder 64 ms) aufgefrischt werden.  Machen viele µP und µC selbständig oder integriert in Memory Controller im Chipsatz. V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 21 Studienelement Rechnerarchitekturen Flash-Speicher  Bei angelegter Schreibspannung wandern Elektronen aufgrund des quantenphysikalischen Tunneleffekt ins Floating Gate. Dort bleiben sie „gefangen“, da das Floating Gate gut isoliert ist.  Die Elektronen auf dem Floating Gate ändern das elektrische Feld des Control Gates und damit die Leitfähigkeit der Zelle.  Eine angelegte Löschspannung werden die Elektronen wieder aus dem Floating Gate entfernt.  Auch wenn die Versorgungsspannung ausgeschaltet ist, bleibt der Speicherinhalt erhalten = Non Volatile Memory (NVM) = persistent (nichtflüchtig). V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 22 Studienelement Rechnerarchitekturen Speichertechnologien  Halbleiterspeicher / Solid-State-Speicher Solid State (deutsch: Festkörper, Stoff in festem Aggregatzustand) = Stoff, dessen Atome in einer Kristallstruktur angeordnet sind.  RAM: Schreib-Lese-Speicher Datenhaltung nur während Spannungsversorgung SRAM: für Register und Cache DRAM: für Hauptspeicher  Flash (früher: EPROM, EEPROM) z.B. BIOS, Firmware, USB-Stick, SSD (Solid State Drive) persistent (nichtflüchtig) = Non Volatile Memory (NVM) Zugriff langsamer  ROM: Nur-Lese-Speicher Nur für grössere Stückzahlen Fixer Inhalt, kein Update möglich V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 23 Studienelement Rechnerarchitekturen Speichertechnologien  Magnetspeicher:  Festplatte (HD)  Tape-Cartridge (LTO-Kassetten) LTO-9: 11,1 x 11,3 x 2,1 cm  Optische Speicher  CD, DVD, Blu-ray Disk V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 24 Studienelement Rechnerarchitekturen Cache-Speicher  Kleiner, schneller Zwischenspeicher  Verringerung der Zugriffszeit  Kopie von Daten im Hauptspeicher  Caching-Strategie notwendig, um Datenkonsistenz zu sichern  Befindet sich zwischen CPU und Hauptspeicher  Physikalisch: in der CPU (oder auf der Hauptplatine)  auch mehrere Cache-Stufen möglich: L1-Cache, L2-Cache, … V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 27 Studienelement Rechnerarchitekturen Speicherhierarchie Typische Zugriffszeit Anwendung (Technologie) Typische Kapazität (in Byte) < 1 ns Register einige Byte bis kByte (SRAM) 2 ns Cache (SRAM) 0,5 – 256 MB (Server: bis 768MB) 5-10 ns Arbeitsspeicher (DRAM) 4 – 384 GB (Server: bis 2 TB) HD: 3-10 ms HD:73 GB – 22 TB SSD: 30µs Dateisystem (HD, SSD) (bis 32 TB angekündigt) SSD: 120 GB – 30 TB Band: 1 - 110 s Archiv, Backup, ext. Datenträger Optische: 100ms (HD, Magnetband-Cartridge, opt. Datenträger) HD: bis 22 TB oder Array Cartridge (z.B. LTO-9 bis 18 TB) Optische: 650 MB – 100 GB Datenhaltung: SSD/HD: 10 – 30 Jahre, Tape: > 30 J., Optisch: unklar (5 – 30 J.) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 28 Studienelement Rechnerarchitekturen Speicher-Organisation  Pro Zugriff wird mehr als eine Speicherzelle angesprochen:  typisch 4/8 Speicherzellen = 32/64 Bit Busbreite V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 29 Studienelement Rechnerarchitekturen Der Endian  Begriff aus J. Swift «Gullivers Reisen»: Die Bewohner von Liliput streiten sich, ob ein Ei am spitzen oder am dicken Ende aufzuschlagen sei.  Beispiel: Zahl: 123  Grosser (big) Endian, die höheren Stellen kommen zuerst: 1 Hunderter - 2 Zehner - 3 Einer  Kleiner (little) Endian, die niedrigen Stellen kommen zuerst: 1 Einer - 2 Zehner - 3 Hunderter  Theoretisch beliebig wählbar, aber von grosser praktischer Bedeutung  Zahlen: big endian  Datum: little endian (in Europa), siehe ISO 8601 V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 30 Studienelement Rechnerarchitekturen Endian: Speicherorganisation „Byte“  Beispiel: 32bit-Zahl 1A 2B 3C 4D hex = 439‘041‘10110  (a) Big endian memory (b) Little endian memory CPUs: Motorola, Freescale CPUs: Intel Unix, Java Windows Adresse Inhalt Adresse Inhalt 4 4 3 4D 3 1A 2 3C 2 2B 1 2B 1 3C 0 1A 0 4D V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 31 Studienelement Rechnerarchitekturen Endian: Speicherorganisation „Word“  Moderne Speicher sind in „Worten“ Adresse 31... 24 23... 16 15... 8 7... 0 16 organisiert: pro Zugriff wird mehr als 12 eine Byte-Speicherzelle adressiert. 8 4 Byte7 Byte6 Byte5 Byte4  typisch 1, 4 oder 8 Speicherzellen 0 Byte3 Byte2 Byte1 Byte0 = Busbreite von 8 / 32 / 64 Bit  Beispiel: 32bit-Zahl 1A 2B 3C 4D hex = 439‘041‘10110  (a) Big endian (b) Little endian Adresse 31... 24 23... 16 15... 8 7... 0 Adresse 31... 24 23... 16 15... 8 7... 0 16 16 12 12 8 8 4 4 0 4D 3C 2B 1A 0 1A 2B 3C 4D V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 32 Studienelement Rechnerarchitekturen Einteilungen der Rechner / Architekturen  Typ, Bauart  Rechenleistung:  Supercomputer  Supercomputer, Mainframe  Mainframes (Grossrechner)  Workstation  Minicomputer, Desktop  Server, PC, Notebook  Mobilgerät mit Akku  Tablet, Netbook  Pad, Smartphone, …  Standort:  Rechenzentrum: Server, Supercomputer, Mainframe  Arbeitsstation: Workstation  Eigener Arbeitsplatz: PC  Auf dem Schoss: Notebook = Laptop  Handheld: Tablet, Pad, Smartphone V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 43 Studienelement Rechnerarchitekturen Mainframe  Bezeichnung (früher) auch: “Grossrechner”  Nur noch wenige Anbieter:  IBM (Z-Mainframes)  Fujitsu (Ausstieg geplant 2030)  Anwender: grosse Banken, Versicherungen, Behörden, Handelsketten  Merkmale:  Sehr zuverlässig, ausfallsicher: durch Redundanz, Fehlerkorrektur und Überwachung  Hohe Datensicherheit  Sehr schnelle Problemlösungen durch kurze Reaktionszeit des Servicepersonals  Oft proprietäre Designs und Prozessoren, z.B. Telum-Prozessor von IBM V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 44 Studienelement Rechnerarchitekturen Klassifikation nach Flynn (1972) Single Multiple Instruction Instruction Single Data Multiple Data (Data Stream) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 45 Studienelement Rechnerarchitekturen Klassifikation nach Flynn (1972) Single Multiple Instruction Instruction Single MISD SISD redundante Systeme, Data Klassischer Paralleles Berechnen von Stream Einprozessor-Rechner Alternativen (Schach- (von Neumann oder computer), Harvard-Architektur) teilw. auch: Pipelinerechner Multiple SIMD MIMD = Vektorprozessor, Mehrkernprozessor, Data ein Steuerwerk, Multiprozessorsystem, Stream mehrere ALUs, Verteilte Systeme bei Supercomputern und neuen Mikroprozessoren (Transputer) V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 46 Studienelement Rechnerarchitekturen Multicore vs. Multiprozessor vs. Multicomputer  Unterscheidung über Abstand der Prozessoren  Kommunikationsbandbreite, Busbreite  Multicore  Mehrere Prozessoren in einem IC (Integrated Circuit)  Multiprozessorsystem (Mehrprozessorsystem)  Mehrere Prozessoren in einem Computer  Multicore oder mehrere ICs auf Platine  Multicomputer (Mehrrechner-/Mehrserver-System)  Eigenständige Rechner - meist via Netzwerk V 3.3 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.07 48 Studienelement Rechnerarchitekturen Bauformen / Formfaktoren  Typische Formfaktoren von Motherboards (Mainboard):  AT, ATX, mini-AT, Baby-AT, …, Mini-ITX  Ausführliche Übersicht: https://de.wikipedia.org/wiki/Formfaktor_(Computertechnik) Bild: ASRock X570D4I-2T Mini-ITX-Mainboard 17 x 17 cm 104-Pin-Stecker mit ISA-Bus  PC/104 Single Board Computer  Standard für Industrie-PC für eingebettete Systeme  Grösse (Formfaktor): 90,17 x 95,89 mm  Stecker, 104-Pins: ISA-kompatibel  Erweiterungen: PC/104-plus (mit PCI), PC/104-Express (PCIe), … V 3.4 © Hochschule Luzern, Computer & Network Architecture, Kap. RA.08 6 Stu

Use Quizgecko on...
Browser
Browser