Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kapitel 5 5 Rechnerorganisation

Ähnliche Präsentationen


Präsentation zum Thema: "Kapitel 5 5 Rechnerorganisation"—  Präsentation transkript:

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

2 5.3 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. Rolle: Master – Slave 1 Sender und 1 Empfänger pro Übertragung, pro Protokoll-Zyklus? SW-Systemarchitektur Kap. 5

3 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. 1 SW-Systemarchitektur Kap. 5

4 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 Zeitdiagramme beschreiben Busprotokoll ungültig gültig SW-Systemarchitektur Kap. 5

5 Ideen? SW-Systemarchitektur Kap. 5

6 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 SW-Systemarchitektur Kap. 5

7 Beispielprotokoll Beispiel: read Protokoll rd’/wr gesetzt auf low,
tread read Protokoll rd'/wr enable addr data tsetup Beispiel: read Protokoll rd’/wr gesetzt auf low, Adresse auf addr gelegt für mindestens tsetup Zeit bevor enable aktiviert, dies signalisiert dem Speicher, zur Zeit tread Daten auf die data –Leitungen zu legen write Protokoll rd'/wr enable addr data tsetup twrite SW-Systemarchitektur Kap. 5

8 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 Master Slave req data(8) data(15:0) mux demux data 15:8 7:0 Übertragung von 16 Bit Daten über einen 8Bit-Datenbus Multiplexing von Adresse und Daten Master Slave req addr/data addr data mux demux Übertragung von Adressen und Daten über gleichen Bus SW-Systemarchitektur Kap. 5

9 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. Frage stellen: Ist Protokoll auf vorheriger Seite synchron oder asynchron? SW-Systemarchitektur Kap. 5

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

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

12 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 SW-Systemarchitektur Kap. 5

13 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: 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. SW-Systemarchitektur Kap. 5

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

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

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

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

18 5.4 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... SW-Systemarchitektur Kap. 5

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

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

21 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. SW-Systemarchitektur Kap. 5

22 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. 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 SW-Systemarchitektur Kap. 5

23 Memory-mapped E/A vs. Standard 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 SW-Systemarchitektur Kap. 5

24 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! SW-Systemarchitektur Kap. 5

25 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 Graphik Netzwerk interrupts SW-Systemarchitektur Kap. 5

26 Unterbrechungs-getriebene E/A
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. 1(a): Prozessor führt main aus 1(b): P1 erhält Eingabedaten in Register mit Adresse 0x8000. Zeit 2: 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 PC’s (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 0x8001. 4(b): Nachdem P1 gelesen wuirde, desaktiviert P1 Int. 5: Die ISR kehrt zurück, setzt PC auf 100+1=101, wo der Prozessor main weiter ausführt. SW-Systemarchitektur Kap. 5


Herunterladen ppt "Kapitel 5 5 Rechnerorganisation"

Ähnliche Präsentationen


Google-Anzeigen