3 Arbeitsspeicher- und Bussysteme
3 Arbeitsspeicher- und Bussysteme
3 Arbeitsspeicher- und Bussysteme
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
C3.4 <strong>Bussysteme</strong> 225<br />
zessorsystemen vom Bus zu unterstützen. Die Übertragung von größeren Datenblöcken<br />
wird in Unterabschnitt 3.4.5 behandelt.<br />
Bild 9 verdeutlicht am einfachen Beispiel einer Leseoperation die Abläufe bei Datentransfers<br />
<strong>und</strong> die Unterschiede zwischen synchronen <strong>und</strong> asynchronen Bussen. Die verwendete<br />
Darstellungsmethode für Busprotokolle heißt Impulsdiagramm. Im synchronen Fall<br />
werden die Abläufe vom zentralen Bustakt gesteuert, wobei Signale bei aufsteigender<br />
Taktflanke gesetzt, bei absteigender abgefragt werden. Das Beispiel zeigt zudem, wie der<br />
Slave (z. B. ein Speicher) den Lesezyklus von zwei Takten um einen Wartezyklus verlängert<br />
(an der gestrichelten Linie), da seine Daten noch nicht gültig sind. Für den asynchronen<br />
Fall ist mit Pfeilen das Handshaking zwischen den Teilnehmern angedeutet.<br />
a Bustakt<br />
b<br />
Adresse<br />
Daten<br />
READ<br />
WAIT<br />
Lesezyklus mit<br />
1 Wartezyklus<br />
. . . Gültige Adresse bzw. Daten<br />
Überstrichene Signale sind 0-aktiv.<br />
Adresse<br />
READ<br />
Bild 9 Leseoperationen bei a synchronem <strong>und</strong> b asynchronem Bus (ohne Busarbitrierung)<br />
Vermittlung von Unterbrechungen (Interrupts). Unterbrechungen werden überwiegend<br />
von E/A-Geräten (Slaves) ausgelöst <strong>und</strong> sind vom Bus an den Prozessor weiterzuleiten.<br />
Viele Busse verfügen dazu über eigene Signalleitungen, über die Interrupts vermittelt<br />
werden. In diesem Fall wird keine Arbitrierung <strong>und</strong> kein aufwendiges Übertragungsprotokoll<br />
benötigt. Die Interrupt-Quellen sind meist nach verschiedenen Anordnungen<br />
<strong>und</strong> Verfahren priorisiert. Manche neueren Busse sparen Leitungen ein, indem sie Interrupts<br />
<strong>und</strong> zugehörige Statusinformation als Nachrichten hoher Priorität über den Datenbus<br />
in bestimmte Adreßbereiche übertragen. Dazu werden aber Buszyklen benötigt.<br />
Fehlerbehandlung. Bustransaktionen können scheitern, etwa durch Adressierungsfehler,<br />
Verletzung des Busprotokolls (meist des Zeitverhaltens) oder Hardware-Ausfall. Häufig<br />
werden Bustransaktionen von einer Uhr (watchdog timer) überwacht, die bei Ausbleiben<br />
der Reaktion eines Kommunikationspartners nach vorgegebener Zeit (timeout) eine Fehlerbehandlung<br />
anstößt, z. B. Wiederholung der Transaktion oder Rücksetzen des Systems.<br />
Sonstige Dienste. Darunter fallen beispielsweise Unterstützung der Systeminitialisierung<br />
oder des Rücksetzens, definiertes Abschalten von Busteilnehmern bei Spannungsverlust<br />
oder Neukonfiguration des Systems beim Entfernen <strong>und</strong> Einfügen von Karten im Betrieb.<br />
Cache-Kohärenz. Unterstützung für die Wahrung von Konsistenz zwischen mehreren<br />
Caches in Mehrprozessorsystemen ist heute eine wünschenswerte Eigenschaft von<br />
VAL<br />
ACK<br />
Daten<br />
Lesezyklus<br />
VAL . . . Adresse <strong>und</strong> Steuersignale gültig<br />
ACK . . . Daten gültig<br />
C3