M SP 01 Eingabe Verarbeitung Ausgabe Von - Neumann - Rechner Eingabeeinheit Zentraleinheit Ausgabeeinheit ( CPU ) von Neuman Übersicht LAN M SP 02 Von-Neumann-Rechner mit Busstruktur Umwelt Rechenwerk Eingabe Steuerwerk Ausgabe externer Speicher interner Speicher Bus von Neuman Übersicht LAN M SP 03 Arbeitsweise eines Prozessors : Holen Die Befehle werden aus dem Programmspeicher geladen ( Fetch-Zyklus ) und anschließend dekodiert. Erst im nächsten Arbeitsgang können dann die Befehle ausgeführt werden. Hierzu muss das Blockbild verfeinert werden. Bus Datenspeicher Speicherzähler Programmspeicher Programmeingabe Hilfsregister Bus Adressregister Adressbearbeitung von Neuman Übersicht Befehlsregister LAN M SP 04 Arbeitsweise eines Prozessors : Ausführen Nach dem Holen und Dekodieren können Assemblerbefehle wie EIN, AUS, LD adr, STO adr, ADD adr, SUB adr, …( Mikroprogrammierung ) ausgeführt und die Ergebnisse gespeichert werden ( Execute-Zyklus ). Die Befehlsbearbeitung besteht demnach aus den Phasen Holen, Dekodieren, Ausführen, Speichern. Bus Datenspeicher Speicherzähler Programmspeicher Programmeingabe Akkumulator Rechenwerk Ausgabe Hilfsregister Eingabe Bus Adressbearbeitung von Neuman Adressregister Übersicht Befehlsregister LAN M SP 05 Mikroprogrammierung : Torsteuerung 1 Es muß beschrieben werden, in welcher Reihenfolge Tore an den Registern geöffnet werden, um Informationen auf den Bus oder in die Register zu lassen. Geschlossene Tore lassen keine Informationen durch; daher muß nach jedem Öffnen wieder ein Schließen erfolgen. Tore sind UND-Gatter mit RS-Flipflop. Bus Programmeingabe 03 Datenspeicher Speicherzähler 15 16 Programmspeicher 01 02 04 05 Akkumulator 06 Rechenwerk 08 Ausgabe 09 Hilfsregister 10 Ein07 gabe Bus 14 13 Adressbearbeitung von Neuman 12 Adressregister Ü b e rs i ch t 11 Befehlsregister LAN M SP 06 Mikroprogrammierung : Befehl holen Der nächste Befehl soll ins Befehlsregister übertragen werden, anschließend muß der Speicherzähler um 1 erhöht werden. Tor 15 auf, Tor 01 auf, Tor 11 auf, Tor 11 zu, Tor 01 zu, Tor 15 zu.{ Befehl geladen } Tor 16 auf, Tor 16 zu. { Der Speicherzähler um 1 erhöht } Bus Programmeingabe 03 Datenspeicher Speicherzähler 15 16 Programmspeicher 01 02 04 05 Akkumulator 06 Rechenwerk 08 Ausgabe 09 Hilfsregister 10 Ein07 gabe Bus 14 13 Adressbearbeitung von Neuman 12 Adressregister Übersicht 11 Befehlsregister siehe auch die Befehle EIN LD adr ADD adr LAN M SP 07 Mikroprogrammierung : EIN "EIN" holen wie oben, dann zur Übernahme der Eingabe in den Akkumulator : "EIN" ausführen : Tor 07 auf, Tor 06 auf, Tor 06 zu, Tor 07 zu. Bus Programmeingabe 03 Datenspeicher Speicherzähler 15 16 Programmspeicher 01 02 04 05 Akkumulator 06 Rechenwerk 08 Ausgabe 09 Hilfsregister 10 Ein07 gabe siehe auch die Befehle Bus 14 13 Adressbearbeitung von Neuman 12 Adressregister Übersicht 11 Befehlsregister LD adr ADD adr LAN M SP 08 Mikroprogrammierung : LD adr Befehl holen wie oben, dann zweiteilige Adresse holen : Tor 15 auf, Tor 1 auf, Tor 12 auf, Tor 12 zu, Tor 1 zu, Tor 15 zu, Tor 16 auf, Tor 16 zu; Tor 15 auf, Tor 1 auf, Tor 12 auf, Tor 12 zu, Tor 1 zu, Tor 15 zu, Tor 16 auf, Tor 16 zu; Nun Daten von Speicher adr in den Akku laden: Tor 13 auf, Tor 3 auf, Tor 6 auf, Tor 6 zu, Tor 3 zu, Tor 13 zu. Bus Programmeingabe 03 Datenspeicher Speicherzähler 15 16 Programmspeicher 01 02 04 05 Akkumulator 06 Rechenwerk 08 Ausgabe 09 Hilfsregister 10 Ein07 gabe siehe auch die Befehle Bus 14 13 Adressbearbeitung von Neuman 12 Adressregister Übersicht 11 Befehlsregister EIN ADD adr LAN M SP 09 Mikroprogrammierung : ADD adr Befehl holen wie oben, zweiteilige Adresse holen wie oben: Der 1. Summand steht im Akku, der 2. Summand im Datenspeicher. Von dort wird er über das Hilfsregister zum Rechenwerk geleitet und zum Wert des Akku addiert; die Summe steht wieder im Akku: Tor 13 auf, Tor 3 auf, Tor 10 auf, Tor 9 auf, Tor 9 zu, Tor 10 zu, Tor 3 zu, Tor 13 zu. Bus Programmeingabe 03 Datenspeicher Speicherzähler 15 16 Programmspeicher 01 02 04 05 Akkumulator 06 Rechenwerk 08 Ausgabe 09 Hilfsregister 10 Ein07 gabe siehe auch die Befehle Bus 14 13 Adressbearbeitung von Neuman 12 Adressregister Übersicht 11 Befehlsregister EIN LD adr LAN M SP 10 Mikroprogrammierung : Torsteuerung 2 Torsteuerung 1 Es muss beschrieben werden, in welcher Reihenfolge Tore an den Registern geöffnet werden, um Informationen auf den Bus oder in die Register zu lassen. Geschlossene Tore lassen keine Informationen durch; daher muss nach jedem Öffnen wieder ein Schließen erfolgen. Tore sind UND-Gatter mit RS-Flipflop. Daten beliebiges Tor als BLACK BOX nn Bus Daten & Impuls zum Öffnen S Q Impuls zum Schließen R Q von Neuman beliebiges Tor als UND-Gatter mit FlipFlop Übersicht LAN M SP 11 V o n N e u m a n n R e c h n e r Vergrößerung und Beschleunigung einzelner von-Neumann-Komponenten CPU RAM Cache RISC, CISC BUS Pipelining 16 bit, 32 bit, 64 bit, … Zusätze innerhalb der von Neumann-Architektur Coprozessoren Integer-Arithmetik Real-Arithmetik D irect M emory A ccess i/O-Prozessoren Eingabe Ausgabe Neue Architekturen Vektorrechner Parallelrechner Multiprozessorsysteme Neue Konzepte Analog arbeitende Rechner Neuronal vernetzte Systeme Organisch arbeitende Systeme Zeitliche Entwicklung, seit John von Neumann Programme als Information speicherte ≈ 1950 von Neuman ≈ 2000 Übersicht ≈ 2010 LAN M SP 12 Leistung skalarer Einprozessorsysteme CISC = Complex Instruction Set Computer RISC = Reduced Instruction Set Computer MIPS = Mega Instructions Per Second GIPS = Giga Instructions Per Second ƒ·Np Leistung = [ MIPS ] Aµ +Am ƒ : Taktfrequenz des µProzessors in MHz Np : Anzahl der voneinander unabhängigen Datenprozessoren im µProzessor Aµ : Mittlere Anzahl von Mikroinstruktionen pro Maschinenbefehl Am : Anzahl der Taktzyklen für einen Speicherzugriff ƒ ≈ 250 MHz Np =1 Aµ ≈ 6 Am ≈ 4 Leistung = 250·1 25 MIPS 6 +4 etwa 1998 Leistungssteigerung von Neuman Übersicht LAN M SP 13 Leistungssteigerung skalarer Einprozessorsysteme ƒ ≈ 1-10 GHz eine höhere Frequenz wird kaum erreicht werden, weil • die Leiterbahnen im µChip endliche Längen haben • die verschiedenen Leiterbahnenlängen Signalverzögerungen erfordern. • der induktive Widerstand von Biegungen ( = halbe Spulenwindung ) proportional mit der Frequenz wächst. ( RL = 2πƒ· L ) Np ≈ 5 etwa Intel Pentium Pro oder Motorola MPC750 Microprozessor • 2 Integer-Prozessoren, • 2 Gleitkomma-Prozessoren • 1 I / O - Prozessor Aµ ≈ 1 etwa durch Verwendung von • RISC-Prozessoren und • Pipelineverfahren sowohl bei der - Befehlsausführung als auch bei - längeren arithmetischen Operationen Am ≈ 1 etwa durch Verwendung von Leistung = etwa 2000 von Neuman 10 000 · 5 1+1 Cache-Speichern auf dem ProzessorChip = 25 000 MIPS = 25 GIPS Übersicht LAN M SP 14 Pipelineverarbeitung Die Ausführung einer Instruktion wird in mehrere Teilschritte zerlegt, um gleichzeitig verschiedene Teilschritte mehrerer Instruktionen zu bearbeiten: • bei aufwendigen arithmetischen Operationen • bei der Befehlsverarbeitung ( Beispiel unten ) Zur Veranschaulichung werde jeder Befehl in 4 gleich langen Phasen ausgeführt; jede Phase besteht bei n-bit-Registern aus n Takten: Holen, Decodieren, Ausführen, Speichern 01 02 03 04 05 06 07 08 09 10 11 12 Beispielsweise benötigen 3 Befehle 12 Phasen: H D A S H D A S H D A S 1. Befehl Im Pipelineverfahren werden die Phasen zeitlich versetzt gestartet, so daß zu jeder Zeit jeweils vier Phasen verarbeitet werden. 2. Befehl 3. Befehl 01 02 03 04 05 06 07 08 09 10 11 12 1. Befehl 2. Befehl 3. Befehl 4. Befehl 5. Befehl 6. Befehl 7. Befehl 8. Befehl 9. Befehl H D A S H D A S H D A S H D A S H D A S H D A S H D A S H D A S H D A S In 12 Phasen werden nun 9 Befehle abgearbeitet, was dem 3-fachen (max 4 -fachen) der Verarbeitungsgeschwindigkeit entspricht. Beim SuperPipelineverfahren werden Halbphasen verarbeitet und damit fast eine weitere Verdoppelung der Verarbeitungsgeschwindigkeit erreicht. von Neuman Übersicht LAN M SP 15 Cachespeicher Zur Erhöhung der Verarbeitungsgeschwindigkeit werden zeitweise oft benötigte Daten und Programmteile in einem kleinen, schnellen Speicher innerhalb der CPU abgelegt. Prozessor Cachespeicher Hauptspeicher Instruktionen und Daten Cachespeicher mit einer Princeton- Architektur Die Zugriffszeit auf diesen Cachespeicher entspricht etwa der Zugriffszeit auf Register; damit kann Zeit gewonnen und der interne Bus entlastet werden. Daten Set 0 Set 1 data Tag 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 5 6 7 8 9 3 Set 2 Set 3 Zweiweg-assoziativer Cachespeicher mit 4 Cachesets Hauptspeicher data … … … Neben den Daten „data“ aus dem Hauptspeicher müssen im Cache auch die Herkunftsadressen der Daten als SetNr und Tag gespeichert werden: allgemein: Beispiel: SetNr = Speicheradresse MOD Anzahl Cachesets Tag = Speicheradresse DIV Anzahl Cachesets SetNr = 13 MOD 4 = 1 Tag = 13 DIV 4 = 3 von Neuman Übersicht LAN M SP 16 Beispiele von Cache- und Pipelining Instruction Unit System Bus (External) L2 Cache Cache Bus Additional Features Instruction Fetch Unit Next IP Unit Instruction Cache (L1) Simple Instruction Decoder Memory Reorder Buffer Branch Target Buffer Instruction Decoder Simple Instruction Decoder Complex Instruction Decoder Microcode Instruction Sequencer Reorder Buffer (Instruction Pool) Retirement Register File (Intel Arch. Registers) 64 Entry Reservation Station Reservation Station Reservation Station Integer Unit 1 I Integer Unit 2 System Register Unit + x ∏ + FloatingPoint Unit (FPU) Integer Unit Integer Unit Memory Interface Unit Reservation Station FPR File Rename Buffers (6) 32-Bit Load/Store Unit 64-Bit + 64-Bit Floating-Point Unit (EA Calculation) + x ∏ Store Queue FPSCR FPSCR 32-Bit PA Completion Unit Reorder Buffer (6 Entry) FloatingPoint Unit (FPU) Reservation Station (2 Entry) GPR File CR 32-Bit Reservation Station EA 60x Bus Interface Unit Data MMU SRs (Original) DTLB 64-Bit Instruction Fetch Queue L1 Castout Queue DBAT Array L2 Bus Interface Unit L2 Castout Queue Tags 32-Kbyte D Cache Data Load Queue L2 Controller L2CR L2 Tags 32-Bit Address Bus 32-/64-Bit Data Bus To Branch Target Buffer 32-Kbyte I Cache Tags 64-Bit (2 Instructions) Rename Buffers (6) Data Cache Unit (L1) IBAT Array ITLB Dispatch Unit From Integer Unit SRs (Shadow) BHT 2 Instructions Register Alias Table Retirement Unit Instruction Queue (6 Word) Instruction MMU CTR LR BTIC • Time Base Counter/Decrementer • Clock Multiplier • JTAG/COP Interface • Thermal/Power Management • Performance Monitor Bus Interface Unit 128-Bit (4 Instructions) Branch Processing Unit Fetcher Not in the MPC740 17-Bit L2 Address Bus 64-Bit L2 Data Bus Internal Data-Results Buses Intel PentiumPro® Motorola PowerPC750® Leistungssteigerung Multiprozessorsysteme von Neuman Übersicht LAN M SP 17 Multiprozessorsysteme Systeme mit gemeinsamem Speicher sind charakterisiert durch: • globaler Adressraum • Programmierung mit konventionellen Sprachen • nicht skalierbar, maximal 30 Prozessoren Speicher rb Prozessor Speicher Speicher Verbindungsnetz Verbindungsnetz Prozessor Prozessor Systeme mit verteiltem Speicher sind charakterisiert durch: • skalierbar, 1000 Prozessoren und mehr • Programmierung in neuen Sprachen; diese Sprachen werden zur Zeit entwickelt und beinhalten: - Aufteilung in einzelne Prozesse, Parallelisierung - Kommunikation zwischen den Prozessen - Koordinierung der Prozesse Verbindungsnetz rb Prozessor Prozessor Prozessor Speicher Speicher Speicher Knoten Knoten Knoten von Neuman Übersicht LAN M SP 18 Verbindungsnetze : Arbeitsweise, Topologie Verbindungsart: Leitungsvermittlung Paketvermittlung Zellvermittlung Empfänger 4711 • etwa Telefonnetz • zeitabhängig • Sprachübertragung Sender Bei der Leitungsvermittlung wird für die Dauer der Übertragung eine Datenleitung über viele Knoten reserviert und blockiert damit die gesamte Leitung. Die Daten oder Gespräche werden mit den Pausen in einem einzigen Block gesendet. von Neuman Übersicht LAN M SP Verbindungsnetze : 19 Arbeitsweise, Topologie Verbindungsart: Leitungsvermittlung Paketvermittlung Zellvermittlung • etwa ISDN, Datex P,… • zeitunabhängig • Datenübertragung ISDN = Integrated Services Digital Network 1 Empfänger 4711 2,4 3 2 1 4 2,3 Sender 3 3 4 3 Bei der Paketvermittlung wird die Datenmenge in Pakete nicht konstanter Länge zerlegt. Beim Senden wird jedes Paket nummeriert und mit der Empfängeradresse versehen. Jedes Paket sucht sich seinen eigenen Weg. Dadurch wird das Netz gleichmäßig ausgelastet; die Nachricht erreicht schneller das Ziel. Der Empfängerknoten setzt alle Pakete 4711.1 4711.2 4711.3 4711.eof Diese Zeile stellt eine verschlüsselte Botschaft dar. in der richtigen Reihenfolge zusammen und übermittelt die Nachricht zum Empfänger. von Neuman Übersicht LAN M SP 20 Verbindungsnetze : Arbeitsweise, Topologie Verbindungsart: Leitungsvermittlung Paketvermittlung Zellvermittlung • etwa ATM, 1000 mal schneller als ISDN • zeitunabhängig • Übertragung von Sprache und Daten. Sender 1 Empfänger 4711 2,4 3 2 1 4 2,3 3 3 4 ATM = Asynchron Transfer Modus ISDN = Integrated Services Digital Network 3 Bei der Zellvermittlung werden die Datenpakete auf Zellen aufgeteilt, die genau 48 Bytes an Daten und 5 Bytes für den Header zur Zielangabe aufnehmen. Beim Senden wird jede Zelle nummeriert und mit der Adresse des nächsten Routers versehen. Die Router verwalten den gesamten Prozess. Die Nachricht erreicht so schnell das Ziel, daß Bilder in Echtzeit übertragen werden. ATM ist zugleich Vermittlungs- und Übertragungstechnik. Header ( 5 Bytes ) von Neuman Datenteil (48 Bytes ) Übersicht LAN M SP 21 Verbindungsnetze : Verbindungsart, Topologie Arbeitsweise: • synchron einfach zu realisieren. Sender und Empfänger übertragen zu festen, zentral getakteten Zeitpunkten. Dies geht wegen der verschiedenen Weglängen nur für kleine Netze : LAN ( = Local Area Network ) • asynchron nicht so einfach zu realisieren. Jeder Sender und jeder Empfänger stellen zu jedem beliebigen Zeitpunkt ihre Übertragungsanforderungen (Baudrate) an das Netz. Dieses Verfahren ist auch für große Netze geeignet : WAN ( = Wide Area Network ) Wegsteuerung: • zentral Der Wegaufbau im Netz erfolgt unabhängig von der zu übertragenden Information. • dezentral Die Wegangabe muss im Kopf der zu übertragenden Nachricht stehen. von Neuman Übersicht LAN M SP Verbindungsnetze : 22 Verbindungsart, Arbeitsweise Topologie: allgemein, speziell Bus Vollständige Vernetzung von Neuman Ring Stern 3 D - Würfel Baum Gitter 4 D - Hyperwürfel ( flächenhaft ) Übersicht LAN M SP 23 Verbindungsnetze : Verbindungsart, Arbeitsweise Topologie: allgemein , speziell Sterntopologie mit SubNetzen lokales Hauptnetz mit Hub 1. lokales Subnetz 2. lokales Subnetz als Kaskade ÜbertragungsNetz lokaler Router von Neuman ProviderNetz Provider Router Ü bersicht Lokales Netz