Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Technische Informatik I (SS 2006) 1 Teil 4: Prozessoren 4c: Entwicklung.

Ähnliche Präsentationen


Präsentation zum Thema: "Technische Informatik I (SS 2006) 1 Teil 4: Prozessoren 4c: Entwicklung."—  Präsentation transkript:

1 Technische Informatik I (SS 2006) 1 Teil 4: Prozessoren 4c: Entwicklung

2 Technische Informatik I (SS 2006) 2 Von-Neumann-Rechner John von Neumann hatte photografisches Gedächtnis hielt Vorlesung über Quantentheorie in Princeton Arbeit am Manhattan Projekt Los Alamos 1944 Buch über Spieltheorie 1946 von Neumann-Rechner = Programm und Daten werden binär codiert und liegen in dem selben Speicher

3 Technische Informatik I (SS 2006) 3 auch Intel 80x86 SISD = single instruction single data > SIMD, MISD und MIMD sind nicht von-Neumann TypSIMDMISDMIMD Prinzip später: HARVARD Architektur (z.B. für DSPs) Programm- und Datenspeicher werden getrennt Von-Neumann-Rechner

4 Technische Informatik I (SS 2006) 4 IBM Aus Hollerith-Unternehmen hervorgegangen Herman Hollerith Erfinder der Lochkarten (angewandt bei der Volkszählung 1890/91, dauerte 4 Wochen statt 7 Jahre) 1896 Tabulating Machine Company 1911 für 1,21 Mill. $ verkauft an Computing Tabulating Recording Company (CTR) mit Sitz im Staat New York 1924 firmierte sich die CTR um in International Business Machines Corporation (IBM) Stieg 1981 in das PC-Geschäft ein (Intel 8088, 20 MB Festplatte) Betriebsystem wurde in Auftrag gegeben IBM PC-AT (Advanced Technology) (Intel 80286, 40 MB Festplatte)

5 Technische Informatik I (SS 2006) 5 IBM Deep Blue Höhepunkt der RISC Architektur 1997 IBM RS/6000 RISC Architektur SP = parallelisiert Garry Kasparov besiegt mit 3.5 zu 2.5 Spielen 200 million Züge pro Sekunde oder 50 Milliarden Positionen pro Sekunde in 3 min (3 min = erlaubt für einen Zug)

6 Technische Informatik I (SS 2006) 6 Jack Tramiel, geboren 1929 gründet 1958 Commodore Ltd. zunächst Herstellung von Schreibmaschinen (und größter Büromöbelhersteller in Kanada) 1969 Taschenrechner C108, 8-bit, 4 Grundrechenarten basierend auf Texas Instruments Chips (Texas Instruments Taschrenrechner nach 1972) kauft 1976 von MOS Technology Halbleiterproduzenten (um unabhängig zu sein)

7 Technische Informatik I (SS 2006) 7 Commodore C64 programmierbar in BASIC AMIGA, erster Homecomputer mit eingebauten DSPs für Sounderzeugung Amiga 1000, 1985, MHz Motorola Prozessor Prozessor austauschbar ! (z.B ) 1984 Tramiel verlässt CBM danach finanzielle Probleme (Konkurrenz von IBM) 1994 Konkurs Reste 1995 von ESCOM gekauft (1996 ebenfalls Konkurs)

8 Technische Informatik I (SS 2006) 8 Atari Nolan Bushnell Erfinder von Pong (Videospielkonsole) 1972 Atari gegründet 1976 Verkauf an Time Warner 1978 erste Heimcomputer 1982 Pac-Man 1984 von Tramiel gekauft 1996 aus dem Markt verdrängt

9 Technische Informatik I (SS 2006) Atari 520ST 512kB Memory 1986 Atari 1040ST 1024kB Memory Prozessor Motorola MHz Arbeitsspeicher von dem Speichercontrollerchip "MMU" verwaltet erster Heimcomputer mit MIDI Atari

10 Technische Informatik I (SS 2006) 10 Apple 1976 gegründet von Steven Jobs + Steven Wozniak 1976 Apple I (MOS 6502 Prozessor wie in Z80, 8KByte Speicher Apple II (Farbe, 4-64kByte) Casettenspeicher 1977 mit Diskette 1980 Apple III Finanzielles Desaster 1981 Steven Wozniak verunglückt 1984 Macintosh Prozessor Motorola Graphische Oberfläche, mit Menüs 1998 iMac PowerPC Prozessor als resultat der aim (apple, ibm, motorola) Allianz iPod

11 Technische Informatik I (SS 2006) 11 Ende Teil 8

12 Technische Informatik I (SS 2006) 12 Example: / , (discovered by Tim Coe of Vitesse Semiconductors) The correct value is = while the Pentium's floating-point unit computed = a relative error of 0.006%. One can easily test a Pentium using Microsoft's Windows and this example: Use the Windows calculator in scientific mode to divide Coe's numbers and compare to the numbers above. Beantwortung von Fragen: Intel Pentium Floating Point Unit Bug

13 Technische Informatik I (SS 2006) 13 How did all this get into the news? Thomas Nicely is a math professor at Lynchburg College, a school about Willamette's size in Virginia. In summer/fall 1994, he was computing the sum of the reciprocals of a large collection of prime numbers on his Pentium-based computer. Checking his computation, he found the result differed significantly from theoretical values. He got correct results by running the same program on a computer with a 486 CPU, and finally he tracked the error to the Pentium itself. After getting no real response to his initial queries to Intel, and after checking his facts, Nicely posted a general notice on the Internet asking for others to confirm his findings. Magazine interviews and ultimately a CNN interview followed. Intel publicly announced that "an error is only likely to occur [about] once in nine billion random floating point divides", and that "an average spreadsheet user could encounter this subtle flaw once in every 27,000 years of use." Beantwortung von Fragen: Intel Pentium Floating Point Unit Bug

14 Technische Informatik I (SS 2006) 14 Beantwortung von Fragen: Intel Pentium Floating Point Unit Bug Within a month IBM halted shipment on Pentium-based computers (which comprised only a small percentage of IBM's computer production) and announced that "Common spreadsheet programs, recalculating for 15 minutes a day, could produce Pentium-related errors as often as once every 24 days." Intel's policy, when it first publicly admitted the problem around November 28 of 1994, was to replace Pentium chips only for those who could explain their need of high accuracy in complex calculations. (Being a math professor seemed to help.) By late December Intel capitulated and announced a free replacement Pentium for any owner who asked for one.

15 Technische Informatik I (SS 2006) 15 SUN Andreas von Bechtolsheim Bundessieger jugend Forscht (Physik 1974 – Fußball WM in BRD !) 1976 nach Stanford Idee: Rechner der Uni vernetzen (baute Hardware dafür) S.U.N.= Stanford University Network 1982 Gründung von SUN mit Joy, Kholsa, McNealy Entwicklung von SunOS, SPARC (=RISC Prozessor) JAVA

16 Technische Informatik I (SS 2006) 16 ARM Entwicklungprojekt (1983) von Acorn Computers ARM = Acorn Risc Machine Befehlssatz teilweise an 6502 angelehnt 1990: Gründung mit Apple etc.: ARM = Advanced Risc Machines Lizenznehmer: Motorola, Intel, TI, … im Besitz vo Olivetti Bsp. Cortex A-8 verbraucht bei 600 MHz nur 300 mW (!) Hoher Anteil im "Kleingeräte"-Bereich: PDA, Mobiltelefone, Smartphones, in jedem iPod in jedem Tom Tom 300 GPS Navigationssystem in jedem Nintendo DS

17 Technische Informatik I (SS 2006) 17 DIGITAL DEC = Digital Electronics Company gegründet 1957 von Ken Olsen und Harlan Anderson 1963 PDP-5, 12-bit 1976 VAX, 32-bit (virtual address extension) 1998 verkauft an COMPAQ 2002 COMPAQ verkauft an Hewlett-Packard

18 Technische Informatik I (SS 2006) 18 DIGITAL DEC ALPHA Plattform Prozessor, z.B. DS MHz in 1999 Haupt-Unterschiede zu Intel 8086: 64-bit Architektur keine Adressarithmetik der CPU (d.h. die CPU rechnet keine Adressen aus) und nur LOAD/STORE darf auf memory zugreifen (pseudo 64 bit = Tsunami-D Chip, Scheduler für 2 x 32 bit) out-of-order-execution CPU verändert die Reihenfolge der letzten 80 instructionen für Optimierung > temporäre Register (renaming !) RISC

19 Technische Informatik I (SS 2006) 19 Echtzeit-Rekonstruktion (t 100 ms) von Au+Au Kollisionen 48 ALPHA DS-10 CPUs für sqrt() Operationen Faktor ~1.7 schneller als Pentium (sqrt op-code) Software: Track Finder (Erkennung von Teilchenspuren mit ~45 Punkten pro 1 Spur, ~6000 Spuren pro 1 Kollision) Beispiel für eine Anwendung einer DEC ALPHA Farm: der STAR Level-3 Trigger

20 Technische Informatik I (SS 2006) 20 Beispiel für eine Anwendung einer DEC ALPHA Farm: der STAR Level-3 Trigger

21 Technische Informatik I (SS 2006) 21 Erste RHIC Kollisionen,

22 Technische Informatik I (SS 2006) 22 Cray 1972 von Seymour Cray gegründet Supercomputer Ziel: Rechenleistung im TFLOPS-Bereich (1 TFLOPS = Gleitkommarechnungen pro Sekunde) 1976 Cray-1, 160 MFLOPS, 64 Bit, Speichergröße 8 MB cycle time 12,5 ns entsprechend einer für die damalige Zeit enorm hohen Taktfrequenz von 80MHz in BRD: FZ Jülich, Cray-2, 1989

23 Technische Informatik I (SS 2006) 23 Cray-2 Boards permanent schwimmend in nicht-leitender Kühl-Flüssigkeit Per-Flour-Carbon Geschwindigkeit über nicht Taktfrequenz ! nicht Multi-Prozessor ! sondern Vektor-Register ! 64 Werte auf einmal d.h. in einem Taktzyklus kann eine Rechenoperation mit allen 64 Werten auf einmal durchgeführt werden spätere T3D benutzte DEC ALPHA Prozessoren

24 Technische Informatik I (SS 2006) 24 Was ist dies ?

25 Technische Informatik I (SS 2006) 25 Connection Machine Daniel Hillis, geb Thinking Machines 1983 gegründet Technologietransfer von MIT 1-bit Prozessoren (1 bit prozessiert pro Taktzyklus) CM-2 65,536 Prozessoren Hypercube Topologie ! (Verbindungen in 4-dim) Operating System UNIX Programmierung in LISP (heute benutzt in emacs Editoren) 65,6 GFlops

26 Technische Informatik I (SS 2006) 26 Was ist RISC, was ist CISC ? CISC = complex instruction set computer (z.B. Intel Pentium) RISC = reduced instruction set computer (z.B. DEC Alpha) Jeder Prozessor hat mindestens 4 elementare Operationen pro 1 Befehl auszuführen: Daten vom Speicher holen Daten dekodieren (d.h. übersetzen, was für ein Befehl gemeint ist) Befehl ausführen Daten in die Register oder den Speicher zurück schreiben. Für jede Stufe braucht ein Prozessor mindestens einen Taktzyklus, meistens aber mehr. Wichtig: 1.) Die Daten vom Speicher zu holen dauert lange. Speicherbausteine sind langsam im Vergleich zu einem Prozessor. 2.) Je mehr und je komplexere Befehle ein Prozessor hat, desto länger dauert das Dekodieren

27 Technische Informatik I (SS 2006) 27 CISC Das Dekodieren dauert hier länger, da der Code kein einheitliches Format hat, Als Ausgleich ist die Funktionalität der einzelnen Befehle höher, d.h. die Befehle können mehr (so daß weniger Befehle ausgeführt werden müssen, um die gleichen Aufgaben zu erfüllen) Nebenbemerkung: aber der Code ist kürzer (d.h. weniger kB Binärcode pro Programm, und damit geringerer Speicherzugriff) Viele Register sind wegen der Forderung nach kurzem Code nicht möglich. Die komplexen Befehle werden im Chip in einfachere Instruktionen zerlegt. Dafür gibt es Mikrocode (ROM auf dem Chip). Auch die einzelnen Funktionseinheiten sind sehr mächtig, z.B. indem es Hardware Multipliziereinheiten gibt, die zwar schnell sind, aber auch viele Transistoren benötigen.

28 Technische Informatik I (SS 2006) 28 RISC Vorteil #1: viele Register Die Daten können in diesen gehalten werden. Damit fallen die Angaben von Speicheradressen bei den meisten Befehlen weg. Idealerweise gibt es nur einen Befehl, der direkt mit dem Speicher kommuniziert (load/store bzw. read/write) Alle anderen Befehl arbeiten mit Registern und sind so schnell. RISC Prozessoren verfügen je nach Typ zwischen 32 und 256 Registern, die universell benutzt werden können. CISC Typen wie der Motorola 680x0 oder Intel 80x86 haben 16 bzw. 12 Register.

29 Technische Informatik I (SS 2006) 29 RISC Vorteil #2: einheitliches Befehlsformat (bzw. einheitlich Befehllänge) Es gibt verschiedene Befehle in einem Prozessor. Manche benötigen Daten, andere keine. Bei einem CISC Prozessor wie dem kann ein Befehl z.B. so aussehen: ein byte, noch ein byte, und noch ein byte (oder vielleicht auch nicht), und weitere Daten können angehängt sein, selbst als Bruchstücke ein 8 Bit, 16 oder 32 Bit Wert oder ein Offset – in dem folgenden Byte, Wort oder Doppelwort Das macht das Dekodieren kompliziert. Mit anderen Worten: Man kann nicht einfach jedes Byte stur nach demselben Schema dekodieren, denn es könnte sich auch um Daten oder den zweiten Teil eines Befehles handeln.

30 Technische Informatik I (SS 2006) 30 RISC Nebenbemerkung So weit, so gut, aber: das Problem existiert prinzipiell auch bei RISC. JEDOCH versucht man es dort zu minieren durch Vorhersagen über das Ende des Befehles. Beispiel: Jeder Befehl sollte exakt 6 Bytes lang sein: entweder im Format: Befehl (1 Byte), Registernummer (1 Byte), Daten (immer 32 Bit) - für Befehle die vom und in den Speicher schreiben. oder Befehl (1 Byte), Registernummern 1,2,3 (je 1 Byte), 2 Bytes ohne Daten - für Befehle die mit Registern arbeiten. Maximal 3 Register werden bei Operationen wie add (Reg1=Reg2+Reg3) als Angabe benötigt. Es gibt aber auch Befehle mit nur einem oder gar keinem Register als Angabe.

31 Technische Informatik I (SS 2006) 31 RISC Damit ist jeder Befehl 6 Bytes lang Auf den ersten Blick sieht dies nach Platzverschwendung aus: Man brauchte bei 16 Bit Werten z.B. keine 32 Bits für Daten und bei den Registerbefehlen sind immer mindestens 2 Bytes nicht belegt. Aber es gibt 2 große Vorteile: 1.) Das erste Byte ist immer ein Befehl, und das zweite ein Register, man kann diese automatisch dekodieren. d.h. man muß sich keine Gedanken machen (wie bei CISC) was im zweiten Byte stecken könnte.

32 Technische Informatik I (SS 2006) 32 RISC 2.) der wichtigere Vorteil aber: Der nächste Befehl fängt garantiert 6 Bytes weiter an. Warum ist dies wichtig? Etwa zeitgleich mit RISC setzte man Pipelines in Mikroprozessoren ein. Pipelines holen die Daten, und fangen schon mal an zu dekodieren (während alles andere weiterläuft) Die Länge einer Pipeline gibt man in Stufen an. Bsp. Intel 80486: 5 stufige Pipeline, z.B. 5 Befehle in unterschiedlichen Stadien der Dekodierung im "Fluß". Wenn nun die Ausführungszeit des einfachsten Befehls 5 Takte beträgt, so kann eine solche Pipeline bei jedem Takt einen Befehl fertig dekodiert anbieten (weil die Dekodierung ja bereits in der Pipeline stattfand) und so die Performance steigern.

33 Technische Informatik I (SS 2006) 33 CISC vs. RISC CISC Prozessoren müssen sich viel einfallen lassen, um die verschiedenen Kombinationsmöglichkeiten in einer Pipeline zu dekodieren. Die Pipelines sind dort lang, weil es so viele Möglichkeiten gibt (so ähnlich wie Schach) und man deswegen mehr Stufen braucht. RISC Prozessoren wissen dagegen genau wo der nächste Befehl beginnt und können mehr automatisieren. Die Pipeline ist kürzer. Das ist vor allem von Vorteil, wenn ein Sprung im Programm kommt, denn dann stimmen alle Daten in der Pipeline nicht mehr (!). Hat CISC gesiegt ? Nein. Heute mehr RISC als CISC. Zwar CISC in Intel, aber Intel ist nicht alles: Druckerkontroller, in PDAs (RISC wegen des geringeren Stromverbrauchs wegen weniger Transistoren), in Spielkonsolen, und im zahllosen Elektronikbauteilen im Auto. (Ein Mittelklassewagen besitzt zwischen 13 und 30 Mikroprozessoren, die meisten als Embedded Systems).


Herunterladen ppt "Technische Informatik I (SS 2006) 1 Teil 4: Prozessoren 4c: Entwicklung."

Ähnliche Präsentationen


Google-Anzeigen