24.11.2012 Aufrufe

3 Arbeitsspeicher- und Bussysteme

3 Arbeitsspeicher- und Bussysteme

3 Arbeitsspeicher- und Bussysteme

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!