1 kap. 2 - aufbau von prozessoren 2.1 prozessoren 2.1.1 aufbau der cpu 2.1.2 ausführung von...
TRANSCRIPT
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)