Rechnerarchitektur · Prozessorarchitekturen

37
Rechnerarchitektur Prozessorarchitekturen Univ.-Prof. Dr.-Ing. Rainer Böhme Wintersemester 2020/21 · 9. Dezember 2020

Transcript of Rechnerarchitektur · Prozessorarchitekturen

Page 1: Rechnerarchitektur · Prozessorarchitekturen

RechnerarchitekturProzessorarchitekturen

Univ.-Prof. Dr.-Ing. Rainer Böhme

Wintersemester 2020/21 · 9. Dezember 2020

Page 2: Rechnerarchitektur · Prozessorarchitekturen

Vorbemerkung

Das heutige Thema ist eine Erweiterung Ihres Horizonts.

Behalten Sie den Überblick !

Kein Beispiel lässt sich direkt mit Ihren Kenntnissen derARM-Architektur kombinieren oder umsetzen.

Im Proseminar und in der kommenden Vorlesung zur Ein- und Ausgabenutzen und vertiefen wir weiterhin die ARM-Assemblerprogrammierung.

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 1

Page 3: Rechnerarchitektur · Prozessorarchitekturen

Gliederung heute

1. Klassifikation von Prozessorarchitekturen

2. Intel x86-Architektur

3. Datenparallele Architekturen

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 2

Page 4: Rechnerarchitektur · Prozessorarchitekturen

Klassifikation nach Anbindung des Speichers

Von-Neumann-Architektur

Steuerwerk

Rechenwerk

CPU

Speicher

enthält Programmeund Daten

Harvard-Architektur

Steuerwerk

Rechenwerk

CPU

Daten

Pro

gra

mm

e

nach dem Relaisrechner Mark I von Aiken (Harvard Universität) und IBM (1943/44)

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 3

Page 5: Rechnerarchitektur · Prozessorarchitekturen

Klassifikation nach Anbindung der ALU

Einteilung von Mikroarchitekturen nach möglichen Quellen und Zielen vonarithmetisch-logischen Operationen:

• Register/Register-basiert

• Register/Speicher-basiert

• Akkumulator-basiert

• Stapel-basiert

Register

r1r2r3

Speicher

.

.

.

.

.

.

ALU

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 4

Page 6: Rechnerarchitektur · Prozessorarchitekturen

Register/Register-basierte Architekturen

Werte aus zwei Registern werden miteinander verknüpft.Speicherzugriffe erfolgen separat (Load-Store-Architekturen).

Op. 1: RegisterOp. 2: Register

Ergebnis: Register

Beispiele: ARM, MIPS,DLX, RISC-V,SPARC, AVR

Register

r1r2r3

Speicher

.

.

.

.

.

.

ALU

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 5

Page 7: Rechnerarchitektur · Prozessorarchitekturen

Register/Speicher-basierte Architekturen

Ein Wert aus einem der Register wird mit einem Wert auseinem Register oder dem Speicher verknüpft.

Op. 1: RegisterOp. 2: Register o.

Speicher

Ergebnis: Register o.Speicher

Beispiele: Intel x86,Motorola 68K,PowerPC

Register

r1r2r3

Speicher

.

.

.

.

.

.

ALU

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 6

Page 8: Rechnerarchitektur · Prozessorarchitekturen

Akkumulator-basierte Architekturen

Der Wert aus einem Spezialregister (Akkumulator) wird mit einem Wert aus demSpeicher verknüpft. Das Ergebnis kommt immer in den Akkumulator.

Op. 1: AkkumulatorOp. 2: Speicher

Ergebnis: Akkumulator

Beispiele: Intel 4040,MOS 6502,Zilog Z80

Register

A

Speicher

.

.

.

.

.

.

ALU

X

Y

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 7

Page 9: Rechnerarchitektur · Prozessorarchitekturen

Stapel-basierte Architekturen

Alle Register werden als Stapel organisiert. Die obersten beiden Werte auf dem Stapelwerden miteinander verknüpft und das Ergebnis wieder oben auf dem Stapel abgelegt.

Op. 1: Wert unterStapelspitze

Op. 2: Stapelspitze

Ergebnis: (neue)Stapelspitze

Beispiele: x87 FPU,Java VM,Ethereum VM

Register

r2r3

Speicher

.

.

.

.

.

.

ALU

r1

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 8

Page 10: Rechnerarchitektur · Prozessorarchitekturen

Klassifikation nach Komplexität des Befehlssatzes

RISC: Reduced Instruction Set Computer

• wenige elementare Maschinenbefehle

• ermöglichen schlanke Pipelines: Richtwert ist ein Taktzyklus pro Stufe

• kompakte Instruktionskodierung, oft orthogonal(→ Einschränkungen bei Immediate-Werten und Addressierungsarten)

• Load-Store-Architekturen

CISC: Complex Instruction Set Computer

• viele mächtige Spezialbefehle, z. T. in Mikroprogrammen realisiert

• Optimierung schwierig

• organisches Wachstum der Befehlssätze und Instruktionskodierung

• Compiler nutzen oft nur eine Untermenge der verfügbaren Befehle.

Kompromisse: RISC und CISC existieren heute selten in Reinform.

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 9

Page 11: Rechnerarchitektur · Prozessorarchitekturen

Anzahl der Instruktionen von CISC-Prozessoren

1975 1980 1985 1990 1995 2000 2005 20100

200

400

600

800

1000

808080488086 8028680386 80486 Pentium P5

Pentium ProPentium II

Pentium III

Pentium MCore

Core 2

Core i7 Nehalem

Core i7 Haswell

Jahr

Anza

hlB

efe

hle

Datenquelle: Wikipedia 2016

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 10

Page 12: Rechnerarchitektur · Prozessorarchitekturen

Anzahl der Transistoren in Mikroprozessoren

1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020103

104

105

106

107

108

109

1010

4004

6800

6502

8086

80286

Pentium

G4

Sandy Bridge

Ivy

ARM 2 ARM 6

ARM 9TDMI

ARM Cortex-A9

Jahr

Anza

hlT

ransi

store

n

Datenquelle: Wikipedia 2020

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 12

Page 13: Rechnerarchitektur · Prozessorarchitekturen

Klassifikation nach Art der Parallelverarbeitung

Anzahl der Befehlsströme

Anzahl der 1 > 1Datenströme single instruction multiple instruction

1 singledata

SISD MISD

> 1 multipledata

SIMD MIMD

Flynn 1966

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 13

Page 14: Rechnerarchitektur · Prozessorarchitekturen

Gliederung heute

1. Klassifikation von Prozessorarchitekturen

2. Intel x86-Architektur

3. Datenparallele Architekturen

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 14

Page 15: Rechnerarchitektur · Prozessorarchitekturen

Entwicklung der x86-CISC-Architektur

1978 Intel 8086 erscheint (16-Bit-Architektur)

1980 Intel 8087 FPU (Koprozessor für Gleitkommazahlen)

1982 Intel 80286, 24 Bit Adressraum, neue Instruktionen

1985 Intel 80386 (32-Bit-Architektur), neue Adressierung

1989 Intel 80486 (weniger Mikrokode, Integration der FPU ab 486 DX)

1993 Intel Pentium: Integration von RISC-Prinzipien (1995: Pentium Pro)

1997 Pentium II mit 57 neuen MMX-Instruktionen (Ganzzahl-SIMD für Multimedia)

1999 Pentium III mit 70 neuen SSE-Instruktionen (Gleitkomma-SIMD)

2001 Pentium 4 mit 144 neuen SSE2-Instruktionen

2003 64-Bit-Architektur von AMD, seit 2004 von Intel unterstützt

2006 Hardwareunterstützte Virtualisierung (AMD-V bzw. Intel VT-x)

2015 Vertrauenswürdige Laufzeitumgebung (TEE) – „Enklave“

Fett gedruckte Begriffe sollte jede InformatikerIn kennen und sind prüfungsrelevant.

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 15

Page 16: Rechnerarchitektur · Prozessorarchitekturen

Problemfeld Abwärtskompatibilität

am Beispiel der Betriebsmodi aller modernen x86-Prozessoren

IA-32

Inte

l64

RealMode

ProtectedMode

Virtual8086Mode

SystemManagement

Mode

CompatibilityMode

64-BitMode

Reset

Zwei Unter-Modi:16-Bit 286-kompatibelund 32-Bit Protected

Zwei Unter-Modi:16-Bit 286-kompatibelund 32-Bit-kompatibel

Alternative: Kontinuität; sonst neu kompilieren, zur Not emulieren

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 16

Page 17: Rechnerarchitektur · Prozessorarchitekturen

Registersatz

SS

CS

ES

DS

GS

FS

08 71531

General-Purpose-Register

Basis-Pointer

Index-Register

Segmentregister

Daten

Code

Stack

ALAH

BLBH

CLCH

DLDH

AX

BX

CX

DX

BP

SP

SI

DI

EAX

EBX

ECX

EDX

EBP

ESP

ESI

EDI

Im 16-Bit-Modus steuern Segmente die höchstwertigen Adressbits.

(vereinfacht: 32-Bit-Modus; ohne Koprozessor, Kontrollregister, 128-Bit-Media-Register)

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 17

Page 18: Rechnerarchitektur · Prozessorarchitekturen

ALU-Anbindung

ALU-Befehle haben in der Regel zwei Operanden:

• Der erste Operand ist gleichzeitig Quelle und Ziel.

ADD AX, BX ; a = a + b (Gleichheitszeichen ist Zuweisung)

ADD DX, 13 ; d = d + 13

• Maximal ein Operand darf ein Speicherwort sein.

ADD AX, mem16 ; a = a + m16

ADD mem16, AX ; m16 = m16 + a

ADD mem16, 42 ; m16 = m16 + 42

• Kürzere Spezialbefehle:

INC ESI ; i = i + 1

DEC mem8 ; m8 = m8 − 1

Achtung: Einige Befehle sind fest mit definierten Registern verknüpft(z. B. MUL und DIV für Ganzzahl-Punktoperationen mit AX und DX)

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 18

Page 19: Rechnerarchitektur · Prozessorarchitekturen

Adressierungsarten

AbsolutMOV EAX, adr ; Register mit Inhalt an Speicheradresse adr laden

IndirektMOV EAX, [EBX] ; Register EBX zeigt auf Speicheradresse

Basis mit Index (nur {EBP | EBX} plus {ESI | EDI})MOV EAX, [EBX + ESI] ; Adresse aus EBX und ESI berechnen

. . . sowie Displacement (8, 16, 32 Bit) und Skalierung (Faktor 2, 4, 8)

MOV EAX, [EBX + ESI*4 + 2] ; nützlich für Zugriff auf Felder

Segmentüberschreibung (kombinierbar mit allen Adressierungsarten)

MOV EAX, ES:[EBX] ; abweichend vom Datensegment DS

Die Art der Speichersegmentierung ist abhängig vom Betriebsmodus.

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 19

Page 20: Rechnerarchitektur · Prozessorarchitekturen

Berechnung der physischen Adresse

Segmentierung über Deskriptoren im 32-Bit Protected Mode

Selektor Offset

16 Bit 32 Bit

Speicher-Segment

Deskriptor-tabelle

Mehrstufiges Paging im 64-Bit-Modus

virtuelle Adresse

48 Bit

12 Bit

physischeSpeicher-

seiteLevel

1Level

2Level

3Level

4

9 Bit

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 20

Page 21: Rechnerarchitektur · Prozessorarchitekturen

Instruktionskodierung

CISC-Instruktionen setzen sich aus mehreren Komponenten zusammen:

1. Optionale Präfixe

Instruktions-Präfix

Adressgrößen-Präfix

Operandgrößen-Präfix

Segment-überschreibung

0 oder 1 Byte 0 oder 1 Byte 0 oder 1 Byte 0 oder 1 Byte

2. Allgemeines Instruktionsformat

Befehlskode(Opcode)

Mode-Register/Memory

Scale-Index-Base (SIB)

Displacement Immediate

FaktorRegister- oder

Speicher-OperandRegister-Operandoder erw. Opcode

Index-Register Basis-RegisterAdres-

sierungs-art

1 oder 2 Bytes 0 oder 1 Byte 0 oder 1 Byte 0,1,2 oder 4 Bytes 0,1,2 oder 4 Bytes

Die Länge von x86-Instruktionen variiert zwischen 1 und 16 Bytes.

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 21

Page 22: Rechnerarchitektur · Prozessorarchitekturen

Stapelorganisation

Ein full descending Stapel wird vom Prozessor über das RegisterpaarSS:ESP ( stack segment : extended stack pointer ) organisiert.

Spezialbefehle (trifft man oft beim Disassemblieren an)

Mnemonic Kommentar

PUSH Legt Register, Speicherinhalt oder Konstante auf Stapel.POP Holt Wert vom Stapel in Register oder Speicherinhalt.

CALL Aufruf eines UnterprogrammsRETN Rücksprung von Unterprogramm

ENTER Platz aus dem Stapel für lokale Variablen reservierenLEAVE Platz für lokale Variablen freigeben

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 22

Page 23: Rechnerarchitektur · Prozessorarchitekturen

Gleitkommaeinheit

(engl. floating point unit, FPU)

Realisierung einer Stapel-basierten Befehlssatzarchitektur

8 Datenregister (je 80 Bit) Statusregister (16 Bit)

R0

R1

R2

R3

R4

R5

R6

R779 078 64 63

Exponenten MantissenVorzeichen

fulldescending

Stapel

ST0

ST1

ST2

ST3

TOP

(100)2

0

15

Bedingungen

AusnahmenGenauigkeitUnterlaufÜberlaufDivision durch NullDenormalisierungungültige Operation

FPU belegt

Stack Fault

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 24

Page 24: Rechnerarchitektur · Prozessorarchitekturen

Ausgewählte FPU-Befehle zum Datentransfer

Mnemonic Kommentar

Gleitkomma-, Ganzzahl, BCD∗-Zahl

FLD FILD FBLD aus dem Speicher nach ST0 ladenFST FIST aus ST0 in den Speicher schreibenFSTP FISTP FBSTP – ” – und vom Stapel löschen ( pop )

• Die FPU konvertiert automatisch zwischen Zahlendarstellungen.

• Die FPU unterstützt keine Immediate-Werte.

• Wichtige mathematische Konstanten liegen im ROM vor(z. B. FLDPI lädt die Kreiszahl π nach ST0).

∗: Die BCD-Kodierung speichert zwei Dezimalstellen pro Byte.∗: Werte, deren Hex-Darstellung Buchstaben erfordert, sind unzulässig.

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 25

Page 25: Rechnerarchitektur · Prozessorarchitekturen

Ausgewählte Arithmetik-Befehle der FPU

Mnemonics Kommentar

FADD FADDP FIADD Gleitkomma-AdditionFSUB FSUBP FISUB Gleitkomma-SubtraktionFMUL FMULP FIMUL Gleitkomma-MultiplikationFDIV FDIVP FIDIV Gleitkomma-DivisionFSQRT Gleitkomma-QuadratwurzelFABS AbsolutbetragFRNDINT auf Ganzzahl runden

• Alle Gleitkomma-Operationen erfolgen nach IEEE 754.

• Varianten mit I erlauben Ganzzahl (Integer) als ersten Operand.

• Für Subtraktion und Division existieren “reverse”-Varianten mitvertauschten Operanden, z. B. FSUBP→ FSUBRP, FIDIV→ FIDIVR.

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 26

Page 26: Rechnerarchitektur · Prozessorarchitekturen

Beispiel für FPU-Programmierung

Berechnung eines Skalarprodukts y = a1 · b1 + a2 · b2

Assembler-Befehlsfolge

sprod:FLD adr1FMUL adr3FLD adr2FMUL adr4FADDP

Belegungsbeispiel

Variable Wert Label(Speicheradresse)

a1 5.6 adr1a2 3.8 adr2b1 2.4 adr3b2 10.3 adr4

Ablauf

5.6 ST0

13.44 ST0

→3.8

13.44 ST1

ST0

→39.14

13.44 ST1

ST0

52.58 ST0

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 27

Page 27: Rechnerarchitektur · Prozessorarchitekturen

Hörsaalfrage

24 82 94 16Wie viele freie Speicherplätze benötigen Sie auf dem Stapel,um folgenden Ausdruck mit der FPU effizient zu berechnen(ohne dabei Zwischenergebnisse in den Speicher zu schreiben) ?

y =

a1 b1 c1 d1

a2 b2 c2 d2

a3 b3 c3 d3

x1

x2

x3

x4

a. 1

b. 2

c. 3

d. 4

e. 8

f. 12

g. 13

h. 16

Zugang: https://arsnova.uibk.ac.at mit Zugangsschlüssel 24 82 94 16. Oder scannen Sie den QR-Kode.

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 28

Page 28: Rechnerarchitektur · Prozessorarchitekturen

Entwicklung der Leistung von x86-Prozessoren

1995 2000 2005 20100

1000

2000

3000

4000

80486 Pentium CeleronPentium III

AMD Athlon

Pentium 4

Core i7

Pentium 4 Prescott

Jahr

Takt

gesc

hw

indig

keit

(MH

z)

2

4

6

8

Rech

enle

istu

ng

(GFL

OPS)

Single Core

Dual Core

Quad Core

Quelle: https://en.wikipedia.org/wiki/Comparison_of_Intel_processors

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 29

Page 29: Rechnerarchitektur · Prozessorarchitekturen

Gliederung heute

1. Klassifikation von Prozessorarchitekturen

2. Intel x86-Architektur

3. Datenparallele Architekturen

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 30

Page 30: Rechnerarchitektur · Prozessorarchitekturen

Datenparallele Architekturen am Beispiel von GPUs

Nutzung der Chipfläche von CPUs und Grafikprozessoren (GPUs)

ALU

ALU

ALU

ALU

Steuerwerk

Cache

CPU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALU

GPU

• Datenparallelität: Sehr effiziente, da gleichzeitigeBearbeitung vieler gleichartiger Daten auf die gleiche Weise.

• Voraussetzung: geringe Datenabhängigkeit; der Kontrollflussist weitgehend unabhängig von Zwischenergebnissen.

• Früher: Vektorprozessoren in Supercomputern, z. B. Cray

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 32

Page 31: Rechnerarchitektur · Prozessorarchitekturen

Grafik-Pipeline mit Hardwareunterstützung

a1

a2

a3

b1

b2

b3

A B

Vertex Generation

Geometrieerstellung

Rasterization

Pixeloperationen

Vertex Processing (VP)

Primitive Processing (PP)

Fragment Processing (FP)

programmierbare Shader

feste Logik

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 33

Page 32: Rechnerarchitektur · Prozessorarchitekturen

Aufbau moderner GPUs

Kern

Kern

Kern

Kern

Kern

Kern

Kern

Kern

Kern

Kern

Kern

KernRasterization

z-Puffer-Logik

Texture-Filter

Kompression

Scheduler

Kern 1

ALU

ALU

ALU

ALU

ALU

ALU

ALU

ALUBefehls-dekoder

Register

T1 T2 T3 T4

• Ca. 102 Kerne sind in einerMatrix-Struktur organisiert.

• SIMD-Prinzip: In jedem Kern teilen sich 101 ALUs ein Steuerwerk.• Hardware-Threads: Die ALUs erledigen andere anstehende Aufgaben um die

Speicherlatenz (102–103 Taktzyklen!) zu überbrücken.

General Purpose GPU: Schnittstelle für beliebige RechenaufgabenVertiefung in Parallele Programmierung, Pflichtmodul, 4. Semester BSc Informatik

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 34

Page 33: Rechnerarchitektur · Prozessorarchitekturen

Optimierung für Datenparallelität

(am Beispiel der Nvidia-CUDA-Architektur)

• SIMD-Breite 32: mind. 32 Threadsmüssen das Gleiche tun – bis aufBedingungen

• Globaler Speicher ohne Cache:Alignment nötig, um 16-fache (!)Verzögerung zu vermeiden

1 32

t0

t1

Thread

Addr.

Konflikt!

Thread

Addr.

Grundsatz: Besser in Datenlayouts statt in Algorithmen denken !

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 36

Page 34: Rechnerarchitektur · Prozessorarchitekturen

Beispiel: Parallele Reduktion

Summe der Elemente eines Vektors x1 ←∑|x|

i=1 xi

7

−1

−4

−4

−9

−8

−8

−8

−8

−8

−7

−3

−3

−3

−3

4

4

4

4

4

−5

−9

0

0

0

−4

−4

−4

−4

−4

−1

9

9

9

9

10

10

10

10

10

−6

−2

−2

−5

−5

4

4

4

4

4

−8

0

0

0

0

8

8

8

8

8

−5

−6

−3

−3

−3

−1

−1

−1

−1

−1

−3

3

3

3

3

6

6

6

6

6

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

( )

( )

( )

( )

( )

Schritt 1

Schritt 2

Schritt 3

Schritt 4

+ + + + + + + +

+ + + +

+ +

+

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 37

Page 35: Rechnerarchitektur · Prozessorarchitekturen

Entwicklungswerkzeuge am Beispiel Nvidia CUDA

Kombinierter C-Quelltextfür CPU und GPU

Standard C-Compiler

CPU Maschinencode

CPU

Nvidia C-Compiler

Kombinierter C-Quelltextfür CPU und GPU

Optimierte Bibliotheken:BLAS, FFT, . . .

PTX Assemblercode (LLVM)

CUDA-Treiber

Debugger /Profiler

GPU

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 38

Page 36: Rechnerarchitektur · Prozessorarchitekturen

Spezial- versus Universalhardware

“We have built up the display channel until it is itself ageneral purpose processor with a display.

[...]

In short, we have come exactly once around the wheel of reincarnation.”

Fortschritt passiert oft in Kreisläufen mit Wiederentdeckungen.

Myer & Sutherland, Communications of the ACM, 11 (6), 1968, S. 412

Rainer Böhme: Rechnerarchitektur · Prozessorarchitekturen 40

Page 37: Rechnerarchitektur · Prozessorarchitekturen

Syllabus – Wintersemester 2020/21

07.10.20 1. Einführung14.10.20 2. Kombinatorische Logik I21.10.20 3. Kombinatorische Logik II28.10.20 4. Sequenzielle Logik I04.11.20 5. Sequenzielle Logik II11.11.20 6. Arithmetik I18.11.20 7. Arithmetik II25.11.20 8. Befehlssatzarchitektur (ARM) I02.12.20 9. Befehlssatzarchitektur (ARM) II09.12.20 10. Prozessorarchitekturen16.12.20 11. Ein-/Ausgabe

13.01.21 12. Speicher20.01.21 13. Leistung

27.01.21 Klausur (1. Termin)