Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kapitel 5 5 Rechnerorganisation 5.1 Leistung 5.2 Pipelining 5.3 Busse 5.4 Ein-/Ausgabe.

Ähnliche Präsentationen


Präsentation zum Thema: "Kapitel 5 5 Rechnerorganisation 5.1 Leistung 5.2 Pipelining 5.3 Busse 5.4 Ein-/Ausgabe."—  Präsentation transkript:

1 Kapitel 5 5 Rechnerorganisation 5.1 Leistung 5.2 Pipelining 5.3 Busse 5.4 Ein-/Ausgabe

2 SW-SystemarchitekturKap Busse Busse dienen zur Übertragung von Daten von einem Sender zu einem Empfänger, z.B. zwischen Prozessor und Arbeitsspeicher, zwischen Prozessor und Ein-/Ausgabegeräten, zwischen Arbeitsspeicher und Ein-/Ausgabegeräten, zwischen mehreren Prozessoren. Aktor: in die Übertragung involvierte Partner: Master, z.B Prozessor, initiiert Übertragung, Slave, Peripheriegerät oder Speicher, reagiert. Richtung: Es gibt bei einer Übertragung einen Sender, einen Empfänger. Master oder Slave können Sender oder Empfänger sein Adresse: auch eine Art von übertragener Daten spezifiziert ein Peripheriegerät, eine Speicherzelle, wohin Daten geschrieben werden sollen.

3 SW-SystemarchitekturKap. 5 Physikalische Grundlagen Zwischen Sender und Empfänger gibt es Leitungen, einzeln oder gebündelt für gemeinsame Funktion Auf die Leitungen können Spannungen mit (mindestens) zwei verschiedenen Pegeln, 1 und 0, high und low, gebracht werden. Pegeländerungen brauchen Zeit zur Stabilisierung. Leitungen teilweise unidirektional, teilweise bidirektional nutzbar. Ein serieller Bus besteht aus einer oder zwei Leitungen. Ein paralleler Bus besteht aus einer größeren Menge paralleler Leitungen. 0 1

4 SW-SystemarchitekturKap. 5 Anforderungen Welche Funktionen braucht man für Übertragungen von Daten? Welche technischen Möglichkeiten gibt es dafür? Busleitung aktivieren (assert) bei active low: durch fallende Flanke bei active high: durch steigende Flanke Ausdrücken, dass Datensignal: gültig oder ungültig ist ungültig gültig Zeitdiagramme beschreiben Busprotokoll

5 SW-SystemarchitekturKap. 5 Ideen?

6 SW-SystemarchitekturKap. 5 Busleitungen Menge von Leitungen gebündelt für gemeinsame Funktion, Adresse, Daten, Steuerung, oder Leitung(en) für alles benutzt, zu verschiedenen Zeiten. Busprotokoll legt fest, was wie zu interpretieren ist. Prozessor Speicher rd'/wr enable addr[0-11] data[0-7] bus

7 SW-SystemarchitekturKap. 5 Beispielprotokoll Beispiel: read Protokoll 1.rd/wr gesetzt auf low, 2.Adresse auf addr gelegt für mindestens t setup Zeit bevor enable aktiviert, 3.dies signalisiert dem Speicher, zur Zeit t read Daten auf die data –Leitungen zu legen t read read Protokoll rd'/wr enable addr data t setup 0 write Protokoll rd'/wr enable addr data t setup t write

8 SW-SystemarchitekturKap. 5 Time (division) multiplexing Gemeinsame Benutzung einer Menge von Leitungen für mehrere Datensätze Spart Leitungen auf Kosten von Zeit Datenübertragung mit Time-multiplexing Daten-Serialisierung MasterSlave req data(8) data(15:0) mux demux req data 15:8 7:0 Übertragung von 16 Bit Daten über einen 8Bit-Datenbus Multiplexing von Adresse und Daten MasterSlave req addr/data req addr/data addrdata muxdemux addrdata addrdata Übertragung von Adressen und Daten über gleichen Bus

9 SW-SystemarchitekturKap. 5 Synchrone, asynchrone Übertragung Die Übertragung kann synchron oder asynchron sein. synchrone Übertragung: taktweise Übertragung, in jedem Takt eine Busoperation, gesteuert durch separate Taktleitung. asynchrone Übertragung: Heben und Senken von dedizierten Synchronisationsleitungen signalisieren Übertragungswunsch, Gültigkeit bzw. Ungültigkeit von Daten auf dem Bus, Ende der Übertragung.

10 SW-SystemarchitekturKap. 5 Serieller Bus Annahme zwei Leitungen Wie kann man darüber kommunizieren?

11 SW-SystemarchitekturKap. 5 Der I 2 C Bus serieller Bus mit zwei Leitungen, Datenleitung SDA und Taktleitung SCL beide mit einem Pullup-Widerstand mit der Betriebsspannung verbunden. 1.Bus-Master initiiert Bustransfer durch Setzen der Startbedingung S: SDA-Leitung auf 0 ziehen, während SCL-Leitung auf 1 liegt. 2.SCL-Leitung auf 0 gezogen, 3.Übertragung der Daten(bits) B1,…,Bn, erst Geräteadresse, dann rw-Bit (read/write), synchron dazu Taktzyklen auf SCL. 4.Geräte am Bus vergleichen ihre Adresse mit der übertragenen. 5.Angesprochenes Gerät, Slave, schickt ack-Signal. 6.Slave zieht SDA auf 0. 7.Start der verlangten Übertragung. 8.Stoppen mit Stoppbedingung P. Quelle: Wikipedia

12 SW-SystemarchitekturKap. 5 Parallele Busse, z.B. Systembus Parallele Busse gliedern sich in drei Teil-Busse auf: Datenbus: Der Datenbus dient zur Übertragung der Daten, die zwischen dem Prozessor und dem Arbeitsspeicher ausgetauscht werden sollen. Adressbus: Der Adressbus dient zur Adressierung, dem Auswählen bestimmter Speicherstellen (oder Geräte): Beim Schreiben von Daten in den Speicher werden durch die Adressierung diejenigen Speicherstellen bestimmt, in welche die Daten geschrieben werden sollen. Beim Lesen von Daten aus dem Speicher werden durch die Adressierung diejenigen Speicherstellen bestimmt, aus denen die Daten ausgelesen werden sollen Steuerbus: Der Steuerbus steuert die Datenübertragung

13 SW-SystemarchitekturKap. 5 Der Steuerbus steuert die Datenübertragung. Daten in den Speicher schreiben: steigende Flanke auf der Schreibleitung: auf dem Datenbus befindlichen Daten sind gültig und können vom Speicher übernommen werden können. die auf dem Adressbus befindliche Adresse ist gültig und kann vom Speicher verwendet werden. der Schreibvorgang soll jetzt durchgeführt werden. Daten aus dem Speicher lesen: steigende Flanke auf der Leseleitung: die auf dem Adressbus befindliche Adresse ist gültig und kann vom Speicher verwendet werden. der Lesevorgang soll jetzt durchgeführt werden. Speicher legt Daten auf den Datenbus. Wenn der Prozessor Daten aus dem Speicher liest, übernimmt er bei der steigenden Flanke auf der Leseleitung die auf dem Datenbus anliegenden Daten und speichert sie intern ab.

14 SW-SystemarchitekturKap. 5 Handshake-Protokoll (bei mehreren Slaves mit unterschiedlichen Antwortzeiten – braucht Synchronisations- Leitungen ) MasterSlave MReq Read data 1.Master legt Adresse auf address aktiviert MReq und Read 2.Master aktiviert MSyn 3. Slave sieht, dass MSyn aktiv legt Daten auf data und aktiviert SSyn Daten bereit und gültig 4.Master liest Daten von data 5.deaktiviert MSyn Slave bereit für nächsten Übertragungswunsch Master möchte Daten aus Speicher an einer bestimmten Adresse bekommen addres MSyn SSyn address MSyn Read SSyn

15 SW-SystemarchitekturKap. 5 Schreiben über den parallelen Bus Quelle: K. Diepold

16 SW-SystemarchitekturKap. 5 Lesen über den parallelen Bus Quelle: K. Diepold

17 SW-SystemarchitekturKap. 5 3-Bus-System, z.B. im PC Mehrere Busse, durch Brücken (bridges) verbunden

18 SW-SystemarchitekturKap Ein-/Ausgabe Verbindung zur Außenwelt ! Aufgaben sind z.B.: Laden von Programmen und Daten in Speicher Ausgabe von Resultaten auf Bildschirm, Drucker, Festplatte, Diskette...

19 SW-SystemarchitekturKap. 5 Ansteuerung Ansteuerung von Ein-/Ausgabeeinheiten (Peripheriegeräte) z.B. durch: Videocontroller (Bildschirm) Plattencontroller (Festplatte) Tastatur-Prozessoren Netzwerkschnittstellen usw.

20 SW-SystemarchitekturKap. 5 Ansteuerung Plattencontroller Videocontroller Tastaturproz. Netzwerk-Interface FestplatteBildschirm Tastatur Netzwerk CPU Ansteuerung von Ein-/Ausgabegeräten (Peripheriegeräte), z.B. durch: Videocontroller (Bildschirm) Plattencontroller (Festplatte) Tastatur-Prozessoren Netzwerkschnittstellen usw.

21 SW-SystemarchitekturKap. 5 Ein-/Ausgabe-Schnittstelle: Adressierung Prozessor kommuniziert mit Peripheriegeräten über einige seiner Pins Port-basierte E/A (parallele E/A) Prozessor hat evtl. mehrere N-bit-Ports, verbunden mit speziellen Registern und gewidmet speziellen Geräten. Programme lesen und schreiben Ports wie Register. Bus-basierte E/A Prozessor kommuniziert mit allen Peripheriegeräten über einen Bus, der aus Adressen-, Daten- und Steuerungsleitungen zusammengesetzt ist. Protokoll eingebaut in Prozessor. Ein Befehl führt Lese- bzw. Schreib-Protokoll auf dem Bus aus.

22 SW-SystemarchitekturKap. 5 Typen von Bus-basierter E/A Prozessor kommuniziert mit Speicher und Peripherie über denselben Bus – Alternativen: Memory-mapped E/A Register von Peripheriegeräten belegen Adressen im Speicher z.B. Bus hat 16-bit-Adresse niedrigen 32K Adressen sind Speicheradressen höheren 32k Adressen sind Geräteadressen Standard E/A Zusätzlicher Pin (M/IO) auf dem Bus gibt an, ob es ein Speicher- oder eine Gerätezugriff ist. z.B. Bus hat 16-bit-Adresse alle 64K Adressen sprechen Speicher an, wenn M/IO auf 0 gesetzt alle 64K Adressen sprechen Geräte an, wenn M/IO auf 1 gesetzt

23 SW-SystemarchitekturKap. 5 Memory-mapped E/A vs. Standard E/A Memory-mapped E/A Benötigt keine zusätzlichen Befehle Befehle mit Effekt auf Speicher wie MOV und Load, Store funktionieren auch auf der Peripherie Standard E/A benötigt spezielle Befehle, um Daten zwischen Peripherie-Registern und dem Speicher umzuspeichern Standard E/A Keine Speicheradressen für Peripherie aufzugeben, Einfachere Adress-Dekodier-Logik in Peripherie-Geräten möglich kleinere und/oder schnellere Vergleicher

24 SW-SystemarchitekturKap. 5 Ein-/Ausgabe-Schnittstelle: Polling Annahme: Ein Peripherie-Gerät, z.B. ein Sensor, erhält mit Unterbrechungen Daten, welche vom Prozessor weiter verarbeitet werden müssen. Prozessor kann das Peripheriegerät periodisch auf angekommene Daten abfragen (polling) evtl. großer Aufwand, wenn zu häufig ausgeführt, evtl. fehlerhaft, wenn nicht häufig genug ausgeführt – Berechnungen werden mit veralteten Daten durchgeführt. Bei regelungstechnischen Anwendungen evtl. Steuerung in falsche Richtung. In sicherheits- und zeitkritischen Systemen Standard, wegen besserer Voraussagbarkeit!

25 SW-SystemarchitekturKap. 5 Ein-/Ausgabe-Schnittstelle: Unterbrechungen (Interrupts) Peripheriegerät kann den Prozessor unterbrechen (interrupt ), wenn es Daten erhalten hat - Unterbrechungs-getriebene E/A Braucht mindestens einen extra Pin: Int HW fragt Int-Pin ab. Ist Int = 1, Prozessor unterbricht laufendes Programm, springt zu einer Interrupt Service Routine (ISR) Für Echtzeitsysteme schwierig, weil nicht klar ist, wann Unterbrechung erfolgt! Minimal interarrival time muss bekannt sein! Prozessor Cache Memory - I/O Bus Haupt- speicher I/O Controller Disk I/O Controller I/O Controller Graphik Netzwerk interrupts

26 SW-SystemarchitekturKap. 5 Unterbrechungs-getriebene E/A 1(a): Prozessor führt main aus 1(b): P1 erhält Eingabedaten in Register mit Adresse 0x : P1 aktiviert Int, um Übergabe der Daten an Prozessor zu verlangen. 3: Nachdem Prozessor den Befehl an Adresse 100 abgeschlossen hat, sieht er Int aktiviert, rettet des Stand des PCs (100), und setzt den PC auf die Adresse der ISR (16). 4(a): Die ISR liest die Daten von 0x8000, rechnet und schreibt Resultat auf 0x : Die ISR kehrt zurück, setzt PC auf 100+1=101, wo der Prozessor main weiter ausführt. 4(b): Nachdem P1 gelesen wuirde, desaktiviert P1 Int. Zeit Lese Daten von Peripheriegerät 1, führe Berechnungen darauf aus und schreibe Ergebnis auf Peripheriegerät 2. Prozessor wird von P1 unterbrochen bei Adresse 100.


Herunterladen ppt "Kapitel 5 5 Rechnerorganisation 5.1 Leistung 5.2 Pipelining 5.3 Busse 5.4 Ein-/Ausgabe."

Ähnliche Präsentationen


Google-Anzeigen