1 Kap. 2 - Aufbau von Prozessoren 2.1 Prozessoren 2.1.1 Aufbau der CPU 2.1.2 Ausführung von...

Preview:

Citation preview

1

Kap. 2 - Aufbau von Prozessoren2.1 Prozessoren

2.1.1 Aufbau der CPU

2.1.2 Ausführung von Instruktionen

2.1.3 RISC kontra CISC

2.1.4 Designprinzipien moderner Computer

2.1.5 Parallelität auf Instruktionsebene

2.1.6 Parallelität auf Prozessorebene

2.2 Primäre SpeicherBits, Speicheradressen, Byteanordnung, Fehlerkorrekturcodes, Cache-Speicher, Speicherbaueinheiten und -typen

Nicht behandelt in dieser Vorlesung:

2.3 Sekundäre Speicher

Speicherhierarchien, Magnetplatten, Disketten, IDE-Festpaltten, SCSI-Festplatten, RAID, CD, DVD

2.4 Eingabe / Ausgabe (E/A)

Busse, Terminals, Mäuse, Drucker, Modems, Zeichencodes

3. November 2005

2

2.1 Prozessoren

3

2.1.1 Aufbau der CPU

4

2.1.2 Ausführung von Instruktionen (1/2)

1. Hole die nächste Instruktion aus dem Speicher in das Instruktionsregister

2. Aendere den Befehlszähler, damit er auf die nächste Instruktion zeigt

3. Bestimme den Typ der geradene eingelesenen Instruktion

4. Wenn die Instruktion ein Wort im Speicher benutzt, bestimme die Position des Wortes

5. Lies bei Bedarf das Wort in ein CPU-Register ein

6. Führe die Instruktion aus

7. Gehe zu Schritt 1 und beginne die Ausführung der nächsten Instruktion

5

2.1.2 Ausführung von Instruktionen (2/2)

6

2.1.3 RISC kontra CISC

Komplexe vs einfache Instruktionen RISC = Reduced Instruction Set Computer CISC = Complex Instruction Set Computer

Herrschender Trend bis 1980: CISC Intel, DEC VAX, IBM-Grossrechner

Ab 1980: RISC (durch IBM initiert !!!) John Coke (IBM !) David Petterson und Carlo Séquin (Berkeley) Hennessy (Stanford): MIPS und SPARC (Sun !)

Heute CISC: Pentium (Intel), … RISC: PowerPC (Motorola, IBM, Apple), Alpha (DEC), …

7

2.1.4 Designprinzipien moderner Computer

Alle Instruktionen werden direkt von der Hardware ausgeführt

Maximieren der Rate, mit der Instruktionen ausgegeben werden MIPS = Million Instruction Per Second (!)

Die Befehle müssen leicht zu dekodieren sein

Nur LOAD- und STORE-Instruktionen sollen auf den Speicher verweisen

Stelle Register in Hülle und Fülle bereit

8

2.1.5 Parallelität auf Instruktionsebene:Pipelining (Fliessbandverarbeitung)

Latenzzeit (= Abarbeitungszeit einer Instruktion) vs Prozessorbandbreite (= Anzahl MIPS)

9

2.1.5 Parallelität auf Instruktionsebene:Superskalare Architekturen (1/2)

10

2.1.5 Parallelität auf Instruktionsebene:Superskalare Architekturen (2/2)

11

2.1.6 Parallelität auf Prozessorebene (1/2)

12

2.1.6 Parallelität auf Prozessorebene (2/2)

13

2. Primäre Speicher2.2.1 Bits

Definition Die Grundeinheit des Speichers ist die binäre Ziffer, genannt Bit

Eine Kuriosität: Binary Coded Decimal (BCD) Die Zahlen 0 bis 9 werden mit vier bits dargestellt, die 6

verbleidende Kombinationen werden nicht benutzt! Beispiel für die Zahl 91:

• BCD: 1001 0001

Noch kurioser: man hat solche Computer gebaut ! Z.B. gewisse IBM-Grossrechnern

14

2.2.2 Speicheradressen (1/2)

• Ein Speicher besteht aus einer Reihe von Zellen• Alle Zellen enthalten die gleiche Anzahl von Bits• Jeder Zelle wird eine Nummer (ihre Adresse)

zugeordnet

15

2.2.2 Speicheradressen (2/2)

• Bedeutung einer Zelle Sie ist die kleinste adressierbare Einheit

• Standard 1 Byte = 8 bits 1 Wort = n Bytes

(~1975: n=1, ~1985: n=2, ~1995: n=4 und ~2005: n=8)

16

2.2.3 Byteanordnung (1/2)

• Big-Endian: von links nach rechts Beispiel: Intel (80x00, Pentium), SPARC, IBM-Grossrechnern

• Little-Endian: von rechts nach links Beispiel: Motorola (680x0), PowerPC (IBM, Motorola, Apple)

17

2.2.3 Byteanordnung (2/2)

• Ein Beispiel

18

2.2.4 Fehlerkorrekturcodes (1/6)

• Einige Definitionen Ein n-Bit-CodeWort besteht aus m Daten- und r Prüfbits Hamming-Abstand w zweier Codewörter = Anzahl Bitstellen in

denen sich die beiden Codewörter unterscheiden• Beispiel: w=1 für die Codewörter 000 und 010

Hamming-Abstand c eines Codes = minimaler Hamming-Abstand zweier zulässigen Codewörter

• Eigenschaften (für d Einzelbitfehler) Fehlererkennung: möglich für c = d + 1 (d.h. c > d) Fehlerkorrektur: theoretisch möglich für c = 2d + 1 (d.h. c > 2d)

• Beispiel: Paritätsbit Jedem m Datenbit wird ein einzelnes Paritätsbit angehängt

• Für ein solcher Code gilt c = 2 (oder anders ausgedrückt : es sind 2 Einzelbitfehler erforderlich, um von einem gültigen Codewort zu einem anderen gültigen Codewort zu gelangen) und es lassen sich Einzelbitfehler erkennen

19

2.2.4 Fehlerkorrekturcodes (2/6)

• Lemma (Richard Hamming, 1950)Um einen 1-bitfehler in einem m=2k-datenbit :

(a) zu erkennen(b) zu korrigieren

braucht man 1 beziehungsweise k+1 Prüfbits (für k≥2)

• Beweis (a)Paritätsbit !

• Beweis (b) 1) es gibt 2m gültige Muster 2) mit r-prüfsbits gibt es 2m+r verschiedene Codewörter 3) Für jedes gültige Muster gibt es m+r ungültige mit einem

Abstand von 1(man bildet sie, indem man systematisch jedes der m+r bits invertiert)

Aus (1) - (3) folgt : (m+r+1) * 2m ≤ 2m+r, d.h. m+r+1 ≤ 2r, d.h. k +1 ≤ r

20

2.2.4 Fehlerkorrekturcodes (3/6)

21

2.2.4 Fehlerkorrekturcodes (4/6)

• Hamming Algorithmus Kodierung des 4-Bit-Speicherwort 1100 in den Mengen AB, ABC,

AC und BC mit je einem Bit je Menge (in alphabetischer Reihenfolge)

22

2.2.4 Fehlerkorrekturcodes (5/6)

• Hamming Algorithmus (wiederbesucht) Kodierung des 4-Bit-Speicherwort 1100 in den Mengen AB, AC, BC

und ABC mit je einem Bit

1

11

error

A

B

C1

1

0

0

0

A

B

C1

1

0

0

A

B

C1

0

0

0 error

Fehler

Paritätsbit

23

2.2.4 Fehlerkorrekturcodes (6/6)

Das gleiche in einer anderer Darstellung

A B C : Mengen0 1 1 1 1 0 0 : Codewort1 2 4 : Stellenposition (2k, k=0,1,2,…)

Position 3 ist durch A und B geprüft (3=1+2 !)Position 5 ist durch A und C geprüft (5=1+4 !)Position 6 ist durch B und C geprüft (6=2+4 !)Position 7 ist durch A, B und c geprüft (7=1+2+4 !)

d.h. Position 1 prüft 3, 5 und 7 Position 2 prüft 3, 6 und 7 Position 4 prüft 5, 6 und 7

Verallgemeinerung (Hamming Algorithmus)

1) Die k+1 Prüfungsbits belegen die Positionen einer 2er Potenz (1,2,..2K)2) Bit b wird durch die Paritätsbits bj geprüft, wobei b = b1 + b2 + … + bi3) Indem man die Positionen der Paritätsbits addiert die versagen erhält man die Position des falschen Bits !!!

24

2.2.5 Cache-Speicher

• Lokalitätsprinzip• Trefferquote (Hit Ratio), Fehlschlagrate (Miss Ratio)

25

2.2.6 Speicherbaueinheiten und -typen

• SIMM (Single Inline Memory Module)• DIMM (Dual Inline Memory Module)

26

Kap. 2 - Aufbau von Prozessoren

• 2.1 Prozessoren Aufbau der CPU, Ausführung von Instruktionen, RISC kontra CISC,

Designprinzipien moderner Computer, Parallelität auf Instruktionsebene und Prozessorebene

• 2.2 Primäre Speicher Bits, Speicheradressen, Byteanordnung, Fehlerkorrekturcodes, Cache-

Speicher, Speicherbaueinheiten und -typen• 2.3 Sekundäre Speicher

2.3.1 Speicherhierarchien 2.3.2 Magnetplatten 2.3.3 Disketten 2.3.4 IDE-Festpaltten 2.3.5 SCSI-Festplatten 2.3.6 RAID 2.3.7-10 CD, DVD

• 2.4 Eingabe / Ausgabe (E/A) Busse, Terminals, Mäuse, Drucker, Modems, Zeichencodes

27

2.3.1 Speicherhierarchien

28

2.3.2 Magnetplatten (1/2)

Die formatierte Kapazität ist meist etwa 15 Prozent geringer als die unformatierte

29

2.3.2 Magnetplatten (2/2)

- Winchester Platten- Sektoren, Zylinder, - Positionierung (seek), Drehverzug (Rotational Delay)

30

2.3.3 Disketten (Floppy Disk)

31

2.3.4 IDE-Festplatten

• IDE Integrated Drive Electronics

• EIDE Extended IDE

• Bemerkung IDE- und EIDE-Festplatten gab es ursprünglich nur für Systeme auf

Intel-Basis, weil die Schnittstelle eine exakte Kopie des IBM-PC Bus ist.

32

2.3.5 SCSI-Festplatten

• SCSI Small Computer System Interface (ANSI Standard, 1986)

• Bemerkung SCSI-Festplatten waren bis ~1998 Standard in den meisten Unix-

Workstations von Sun, HP, SGI und anderen Anbietern (wie z. B. Apple)

Heute sind sie durch USB- und Firewire-Festplatten ueberholt (IEEE Standards)

33

2.3.6 RAID

• RAID: Redundant Array of Inexpensive Disks (Patterson, 1988)

• SLED: Single large Expensive Disk

34

2.3.7-9 CD (1/3)

CD-ROM, CD-R, CD-RW

35

2.3.7-9 CD (2/3)

36

2.3.7-9 CD (3/3)

37

2.3.10 DVD

38

Kap. 2 - Aufbau von Prozessoren

• 2.1 Prozessoren Aufbau der CPU, Ausführung von Instruktionen, RISC kontra CISC,

Designprinzipien moderner Computer, Parallelität auf Instruktionsebene und Prozessorebene

• 2.2 Primäre Speicher Bits, Speicheradressen, Byteanordnung, Fehlerkorrekturcodes, Cache-

Speicher, Speicherbaueinheiten und -typen• 2.3 Sekundäre Speicher

Speicherhierarchien, Magnetplatten, Disketten, IDE-Festpaltten, SCSI-Festplatten, RAID, CD, DVD

• 2.4 Eingabe / Ausgabe (E/A) 2.4.1 Busse 2.4.2 Terminals 2.4.3 Mäuse 2.4.4 Drucker 2.4.5 Modems 2.4.6 Zeichencodes

14. November 2001

39

2.4.1 Busse (1/3)

40

2.4.1 Busse (2/3)

41

2.4.1 Busse (3/3)

42

2.4.2 Terminals (1/4)

43

2.4.2 Terminals (2/4)

44

2.4.2 Terminals (3/4)

45

2.4.2 Terminals (4/4)

46

2.4.3 Mäuse

47

2.4.4 Drucker (1/3)

48

2.4.4 Drucker (2/3)

49

2.4.4 Drucker (3/3)

50

2.4.5 Modems (1/2)

51

2.4.5 Modems (2/2)

Recommended