Mikrocomputer 384.104 VO 2,0 - Fet · Organisatorisches / Organisatorisches Vorlesung immer im EI3...
Transcript of Mikrocomputer 384.104 VO 2,0 - Fet · Organisatorisches / Organisatorisches Vorlesung immer im EI3...
/
Mikrocomputer384.104 VO 2,0
Peter Palensky
Institut für Computertechnik
3. Oktober 2006
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 1 / 495
Organisatorisches /
Vorwort
Inhaltliche Verbesserungsvorschläge
Guter Mix aus Technologie, Philosophie und Hausverstand
Breite vs. Tiefe
”Bleibende Werte”
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 2 / 495
Organisatorisches /
Organisatorisches
Vorlesung immer im EI3
NEU 2006: Prof. Grimm
2 Vortragende = Doppelt so gut!!
Ab WS 2007: nur Prof. Grimm
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 3 / 495
Organisatorisches /
Abbildung 1: Prof. Christoph Grimm
VO verschränkt mit MC Übung
TUWIS++ Termine etwas verwirrend
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 4 / 495
Organisatorisches /
Mi 04.Okt 06 10:15-11:00 Vorbesprechung
Do 05.Okt 06 09:15-11:00 UE
Mi 11.Okt 06 10:15-11:00 UEDo 12.Okt 06 09:15-11:00 UE
Mi 18.Okt 06 10:15-11:00 VODo 19.Okt 06 09:15-11:00 Vorstellung Laborbeispiele
Mi 25.Okt 06 10:15-11:00 UE
Mi 08.Nov 06 10:15-11:00 UEDo 09.Nov 06 09:15-11:00 UE
Do 16.Nov 06 09:15-11:00 VO
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 5 / 495
Organisatorisches /
Mi 22.Nov 06 10:15-11:00 VODo 23.Nov 06 09:15-11:00 VO
Mi 29.Nov 06 10:15-11:00 VODo 30.Nov 06 09:15-11:00 VO
Mi 06.Dez 06 10:15-11:00 VODo 07.Dez 06 09:15-11:00 VO
Mi 13.Dez 06 10:15-11:00 VODo 14.Dez 06 09:15-11:00 VO
Mi 10.Jan 07 10:15-11:00 VODo 11.Jan 07 09:15-11:00 VO
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 6 / 495
Einleitung /
Mi 17.Jan 07 10:15-11:00 VODo 18.Jan 07 09:15-11:00 VO
Mi 24.Jan 07 10:15-11:00 VODo 25.Jan 07 09:15-11:00 VO
Das Skriptum ist auch als PDF auf der LVA Homepage verfügbar.Username:Password = mca:mca05
3 Prüfungen per Semester
schriftlich, Theorie
Termine per tuwis++ news
Bitte nicht unterschätzen!
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 7 / 495
Einleitung /
Einleitung
Herzlich willkommen zu Mikrocomputer. Sie haben eine gute Vorlesunggewählt!
Mikrocomputer. Woher kommen sie und wohin gehen sie? Was ist einMikrocomputer?
Rechenmaschine
beruht auf Mikrochip
Rechnen: analog oder digital?Vorgehensweise:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 8 / 495
Einleitung /
Reales Problem auf technisches umsetzen (Modellieren undImplementieren)
Rechnen
wieder retour zur Realität
analog: physikalisches ANALOGON (OPV-Schaltung, Mechanik,etc.) des Problems
digital: Mathematische Abbildung des Problems in auf Ziffern(DIGITS) basierenden Zahlen
Zur Zeit sind praktisch alle Rechenmaschinen Mikrocomputer
kann/wird sich ändern
Blick auf Historie sehr lehrreich
Vorgänger: Minicomputer
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 9 / 495
Einleitung /
diskret aufgebaut, TTL-Friedhöfe
Integration logischer Schaltkreise auf einem Chip war eineRevolution
schneller, billiger, zuverlässiger, kleiner, etc.
Computer omnipräsent
Taschenlampe: die luxuriöseren Modelle (wie z. B. guteTaucherlampen) haben einen PIC Prozessor eingebaut
Armbanduhr: manche Uhren haben eine höhere Rechenleistungals für die erste Mondlandung verwendet wurde.
Kühlschrank: Wer glaubt, dass in einem modernen Kühlschrank ein2-Punkt-Regler mit Bimetall eingebaut ist, irrt gewaltig.
Waschmaschine: Verglichen mit einer Waschmaschine ist einKühlschrank Kinderkram.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 10 / 495
Einleitung /
Kraftfahrzeuge: Selbst die billigsten Autos sind mittlerweile mitMikrochips vollgestopft. Fensterheber, Heizung/Klimaanlage,Scheibenwischer, usw. werden heutzutage mit Mikrochips bedient.
Telefone
Flugzeuge
Schienenfahrzeuge
Thermostat
el. Zahnbürste
und, und, und...
WARUM?
KOSTEN!Wartung, DiagnoseFern-Wartung”Software ist billiger als Hardware”
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 11 / 495
Einleitung /
Erbsen sind grüner als Flugzeugträger?Funktionaler Vergleich!Funktionen ab einer gewissen Komplexität sind in Software billiger alsin Hardware
”upgrades”
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 12 / 495
Einleitung /
Sie werden Microcomputern NICHT ENTKOMMEN!Auch nicht als EnergietechnikerInAuch nicht als HebammeGar nicht!
Diese Vorlesung wird beitragenDass sie mitreden könnenDass sie sich nicht alles erzählen lassenDass sie Computersysteme kritisch betrachten können
Grundlagenvorlesung, Überblick
Diverse Details sind notwendigfür Zusammenhängeweil dort die wirklichen Tricks vergraben liegenzur Unterhaltung
Spezialvorlesungen für Echtzeitsysteme, Netzwerke, embeddedsystems, etc.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 13 / 495
Einleitung /
Beispiel PerformanceThermische Belastung zur Zeit ein großes Problem
200 Watt elektrische Leistung reinpumpen: Abbildung 2200 Watt thermische Leistung rauspumpen: Abbildung 3
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 14 / 495
Einleitung /
Abbildung 2: Energieverteilung in einem Mikrochip. Es ist keine triviale Aufgabe mehrere Ampere in einen Mikrochip zu pumpen, dessen Strukturen
letztendlich nur ein paar Atome breit sind.
Abbildung 3: Was aussieht wie ein künstliches Herz ist eine Wasserkühlung für herkömmliche Desktop PC Prozessoren. Mehr dazu unter
www.extremeoverclocking.com.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 15 / 495
Geschichte des Microcomputer /
Trivial: Aktuellen Zustand übertreibenhöher takten,mehr kühlen, etc.
Besser: Neue TechnologieTTL->CMOSNeuer Integrationsproress
Auch nicht schlecht: Ein wenig nachdenkenNeue ArchitekturParallelisierenSW und HW aufeinander abstimmen
All diese Dinge passierten seit Anbeginn der Rechenmaschinen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 16 / 495
Geschichte des Microcomputer / Algorithmen
Geschichte des Microcomputer
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 17 / 495
Geschichte des Microcomputer / Algorithmen
Algorithmen
1000 v. Chr.: Abacus
800 n Chr.: Al Choresmi , persischer Mathematiker in Bagdad,auch bekannt unter dem Namen Abu Abdullah Muhammad binMusa al-Khwarizmi, Rechnen mit Ziffern, Anfänge der Algebra(Hisab al-jabr w’al-muqabala).
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 18 / 495
Geschichte des Microcomputer / Datenstrukturen
Abbildung 4: al-Khwarizmi auf einer sovietischen Briefmarke.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 19 / 495
Geschichte des Microcomputer / Datenstrukturen
Datenstrukturen
500 n. Chr.: Hindu-Arabisches Zahlensystem , Der indischeAstronom Aryabhata ”erfindet” die Null, Schreibweise als Punkt,verbreitet von Arabern, siehe Abbildungen 5 und 6.
17. Jh.: Leibnitz , Duales Zahlensystem, mechanischerRechenautomat.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 20 / 495
Geschichte des Microcomputer / Datenstrukturen
Abbildung 5: Der indische Astronom Aryabhata. Er arbeitete mit einem heliozentrischen Weltbild und berechnete PI als 62832/20000 = 3,1416.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 21 / 495
Geschichte des Microcomputer / Erste Rechenmaschinen
Hindu Zahlen ohne Null...
Abbildung 6: Frühe Zahlensysteme. Die fehlende Null der Tamilen wirkt sich offenbar bis heute aus, erst 2004 wurde bei ISO beantragt, das
Zeichen ”0” in den Unicode Tamil zu inkludieren...
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 22 / 495
Geschichte des Microcomputer / Erste Rechenmaschinen
Erste Rechenmaschinen
Beginnend im 17. Jahrhundert entstanden die ersten mechanischen,später elektro-mechanischen Rechenmaschinen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 23 / 495
Geschichte des Microcomputer / Erste Rechenmaschinen
Abbildung 7: Die Rechenuhr von Schickard.
17. Jh.Schickard , Tübingen, ”4 Spezies, Halbautomat” (ADD, SUB, MUL,DIV), Schickard hatte 1623 eine - nicht völlig automatische -
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 24 / 495
Geschichte des Microcomputer / Erste Rechenmaschinen
Vierspeziesmaschine gebaut, die leider bald danach verbrannte. Dagenaue Angaben fehlten, weiß man nicht ob die Nachbildung inAbb. 7 aus dem Jahre 1954 maßstabsgetreu ist.
Blaise Pascal , Paris, erste funktionierende Rechenmaschine(Addition, Subtraktion)
Gottfried Leibniz , Hannover, mechanische Maschine mitTaschenrechnerfunktionalität. Kurioserweise vermischte Leibnitzdiesen Gedankengang nicht mit seinem binären Zahlensystem. Wiewäre das wohl ausgegangen...?
18./19. Jh.
Jaquard , Automatische Steuerung von Webstühlen.
Charles Babbage , Mathematikprofessor in Cambrigde,Mechanische ”Difference Machine” (1832) mit Ausgabe durchPrägung auf Kupferplatten. Berechnung von Seefahrtstabellen.Analytical Engine mit vier Komponenten (Speicher, Rechen-, Ein-und Ausgabeeinheit) siehe Abb. 8 und Abb. 9 (Babbage’s geplanteRechenmaschinen bestanden aus 25.000 Einzelteilen mit einem
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 25 / 495
Geschichte des Microcomputer / Erste Rechenmaschinen
Gesamtgewicht von über 15 Tonnen, unfertigbar zu dieser Zeit.). Die0-te Rechnergeneration.
Abbildung 8: Babbages Difference Engine. Die Person im Retro-Outfit ist übrigens nicht Babbage, die Maschine ist eine Re-
konstruktion für ein Museum.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 26 / 495
Geschichte des Microcomputer / Erste Rechenmaschinen
Abbildung 9: Joseph Clement, ein Mechaniker und Mitarbeiter Babbages, fertigte diesen Teil der Maschine: ”The finished
portion of the unfinished engine”
Herman Hollerith , Lochkartenautomat für die Auswertung derVolkszählung
George Boole , (1814-1864), Aufbauend auf Leibnitz 1847: ”The
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 27 / 495
Geschichte des Microcomputer / Erste Rechenmaschinen
Mathematical Analysis of Logic”Ada Augusta Lovelace : Das erste Computerprogramm?
Abbildung 10: Ada Lovelace.
100 Jahre PAUSE....
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 28 / 495
Geschichte des Microcomputer / Erste Rechenmaschinen
1930 Konrad Zuse (D) , programmgesteuerteRelais(!)-Rechenautomaten, siehe Abb. 11 und 13. Der Z3 inAbb. 12 ist der erste voll funktionsfähige programmgesteuerteRechner der Welt.
Abbildung 11: Konrad Zuses Z1 und ein Nachbau.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 29 / 495
Geschichte des Microcomputer / Erste Rechenmaschinen
Abbildung 12: Konrad Zuses Z3.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 30 / 495
Geschichte des Microcomputer / Computer mit Vakuumröhren
Abbildung 13: Konrad Zuses Z4 mit Speicher.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 31 / 495
Geschichte des Microcomputer / Computer mit Vakuumröhren
Computer mit Vakuumröhren
Die Erfindung der Vakuumkröhre revolutionierte die Datenverarbeitung.Nie geahnte Rechenleistungen wurden wahr. Dauer: (1945 - 1955)
1943 Alan Turing (GB), Colossus : 1.800 Vakuumröhren,Cryptoanalysis, siehe Abb. 14.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 32 / 495
Geschichte des Microcomputer / Computer mit Vakuumröhren
Abbildung 14: Der Colossus.
1946 Eckert /Mauchly (USA), ENIAC(Electronic Numerical Integrator and Computer, University ofPennsylvania), 18.000 Vakuumröhren, 1.500 Relais, Gewicht: 30Tonnen, siehe Abb. 15.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 33 / 495
Geschichte des Microcomputer / Computer mit Vakuumröhren
150 kW und doch recht zuverlässig...
Abbildung 15: Der ENIAC.
Nachfolger waren EDSAC, JOHNIAC, ILLIAC, MANIAC, WEIZAC,etc.
1947 Whirlwind (MIT) mit Magnetkernspeicher.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 34 / 495
Geschichte des Microcomputer / Computer mit Transistoren
1952 von Neumann (IAS/Princeton, 1952), ersterUniversal-Rechner mit gespeicherten Befehlen, „von NeumannArchitektur“.
Abbildung 16: John von Neumann. Merken sie sich diesen Namen...
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 35 / 495
Geschichte des Microcomputer / Computer mit Transistoren
Computer mit Transistoren
Der Transistor war der letzte Schritt vor dem Mikroprozessor.Ursprünglich wurden Rechenmaschinen diskret aufgebaut (1955 -1965), die Integration ermöglichte einen großen Sprung vorwärts.
1948 Entdeckung des Transistors , JohnBardeen, Walter Brattain und William Shockley, Bell Labs,Physik Nobel Preis 1956, siehe Abbildung 17.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 36 / 495
Geschichte des Microcomputer / Computer mit Transistoren
Abbildung 17: Eine Elektronenröhre und ein Transistor.
1955 Zemanek (Wien), mit Transistoren, „Mailüfterl“ , 3.000Transistoren, 5.000 Dioden und 30 km Draht, siehe Abb. 18.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 37 / 495
Geschichte des Microcomputer / Computer mit Transistoren
Abbildung 18: Das Mailüfterl.
1959 Der integrierte Schaltkreis (integrated circuit IC) , JohnKilby (Texas Instruments, Abb. 19) and Robert Noyce (Fairchild, hatIntel mitgegründet), Monolithischer Si-Kristall: schneller, komplexer,verlässlicher.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 38 / 495
Geschichte des Microcomputer / Computer mit Transistoren
Abbildung 19: Kilby’s erster Mikrochip, und ein paar Jahre danach, als er begutachtet wohin seine Erfindung geführt hat.
1961
TX-0 einer der ersten Computer mit Transistoren (MIT).
DEC PDP-1 Nachfolger des TX-0, 4 kByte, 18 Bit Wörter, Zykluszeit5µs, $ 120.000,-.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 39 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
1963 IBM 7094, Zykluszeit 2 µs, Kernspeicher mit 32 kByte, 36 BitWörter, siehe Abb. 20.
Abbildung 20: Foto eines großen 7094 System aus dem IBM Photo Archiv.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 40 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
Integrierte Schaltungen
Die Integration von Transistoren auf einem Chip (ab 1965) wurde überdie Jahre immer weiter verbessert und führte zu SSI, LSI, MSI, VLSI (ab1980), etc.
1964 IBM System/360 , Mehrprogrammbetrieb, Emulation anderer(früherer) Computer, Adressraum 16 MByte, Geburtsstunde des„Byte“, das acht Bit zusammenfaßt.
1981 IBM Personalcomputer , mit Intel 8088 Prozessor, 29 000Transistoren, 5 MHz, 10 16-Bit-Register, offene Architektur,dominierendes Betriebssystem (MS-DOS) von einer damals kleinenFirma.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 41 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
2003 Pentium P4 , 55 000 000 Transistoren, 3 GHz.
2005 AMD Athlon 64 FX , 130nm SOI (silicon on insulator),3.1GHz.
Produktion in Reinräumen (Abbildung 21)
Schleusen, Lüftung, Bärte, Anzüge, etc.
Ausfall der Lüftung...?
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 42 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
Abbildung 21: Die Arbeit im Reinraum erfordert Schutzanzüge. Anders als in anderen Werkstätten wird hier aber das Werkstück geschützt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 43 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
Abbildung 22: Die ersten 5 Schritte in der Produktion eines Mikrochips, wie in [10] sehr anschaulich beschrieben.
1. Planung, Design, Simulation, Test. Alles am Computer (aberwoher kommt dieser Mikrochip...?).
2. Masken werden erstellt mit den Mustern des Schaltkreises.
3. Ein Silizium-Einkristall wird gezüchtet und gezogen.
4. Die Wafer werden gesägt.
5. Der Wafer wird mit einer isolierenden Schicht aus Siliziumoxidummantelt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 44 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
Abbildung 23: Schritt 6-10.
6. Photoempfindliche Schutzschicht wird aufgebracht.
7. Mit UV Licht wird belichtet. Wo die Maske nicht abdeckt wird dieSchutzschicht zerstört.
8. Der Waver wird entwickelt, gewaschen und gebacken, wodurchdie zerstörten Teile der Schutzschicht entfernt werden.
9. Der Wafer wird chemisch geätzt. Dort wo keine Schutzschicht ist,wird das Silizium Oxid entfernt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 45 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
10. Der Wafer wird dotiert. Die ungeschützten Siliziumbahnenverändern dadurch ihre elektrischen Eigenschaften. Schritt 5-10werden nun beliebig wiederholt, bis man seine gewünschten Musterin den Wafer eingebracht hat. Man kann auch weiter Schichten(isolierend, leitend, etc.) aufbringen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 46 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
Abbildung 24: Schritt 11-15.
11. Für die Metallisierung wird Metall (z. B. Kupfer) aufgebracht.
12. Wieder eine photoempfindliche Schicht.
13. Belichtung entsprechend der gewünschten Metallisierung.
14. Belichtete Stellen werden chemisch entfernt.
15. Die Metallschicht wird geätzt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 47 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
Abbildung 25: Schritt 16-20.
16. Die einzelnen Funktionsgruppen des Chips sind jetzt mitleitendem Metall verbunden.
17. Weitere Metallisierungsschichten werden aufgebracht, getrenntmit Isolierungsschichten.
18. Die Chips werden am Wafer getestet. Fehlerhafte Chipsbekommen einen roten Farbpunkt. Abb. 27 zeigt einen fertigenWafer
19. Die Wafer werden gesägt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 48 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
20. Die Chips werden paketiert und weiter getestet.
Wafer Größe: 200 mm -> 300 mm: 50% mehr Chips, 20% höhereKosten
Integrationsdichte: 130 nm = 0,13 Mikron Prozess, 90 nm, 45 nm,32 nm,...?
Energieverbrauch?
Moore’s Law: Verdopplung der Transistoren pro Chip alle 18 Monate
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 49 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
Abbildung 26: Blick auf die CPU-Core des AMD Athlon 64. Den flächenmäßig größten Anteil (über 50 Prozent) beansprucht der 1 MByte fassende
L2-Cache.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 50 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
Abbildung 27: Ein 200 mm Wafer in 90 nm Technologie, bestückt mit Athlon64 Prozessoren.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 51 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
Abbildung 28: Kein exponenzielles Wachstum dauert ewig, aber bis zur Ewigkeit kann es noch etwas dauern
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 52 / 495
Geschichte des Microcomputer / Integrierte Schaltungen
Abbildung 29: Die Entwicklung der Integration bei Mikroprozessoren bestätigt das Moore’sche Gesetz.
Zitate:
„I think there is a world market for maybe five computers“ , ThomasJohn Watson, Präsident von IBM, 1943
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 53 / 495
Designgrundlagen /
„...fifteen hundred condensers, twenty thousand individual electriccircuits, five hundred vacuum cells, a thousand relays,...“ , aus derGeschichte ”catch that rabbit”, so wie sich Isaac Asimov vorstellte dassein Roboter mit Bewusstsein aufgebaut ist, 1944
„Computers in the future may have only 1000 vaccuum tubes andperhaps weigh 1.5 tons.“ , Popular Mechanics, forecasting therelentless march of science, 1949
„There is no reason anyone would want a computer in their home.“ ,Ken Olson, Präsident and Gründer von DEC, 1977
„640K ought to be enough for anybody.“ , Bill Gates, Gründer vonMicrosoft, 1981
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 54 / 495
Designgrundlagen / Allgemeines
Designgrundlagen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 55 / 495
Designgrundlagen / Allgemeines
Allgemeines
Strukturiertes Vorgehen
Notwendig bei komplexen Dingen
Top-Down Design, und
Bottom-Up Design.
Beim Top-Down Design ist die Endfunktionalität des Systems bekanntund funktional beschrieben. Zur Beschreibung verwendet manüblicherweise formale Sprachen. Beispiele dafür sind
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 56 / 495
Designgrundlagen / Allgemeines
VHDL (Very High Speed Integrated Circuit Hardware DescriptionLanguage), eine Sprache zur Beschreibung digitaler Hardware wieASICs (Application Specific Integrated Circuits) oder FPGAs (FieldProgrammable Gate Arrays),
SDL (Specification and Description Language), eine Sprachegeeignet zur Beschreibung von Kommunikationssystemen undverteilten Systemen,
SystemC, eine C++ Klassenbibliothek zur Modellierung digitalerSysteme
UML (Unified Modelling Language)
Strukturierung in Blöcke, Module, Schichten, Ebenen, etc.
Hierarchische Gliederung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 57 / 495
Designgrundlagen / Allgemeines
Welche Vorteile erhält man, wenn man technische Designsmodularisiert?
Überblick: Die einzelnen Teile können getrennt voneinanderbetrachtet werden.
Teams: Man kann die einzelnen Teile getrenntenEntwicklungsteams übergeben und damit die Entwicklungszeitverkürzen.
Testen: Die einzelnen Teile können getrennt von einander getestetwerden. Die Fehlersuche ist damit bedeutend effizienter.
Controlling: Bei einer feingranularen Aufteilung kann man früherkennen, wenn die Entwicklung eines Teils mehr Ressourcen(Geld, Personal, etc.) verbraucht als man erwartet hat. In diesemFall kann man früher Gegenmaßnahmen (Budget erhöhen...)ergreifen, als bei einem monolithischen Design.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 58 / 495
Designgrundlagen / Beispiel
Wiederverwendbarkeit: eine Software-Library, ein VHDL-Block, einDesign kann vielleicht in einem anderen Problem wiederverwendetwerden.Austauschbarkeit: Wenn die prinzipielle Funktion und dieSchnittstellen zweier Blöcke gleich sind können sie ausgetauschtwerden. Siehe pinkompatible Chips, device drivers,Protokollschichten, etc.
Notwendig: Schnittstelleneindeutig und klar definiertgrenzen ab und verbinden
Bottom-Up:
Details von Anfang an bekanntVorentscheidungen (Technologie, Prozessor, etc.)für komplexe Designs unbrauchbarnicht teamfähig
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 59 / 495
Designgrundlagen / Beispiel
Beispiel
Kommunikationsprotokolle, ein Set von Regeln
2 oder mehr Kommunikationspartner
wer darf wann ”reden”,
wie identifizieren sich die einzelnen Teilnehmer,
wie lange darf man "reden",
wer darf ”zuhören”,
wie wird verschlüsselt,
welcher Kommunikationskanal wird verwendet,
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 60 / 495
Designgrundlagen / Beispiel
mit welcher Pegelstärke wird gesendet,
welche Bitrate wird verwendet,
welches Encoding wird verwendet,
wie werden Adressen verteilt,
etc.
Können sehr komplex und umfangreich werden
Zerlegen in ”Kapitel” naheliegend
Protokollschichten
ISO/OSI 7-Schichten Modell
7 Kapitel für Protokolldienste
z. B.: Medienzugriff = Schicht 2Kollisionsvermeidung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 61 / 495
Designgrundlagen / Leistungsbewertung
CRC ChecksumStartbitetc.
Vorteile:
Die einzelnen Schichten können getrennt implementiert undgetestet werden.
Man kann Schichten austauschen.
Protokolle werden vergleichbarer.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 62 / 495
Designgrundlagen / Leistungsbewertung
Leistungsbewertung
Leistungsbewertung wichtig bei:
Auswahl neuer Computer
Leistungsverbesserung bestehender Anlagen
Entwurf neuer Systeme
Bewertung = Entscheidungsgrundlage für Investitionen, etc.
Eigenschaften von MC so komplex und zahlreich wie ihreBewertungen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 63 / 495
Designgrundlagen / Leistungsbewertung Begriffe
Leistungsbewertung
Auswertung vonHardwaremaßzahlen
ModelltheoretischeVerfahren
Messungen währenddes Betriebes
Messungen derLaufzeit vonProgrammen
Ï TaktrateÏ MIPSÏ MOPS/MFLOPSÏ CPI
Ï Benchmarks Ï SoftwaremonitoreÏ HardwaremonitoreÏ Hybridmonitore
Ï SimulationÏ Analytische Modelle
Abbildung 30: Einteilung der Möglichkeiten zur Leistungsbewertung.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 64 / 495
Designgrundlagen / Leistungsbewertung Hardwareanalyse
Begriffe
Durchsatz und Reaktionszeit
Rechenzentrum: Gesamtlaufzeit für alle Kunden, Jobs, etc.
Individuum: Isolierte Sichtweise, ”Interaktivität”, HTTP/FTP?
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 65 / 495
Designgrundlagen / Leistungsbewertung Hardwareanalyse
Hardwareanalyse
Hardware-Eigenschaften vergleichen
VT: Einfach, naheliegend
NT: schwer quantisierbar, ”Rechenleistung” von vielen Dingenabhängig:
Organisation der Befehlsstruktur
E/A Eigenschaften
verwendete Softwarepakete
uvm. . .
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 66 / 495
Designgrundlagen / Leistungsbewertung Hardwareanalyse
Skalare Zahlen also nur für Details:
Taktfrequenz
Befehlsausführungszeit
Speicherzugriffszeit
Speicherzugriffsbandbreite
Speichergröße
Beispiele:
MIPS (Million Instructions per Second)
MIPS =Anzahl der Instruktionen
Ausfuehrungszeit ·106
Problem: unterschiedliche Befehlssätze zweier Prozessoren machenVergleich unmöglich
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 67 / 495
Designgrundlagen / Leistungsbewertung Hardwareanalyse
MIPS daher eher Marketing-Werkzeug
Beispiel:
6502 (siehe Abbildung 31. Der 6502 wurde in Legenden wie ATARIoder Apple II verewigt.)68000 (die Mutter aller Motorola Prozessoren)/370 (verwendet in IBM Mainframes)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 68 / 495
Designgrundlagen / Leistungsbewertung Hardwareanalyse
Abbildung 31: Der 6502 Prozessor und der erfolgreichste Heim-Computer aller Zeiten, der Commodore 64 (verwendete allerdings den
Nachfolger 6510).
Auf den ersten Blick scheint klar zu sein, dass der ”moderne” /370die anderen beiden aussticht und der 6502 mit seinen 56 Befehlensich gegen den 68000 (143 Befehle, daher etwas mächtiger)geschlagen geben muss. Angenommen (diese Zahlen bitte nurqualitativ betrachten)
der 6502 benötigt 10 µs,der 68000 benötigt 5 µs, und
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 69 / 495
Designgrundlagen / Leistungsbewertung Hardwareanalyse
der /370 benötigt 1 µs.
Die Implementierung, also wie viele Befehle abgearbeitet werden,wird von der MIPS Zahl dummerweise nicht berücksichtigt:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 70 / 495
Designgrundlagen / Leistungsbewertung Hardwareanalyse
6502: LDX #\$0fLOOP LDA source, X
STA dest, XDEXBPL LOOP ; branch if plus (neg flag not set)
68000: MOVE \$source, A0MOVE \$dest, A1MOVEQ #\$0f, D0 ; move quick (immediate)
LOOP MOVE.B (A0)+, (A1)+ ; move byte and inc addr.DBF D0, LOOP ; decrement and branch if false
/370: MVC dest(16), source
Summiert man die Befehle auf, dann benötigtder 6502 1+4*16=65 Befehle,
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 71 / 495
Designgrundlagen / Leistungsbewertung Hardwareanalyse
der 68000 3+2*16=35 Befehle, und
der /370 nur einen Befehl..
Wenn man nun die Ausführungszeit berücksichtigt, ergibt sichfolgendes Bild:
6502: 65 / 10 µs = 6,5 MIPS
68000: 35 / 5 µs = 7 MIPS
/370: 1 / 1 µs = 1 MIPS
Völlig aussagenlose Zahlen
-> MIPS nicht brauchbar.
FLOPS (Floating Point Operations Per Second)
Je nach Implementierung FPU mehr oder weniger mächtig
Sehr HW-abhängige Interpretierung
Mixe und Kernprogramme sind aufwändiger aber aussagenkräftiger:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 72 / 495
Designgrundlagen / Leistungsbewertung Modelltheoretische Verfahren
Mixe: Bei Mixen wird versucht eine mittlere Operationszeit T zubestimmen. Dazu werden die unterschiedlichen Befehlstypen nachder erwarteten relativen Häufigkeit ihres Auftretens bewertet undsummiert.
T =n
∑i=1
ti ·pi
n = Anzahl der gesamt betrachteten Befehle, ti = Operationszeitdes Befehls i, pi = relative Häufigkeit des Auftretens des Befehls i.
Kernprogramme: Kernprogramme sind typischeAnwenderprogramme die für den zu bewertenden Rechnergeschrieben werden. Sie werden jedoch nicht zur Ausführunggebracht.Komplex, moderne (parallele) Abläufe nicht berücksichtigt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 73 / 495
Designgrundlagen / Leistungsbewertung Modelltheoretische Verfahren
Modelltheoretische Verfahren
Experimente aufwändig, nur bei existierenden Maschinen machbar.Ausweg = Modell. Anforderungen:
Klarheit und Übersichtlichkeit
(Einfache) Anpassungs- und Erweiterungsfähigkeit des Modells
Gültigkeit des Modells
Formale und empirische Richtigkeit
VT: Leichte Handhabung, billig(?), beliebig grob oder fein machbar
Werkzeuge: Verkehrstheorie, Statistik, etc.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 74 / 495
Designgrundlagen / Leistungsbewertung Modelltheoretische Verfahren
Ziele der modelltheoretischen Verfahren sind:
Aufdecken von Beziehungen zwischen Systemparametern
Erkennen von Engpässen
Ermitteln von Leistungsgrößen (Auslastung von CPU oder Kanälen,Antwortzeiten, . . . )
Unterschieden wird zwischen
Analytischen Verfahren, und
Simulation.
Analytische Modelle : mathematischer Weg. oft sehr komplex.
Simulation, das Experimentieren mit Modellen
Zeitdiskrete Simulation auf einem anderen Rechner. NT:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 75 / 495
Designgrundlagen / Leistungsbewertung Monitorprogramme
Vorbereitung und Ausführung der Experimente ist aufwändig undteuer
Die Qualität der Ergebnisse hängt stark von den getroffenenAnnahmen ab
Die Auswertung und Interpretation der Ergebnisse ist schwer
Ereignisorientierte Simulation : Zustandsübergänge, State-Machines,Übergangsfunktionen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 76 / 495
Designgrundlagen / Leistungsbewertung Monitorprogramme
Monitorprogramme
Messung während Betrieb:
Softwaremonitore: Sind spezielle Messprogramme die in dieSoftware des zu beobachtenden Systems eingebettet sind.
Hardwaremonitore: Sind elektronische Messinstrumente die mitMessfühlern (probes) an internen Kontaktpunkten Zustände(Spannungswerte) des Systems untersuchen.
Sampling: Beim sampling wird eine Messung jeweils nach einemzeitlich festgelegtem Abtastintervall ∆ gestartet.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 77 / 495
Designgrundlagen / Leistungsbewertung Monitorprogramme
Eventing: Beim eventing wird eine Messung durch das Auftreteneines ganz bestimmten Ereignisses ausgelöst. Also wenn einProgramm in eine festgelegte Stelle im Code „läuft “.
Sampling: Abtastfrequenz essentiell!
Eventing: Messprogramm wird bei event gestartet (eingeschoben)
Beide:
Eigenschaften (Speicherinhalte, Status, etc.) können mitgeschriebenwerden.
Messprogramm verändert Performance → Korrekturrechnen mehroder weniger einfach...
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 78 / 495
Designgrundlagen / Leistungsbewertung Monitorprogramme
Zustand
Zeit
1
0
Abbildung 32: Intervallmessung mit sampling.
Einbettung der Monitore:
Der Monitor kann als eingeständiges Programm installiert werden.
Der Monitor kann durch Modifikation der zu beobachtendenProgramme in eben diesen untergebracht werden.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 79 / 495
Designgrundlagen / Leistungsbewertung Benchmarks
Der Monitor kann im Betriebsystem so integriert werden, dassjeweils bei der Ausführung bestimmter Betriebsystem-Tasks eineMessung gestartet wird.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 80 / 495
Designgrundlagen / Leistungsbewertung Benchmarks
Benchmarks
Programme die Anforderungsprofile repräsentieren
z. B. für Datenbanken, wissenschaftliche Berechnungen,Server-Dienste, etc.
Klassische Benchmarks die einen statistischen Durchschnitt ergeben,sind
Dhrystones für Integer und
Whetstones für Floating Point.
Mit einem Benchmarktest können verschiedene Ziele verfolgt werden.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 81 / 495
Designgrundlagen / Leistungsbewertung Benchmarks
Vergleich von Leistungsgrößen
Tests spezieller Hardware oder Software
Verbesserungsmöglichkeiten
Vergleich von Rechensystemen
Benchmarks messen implizit auch Compiler, Software-Aufbau,Code-Optimierung, etc.Spezial-Benchmarks sind z. B.:
CPU-Leistung
Ein/Ausgabe-Verhalten
Speicherzugriffsverhalten
Grafikfähigkeit
Synthetische Programme: künstliche, Code-Teile nur zuPerformance-Test Zwecken.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 82 / 495
Designgrundlagen / Leistungsbewertung Benchmarks
Toy Programs: kleine, verständliche Programme mit deterministischemErgebnis (z. B. Sortieren).
heute: komplexe, heterogene Programme, die möglichst die realeAnwendung widerspiegeln sollen.
Manipulation der SPEC-Suite 1989: Compiler erkannten matrix300 code(Teil der Suite) und optimierten speziell.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 83 / 495
Designgrundlagen / Leistungsbewertung Berechnungsmethoden
Gewichtung der einzelnen Benchmark Teile nicht einfach:
Computer A Computer BProgram 1 (seconds) 1 10Program 2 (seconds) 1000 100Total Time 1001 110
Tabelle 1: Ausführungszeit von zwei Programmen
Ist nun Computer A oder Computer B schneller?
Relative Leistung:
LeistungB
LeistungA=
AusfuehrungszeitAAusfuehrungszeitB
=1001
110= 9.1
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 84 / 495
Designgrundlagen / Leistungsbewertung Berechnungsmethoden
Berechnungsmethoden
Leistungx =1
Ausfuehrungszeitx
Betrachtet man zwei Computer X und Y dann besitzt X die größereLeistung wenn gilt
AusfuehrungszeitY > AusfuehrungszeitX
CPU-Zeit: reine Rechenzeit (das wirklich Interessante)
Gesamtzeit: CPU-Zeit + Warten auf E/A., andere Programme, etc.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 85 / 495
Designgrundlagen / Leistungsbewertung Berechnungsmethoden
Clock-Ticks, Clock Cycles
CPU Zeit fuer ein Programm =CPU clock cycles fuer ein Programm× clock cycle Zeit
Alternativ:
CPU clock cycles = Instruktionen fuer ein Programm×Durchschnittliche clock cycles pro Instruktion
Der Ausdruck clock cycles pro Instruktion wird als CPI bezeichnet undstellt einen Durchschnittswert aller Instruktionen dar, die für einProgramm ausgeführt werden.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 86 / 495
Designgrundlagen / Leistungsbewertung Berechnungsmethoden
CPU Zeit = Anzahl der Instruktionen×CPI× clock cycle Zeit
Bei Patterson wird diese Gleichung so dargestellt und Interpetiert.
Time =Instructions
Program× Clock cycles
Instruction× Seconds
Clock cycle
Zu dieser Gleichung findet sich bei Patterson Tabelle 2, diekorrespondierend mit den vier Teilen dieser Gleichung die Komponentender Leistung darstellt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 87 / 495
Designgrundlagen / Leistungsbewertung Berechnungsmethoden
Components of performance Units of measureCPU executiontime for a programm Seconds for programInstruction count Instructions executed for the pro-
gramCPI Average number of cycles / instruc-
tionClock cycle time Seconds per clock cycle
Tabelle 2: Komponenten der Leistung nach Patterson
Die wirklich aussagekräftige Maßzahl ist die Zeit, eine Kombination ausden Komponenten der Tabelle 2.
Um den Wert für CPU clock cycles zu berechnen, kann man zumBeispiel alle Klassen von Instruktionen betrachten und die Anzahl ihresAuftretens mit ihrem CPI Wert multiplizieren. Anschließend ist noch dieSumme zu bilden.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 88 / 495
Prozessor Architektur /
CPUclockcycles =n
∑i=1
(CPIi ×Ci)
Dabei ist Ci die Anzahl der ausgeführten Instruktionen der Klasse i undCPIi die Zahl der clock cycles die für diese Klasse von Instruktionenbenötigt werden.
Nicht-sequentielle und parallele Abarbeitung in modernen Prozessorenverkomplizieren das alles weiter.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 89 / 495
Prozessor Architektur / Grundlagen
Prozessor Architektur
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 90 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
Grundlagen
Prozessorarchitektur beschreibt HW- und SW-Aspekte
Instruction Set Architecture ISA
Schwierig: Vergleiche, Gemeinsame Sprachekomplexes ThemaNicht ganz ungewollt?
Klassifikation durch Unterschiede und Gemeinsamkeiten
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 91 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
Rechnerklassifikation
Klassifikation nach Flynn
Vier Klassen
Datenströme zwischen HS und Rechenwerk
Instruktionsströme zwischen HS und Befehlswerk
(1) die Maschine bearbeitet in einem gegebenen Zeitpunkteinen/mehr als einen Befehl.
(2) die Maschine bearbeitet in einem gegebenen Zeitpunkteinen/mehr als einen Datenwert.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 92 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
Daraus ergeben sich dann folgende vier Kombinationen:
SISD single instruction stream - single data streamSIMD single instruction stream - multiple data streamMISD multiple instruction stream - single data streamMIMD multiple instruction stream - multiple data
stream
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 93 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
Die Klasse der SISD-Systeme beschreibt die konventionellenvon-Neumann-Architekturen und deren Erweiterungen(Verbesserungen). Dazu zählen alle Einzelrechner, die eigenständig zurLösung ihrer Aufgaben eingesetzt werden, also
CISC- und RISC- Rechner
Die älteren Mikroprozessoren (Intel-Serie bis 80486)
Fast alle älteren Mainframe-Computer
Fast alle Minicomputer der 80er Jahre
Teilweise Pipeline-Prozessoren.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 94 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
Abbildung 33: Informationsfluss in SISD-Rechnern.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 95 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
SIMD-Systeme
Ein Steuerwerk (wie SISD)
Mehrere Rechenwerke ->
Ein einzelner Befehl, mehrere Operanden verarbeitbar
Beliebt bei Multimedia Daten, Signalverabeitung, etc.
Beispiele für SIMD-Systeme sind:
Vektorrechner
VLIW-Prozessoren (very large bzw. long instruction word)
Die MMX-Einheit
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 96 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
Abbildung 34: Informationsfluss bei SIMD-Rechnern.
Die Klasse der MISD-Systeme ist hautsächlich wegen der Symmetrieder Bezeichnung entstanden und von untergeordneter Bedeutung.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 97 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
MIMD-Systeme
mehrere Befehls- und Datenströme
Multiprozessoren
Enge Kopplung: gemeinsamer Speicher
Lose Kopplung: individueller Speicher
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 98 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
Abbildung 35: Informationsfluss bei MIMD-Rechnern.
Bespiele für MIMD-Systeme sind:
Transputer (Kunstwort aus Transistor und Computer). Dabeihandelt es sich um vollständige Mikrorechner, die nach der
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 99 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
Von-Neumann-Architektur aufgebaut sind und außerdem eineKommunikationseinheit (4 schnelle serielle Links) auf dem selbenSiliziumbaustein enthalten. Er wurde 1983 von der Firma Inmosoffiziell vorgestellt und wurde in der parallelen Sprache OCCAMprogrammiert.
Sega Spielekonsole . Der 68000 Prozessor (16-Bit Prozessor mit32-Bit Registern, Motorola) führt das Hauptprogramm aus, undnutzt einen Z80-Prozessor (8-Bit Prozessor, Zilog) für nebenläufigeAufgaben.
Cray T3D : Supercomputer mit 2048 DEC Alpha-ProzessorenCray-1 schafften im Jahr 1976 130 MegaFLOPS.
BlueGene/L ist ein Supercomputer aus 32.768 0.7 GHz PowerPC440 Prozessoren und schafft laut Linpack-Benchmark 135,3TeraFLOPS (Siehe Abb. 36).
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 100 / 495
Prozessor Architektur / Grundlagen Rechnerklassifikation
Abbildung 36: IBM BlueGene/L Hierarchie
Die ungleichmäßige Verteilung innerhalb der vier Klassen sowie dieüberladene MIMD-Klasse erlauben eine einfache aber nur sehr grobeKlassifikation nach Flynn.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 101 / 495
Prozessor Architektur / Grundlagen von-Neumann-Architektur
Eine Klassifizierung für zukünftige Computer-Entwicklungen wurde von[19] vorgenommen:
Microarchitectures: Neumann Architektur mit feiner internerParallelisierung (instruction level parallelism), sequentiellerErgebnisfluss.
Variationen der von Neumann Idee: very large instruction word(VLIW), SIMD und vector processors.
Grober Parallelismus: single-chip multi-prozessor, simultaneousmultithreading, multithread mit jedem thread auf einer eigenenNeumann Maschine.
Völliges Verlassen der von Neumann Architektur: dataflowmachines, asynchrone Prozessoren, processor-in-memory,reconfigurable computing, etc.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 102 / 495
Prozessor Architektur / Grundlagen von-Neumann-Architektur
von-Neumann-Architektur
Burks, Goldstine und John von Neumann
Grundprinzip der meisten Mikroprozessoren
Strapaziertes Wort
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 103 / 495
Prozessor Architektur / Grundlagen von-Neumann-Architektur
Abbildung 37: von-Neumann-Architektur.
Der Prozessor (oft auch als Central Processing Unit CPUbezeichnet) übernimmt die Ablaufsteuerung und die Ausführung derBefehle.
Der Hauptspeicher dient zur Ablage der Daten und der Programmein Form von Bitfolgen. Er besteht aus Speicherzellen fester
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 104 / 495
Prozessor Architektur / Grundlagen von-Neumann-Architektur
Wortlänge, die über eine Adresse jeweils einzeln angesprochenwerden können.
Das Ein-/Ausgabesystem stellt die Schnittstelle des Rechners nachaußen dar. Über diese Schnittstelle können Programme und Datenein- und ausgegeben werden.
Der Bus dient der Übertragung einzelner Speicherwörter zwischendem Prozessor und dem Speicher sowie zwischen dem Prozessorund dem Ein-/Ausgabesystem.
Die von-Neumann-Architektur lässt sich durch folgende Merkmale gutcharakterisieren:
Der Rechner besteht aus den Komponenten: Zentraleinheit (dieCPU), Speicher und Eingabe/Ausgabe.
Der Aufbau eines Rechners ist unabhängig vom zu bearbeitendenProblem.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 105 / 495
Prozessor Architektur / Grundlagen von-Neumann-Architektur
Programme und Daten befinden sich im gleichen Speicher (bzw.sind beide Bitketten)
Der Speicher ist in gleich große Zellen aufgeteilt, die fortlaufendnummeriert sind.
Programme sind lineare Sequenzen von einzelnen Befehlen.
Aufeinander folgende Befehle befinden sich in aufeinanderfolgenden Speicherzellen (Ausnahme: Sprungbefehl).
Im Steuerwerk gibt es einen Befehlszähler, der immer auf dennächsten auszuführenden Befehl zeigt.
generische InformationsdarstellungBitketten werden für ALLES verwendet:
Befehle, Programme, etc.Daten, Parameter, Merker, Variablen, etc.
Im Speicher (wenn ein gemeinsamer verwendet wird) nicht zuunterscheiden
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 106 / 495
Prozessor Architektur / Grundlagen von-Neumann-Architektur
Ein falscher Sprung und man landet in Daten! -> beliebigeAuswirkungen
keine HLL Unterstützung!
jede C-Variable, jedes JAVA Objekt wird unkenntlich gemacht! ->Bitketten
Semantische Lücke
Das war früher (vor den 70ern), als praktisch nur in Assemblerprogrammiert wurde, nicht der Fall. Damals gab es keine semantischeLücke.
Von-Neumann Maschinen folgen dem Minimalitätsprinzip:
nur die notwendigste HW implementiert
man kann nichts weglassen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 107 / 495
Prozessor Architektur / Grundlagen von-Neumann-Architektur
Komplexität wird in die Zeit verlagert
Extremes Beispiel: Ausführen einer Multiplikation durch mehrfachesAddieren
Früher war HW (-Komplexität) teuer
Heute ist das Minimalitätsprinzip verlassen worden
Von-Neumann Flaschenhals:
Bus zwischen Datenspeicher und Verarbeitung
Speicher und Bus sind immer zu langsam bzw. zu schmal
Warum sind die eigentlich getrennt?
von-Neumann Architektur immer noch aktuell
Sequenzieller Code auch bei out-of-order execution u. ä.
Warum? Einfachheit eines Uhrwerks
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 108 / 495
Prozessor Architektur / Grundlagen Harvard-/Princetonarchitektur
Ein paar Schlagworte als Zusammenfassung.
Von-Neumann Konzept: Der Rechner besteht aus denKomponenten: Zentraleinheit, Speicher und Eingabe/Ausgabe.Diese sind miteinander über einen Bus verbunden. Programme undDaten werden im Speicher aufbewahrt. Befehle und Operandenwerden nacheinander in den Speicher geladen.
Mikroprozessor: Ein Mikroprozessor besteht aus Steuerwerk,Rechenwerk, Schnittstelle zum Systembus, (meistens) On-ChipCache Speicher und der Speicherverwaltungseinheit.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 109 / 495
Prozessor Architektur / Grundlagen Harvard-/Princetonarchitektur
Harvard-/Princetonarchitektur
Princeton: Gemeinsamer Speicher für Daten und Programm
oft mit von-Neumann gleichgesetzt
der Klassiker, effiziente Speicherausnutzung
Harvard: getrennter Speicher für Daten und Programm
in Digitalen Signalprozessoren, Spezialprozessoren
on-chip cache
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 110 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
Code Memory Data Memory
CPU
a.) Harvard Architecture
Code andData Memory
CPU
b.) Princeton Architecture
Abbildung 38: Die Princeton und die Harvard Architektur.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 111 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
Energieverbrauch
Wirkungsgradberechnung bei Information / El.Leistung?
FLOPS/J?
Verbrauch steigt und steigt
aufwändige Kühlung (Zuverlässigkeit?)
AMD Athlon XP 2200+: 72,6 W/cm2... (150 cm2 Kochplatte mit1 kW: 6,7 Wcm2)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 112 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
Abbildung 39: Die Verlustleistung verschiedener Desktop PC Prozessoren.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 113 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
Der Energieverbrauch kann in zwei Komponenten zerlegt werden:
Statischer Verbrauch: Pstatic ∼ Vcc ∗ Ileak ∗ N ∗ kdesign
Dynamischer Verbrauch: Pdynamic ∼ V 2cc ∗C ∗ f +Pshort
Vcc = Kernspannung des Prozessors
Ileak = Leckstrom eines Transistors
N = Anzahl der Transistoren
kdesign = Faktor, der die Integrationsdichte (Feinheit) desProduktionsprozesses wiederspiegelt
C = Kapazität die geschalten wird (d. h. die Summe dergeschalteten Gatter)
f = Frequenz des Prozessors
P(hort) = Verlustleistung durch temporäre Kurzschlüsse
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 114 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
Spannung ein guter Ansatzpunkt
”voltage scaling” 5V -> 3,3V -> 1,2V
Verbrauch steigt und steigt
nicht beliebig senkbar
Frequenz muss auch gesenkt werden
spätestens bei 0V ist Schluss.
Dynamischer Verbrauch
Schaltvorgänge:
temporärer Kurzschluss bei CMOS Schalter
Umladen von D-RAM Ladung (Information)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 115 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
Abbildung 40: Beim Schalten eines CMOS-Schalters (aufgebaut aus einem PMOS und einem NMOS Transistor) leiten kurzzeitig beide Transisto-
ren.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 116 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
Statischer Verbrauch
Leckströme:
früher unbekannt, heute dominierend
immer feinere Strukturen, Miniaturisierung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 117 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
Abbildung 41: Der Leckstrom wird immer dominanter. Man beachte, dass bei 65 nm der ”break even” erfolgt ist.
Die kleineren Strukturen haben an sich fast nur Vorteile:
mehr Chips auf dem Wafer bzw. mehrFunktionen/Betriebsmittel/Parallelisierung bei gleicher Chipfläche
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 118 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
schneller (weniger Ladungen zu bewegen)
Aber der Stromverbrauch explodiert
viele Ampere
technisch und wirtschaftlich nicht machbar
Abhilfe:
Serienschaltungen von Transistoren reduzieren den Leckstrom umden Faktor 5-10
Funktionsblöcke können mit Transistoren schnell deaktiviert undisoliert werden, wenn sie nicht benötigt werden.
Man kann den gesamten Transistor negativ aufladen. Er wirdlangsamer aber auch sparsamer. Bei Bedarf kann er wieder in den”fast mode” gebracht werden.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 119 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
Weitere Tricks
Bessere Isolierungen (High K dielectric) können die Tunnelströmeverringern.
Niedrigere Spannungen (auch nur für einzelne Teile des Chips undauch abhängig von der Last der CPU) reduzieren dieVerlustleistung und die Leckströme.
Multithreaded Prozessoren und intelligentes Caching sparenEnergie, weil keine größeren unproduktiven Wartezeiten entstehen.
Beispiel Transmeta Crusoe:
passt Taktfrequenz und Spannung an die CPU Last an
Transistoren gespart (mehr Funktionen in SW statt HW)
für mobile Geräte
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 120 / 495
Prozessor Architektur / Grundlagen Energieverbrauch
Abbildung 42: Der Transmeta Crusoe im Vergleich mit einem Pentium III bei der gleichen Aufgabe (Video Wiedergabe).
Eine weitere Möglichkeit zur Energieeinsparung besteht, wenn derCompiler nicht auf ”speed” sondern auf Energieeffizienz compilierenwürde. Er muss dafür berücksichtigen, dass
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 121 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
das Abspeichern in Registern weniger Energie verbraucht als imRAM, und dass
manche Befehle mehr Energie brauchen als andere.
Compiler optimieren aber eher auf ”size” oder ”speed”
kein dynamisches umstellen auf ”Speed”
Dynamic Power Management oder Frequency Scaling flexibler
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 122 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
Aufbau einer klassischen CPU
Accu Maschine: einfachster Fall
Reale Maschinen: luxuriöser ausgestattet (Performance)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 123 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
Steuerwerk
Instr. Reg.
Speicher
Write Back
ALU
ACCU
PCAddr. Reg.
Data Fetch
Instr. Fetch
Addr.
Abbildung 43: Die Accu Maschine: weniger geht kaum.
Klassifizierung nach Anzahl der Register:
Stack Maschine
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 124 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
Accu Maschine
Register-Memory Maschine
Register Maschine (LOAD/STORE Architektur)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 125 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
Beispiel C=A+B:
Stack Maschine, ein Stack ersetzt die Register:
PUSH APUSH BADDPOP C
Accu Maschine, es wird mit dem Accu gearbeitet:
LOAD AADD BSTORE C
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 126 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
Register-Memory Maschine, auf den Speicher kann flexibel zugegriffenwerden:
LOAD R1,AADD R3, R1, BSTORE R3, C
Register Maschine, nur LOAD und STORE Befehle dürfen auf denSpeicher zugreifen:
LOAD R1, ALOAD R2, BADD R3, R1, R2STORE R3, C
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 127 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
Beispiele für Register-Memory Architekturen sind:
Intel 80x86
Motorola 68xxx
IBM 360
Beispiele für Register Architekturen sind
ARM
MIPS
PowerPC
SPARC
Alpha
Beziehung Rechenwerk und Steuerwerk: wer ist das ”Hirn”?
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 128 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
Eher das Steuerwerk
menschliches Gehirn: keine Trennung von Speicher, Rechenwerkund Steuerwerk (!!). Vergleich mit von-Neumann Architektur?
Latch
Datenwort steht an
Freigabe.
Datenwort geht weiter
Takt
Abbildung 44: Latches sind fernsteuerbare ”Tore” für Daten.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 129 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
Latches sind die Agenten des Steuerwerks
geben Datenwege frei
isolieren Funktionsblöcke
Rechenwerk
Interner Bus
Steuerwerk Register
BusInterface
Externer Bus
DatenbusSteuerbus
Adressbus
Abbildung 45: Die internen und externen Busse einer CPU.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 130 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
Busse intern und extern
Pincount steigt (Richtung 2000?)
Abbildung 46: Der Intel 4040 hatte noch 24 Pins (”Füßchen”), moderne Prozessoren kommen in Packages wie das 615 BGA.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 131 / 495
Prozessor Architektur / Aufbau einer klassischen CPU
Abbildung 47: Das Blockschaltbild eines 8085 Prozessors.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 132 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Rechenwerk
Steuerwerk gibt ”Takt” für Befehlsphasen vor:
FET (Fetch: der Befehl wird aus dem Speicher geladen)DEC (Decode: der Befehl wird decodiert)OPD (Operand Fetch: der oder die Operanden werden aus demSpeicher geholt)EXE (Execute: Der Befehl wird auf die Operanden angewendet)WB (Write Back: Das Resultat wird in den Speicher zurückgeschrieben)
FET1
AktivesBetriebsmittel
DEC1
OPD1
EXE1
WB1
FET2
DEC2
OPD2
EXE2
WB2
FET3
DEC3
OPD3
Abbildung 48: Eine Sequenz von Befehlen, die ”durch den Prozessor wandern” und damit verarbeitet werden.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 133 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Rechenwerk
Rechenwerk
Eine klassische ALU kann
addieren,
subtrahieren,
UND-verknüpfen,
ODER-verknüpfen, und
XOR-verknüpfen (damit kann man auch invertieren).
Funktionen per Multiplexer auswählbar
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 134 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Rechenwerk
ADD SUB AND OR XOR
MUX
Data BData A
Ctrl.
ResultSignCarry
Abbildung 49: Eine einfache ALU.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 135 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Rechenwerk
Typische Status-Bits einer ALU:
C- (Carry-) Bit: Übertrag, die (n+1)-te Stelle des Ergebniswortes
V- (Overflow-) Bit: Die Berechnung ist aus dem Zahlenbereichgeglitten
Z- (Zero-) Bit: das Ergebnis ist null
N- (Negative-) Bit: das Vorzeichen des Ergebnisses
H- (Half Carry-) Bit: Übertrag zwischen den beiden nibbles, wird fürBCD (binary coded decimal) Rechnungen benötigt
P- (Parity-) Bit: Parität, ein einfacher Fehlererkennungscode
Integer Unit (IU)
Floating Point Unit (FPU)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 136 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Rechenwerk
Abbildung 50: Ein 80287 FPU Koprozessor für 80286 Prozessoren
Weitere Rechenwerke:
Checksummen berechnen (Parity, CRC, etc.),
Matrizen handhaben (Invertieren, Addieren, etc),
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 137 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Rechenwerk
FFT (Fast Fourier Transformation), Z-Transformation und andereTransformationen für die Signalverarbeitung (Bild, Ton, etc.),
usw.
SIMD Rechenwerk Architekturen:
MMX (Multi-Media Extension, 64-Bit Integer SIMD, 57 neueBefehle)
3DNow! (von AMD, 32-Bit Integer/Float SIMD a.k.a. singleprecision, 21 neue Befehle)
SSE (Streaming SIMD Extensions im Katmai Kern von Intel[Pentium III], ebenso 32-Bit Integer/Float SIMD, 70 neue Befehle)
SSE2 (64-Bit double precision float SIMD)
SSE3 (im Intel Prescott Core sowie im AMD Athlon64, 13 neueBefehle im Vergleich zu SSE2)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 138 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Rechenwerk
AltiVec
Abbildung 51: FPU und MMX Rechenwerk streiten sich um die Register, die 2 Bedeutungen haben können
Fließkommazahlen werden üblicherweise in der IEEE 754 Codierungverwendet:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 139 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Rechenwerk
IEEE 754 Single Precision Float (32 Bit).
1 8 23 width in bits+-+--------+-----------------------+|S| Exp | Fraction |+-+--------+-----------------------+31 30 23 22 0 bit index (0 on right)
Man beachte, dass die fraction wirklich nur eine fraction ist. Der Wert derZahl ist nämlich
(−1)S ∗1.fffffffffffffffffffffff ∗2(exp−127).
Die 32 Bit floats entsprechen lediglich einer 6-7 stelligen Genauigkeit imDezimalsystem, die double precision floats können hingegen mit 15-16Stellen dienen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 140 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
IEEE 754 Double Precision Float (64 Bit).
1 11 52+-+-----------+-----------------------------------------------+|S| Exp | Fraction |+-+-----------+-----------------------------------------------+63 62 52 51 0
bias +1023
Ein Beispiel für die Float-Darstellung: die Zahl -118,625.
Das Vorzeichen ist einfach: es ist negativ, also gesetzt (1).
Wir transformieren ins Binäre: 118,625d = 1110110,101b
Verschieben wir das Komma: 1110110,101 = 1,110110101 ∗ 26
und wir haben die Mantisse (Fraction).
Der Exponent braucht nun noch seinen Offset:6d + 127d = 133d = 10000101.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 141 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
Das führt also letztendlich zu:
1 8 23 width in bits+-+--------+-----------------------+|S| Exp | Fraction ||1|10000101|11011010100000000000000|+-+--------+-----------------------+31 30 23 22 0 bit index (0 on right)
bias +127
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 142 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
Steuerwerk
Schaltzentrale der CPU, interpretiert Befehle:
Lesezugriff auf den externen Speicher (Daten oder Befehle holen)
Schreibzugriff auf den externen Speicher (Ergebnisse ablegen)
Aktivierung von ALU Funktionen
Kanalisieren und Transportieren von Daten von A nach B
Dies kann man auch in folgende beiden Aufgaben gruppieren:
Abarbeiten des Programms (FETCH, DECODE, LOAD/STORE,etc.)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 143 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
Abarbeiten der EXE-Phasen der Programmbefehle (Rechenwerkesteuern, etc.)
Steuerung via
latches
enable/disable von Betriebsmitteln
Endlicher Automat implementiert:
”Hard-wired”, oder
mit einem Mikroprogramm.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 144 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
FF
a.)
Inp.,2
Logik
Logik
ZählerSpeicher
Inp.,3 CLK
FFInp.,1
CLK
Outp.2
Outp.,1
Output
Logik
CLK
Input
b.)
Abbildung 52: Zwei Möglichkeiten der Implementierung eines endlichen Automaten: aus Gatter und Flip-Flops a.) und mittels einer einfachen
Programmsteuerung b.)
Mikroprogramm: ”Software”, sequentiell, langsam
hard-wired: ”Hardware”, villeicht weniger sequentiell, schnell
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 145 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
Abbildung 53: Die ursprüngliche Konzipierung einer Mikroprogrammsteuerung von Maurice Wilkes 1951. Heute wird natürlich keine Dioden-Matrix
als Mikroprogrammspeicher mehr verwendet.
Mikroprogramme
implementieren Makrobefehle
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 146 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
Minimalitätsprinzip (ADD -> MATRIX ADD)
im Prinzip änderbar!
Mikroprogramme werden klassischerweise in der CISC Architekturverwendet, fest verdrahtete Steuerwerke in RISC.
Sehr breiter Mikrocode (auch als ”horizontale Verlagerung”bezeichnet) sieht aus wie VLIW, sehr schmaler (auch als ”vertikaleVerlagerung” bezeichnet) sieht eher aus wie RISC.
Horizontale Mikroprogramme: breite Mikro-Codewörter
Pikobefehle wirken auf Betiebsmittel
Quasi-horizontal: codiert, Nano-Befehle
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 147 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
P1 P2 P3 P4 P5 P6 P7 P8
M2
M1
M4
N1 N2 N3
M2
M1
M4Makrobefehl 1
Makrobefehl 2
...
P
M2
M1
M4
M3 M3 M3
M6
M5
M8
M7
a.) b.) c.)
Abbildung 54: Ein Makrobefehl (d. h. normaler Maschinenbefehl) besteht in diesem Beispiel aus einer Sequenz von 4 Mikrobefehlen, die wiederum
aus einer Reihe von Pikobefehlen wie in b.) zusammengesetzt sein können oder ihre Funktion in vektorisierter Form, d. h. als Nanobefehle wie in
c.), tragen. Die vertikale Variante a.) bildet jedes Pikowort auf ein Mikroprogrammwort ab.
Alternative:
Sequenz per Mikroprogramm und
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 148 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
Nanobefehle oder Pikobefehle in lookup table
Abbildung 55: Der 49410 Microprogram Controller.
Externe Steuersignale kann man einsortieren in
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 149 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
Busarbitrationssignale
Datenbussteuersignale
Adressbussteuersignale
Systemsteuersignale
Unterbrechungssignale
Statussignale
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 150 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
Abbildung 56: Typisch auftretende externe Steuersignale eines Prozessors
Klassische Vertreter von externen Steuersignalen sind in Tabelle 3gelistet.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 151 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
Symbol BedeutungAS Address StableDS Data Stable
AVEC Auto VectorIACK Interrupt Acknowledge
BERR Bus ErrorIL Interrupt Level
BGACK Bus Grant AcknowledgeBGT Bus Grant
BREQ Bus RequestDTACK Data Acknowledge
Tabelle 3: Typische Steuerleitungen eines Mikroprozessors
Aktiver Zustand mit ’n’ oder overline gekennzeichnet.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 152 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Steuerwerk
Bei allen Signalleitungen gibt es auch elektrische Details, die zubeachten sind:
Die Richtung des Informationsflusses (in oder out, beides,änderbar)
Die Schaltungscharakteristik (Tristate, Wired Or, OpenCollector/Drain, etc.)
Die Aktivpegel bei den Steuersignalen (low- oder high-aktiv)
Die Zeitpunkte, zu denen die Signale Gültigkeit haben (Pegel,Flanke, steigend/fallend, Takt-abhängig, etc.)
Die treibbare Leistung (TTL Load, Busbaustein, etc.)
aktiver/passiver Ausgang (Treibt oder zieht der Ausgang Strom?)
Der Spannungspegel (TTL/CMOS kompatibel, 5V, 3.3V, 3V, 1.25V,etc.
Das Steuerwerk hat zusammengefasst also
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 153 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Adressierung
interne Inputs wie ALU-Resultate, Decoder-Resultate,Registerzustände, etc.,
externe Inputs d. h. Steuerleitungen wie IRQ, BREQ, HALT, etc.,
interne Outputs zur Steuerung der internen Betriebsmitel, und
externe Outputs, die die externen Komponenten desMikrocomputersystems (Speicher, I/O Komponenten, etc.) steuern.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 154 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Adressierung
Adressierung
Einteilung
Registeradressierung: hier muss das Datum nicht aus demexternen Speicher geholt werden, es steht bereits in einemRegister.
implizit: wenn durch den Opcode klar ist, dass z. B. der Akkugemeint ist.explizit: das Register muss explizit genannt werden.
einstufige Adressierung: hier muss nur einmal auf den Speicherzugegriffen werden.
unmittelbar: hier wird das Datum an sich angegeben.direkt: die Adresse wird angegeben.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 155 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Byte order
register-indirekt: die Adresse steht in einem (Adress)Register, dasgenannt wird.indiziert: Die Adresse ist die Summe aus den Inhalten einesAdressregisters und eines Offsetregisters.PC-relativ: Hier wird das Offsetregister zum Programcounter addiert.
zweistufige Adressierung: im Allgemeinen 2 Speicherzugriffe bzw.Adressberechnungen notwendig.
indirekt absolut: Eine absolut angegeben Adresse weist zu einerSpeicherstelle, in der die Adresse des gewünschten Datums zufinden ist.andere...
Die Hauptaufgaben einer MMU sind typischerweise
Adressberechnungen
Verwaltung von virtuellem Speicher
Schutzkonzepte
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 156 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Byte order
Byte order
Little/Big Endian: 4-Byte Hex-Zahl 0x12345678 ablegen:
Adresse Inhalt Bedeutung0x0100 12 höchstes Byte0x0101 34 zweithöchstes Byte0x0102 56 dritthöchstes Byte0x0103 78 niedrigstes Byte
Tabelle 4: Byte order bei Big Endian
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 157 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Byte order
Adresse Inhalt Bedeutung0x0100 12 niedrigstes Byte0x0101 34 dritthöchstes Byte0x0102 56 zweithöchstes Byte0x0103 78 höchstes Byte
Tabelle 5: Byte order bei Little Endian
Probleme bei:
Netzwerken,
Multiprozessorsystemen, und bei
Interfacing (kann als Untermenge von Netzwerken angesehenwerden).
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 158 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Big−Endian Little−Endian68xxx (Motorola) 80x86, 80860 (Intel)
ESA/390, RS/6000 (IBM) Alpha, VAX (DEC)Precicion (HP)
MIPS
Tabelle 6: Die Byte-Order Philosophie verschiedener Hersteller bzw. Architekturen
Moderne Prozessoren können umschalten.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 159 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Pipelining
Bis dato wurde angenommen, dass die einzelnen Phasen der(Makro)Programmabarbeitung sequentiell abgearbeitet werden(Abbildung 57).
FET1
AktivesBetriebsmittel
DEC1
OPD1
EXE1
WB1
FET2
DEC2
OPD2
EXE2
WB2
FET3
DEC3
OPD3
Abbildung 57: Die Befehle kommen sequentiell in die CPU. Ihre Phasen werden Schritt für Schritt abgearbeitet
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 160 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Die Aufgabe des Geschirrspülens besteht zum Beispiel aus drei Phasen:
Waschen (WAS)Spülen (SPÜ)Abtrocknen (ABT)
Spülmittel
Wasser
Geschirrtuch
Schmutzige Teller
Saubere Teller
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 161 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Abbildung 58: Sie drehen sich im Gegenuhrzeigersinn und erledigen die Arbeitsschritte sequentiell. Nach dem Abtrocknen von Teller 1 beginnen
sie mit dem Waschen von Teller 2.
Spülmittel
Wasser
Geschirrtuch
Schmutzige Teller
Saubere Teller
Abbildung 59: Sie können parallel arbeiten und schieben eine Kette von Tellern durch die drei Arbeitsplätze.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 162 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
WAS1
AktiveBetriebsmittel
SPÜ1
ABT1
WAS2
SPÜ2
ABT2
WAS3
SPÜ3
ABT3
WAS4
SPÜ4
ABT4
WAS5
SPÜ5
ABT5
WAS6
SPÜ6
WAS7
ABT98
SPÜ99
ABT99
WAS100
SPÜ100
ABT95
SPÜ96
ABT96
WAS97
SPÜ97
ABT97
WAS98
SPÜ98
WAS99
ABT100
Abbildung 60: Die Abwasch-Pipeline in der Darstellung der Computertechnik.
Füllen und Leeren der Pipeline genauso langsam wie sequentielleAbarbeitung.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 163 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
AktiveBetriebsmittel
SPÜ
ABT
WAS 1 2
1
3
2
1
4
3
2
5
4
3
99
98
97 100
99
98
100
100
99
Abbildung 61: Die Abwasch-Pipeline in einer alternativen Pipeline-Darstellung.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 164 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
CPU pipelinestages Max.FreqPentium 5 300 MHzMotorola G4 4 500 MHzMotorola G4e 7 1000 MHzPentium II and III 12 1400 MHzAthlon XP 10/15 2500 MHzAthlon 64 12/17 >3000 MHzPentium 4 20 >3000 MHzPentium 4 ”Prescott” 31 >5000 MHz
Tabelle 7: Die Anzahl der Pipeline-Stufen einiger Desktop CPUs
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 165 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Abbildung 62: ”Stalls” in der Pipeline ziehen die Performance schwer in Mitleidenschaft. Im rechten Bild wird angenommen, dass bei der als 4-stufig
angenommenen Pipeline bei der 18. Instruktion ein 10-stelliger ”Stall” eintritt.
Eine Pipeline kann folgenden Problemen gegenüberstehen:
Datenkonflikte: Ein Befehl benötigt das Ergebnis eines anderenBefehls, dessen Abbarbeitung aber noch nicht abgeschlossen ist.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 166 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Steuerflusskonflikte: Ein Sprung kann nicht ausgeführt werden, weildie Zieladresse oder das Ergebnis einer notwendigen Entscheidungnoch in der Pipeline ist.Ressourcenkonflikte: Zwei Pipeline-Stufen benötigen dieselbeRessource (den Bus, einen Multiplizierer, etc.)
Datenkonflikte kann man in 3 Untergruppen sortieren:
Read after write: der klassische FallWrite after read: kann bei superskalarer ”Umsortierung” auftreten.Ein Ergebnis wird in ein Register geschrieben, obwohl der alteRegisterinhalt noch von einem anderen Befehl gebraucht wird.Write after write: tritt nur auf, wenn mehrere Pipeline-Stufenschreiben können.
Eine klassische Pipeline wird also nur mit Read after writeDatenkonflikten zu tun haben: Ein Befehl will z. B. ein Register lesen,obwohl es noch gar keinen gültigen Wert hat.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 167 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Solche Datenkonflikte können entweder
in Hardware, oder
in Software
gelöst werden.
Die Softwarelösung vertraut auf schlaue Compiler
Die Hardware Lösung wälzt das Problem auf den Prozessor ab. DerProzessor hat hier 2 prinzipielle Möglichkeiten.
interlocking: die Pipeline partiell anhalten. Entspricht NOPs.
forwarding: einen ”bypass” für Daten schaffen. Das Resultat, aufdas gewartet wird, wird nicht erst umständlich in das Zielregistergeschrieben, sondern wird zusätzlich gleich in der Pipeline an denwartenden Befehl weitergeleitet.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 168 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Steuerflusskonflikte können z. B. durch Sprünge verursacht werden.Eine feine Pipeline hätte mit z. B. folgender Sequenz ein Problem:
load Reg1, Aload Reg2, Bload Reg3, Cjumpif Reg3, DestAddr
Da der vierte Befehl vom dritten abhängt, muss er im Prinzip warten, bisder dritte abgearbeitet ist (durch interlocking. Die Pipeline bekommtdadurch wieder ”bubbles”). Software-Möglichkeiten, diese und ähnlicheSituationen zu entschärfen, sind:
static scheduling: Der Compiler vertauscht Befehl 3 mit Befehl 1.Voila!
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 169 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
delayed branch: Es werden Leerbefehle eingefügt (die trivialereMethode).
Auch in Hardware können Steuerflusskonflikte gelöst werden:
Pipeline Leerlauf (die HW-Version des delayed branch).
Der Prozessor lädt immer Blöcke von Befehlen auf einmal undsortiert diese um (dynamic scheduling, die HW-Version des staticscheduling). Der AMD K7 hat z. B. einen 36 Wörter breiten FPUScheduler, der bubble-frei sortieren soll, bevor es weiter in die15-stellige FPU Pipeline geht.
branch prediction
Spekulative Ausführung
Branch prediction:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 170 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Predict always taken,
Predict always not taken, oder
Predict backward taken, forward not taken (Bei Schleifen [=branchbackward] wird oft gesprungen, nur am Ende nicht)
Resourcenkonflikt Datenbuszugriff
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 171 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
AktiveBetriebsmittel
FET1
DEC1
OPD1
EXE1
WB1
FET2
DEC2
OPD2
EXE2
WB2
FET3
DEC3
OPD3
EXE3
FET4
Abbildung 63: Eine 3-stufige Pipeline mit 5-stufiger Befehlsabarbeitung. Die dick umrandeten Phasen kollidieren am Bus.
Ressourcenkonflikte können auf folgende Art gelöst werden:
interlocking (wie immer)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 172 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Schnellere Ressource (hat z. B. höheren Takt sodass sie schonfertig ist, wenn die zweite Pipelinestufe zugreift bzw. zwei Jobs[hintereinander] in einer Phase ausführt).
Ressourcenduplizierung. Zweifellos die beste Methode, wenn auchdie aufwändigste.
Essentiell für den Erfolg einer Pipeline Architektur ist also:
Stages brauchen ca. gleich lang, sonst muss eine auf die anderewarten
Konflikte werden im Vorfeld vermieden (durch Compiler, Scheduler,etc.)
Bei ”flush” einer Pipeline wird vorher bereits der neue Inhalt besorgt
Gründe für das ”flushen” eine Pipeline (was wie gesagt bei sehr langenPipelines sehr schmerzhaft ist) sind
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 173 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Sprungbefehle, deren Ziel nicht bekannt war,
Verzweigungsbefehle, deren Verzweigungsargument nicht bekanntwar, und
Interrupts, welche naturgemäß unvorhergesehen sind.
Tiefe Pipelines erhöhen also den Durchsatz. Dieser Vorteil ist aberdahin, wenn der Code von Branches durchsetzt ist, die schwervorauszusagen sind.
Als Beispiel für moderne Pipelines seien folgende gezeigt:
PA-8000: getrennte Pipelines für Integer und Float (Abbildung 64).
MIPS R10000: getrennte und gedoppelte Pipelines für Integer undFloat (Abbildung 65).
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 174 / 495
Prozessor Architektur / Aufbau einer klassischen CPU Pipelining
Abbildung 64: Die Pipeline des PA 8000 Prozessors.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 175 / 495
Prozessor Architektur / RISC
Abbildung 65: Die Pipeline des R10000 Prozessors.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 176 / 495
Prozessor Architektur / RISC
RISC
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 177 / 495
Prozessor Architektur / RISC
Befehl %load/store 31branches 17compare 4
shift 4logical 2
Fixed add/sub 6Float add/sub 7
Float mult 4Float div 2
Fixed mul 1Fixed div <1
Tabelle 8: Der Gibson Mix zeigt, dass Load/Store und Branches die häufigsten Befehle sind.
RISC bedeutet unter anderem:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 178 / 495
Prozessor Architektur / RISC
”Wenige”, aber dafür schnelle Befehle
1 Befehl pro Takt (Durchsatz!)
Die häufigsten Befehle sind implementiert, weniger häufige nicht
Steuerwerk in Hardware
nur der LOAD und der STORE Befehl greift auf den Speicher zu.Alle anderen Befehle müssen mit Registern auskommen
”Große” Anzahl an Registern, bzw. ganze Registerbänke
Verwendung von Pipelines
Einheitliche Länge der Befehle (unterstützt Pipeline, decodierenwird einfacher)
Schlaue Cache Verwaltung um Speicherzugriffe zu minimieren
Parallelisierung diverser Ressourcen
Delayed Branching (wegen Pipeline nötig...)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 179 / 495
Prozessor Architektur / RISC
Modell Anzahl Befehle Anzahl RegisterRISC II (Berkeley) 39 138
Stanford MIPS 31 16IBM 801 120 32
IBM RT-PC 118 16HP-PA 140 32
Tabelle 9: Frühe RISC Modelle und 2 ihrer Eigenschaften.
SPARC (Scalable Processor Architecture a.k.a. RISC II, UrsprungUC Berkeley)
MIPS (Microprocessor without Interlocking Pipeline Stages,Ursprung Stanford University)
Die Grundlegenden Eigenschaften der ursprünglichen SPARC Modellesind
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 180 / 495
Prozessor Architektur / RISC
eine Instruktion pro Takt,
register Windowing,
4-Stufige Pipeline sowie
keine on-chip MMU und Cache.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 181 / 495
Prozessor Architektur / RISC
INS
LOCALS
OUTS INS
LOCALS
OUTS INS
LOCALS
OUTSGLOBALS
Aktuelle RegisterbankVorige Registerbank Nächste Registerbank
Abbildung 66: Überlappende Register Windows bei SPARC Prozessoren.
Die MIPS Familie hingegen hatte eine
on-Chip MMU und Cache und eine
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 182 / 495
Prozessor Architektur / RISC
8-Stufige Pipeline (siehe Abbildung 67).
Abbildung 67: Der MIPS R4000 hatte bereits eine 8-stufige Pipeline.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 183 / 495
Prozessor Architektur / CISC
Das Instruction Set des MIPS umfasste
21 arithmetic instructions
8 logic instructions
8 bit manipulation instructions
12 comparison instructions
25 branch/jump instructions
15 load instructions
10 store instructions
8 move instructions
4 miscellaneous instructions
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 184 / 495
Prozessor Architektur / Parallelisierung Allgemein
CISC
Complex Instruction Set Computer
MikroprogrammMehrere Taktzyklen pro Befehl
Die komplexen Befehle haben zwei entscheidende Vorteile:
Man nähert sich den Hochsprachen an.Das code-binary wird kompakter.
Gegen CISC sprach und spricht, dass
viele Compiler die mächtigen Befehle gar nicht verwenden unddas Steuerwerk sehr kompliziert wird.das Dekodieren des Befehls kann lange dauern (verschiedeneBefehlsformate)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 185 / 495
Prozessor Architektur / Feine Parallelisierung
Parallelisierung Allgemein
”speedup” S:
S =T1
TN
Amdahl’s Law: nur Anteil B ist parallelisierbar:
S =N
B ∗N +(1−B)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 186 / 495
Prozessor Architektur / Feine Parallelisierung
Feine Parallelisierung
Feine Parallelisierung wird auch ”instruction level parallelism” (ILP)genannt, weil dabei versucht wird, die Befehle einer Befehlssequenz zufinden, die im Prinzip parallel abgearbeitet werden können weil sie
weder voneinander abhängen (Datenabhängigkeit),
noch bei der Benutzung spezieller Betriebsmittel (Bus,Multiplizierer, etc.) kollidieren.
N-issue Rechner: alles vervielfacht
Vektorrechner: SIMD
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 187 / 495
Prozessor Architektur / Feine Parallelisierung VLIW Prozessoren
FET DEC OPD EXE WB FET DEC OPD EXE WB FET DEC OPD
EXE
EXE
EXE
EXE
EXE
EXE
Abbildung 68: Ein Vektor Rechner hat die EXE-Unit vervielfacht und kann damit SIMD-ähnlich einen Befehl auf einen ”Vektor” von Daten anwenden.
Richtige N-issue Prozessoren sind
Very Large Instruction Word (VLIW) Prozessoren und
superskalare Prozessoren.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 188 / 495
Prozessor Architektur / Feine Parallelisierung VLIW Prozessoren
VLIW Prozessoren
Compiler gruppiert parallelisierbare Befehle zu breiten ”very largeinstruction words”
”static superscalar” bzw. ”compile time scheduling”
Beispiele für VLIW Prozessoren sind
Transmeta Crusoe (Abbildung 69, führt von aussen betrachtet x86Befehle aus, ist intern aber ein spezialisierter VLIW)
Jazz DSP
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 189 / 495
Prozessor Architektur / Feine Parallelisierung VLIW Prozessoren
Abbildung 69: Das VLIW Wort des Crusoe wird Molecule genannt, die maximal 4 eingebetteten RISC-ähnlichen Befehle Atoms.
Die VLIW Architektur hat 2 Nachteile
Kompatibilitätsprobleme: Ein neuerer Prozessor mit 6 EXEEinheiten ist nicht code-kompatibel mit einem der 4 EXE Einheitenhat.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 190 / 495
Prozessor Architektur / Feine Parallelisierung VLIW Prozessoren
Das dynamische Verhalten und der unvorhersehbare Zustand desCache Speichers führt zu unterschiedlichen Latenzzeiten bei LOADBefehlen, die deswegen schwer vom Compiler zu ”schedulen” sind
Abbildung 70: Der Crusoe interpretiert x86 Befehle on-the-fly aus und benötigt keinen code der aus ”atoms” oder ”molecules” besteht.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 191 / 495
Prozessor Architektur / Feine Parallelisierung VLIW Prozessoren
Zunächst eine x86 Befehlskette, so wie sie im Speicher steht und vomCrusoe gefetcht wird ([22]):
A. addl %eax,(%esp) // load data from stack, add to %eaxB. addl %ebx,(%esp) // ditto, for %ebxC. movl %esi,(%ebp) // load %esi from memoryD. subl %ecx,5 // subtract 5 from %ecx register
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 192 / 495
Prozessor Architektur / Feine Parallelisierung VLIW Prozessoren
Diese wird überestzt in Crusoe ”atoms”:
ld %r30,[%esp] // load from stackadd.c %eax,%eax,%r30 // add to %eax, set condition codes.ld %r31,[%esp]add.c %ebx,%ebx,%r31ld %esi,[%ebp]sub.c %ecx,%ecx,5
Es benötigt also sechs Crusoe ”atoms”, um unsere vier x86 Befehle zuimplementieren. Den Zusammenhang zwischen diesen beidenCode-Teilen kann man noch leicht erkennen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 193 / 495
Prozessor Architektur / Feine Parallelisierung VLIW Prozessoren
Danach werden die atoms optimiert (in unserem Beispiel kann einBefehl gespart werden).
ld %r30,[%esp] // load from stack only onceadd %eax,%eax,%r30add %ebx,%ebx,%r30 // reuse data loaded earlierld %esi,[%ebp]sub.c %ecx,%ecx,5 // only this last condition code needed
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 194 / 495
Prozessor Architektur / Feine Parallelisierung VLIW Prozessoren
Danach wird der Crusoe atom code vom Scheduler umsortiert und zumolecules gruppiert:
1. ld %r30,[%esp]; sub.c %ecx,%ecx,52. ld %esi,[%ebp]; add %eax,%eax,%r30; add %ebx,%ebx,%r30
Ergebnis: nur 2 Crusoe Befehle
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 195 / 495
Prozessor Architektur / Feine Parallelisierung Superskalare Prozessoren
Abbildung 71: Der VLIW Mechanismus des Crusoe im Vergleich zu traditionellem VLIW und superskalarer Verarbeitung.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 196 / 495
Prozessor Architektur / Feine Parallelisierung Superskalare Prozessoren
Superskalare Prozessoren
Abbildung 72: Ein Pentium (der allerersten Generation) kann als gedoppelter 486er gesehen werden.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 197 / 495
Prozessor Architektur / Feine Parallelisierung Superskalare Prozessoren
Man spricht bei superskalaren Prozessoren auch von n-issue Rechnern.Bei einem 4-Issue Rechner sind z. B. alle Betriebsmittel 4-fachvorhanden (Abb. 73)
FET1
AktivesBetriebsmittel
DEC1
OPD1
EXE1
WB1
FET2
DEC2
OPD2
EXE2
WB2
FET3
DEC3
OPD3
EXE3
WB3
FET4
DEC4
OPD4
EXE4
WB4
FET5
DEC5
OPD5
EXE5
WB5
FET6
DEC6
OPD6
EXE6
WB6
FET7
DEC7
OPD7
EXE7
WB7
FET8
DEC8
OPD8
EXE8
WB8
FET9
DEC9
OPD9
FET10
DEC10
OPD10
FET11
DEC11
OPD11
FET12
DEC12
OPD12
Abbildung 73: Ein superskalarer Prozessor hat alle nötigen Betriebsmittel mehrfach ausgeführt (hier 4-fach ) und kann daher - im Gegensatz zum
Vektor Prozessor - unterschiedliche Befehle gleichzeitig ausführen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 198 / 495
Prozessor Architektur / Feine Parallelisierung Superskalare Prozessoren
Der MIPS R10000 (Abbildung 74) ist ein klassischer Vertreter dersuperskalaren Art.
Abbildung 74: Der MIPS R10000
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 199 / 495
Prozessor Architektur / Grobe Parallelisierung
Abbildung 75: Bei der flexiblen Verwendung von parallelen Betriebsmitteln spricht man von ”frontend” (dort wird decodiert und umsortiert) und
”backend” (dort werden die Befehle ausgeführt).
Die Tabelle, in der sich ein superskalarer Prozessor merkt, welcheRegister fertig sind, oder welche Register auf welche Register warten,
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 200 / 495
Prozessor Architektur / Grobe Parallelisierung
wird auch Scoreboard genannt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 201 / 495
Prozessor Architektur / Grobe Parallelisierung Single-Chip Multiprozessoren
Grobe Parallelisierung
Compilat noch immer sequentiell (von-Neumann Erbe...) und dahernicht beliebig parallelisierbar.Threads, Prozesse, Multi-Client queries etc. sind wirklich parallel
Transputer
4 serielle Links zu möglichen anderen TransputernProgrammiersprache OCCAM unterstützt paralles ProgrammierenCompiler teilt Tasks auf einzelne Prozessoren auf
Heute unterscheidet man zwischen dem
single-chip multiprocessor und demmultithreaded processor
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 202 / 495
Prozessor Architektur / Grobe Parallelisierung Single-Chip Multiprozessoren
Single-Chip Multiprozessoren
Der single-chip multiprocessor hat lediglich 2 oder mehrere vollständigeProzessoren auf einem Chip. Beispiele für single-chip multiprocessorssind
TI TMS320C8x, ein Multimedia Video Multiprozessor, 4 VLIWDSPs, RISC Master Processor, sowie luxuriös ausgestatteteon-chip Peripherie wie Video Controller, programmable DMAcontroller, etc.
IBM Power4, besteht aus 2 64-bit PowerPC cores
Der Hydra Chip Multiprozessor, ein theoretischer Multiprozessorder zu Simulationszwecken verwendet wird. Besteht aus mehrerenMIPS R10000-ähnlichen CPUs mit eigenem Cache.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 203 / 495
Prozessor Architektur / Grobe Parallelisierung Single-Chip Multiprozessoren
Abbildung 76: Der Intel Smithfield Core besteht aus 2 Kernen, jeder mit seinem eigenen Level 2 Cache.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 204 / 495
Prozessor Architektur / Grobe Parallelisierung Multithreaded Prozessoren
Abbildung 77: Ein Photo des Intel Smithfield Core. Es sind deutlich die gedoppelten Strukturen zu erkennen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 205 / 495
Prozessor Architektur / Grobe Parallelisierung Multithreaded Prozessoren
Multithreaded Prozessoren
Ein multithreaded processor ist im Vergleich zum single-chipmultiprocessor ein wenig komplizierter. Er hat
mehrere Program Counter,
arbeitet mehrere Programmpfade (threads) parallel in einer Pipelineab und
hat mehrere contexts (z. B. Registerbänke).
cycle-by-cycle interleaving,
block interleaving und
hyperthreading
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 206 / 495
Prozessor Architektur / Grobe Parallelisierung Weitere grobe Parallelisierung
A Cycle−by−cycle scalarB C A B C A
A Block scalarA A B B
A B C A B C A
A B C A B C A
A C B C A
C B A
Cycle−by−cycle superscalar
A B C B A A CA C C B A B B
A A C C C B A
B A C C B A A
Simultaneous Multithreading
Zeit
Abbildung 78: Verschiedene multithreaded interleaving Vorgehensweisen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 207 / 495
Prozessor Architektur / Grobe Parallelisierung Weitere grobe Parallelisierung
Weitere grobe Parallelisierung
CELL chip
PowerPC Processing Element (PPE), verbunden mit den
Synergistic Processing Elements (SPE) über den
Element Interface Bus (EIB).
Der PPE verteilt im Prinzip die Arbeit, die SPEs - relativ einfachgestrickte Vektor-CPUs - können Datenströme, wie sie bei digitalemFernsehen auftreten, gemeinsam bzw. als Pipeline bearbeiten.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 208 / 495
Prozessor Architektur / Grobe Parallelisierung Weitere grobe Parallelisierung
Abbildung 79: Die Architektur des CELL Chips.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 209 / 495
Prozessor Architektur / Grobe Parallelisierung Weitere grobe Parallelisierung
Abbildung 80: Ein Blick auf den CELL Chip. Die Strukturen sind eindeutig erkennbar.
Der Cell Chip basiert zwar auf einem RISC PPE und ”einfachen” VektorSPEs, in Kombination ergibt sich aber eine äußerst mächtige InstructionSet Architecture. Abbildung 81 zeigt ein Kommando und deren Struktur.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 210 / 495
Exotische Architekturen /
Abbildung 81: Ein Kommando der CELL ISA. Die Register werden mit 7 bit adressiert, wieviele sind es also?.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 211 / 495
Exotische Architekturen / Feldrechner
Exotische Architekturen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 212 / 495
Exotische Architekturen / Feldrechner
Feldrechner
Matrix aus Verarbeitungseinheiten, Array
Problem: passende Algorithmen
Beispiele für Feldrechner sind
Systolische Arrays,
Zellulare Rechner und
Assoziativrechner.
Ein Systolisches Array ist eine klassische, netzartige Anordnung vonRechenwerken. Als Beispiele seien
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 213 / 495
Exotische Architekturen / Feldrechner
ZISC (Abbildung 82),
SYNAPSE-1 (Abbildung 83) und -2, ein Array von sogenanntenMA16 Prozessoren (Neuro-Matrix Prozessoren), man benötigteeinen speziellen Compiler ([13]),
SOLOMON und
DAP (Distributed Array Processor)
genannt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 214 / 495
Exotische Architekturen / Feldrechner
Abbildung 82: Der ZISC Prozessor, ein Array mit Neuroprozessoren, kann per Daisy Chain auch kaskadiert werden.
SYNAPSE-1: systolisches Array für ANNs
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 215 / 495
Exotische Architekturen / Feldrechner
Abbildung 83: Die Synapse-1 von Siemens.
Zellulare Rechner: handshake zu Nachbarschaft, keine zentraleSteuerung
Assoziativrechner: Verwendung von Assoziativspeicher: CPU Entlastung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 216 / 495
Exotische Architekturen / Asynchrone Prozessoren
Speicher n x n BitsI/O
Arrayvonn
1−BitRechen−werken
SteuerwerkBefehlsspeicher
Abbildung 84: Der STARAN Rechner. Bitketten können in sogenannten Bit-Slices abgerufen werden.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 217 / 495
Exotische Architekturen / Asynchrone Prozessoren
Asynchrone Prozessoren
”Normaler” Prozessor: synchrones Schaltwerk mit Taktleitung (latches,etc.), langsamster Signalweg bestimmt TaktfrequenzVerschiedene Teile verschieden schnell takten?Asynchroner Prozessor: kein Takt, sondern asynchronehandshake-Leitungen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 218 / 495
Exotische Architekturen / Asynchrone Prozessoren
Logik LatchIN
CLK
Logik LatchOUT
a.) synchron
Logik LatchIN
Logik LatchOUT
b.) asynchron
Ctrl CtrlReq ReqAck AckAck
Abbildung 85: Asynchrone Prozessoren haben keinen globalen Clock.
Vergleich synchron/asynchron in Abb. 86
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 219 / 495
Exotische Architekturen / Asynchrone Prozessoren
Logik1
D1
RDY1
8
STB1
Logik2
Logik5
D5
RDY5
8
STB5
Logik6
Logik1
D18
Logik2
Logik5
D5
CLK
8
Logik6
b.) synchrona.) asynchron
Abbildung 86: Eine alternative Darstellung der asynchronen Architektur.
Laufzeiten von Logik1 und Logik5 unterschiedlich, schnelle undlangsame Teile durch Asynchronität entkoppelt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 220 / 495
Exotische Architekturen / Asynchrone Prozessoren
D1 4 X 5
D5 A X B X
X
tx1
tx5
CLK
D1 4 X 5
D5 A X B X
tx1asynchron:
synchron:
RDY1
STR1
RDY5
STR5
X 6 X
Abbildung 87: Das timing eines synchronen Designs verglichen mit einem asynchronen. RDY ist hier low-aktiv, STB und CLK low-flankenaktiv.
Beispiele für asynchrone Prozessoren sind
SCALP (Superscalar Asynchronous Low-Power Processor)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 221 / 495
Exotische Architekturen / Processor in Memory Architektur
AMULET (ARM instruction set)
CFPP (SPARC instruction set)
NSR (non-synchronous RISC)
Bei den asynchronen Prozessoren werden folgende Eigenschaften zurKlassifizierung herangezogen:
Delay insensitive (100&iges Handshake) oder delay sensitive
Dual rail encoding oder data bundling
Level oder transition encoding
Die Mischung delay-insensitive, dual rail und transition encoding ist diebeliebteste.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 222 / 495
Exotische Architekturen / Processor in Memory Architektur
Processor in Memory Architektur
Ein Zusammenrücken von Daten und Verarbeitung.
Die Vorteile der PIM Architektur:
Große Bandbreite und geringe Latenz beim Speicherzugriff
weniger off-chip traffic
weniger Pins
weniger Stromverbrauch (weniger Buszugriffe)
built-in-self-test möglich
Beispiele für PIM:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 223 / 495
Exotische Architekturen / Datenfluss Prozessoren
SUN PIM (5-stage Pipeline, 200 MHz, off-chip Kommunikation überserielle Links)
Mitsubishi PIM M32R/D (Mikrocontroller, für embedded Lösungen)
Alternative Architekturen zu PIM sind
Vector IRAM (kombiniert Vektorrechner mit RAM) und
Active Page (CPU ist extern, Speicherzelle enthält rekonfigurierbareLogik in die man speicherintensive Funktionen wie Suchen oderSortieren laden kann).
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 224 / 495
Exotische Architekturen / Datenfluss Prozessoren
Datenfluss Prozessoren
Datenfluss Prozessoren haben das Potenzial, jede auch nur existierendeParallelität der Daten eines Programms oder Algorithmus auszunutzen.
Die Datenabängigkeiten sind dabei der einzige Brems-Faktor. WennDatum C in Abbildung 88 zum Beispiel noch nicht verfügbar ist, dannsteht der Graph ”an”. Befehle werden genau dann ausgeführt, wenn alleEingangsdaten zur Verfügung stehen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 225 / 495
Exotische Architekturen / Optische Prozessoren
*
+/
*
1
A B
C
Abbildung 88: Datenfluss Algorithmen werden oft als Graphen dargestellt.
Drossel zum Schutz vor Überlast
Pentium Pro Micro-Dataflow (Pool für Micro-ops): superskalareArchitektur
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 226 / 495
Exotische Architekturen / Optische Prozessoren
Optische Prozessoren
Abbildung 89: LENSLET optischer Processor für Vektor-Matrix-Multiplikation
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 227 / 495
Exotische Architekturen / Optische Prozessoren
Halbleiterprozessoren sind sehr ausgereizt. Optische Prozessorenkönnten vermeiden:
Dielectric Breakdown1
Hot Carrier Effect2
Short Channel Effects3
Optische Komponenten weisen noch weitere Vorteile auf.
Keine Beeinflussung durch magnetische Felder
Kurzschlüsse sind nicht möglich
Geringe Dämpfung der Signale
Hohe Bandbreite
Optische Signale können im selben, oder benachbarten Leitergeführt werden, ohne dass sie sich gegenseitig beeinflussen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 228 / 495
Exotische Architekturen / Optische Prozessoren
Optische Schaltelemente sind kompakt, leicht und günstigherzustellen
Der im nächsten Abschnitt beschriebene Prozessor (Abbildung 90)basiert auf der Überlagerung von Wellen ([21]) und beherrscht dreimathematische Operationen.
Abbildung 90: Schematische Darstellung eines optischen Prozessors
Fouriertransformation
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 229 / 495
Exotische Architekturen / Optische Prozessoren
Multiplikation
Quadratischer Modulo
Der „Data Flow Programm Graph“ für diesen optischen Prozessor ist inAbb. 91 dargestellt.
Abbildung 91: Data Flow Programm Graph für diesen optischen Prozessor
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 230 / 495
Exotische Architekturen / Biologische Prozessoren
Rechnen in ”Lichtgeschwindigkeit”
Kaskadieren der Operationen
Rudimentär beschriebenes Beispiel im Skript: Interessierte folgen denReferenzen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 231 / 495
Exotische Architekturen / Biologische Prozessoren
Biologische Prozessoren
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 232 / 495
Exotische Architekturen / Biologische Prozessoren
Abbildung 92: AFM-Aufnahme von DX-Molekülen. Die gelben Streifen sind 25 nm voneinander entfernt, einzelne Polygone mit der Ausdehnung
von 2x4x13 nm sind sichtbar
Informationen und Algorithmen in biologischen Systemen:
Speichern von Daten
Reproduktion genetischer Information
Steuerung von Entwicklungsprozessen
Datenübertragung über das Nervensystem
Frage: Warum beschäftigen wir uns mit DNA-Computing?
Die Informationsdichte der DNA ist viel größer als herkömmlicheSpeichermedien. Ein Bit benötigt nur 1nm3 anstatt 1 ·1012nm3.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 233 / 495
Exotische Architekturen / Biologische Prozessoren
Operationen auf Basis der DNA können parallel abgearbeitetwerden. Ein Reagenzglas kann eine Trillion DNA-Bausteineenthalten. Jede Aktion (Programm), die mit diesem Reagenzglasausgeführt wird, wird gleichzeitig von allen (eine Trillion)DNA-Bausteinen bearbeitet.
DNA-Computing ist ein interdisziplinärer Forschungsbereich, indem Biologen, Computerwissenschafter, Physiker, Mathematiker,Chemiker,. . . ein breites Angebot an theoretischen und praktischenFragestellungen finden.
Von Neumann: Sequenz von Befehlen
DNA-Computing: paralleles Arbeiten, enormer Speicher
Kombinatorisches, komplexes Problem = Suchproblem
Von Neumann: sequentielle Suche, viele Algorithmen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 234 / 495
Exotische Architekturen / Biologische Prozessoren DNA-Computing
DNA-Computing: alle möglichen Ergebnisse in bakteriologischerLösung, ”sofortiges” Finden.
Die Grundidee des „Algorithmic Self-Assembly“ [26] basiert auf dreiKonzepten.
DNA-Computing [?]
Theorie der Parkettierung [12]
DNA-Nanotechnologie [23][24]
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 235 / 495
Exotische Architekturen / Biologische Prozessoren DNA-Computing
DNA-Computing
Wenn binäre Rechner mit 0 und 1 rechnen, dann passiertDNA-Computing mit A, C, T und G (Adenin, Cytosin, Thymin undGuanin).
Hybridisierung: Molekülkette stellt Zielgraf dar
”bester” Weg kann gesucht werden
z. Zt. nur einfache Strukturen verwirklichbar
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 236 / 495
Exotische Architekturen / Biologische Prozessoren Parkettierung
Abbildung 93: Lineares „Self-Assembly“von DNA, gesteuert von erlaubten Wegen durch den Grafen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 237 / 495
Exotische Architekturen / Biologische Prozessoren Parkettierung
Parkettierung
Parkettierung: anschauliche Abstrahierung diverser (komplexer)Probleme
Theoretisch Nachbau von beliebigen Algorithmen
Zu Lösen: handhabbare, replizierbare, molekulare Polygone
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 238 / 495
Exotische Architekturen / Biologische Prozessoren DNA-Nanotechnologie
Abbildung 94: Parkettierung einer Ebene mit einer geometrischen Grundform
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 239 / 495
Exotische Architekturen / Biologische Prozessoren DNA-Nanotechnologie
DNA-Nanotechnologie
DNA kann neben Doppelhelix auch andere Formen bilden.
Werkzeug für Tiling
Beispiel binärer Zähler
Bindungskräfte fügen das binäre Zählmuster zusammen
Nicht aufregend, aber ein vielversprechender Anfang
3D-Algorithmic Self-Assembly wäre natürlich noch cooler...
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 240 / 495
Exotische Architekturen / Quanten Computer
Abbildung 95: Parkettierung mit sieben verschiedenen Polygonen. Die Pfeile markieren mögliche Andockstellen mit einem Grenzwert von 2
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 241 / 495
Exotische Architekturen / Quanten Computer Warum brauchen wir Quantenprozessoren?
Quanten Computer
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 242 / 495
Exotische Architekturen / Quanten Computer Warum brauchen wir Quantenprozessoren?
Warum brauchen wir Quantenprozessoren?
Bei Quantencomputern steigt die Parallelität exponentiell mit derGröße
Hosanna! Endlich skaliert etwas mal gut!
Vorteile von Quantencomputern:
Es lassen sich Aufgaben lösen, die für klassische Computerunlösbar sind.
Einige mathematische Algorithmen benötigen wenigerArbeitsschritte.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 243 / 495
Exotische Architekturen / Quanten Computer Was ist „Quantum Parallelism“?
Abbildung 96: Schematische Darstellung eines NMR-Spektrometers
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 244 / 495
Exotische Architekturen / Quanten Computer Was ist „Quantum Parallelism“?
Was ist „Quantum Parallelism“?
Verwendung von quantenmechanischem Umstand mit zweiZuständen (z. B. Photon mit 2 Polarisationen)
2D-Vektor mit Wahrscheinlichkeitsamplituden
1√2|0〉+ 1√
2|1〉 (1)
oder1√2|0〉+ i
1√2|1〉 (2)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 245 / 495
Exotische Architekturen / Quanten Computer Nuclear Magnetic Resonance Quantum Computing (NMR QC)
Wir haben zwei QBits in Superposition von |0〉 und |1〉. Das gibtzusammen in Summe vier Zustände zur selben Zeit.
c0|00〉+ c1|01〉+ c2|10〉+ c3|11〉 (3)
Ein Gatter g für 2 QBits wird unsere Eingabe in folgendes Ergebnistransformieren
c0|g(00)〉+ c1|g(01)〉+ c2|g(10)〉+ c3|g(11)〉. (4)
Die Ergebnisse der Funktion g wurden für vier Eingangswerte parallelermittelt. Jedes weitere zugefügte Input-QBit würde die Zahl derErgebnisse verdoppeln. Dieses exponentiale Wachstum der Resultatebezeichnet man als „Quantum Parallelism“. Basis dieses Tricks ist dieSuperposition.
Dummerweise ist das alles nicht so einfach...
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 246 / 495
Exotische Architekturen / Quanten Computer Nuclear Magnetic Resonance Quantum Computing (NMR QC)
Nuclear Magnetic Resonance Quantum Computing (NMR QC)
Ein Beispiel.
Um einen Quantencomputer zu realisieren, müssen fünf Punktebeachtet werden:
Man benötigt ein System von QBits.
Die QBits müssen einzeln adressierbar sein und untereinanderinteragieren können.
Initialisieren der QBits mit|0〉 oder |1〉 (das Ergebnis einerQuantenoperation hängt generell vom Input ab).
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 247 / 495
Exotische Architekturen / Quanten Computer Nuclear Magnetic Resonance Quantum Computing (NMR QC)
Extrahieren des Resultats durch geeignete Messverfahren.
Lange Kohärenzzeit4.
Je mehr Operationen nötig sind, desto größer muss die Kohärenzzeitsein.
Atome mit Kernspin (Isospin des Kers) +1/2 oder -1/2
Atom durch externes Magnetfeld zur Präzession gebracht
Kohärenzzeiten von bis zu einigen Sekunden!
Elektronen haben mitunter lediglich Nanosekunden
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 248 / 495
Exotische Architekturen / Quanten Computer Nuclear Magnetic Resonance Quantum Computing (NMR QC)
Abbildung 97: Präzession eines Atoms in einem statischen Ma-
gnetfeld. Die Präzession wurde durch einen RF-Puls angeregt,
dessen Feldlinien normal auf die Feldlinien des statischen Feldes
stehen (die Spins wurden aus der z−Achse in die x/y −Ebene
abgelenkt).
Abbildung 98: (a) Fluor NMR-Spektrum zentriert um ≈ 470 MHz
eines speziell entwickelten Moleküls. (b) Die fünf Hauptlinien re-
präsentieren die fünf Fluor-Kerne bzw. fünf QBits des Moleküls.
Die zwei kleineren Linien (rechts im Bild) sind Verunreinigungen
in der Probe. Das NMR-Spektrum stellt die Aufnahme des magne-
tischen Feldes der präzidierenden Nukleonen und anschließende
Fouriertransformation des Time-Domain-Signals dar.Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 249 / 495