Klaus Waldschmidt Teil 18 Ein-/ Ausgabe · Seite 1 Johann Wolfgang Goethe-Universität Technische...

61
Seite 1 Johann Wolfgang Goethe-Universität Technische Informatik Rechnerarchitektur, WS 2003/2004 Klaus Waldschmidt © Teil 18 Ein-/Ausgabe Rechnerarchitektur Vorlesungsbegleitende Unterlagen WS 2003/2004 Klaus Waldschmidt Teil 18 Ein- / Ausgabe

Transcript of Klaus Waldschmidt Teil 18 Ein-/ Ausgabe · Seite 1 Johann Wolfgang Goethe-Universität Technische...

Seite 1

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

RechnerarchitekturVorlesungsbegleitende Unterlagen

WS 2003/2004

Klaus Waldschmidt

Teil 18

Ein- / Ausgabe

Seite 2

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Ein- / Ausgabe (I/O)

Ziel:Transport von Daten zwischen Rechnern undspezialisierten Endgeräten, wie z. B.:

• Bildschirm, Drucker• Tastatur• A/D-Wandler• Massenspeichereinheiten (Festplatten, etc.)

Einfachste Lösung:Gemeinsames Register, welches sowohl vom Endgerät als auch vom Rechner ge-lesen /geschrieben werden kann.

EndgerätP

uffe

rreg

iste

r

Spe

iche

r

DecoderP

roze

ssor

AdressbusDatenbus

IO

Adressierung der Ein/Ausgabeim Adressbereich des Prozessors(Memory Mapped I/O) oder überspezielle I/O-Bereiche(I/O = 1, sonst I/O = 0)

Seite 3

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

I/O - Controller (Co-Prozessoren)

Kommunikation mit Endgeräten u. U. zeitauf-wendig:• Protokoll muss vom Rechner „simuliert“

werden• Rechner muss auf langsamere I/O-Geräte

warten bzw. wird von schnellen Gerätenvoll ausgelastet.

Entlastung des Rechners durch Co-Prozessoren:• UART: Universal Asynchronous Receiver

and Transmitter• Grafikprozessor / Controller• Festplattencontroller•Tastaturcontroller

Beispiel: Grafikkarte zur Ausgabe einer Bitmap auf Bildschirm

Grafik-kontroller

liest Video-Ramzeilenweise aus

Dual-PortRAM

Pixelwert

Grafikbildschirm Adr

essb

us

Dat

enbu

s

Pix

elad

ress

en

Vid

eosi

gnal

(di

gita

l)

Vid

eosi

gnal

(an

alog

)

......

.....

......

.....

Seite 4

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Datenverkehr zwischen Prozessor(en) und Peripherie

Grundsätzliche Verfahrensweisen

• Die programmierte Ein-Ausgabe von DatenBei dieser Methode übernimmt ein Programm,das in der CPU ausgeführt wird, die Steue-rung der Datenübertragung.

• Die interruptgetriebene Ein-Ausgabe von DatenDurch ein extern erzeugtes Signal wird eineUnterbrechung des laufenden Programms er-zwungen und ein gesondertes Ein-/AusgabeProgramm gestartet.

• Der direkte Zugriff auf den Speicher(DMA ... Direct Memory Access)In diesem Fall wird durch einen einfachen„Sonderzweck-Prozessor“ ein separater Daten-weg zwischen Speicher und Peripherie ge-schaffen, der die CPU von der Datenüber-tragungsarbeit entlastet.

In den ersten beiden Fällen erfolgt derDatenaustausch über besondere Ein-heiten, den sog. E/A-Toren (I/O-Ports).Die Art, wie die peripheren E/A-Ge-räte an die CPU angeschlossen wer-den, erlaubt zugleich einen Rückschlußauf die Art der Ein-/ Ausgabe-Befehle (E/A-Befehle), die ein gegebener Mik-roprozessor ausführen kann.

Sind in einem Mikroprozessorbefehls-satz besondere E/A-Befehle vorge-sehen, so ist auch jedes E/A-Tor überden Steuerbus und den Datenbus mitder CPU verbunden.

Seite 5

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Datenbus

Adreßbus

Steuerbus

CPU

Modul 1

Cache

Speicher

Modul 2

E/A

Modul 3

Speicher

Modul 4

Bus eines Prozessors

CPU

Modul 5

Cache

Seite 6

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Datenbuszugang

Tri-State-Gatter:

Ein Tri-State-Gatter besitzt die drei definierten Ausgangszustände 0,1 (abhängig vom Eingangssignal e) und einen hochohmigen Zustand z. Der Zustand z wird durch Aktivierungdes Sperreingangs i (inhibit) erreicht.

Tri-State-Gatter werden immer dann angewandt, wenn mehrere Ausgänge, von denen nur einer aktiv sein darf, an eine Leitung angeschlossen werden sollen (z.B. Busleitungen).

Unidirektionaler Datenbuszugang:Sender/Empfänger

Seite 7

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Bidirektionaler Datenbuszugang

Seite 8

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Charakteristika von Bussen

Busse lassen sich klassifizieren nach:

1. Breite:Anzahl der Leitungen

1. Funktion:Übermittlung von Adressen und/oder Daten und/oder Befehle und/oder Steuersignale

2. Betriebsart:uni- oder multifunktionaler (gemultiplexter) Bus;synchroner (taktgesteuerter) oder asynchroner (ereignisgesteuerter) Bus;

3. Zuordnung:dedizierter Bus für bestimmte Komponenten, gemeinsamer Bus für alle Komponententypen.

Seite 9

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Register

Serielle / Parallele Busse

parallel / seriell Wandler

Serieller Bus

Register

… ParallelerBus

seriell / parallel Wandler

Register

Register

Seite 10

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Bustransaktionen

Busse wickeln Transaktionen ab.

Beispiele: Lesen, Schreiben, Lesen/Modifizieren/Schreiben

Sie erfordern einen oder mehrere Zyklen.

Ein Buszyklus besteht z. B aus:

- Busvergabe- Übertragung von Adresse und Daten- Busfreigabe

Seite 11

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Prozessor Speicher

Bus-adapter

E/A-Schnittstelle

E/ASchnittstelle

Peripheriebus

Systembus

Bushierarchie

E/ASchnittstelle

E/ASchnittstelle

Peripherie-gerät

Graphik Netz Platten

Der Adapter erzeugt Steuersignale und Meldungen, die für den Daten-

austausch benötigt werden.

Seite 12

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Prozessor Speicher

Bus-adapter

E/A-Schnittstelle

E/ASchnittstelle

Peripheriebus

Systembus (Prozessorbus)

Bushierarchie

E/ASchnittstelle

E/ASchnittstelle

Peripherie-gerät

Graphik Netz Platten

Seite 13

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Haupt-speicher

Bushierarchie (Systembus)

Prozessor

C-C

ache

D-C

ache

Cache-Interface

Backside Bus

L2-Cache

Cache-Interface

L3-Cache

Frontside Bus

Seite 14

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Prozessor Speicher

Bus-adapter

E/A-Schnittstelle

E/ASchnittstelle

Peripherie-bus

Systembus

Bushierarchie (Peripherie)

E/ASchnittstelle

E/ASchnittstelle

Peripherie-gerät

Graphik Netz Platten

Seite 15

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Peripheriebusse

Periphere Geräte werden nicht immer einzeln über Schnittstellen mit dem Systembus verbunden. Statt dessen können sie über einen gemeinsamen Peripheriebus betrieben werden.

Der Peripheriebus wird über einen sog. Host-adapter an den Systembus angeschlossen. Vorteile sind u. a. eine bessere Erweiterbarkeit des Systems und eine einheitliche Peripherie-schnittstelle.Im Zusammenhang mit der Plattenperipheriewerden häufig RAID-Protokolle eingesetze.

Prozessor

Speicher

HostAdapter

SCSIAdapter

SCSIAdapter

SCSIAdapter

SCSI-Bus

Endgerät

Endgerät

EndgerätSCSI-Bus

Seite 16

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Bushierarchie

- PCI Bus (Peripheral Component Interconnect)

- SCSI Bus (Small Computer Standard Interface)

- USB (Universal Serial Bus)

Der PCI-Bus (Peripheral Component Inter-connect) ist ein prozessorunabhängiger Peri-pheriebus für den schnellen Datenaustauschzwischen angeschlossenen Adaptern und Systemspeicher. Er unterstützt den Burst-transfer von Daten. Busvergabe und Daten-übertragung lassen sich überlagern (hiddenbus arbitration).

Der SCSI-Bus (Small Computer Standard Interface) dient zur Übertragung großer Datenblöcke zwischen dem Systemspeicherund E/A-Geräten, wie Festplatten, CD-ROM-Laufwerken oder Bandgeräten. In der SCSI-Norm sind sowohl die Hardware (parallele Schnittstelle) als auch das Protokoll definiert.

Seite 17

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Prozessor-kern

Codecache

Datacache

Inter-face

L2Cache

SystembusInterface

I/O I/O I/O

PCI Bus

GraphicAcc.

LocalMemory

System-Memory

ChipsetPCI Bridge

(Lokaler Prozessorbus)

Inter-face

L3Cache

Seite 18

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Prozessor-kern

Codecache

Datacache

Inter-face

L2Cache

SystembusInterface

I/O PCI Agent

PCI Bus

GraphicAcc.

LocalMemory

System-Memory

ChipsetPCI Bridge

SchnittstelleISA Bus

ISA Bus

(33 MHz oder 66 MHz;32 Bit oder 64 Bit)

Busslots

Inter-face

L3Cache

Seite 19

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Prozessor Speicher

Bus-adapter

E/A-Schnittstelle

E/ASchnittstelle

Peripheriebus

Systembus

Bushierarchie

E/ASchnittstelle

E/ASchnittstelle

Peripherie-gerät

Graphik Netz Platten

Seite 20

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Bushierarchie

ATM-Switch

AMT-SwitchAMT-Switch

Lokales ATM-Netzwerk

WAN

Ein ATM-Switch besteht im wesentlichen aus einem Router und einem Speicher.Es entsteht damit ein dynamisches Verbindungsnetzwerk.

Seite 21

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Busprotokoll

Das Busprotokoll legt die einzelnen Schritte der Transaktionsabwicklung fest.

Protokolle sind für die Buszuteilung, die Datenübertragung und die Busfreigabe zuständig.

Darstellung von Busprotokollen:

- Impulsdiagramme- Flußdiagramme- Netze (Petri-Netze)- Automaten

Seite 22

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Übertragungszyklus

Der Busmaster ist während des Über-tragungszyklus für die Synchronisation der Busteilnehmer zuständig.

Hierbei wird zwischen synchronen-und asynchronen Bussen unterschieden:

- Synchroner Bus:Die Bustransaktionen werden auf der Basis eines gemeinsamen Taktes ge-steuert.

- Asynchroner Bus:Die Steuerung der Transaktionen erfolgt durch spezielle Signale zwischen den Teilnehmern einer Transaktion. Es gibt keinen gemeinsamen Takt. Typisch ist

die Handshake-Synchronisation.

Vorteile des synchronen Busses:

� Einfachere Protokolle� keine zusätzliche Synchronisation� hohe Geschwindigkeit

Vorteile des asynchronen Busses:

� kein clock-skew� Übertragungsgeschwindigkeit passt sich

automatisch den Anforderungen an� gut skalierbar

Seite 23

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Ein-/Ausgabe Organisation

Die Organisation der Ein-/Ausgabe bestimmt die Verbindung des Rechnerkerns mit seiner Peripherie.

Die Peripherie ist vielfältig:

- Netze- Drucker- Scanner- Hintergrundspeicher- Terminals etc.

Diese Einheiten werden über Schnittstellen an die Busse angeschlossen.

Seite 24

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Interfaces

Zwischen den Peripheriegeräten und dem Bus sind häufig Interfaces vor-handen. Die Aufgabe dieser Interfaces liegt in der Datenpufferung und ggf. in der Datenkonvertierung:

Eine Datenpufferung ist immer dann notwendig, wenn sich die Datenüber-tragungsrate zwischen Mikroprozessor und Peripheriegerät unterscheidet.

Die Datenkonvertierung ist immer dann not-wendig, wenn sich die Datendarstellung zwischenMikroprozessor und E/A-Gerät unterscheidet:

- Bei der Verarbeitung von Meßwerten werden wertkontinuierliche Signale erfasst . Für die Verarbeitung in einem Mikrocomputer ist eine Analog-Digital-Wandlung notwendig.

- Wird ein Mikrocomputer als Prozeßrechner ein-gesetzt so sind die berechneten Daten für die Steuerung von Stellgliedern (Ventile etc.) in wertkontinuierliche Signale umzuformen (Digital-Analog-Wandlung).

- Bei der seriellen Datenübertragung (z.B. bei Kopplung mit Endgeräten oder prog. Einheiten wie z. B. FPGA) ist oft eine Umformung von serieller nach paralleler Darstellung und um-gekehrt erforderlich.

Seite 25

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Peripherie-Gerät 1

Peripherie-Gerät n

Interface-Einheit Interface-Einheit

. . . .

Datenbus

Ein-/Ausgabe-Selektionsbus

Interfaces zur Pufferung bzw. Datenkonvertierung

Seite 26

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Adressierung von E/A-Geräten

Es stehen grundsätzlich zwei Konzepte zur Verfügung:

1. Memory mapped I/O

Bei der „memory mapped I/O“-Methode wirdfür ein E/A-Tor eine ausgezeichnete, ein-deutige Adresse (die nicht im RAM- oder ROM-Bereich liegen darf) reserviert. Die Datenein-gänge bzw. -ausgänge des E/A-Tors werden an den Datenbus angeschlossen, während der Adressbus mit einem im E/A-Tor enthalten-en Adressdekoder verbunden wird.

Das Peripherie-Gerät ist dann unter seiner Adresse über das E/A-Tor an-sprechbar, wobei der Datentransfer vonbzw. zu einem E/A-Gerät vergleichbar istmit dem Zugriff auf eine Speicherzelle (mit der Adresse des E/A-Tors). Dieses Verfahren ist immer dann anzuwenden, wenn der Mikroprozessor keine speziel-len Befehle zur Dateneingabe bzw.-ausgabe hat.

Load/Store-Befehle werden statt dessenbenutzt.

Seite 27

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Zentral-einheit

E/A 1 SpeicherE/A 2

Datenbus

. . . .

Adressbus

Read/Write

Memory mapped I/O

Seite 28

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

2. I/O mapped

Voraussetzung für das Verfahren I/O mapped ist, dass der Prozessor überspezielle E/A-Befehle verfügt, wie z.B. ”IN <addr>” (hole Datenwort vom E/A-Gerät mit der Adresse <addr>) und ”OUT <addr>” (transferiere Datenwortzum E/A-Gerät mit der Adresse <addr>).

Für den Speicher und für die E/A-Geräte (E/A-Tore) gibt es je einen eigenen Adressbereich (getrennte Adressierungsmethoden). Zu derenUnterscheidung gibt der Mikroprozessor spe-zielle Steuersignale aus (das E/A-Tor muss da-her mit dem Steuerbus verbunden sein): BeiSpeicherzugriffen wird das Signal ”memoryrequest ” aktiviert und ”memory read-write” zeigtden Zugriffsmodus an. Wenn ”I/O request” aktiv ist, werden die E/A-Geräte angesprochen, wobeidie Richtung des Datentransfers durch ”I/O read-write ” erkennbar ist. Zur Verringerung der Anzahlder Signalleitungen können ”memory read-write ”und ”I/O read-write ” zu dem Signal ”read-write”zusammengefasst werden.

Seite 29

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Zentral-einheit

E/A 1 SpeicherE/A 2

Datenbus

. . . .

Adressbus

Steuerbus

Read/Write

Seite 30

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

E/A-Programm Start

Adressierung des gewünschten E/A-Geräts

Ist die Einheitfür Datenaustausch

bereit?

Ein- oderAusgabe

Datenwort aus demE/A-Gerät in einRegister laden

Datenwort aus derZentraleinheit

ausgeben

Sind noch Datenvorhanden

E/A-Gerät freigeben

E/A Programm Ende

ja

nein

AusgabeEingabe

ja

Für den programmierten Daten-austausch verwendet man spezielle E/A-Programme.

- Prinzipieller Algorithmus fürdie Übertragung eines Datenwortes

Seite 31

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Synchronisation von Datenübertragungen

Um den Datenaustausch zwischen Mikro-prozessor und E/A-Geräten zu koordinieren, müssen neben den eigentlichen Daten Synchronisationssignale transferiert werden.

Da auch diese Signale vom Mikroprozessor zur Peripherie und umgekehrt übertragenwerden müssen, kann man dafür ein eigenes E/A-Tor verwenden, welches dann gleich-zeitig auch zur Pufferung der Synchronisa-tionssignale dient.

Datenbus

Adreßbus

Steuerbus

E/A 1 E/A 1

Zentral-einheit

Peripherie

SynchronisationssignaleDaten

Seite 32

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Für die programmgesteuerte Synchronisation gibt es drei Verfahren:

1.) Anstoßverfahren (Strobing)2.) Statusabstimmung (Polling)3.) gegenseitige Abstimmung (Handshaking)

Strobing

Das Anstoßverfahren (Strobing) eignet sich bei unidirektionaler Datenübertragung und falls die Verarbeitungs- (Übertragungs-)ge-schwindigkeit des Empfängers (z.B. periphe-res Gerät) größer ist als die des Senders (z.B. E/A-Tor des Mikroprozessors). Der Sen-der gibt das Datenwort aus und signalisiert dieses dem Empfänger durch das Strobe-Signal. Der Sender verläßt sich also darauf, dass der Empfänger im Augenblick der Datenausgabe empfangsbereit ist.

Start

Ausgabe einesSynchronisationsimpulses

Ausgabe einesDatenwortes

Ende derÜbertragung?

Ende

ja

nein

Daten

Strobe-Signal

Seite 33

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Polling

Die Status-Abstimmung (Polling) setzt vor-aus, dass die Verarbeitungs-(Übertragungs-)geschwindigkeit des Senders höher ist, als die des Empfängers. Sobald der Sender ein Datenwort übertragen kann, überprüft er dasPolling-Signal, das die Bereitschaft des Em-pfängers zur Datenübernahme anzeigt. BeiEmpfangsbereitschaft kann der Sender das Datenwort ausgeben, anderenfalls muss er warten. Ist der Mikroprozessor der Sender, so muss er permanent das Polling-Signal abfragen und kann in dieser Zeit keine „sinnvollere“ Arbeit verrichten („busy waiting“).

Empfängerbereit?

Start

Ausgabe einesDatenwortes

Ende derÜbertragung?

Ende

Daten

ja

nein

ja

neinPolling-Signal

Seite 34

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Handshaking

Die dritte Möglichkeit zur programmgesteu-erten Synchronisation der Datenübertragungist die gegenseitige Abstimmung (Handsha-king). Sie ist von hoher Übertragungssicher-heit, da sender- und empfängerseitig eine Synchronisation stattfindet (Polling und Strobing):

Der Sender wartet, bis der Empfänger Bereit-schaft signalisiert (Polling). Danach wartet der Empfänger, bis der Sender bereit ist (Strobing). Daran anschließend gibt der Sender das Datenwort aus, das der Empfän-ger aufnehmen kann.

Seite 35

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Start StartSender Empfänger

Empfängerbereit?

Ausgabe einesEmpfänger-

bereit-Signals

Ausgabe einesSender-

bereit-Signals

Senderbereit?

Ausgabe einesDatenwortes

Empfang einesDatenwortes

Daten

Ende derÜbertragung?

Ende derÜbertragung?

Ausgabe einesÜbertragungs-ende-Signals

Ende Ende

nein

ja

ja

Synchronisations-signale

nein

ja

nein

janein

Handshaking

Seite 36

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Interruptgesteuerte Ein/Ausgabe von Daten

Bei der programmgesteuerten Ein / Ausgabe gehtdie Initiative für das Starten und Beenden einerDatenübertragung vom Mikroprozessor aus. Dergroße Nachteil des Polling- und des Handshake-Verfahrens ist das „busy waiting“, d.h. der Mikro-prozessor wartet untätig (ohne andere Aufgabenwahrnehmen zu können) auf die Empfangs-bereitschaft des E/A-Geräts.

In praktischen Anwendungen ist diesessehr ineffizient. Es ist sinnvoller, das Anstoßen der Datenübertragung-Routine nur dann durchzuführen, wenn E/A-Geräte auch für die Datenübertragung bereit sind. Dies erfolgt über sog. Inter-rupts.

Interruptroutine(Datenübertragung)

Sprung zurInterruptroutine

Rücksprung zum unterbrochenenProgramm

laufendesProgramm

Interrupt-Signal

Seite 37

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Interrupt-Pending-Flag

Ein Interrupt-Pending-Bit zeigt dem Prozessoran, ob ein Interruptwunsch ansteht. Es wird ineiner eigenen Phase der Befehlsausführung vom Prozessor gelesen, um festzustellen, ob ein Unterbrechungswunsch vorliegt.

Ein Interrupt erfordert nämlich i. a. nicht,dass die Ausführung des aktuellen Befehlssofort abgebrochen wird; Wenn sich her-ausstellt, dass ein Unterbrechungswunsch vorliegt, muss der Prozessor, wie erwähnt,zuerst einen Teil seines Zustands (PC,

CWP , SR) retten und dann als nächstes die Quelle der Unterbrechung identifizieren.

Seite 38

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Bei einem Interrupt-Verfahren reagiert der Mikroprozessor erst dann, wenn das E/A-Gerät den Datenaustausch wünscht. Dazu sendet es ein Interrupt-Anfrage-Signal(interrupt request) aus, damit (falls der Inter-rupt-Wunsch angenommen wird) der Mikro-prozessor die Abarbeitung des laufenden Programms unterbricht, um eine sogenannteInterrupt-Routine (z.B. service routine) aus-zuführen.

Nach deren Beendigung wird das unter-brochene Programm weiterbearbeitet.

Ein Interrupt-Wunsch des E/A-Geräts kann durch ein Maskierungsbit M im Prozessor(interrupt enable) verhindert werden. Die Annahme eines Interrupt-Wunschs wird dem E/A-Gerät durch das Interrupt-Annah-me-Signal (interrupt acknowledge) gemeldet.

Zentral-einheit

M

Interrupt-Anfrage-Signal

Interrupt-AnnahmeSignal

Peripherie

Interrupt-Verfahren

Seite 39

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Die meisten Mikroprozessoren haben mehrereEingänge für Interrupt-Anfrage-Signale. Fürjeden Interrupt gibt es eine fest vorgegebene Startadresse, an der die betreffende Interrupt-Routine beginnt. Da die Interrupt-Signale im allgemeinen unterschiedliche Prioritäten habenund die Möglichkeit der Maskierung gegebenist, verdrängen Interrupts höherer Priorität sol-che mit niedrigerer Priorität.

Häufig gibt es auch noch einen nicht-maskier-baren Interrupt. Dieser hat höchste Priorität und lässt sich auch nicht durch das Maskier-ungsbit M sperren, so dass der nichtmaskier-bare Interrupt also immer angenommen wird.

Bei Annahme eines Interrupts werden alleInterrupts mit niedrigerer oder gleicher Priorität gesperrt; dann wird der sogen.Programmstatus gerettet, das Signal „inter-rupt acknowledge“ wird ausgegeben und es folgt eine Verzweigung zur Interrupt-Routine.

Neben den maskierbaren Interruptein-gängen besitzen Prozessoren weitere Signaleingänge für die Programmunter-brechung (z. Be. Reset-Eingänge).

Maskierung und Prioritätenzuordnung

Seite 40

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Maskierung und Prioritätenzuordnung

Wenn Interrupts während der laufenden Bearbeitung eines Interrupts auftreten, muss eine Entscheidung getroffen werden, welcher vorrangig bearbeitet wird.

IM IS

A

A>B

B

&

ISR

Q

Prio

rität

senc

oder

IRQ

IRQ1

IRQ2

IRQ3

IRQ4

Status-Register

Seite 41

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Wenn die Anzahl der an den Mikroprozes-sor anzuschließenden E/A-Geräte die An-zahl der verfügbaren Eingänge für Inter-rupt-Signale übersteigt, dann müssen zu-sätzliche Interrupt-Eingänge künstlich ge-schaffen werden.

Dazu gibt es drei Realisierungsmöglich-keiten:

1.) Interrupt-Signal-Erkennung durch Polling-Algorithmus

2.) Interrupt-Erkennung durch Prioritäten-schaltwerk und

3.) Daisy-Chaining

Vervielfältigung der Interruptsignale

Seite 42

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Für die Erkennung und Unterscheidung der Interrupt-Ereignisse durch den Polling-Algo-rithmus werden alle Interrupt-Anfrage-Signaleder E/A-Geräte zu einem Interrupt-Anfrage-Signal (interrupt request) verknüpft. Zusätzlich werden zwei E/A-Tore benötigt, die besondere Aufgaben erfüllen:

- Über das E/A-Tor 1 werden alle Interrupt-Anfrage-Signale zum Mikroprozessor ge-sendet. Wenn er das dort anstehende Signale abruft, kann er feststellen, welcheE/A-Geräte Interrupt-Anfragen gestellt haben.

- Wenn der Mikroprozessor einen Interrupt-Wunsch annimmt, so gibt er an das E/A-Tor 2 ein Signal, aus dem hervorgeht, welche Interrupt-Anforderung bearbeitet wird.

1.) Polling-Algorithmus

Nach Annahme eines Interrupt wird eine Polling-Routine ausgeführt, um zu unter-suchen, wer die Programmunterbrechungausgelöst hat. Zuerst wird das Maskierungs-Bit M zurückgesetzt, um die Unterbrechungder Polling-Routine durch weitere Interrupt-Wünsche zu verhindern. Dann werden dieInterrupt-Ereignisse überprüft. Beim ersten erfolgreichen Vergleich wird zur entsprech-enden E/A-Routine verzweigt.

Seite 43

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Zentral-einheit

M

&InterruptAnfrage(INTRQ)

E/A 1

> 1

E/A 2 E/A n. . . .

....

........

....

....

Interrupt-Anfrage- Interrupt-Annahme-Signale (INTRQ) (INTAK)

3 4 n 3 4 n

Vervielfältigung der Interrupt-Signale bei Polling-Algorithmus

Seite 44

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Nachteilig bei diesem Verfahren, be-sonders bei vielen Interrupt-Signalen, ist der Zeitbedarf für die Abarbeitung der Polling-Routine und die damit ver-zögerte Ausgabe des betreffenden Interrupt-Annahme-Signals. Vor- und Nachteil zugleich ist, dass durch die Reihenfolge, in der die Interrupt-Ereignisse untersucht werden, eine Auswahl nach Prioritäten stattfindet. Wenn z.B. Interrupt-Wünsche von E/A-Gerät 3 und E/A-Gerät 4 vorliegen,wirdzuerst E/A-Gerät 3 bedient. Ein wie-terer (bei praktischen Problemstel-lungen wohl selten) Nachteil ist die durch die Datenwortbreite begrenzte Anzahl der anzuschließenden E/A-Geräte.

INTR 3 =1 ?

Start

Ende

INTR 4 = 1 ?

INTR n = 1 ?

. . .

Sprung zurInterruptroutine n

Sprung zurInterruptroutine 4

Sprung zurInterruptroutine 3

Ende

nein

nein

ja

ja

ja

Zeitbedarf des Polling-Algorithmus

Seite 45

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Ein verbessertes Verfahren ist der sog. „vector interrupt“, bei dem die Polling-Routine gewissermaßen hardwaremäßigrealisiert ist. Ein Prioritätenschaltwerk wählt ein geeignetes Interrupt-Anfrage-Signal aus und übergibt durch ein E/A-Tor der Zentraleinheit eine entsprechende

kodierte Interrupt-Kennung (vector), ausder die Startadresse der betreffenden Interrupt-Routine hervorgeht. Vorteil diesesVerfahrens ist, dass die „schnell arbeitende“Hardware die CPU von der Abarbeitung der Polling-Routine entlastet.

Zentral-einheit

M

&

Prioritäten-schaltwerk

und Encoder

E/A 1

345

n

. . .

InterruptAnfrage

1-aus-n-Code

Interrupt-Anfrage-Signal

Dual-code

Decoder

345

n

Interrupt-Annahme-Signal

1-aus-n-Code

E/A 2 E/A n. . . .

. . .

Dualcode

2.) Interrupt-Erkennung mittels Prioritäten-Schaltwerk

Interrupt-kennung(vector) E/A-

Gerät

Seite 46

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Interrupt-Controller

Vektorisieren heißt, dass sich die Interruptquelledurch Senden einer Interrupt-Vektornummer vonsich aus dem Prozessor bekannt gibt. Ein Inter-rupt-Controller für vektorisierte Interrupts kanndie Priorisierung und einen Teil der Interrupt-initialisierung übernehmen und so den Prozessor,

der ihn durch das INTA-Signal (interruptacknowledge) aktivieren kann, entlasten.Außerdem reduziert der Interrupt-Controller die Zahl der nötigen Interrupt-Inputs des Prozessors.

Beispiel für einen Interrupt-Controller:

ProzessorInterrupt-Controller

E/A E/A.....

INTA

INT

IRQ

Seite 47

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Aufgaben eines Interrupt-Controllers

Der Interrupt-Controller hat eine ähnliche Aufgabe wie ein Busarbiter – mit dem Unterschied,dass jetzt nicht der Bus sondern der Prozessor den Anforderern zugeteilt werden muss.

Die Aufgaben eines Interrupt-Controllers sind u.a.:

• Entgegennahme und Speichern von Interrupt-Anforderungen der Peripherie(IRQ: Interrupt Request)

• Maskieren von Interrupts

• Signalisieren, dass mindestens ein Interruptwunsch existiert (INT)

• Entgegennehmen der Interruptbestätigung von seiten des Prozessors (INTA)

• Priorisieren der nichtmaskierten Interrupt-Anforderungen und Bereitstellen derInterrupt-Vektornummer

• Zurücknehmen des INT-Signals.

Seite 48

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Interrupt-Sequenz bei Vektorisierung

Interrupt-Pending-Bit lesen und falls gesetzt(weitere Interrupts sind jetzt gesperrt)

minimalen Prozessor-Zustand retten;Interrupt-Pending-Bit löschen;Interrupt bestätigen und damit Vektornummer anfordern;(Interrupt-Code-Register wird momentan „eingefroren“ und dasentsprechende Interrupt-Bit gelöscht);mit der Vektornummer die effektive Adresse der Ausnahmebehandlungsroutine aus der Vektortabelle entnehmen unddas Interrupt Disable (ID) Bit zurücksetzen.

Der Interrupt-Controller ist oftmals schon auf dem Prozessorchip integriert.

Seite 49

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Ein drittes Verfahren stellt das Daisy-Chainingdar. Hier wird die Prioritätsentscheidung durch eine Prioritätsschaltkette erreicht. Jedem Inter-rupt-Anfrage-Signal ist ein Glied der Kette zu-geordnet. Aus der Position eines Kettengliedesinnerhalb der Kette ergibt sich die Durchsetz-ungsfähigkeit einer Interrupt-Anfrage. Durch dasMaskierungs-Bit M kann die Interrupt-Anfrageausgeblendet werden. Bei einer Interruptan-frage aus einem Kettenglied der Daisy-Chain wird das M-Bit zurückgesetzt, um eine zusätz-liche Unterbrechung durch weitere Interrupts zu unterbinden. Dies kann selbstverständlich nur erfolgen, wenn kein Interrupt höherer Prio-rität vorliegt. Anschließend wird die Start-adresse der Interrupt-Routine, die jedem E/A-Tor zugeordnet ist, über den Datenbus abge-rufen. Die betreffende Interrupt-Routine wird ausgeführt und das E/A-Gerät bedient.

3.) Daisy-Chaining

Die Vorteile des Daisy-Chain-Verfahrensim Vergleich zu den anderen Verfahren sind erheblich:

- keine Polling-Routine- einfache modulare Erweiterbarkeit- kein Verbrauch von zwei E/A-Toren zur

Generierung der Interrupt-Anfrage-Signale und Interrupt-Annahme-Signale.

M = ”1” Interrupt angenommenM = ”0” Interrupt nicht angenommen

Seite 50

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Zentral-einheit

M

Start-adresse1

Start-adresse2

Prio Prio

Interrupt-Anfrage 1 Interrupt-Anfrage 2

. . .

E/A 1 E/A 2

wired or Interrupt-Anfrage wired or

& &

Prio

Seite 51

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Direkter Speicherzugriff (DMA)

Bei der Ein-/Ausgabe großer Datenmengenerweist sich eine direkte Kommunikation mitdem Hauptspeicher als sinnvoll.Die CPU wird dabei vom Datenverkehr ent-lastet. Die Organisation des Datenverkehrsmit dem Hauptspeicher übernimmt statt-dessen der DMA-Controller

Der DMA-Controller übernimmt die DMA-Request-Verarbeitung und die DMA-Acknowlegde-Erzeugung sowie den Datentransfer zwischen Peripherie-gerät und Speicher.

CP

U

DM

A-

Con

trol

ler

Spe

iche

r

Datenbus

Adressbus

Ein/Ausgabe

IRQDMA_REQ

DMA_ACK

Seite 52

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

DMA-Controller

DMA-Controller sind in der Lage, die Daten-übertragung zwischen Speicher und Gerät selbständig ohne Zuhilfenahme des Pro-zessors abzuwickeln (DMA direct memoryaccess). DMA-Controller müssen als Bus-master den Systembus steuern. Für einenÜbertragungsvorgang werden der Schnitt-stellenbaustein und der Controller zunächstvom Prozessor initialisiert.

Er lädt dazu die Steuer- und Adressregister.Anschließend startet er die Ein- bzw. dieAusgabe. Die eigentliche Übertragung derDaten findet dann im Zusammenspiel zwischen der Gerätesteuerung, dem Con-troller und dem Speicher statt. Wenn derÜbertragungsvorgang beendet ist, zeigt der Controller dies dem Prozessor durch einSignal an.

Seite 53

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Ideale DMA

- Adressbus

- Datenbus

R/W = Schreib-/Lese-Signal

Zentral-einheit

Zweitor-Speicher

DMA

Daten

Synchronisations-Signale

R/W

R/W

Eine „ideale“ DMA kann durch Verwendung eines Zweitor-Speichers als Hauptspeichererreicht werden.

In praktischen Anwendungen steht jedoch kein Zweitor-Speicher zur Verfügung.In diesem Fall erfolgt der Zugriff im sog. Burst-Mode oder im sog. Cycle-Stealing-Mode.

Seite 54

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

DMA für Burst Mode

Datenbus

Adressbus

RAM-Speicher

DMA-Controller

externesGerät

Prozessor

Seite 55

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Burst-Mode oder Cycle-Stealing-Mode

Vorteile der DMA sind die Beschleunigung des Datenaustauschs mit der Peripherie und die Entlastung der Zentraleinheit. Der Bus kann sich aber als Flaschenhals aus-wirken. Eine Abhilfe bietet ein dedizierter DMA-Bus. Außerdem ist auf Datenkonsis-tenz bei Caches zu achten.

Die Integration eines DMA-Controllers in den Rechnerkern kann auf verschiedene Weise erfolgen, z.B. transparent, d.h. der DMA-Controller kann dem Prozessor Buszyklen entziehen, i.a. durch Blocktransfer, d.h. derDMA-Controller erhält den Bus für die Über-tragung eines ganzen Datenblocks, wobei esmöglich ist, mehrere Blöcke zu verketten. Fürden Blocktransfer verwendet der Controllerdas Byte-Zählregister. Dies wird anfangs vomProzessor mit der Anzahl der zu übertragen-den Bytes geladen.

Seite 56

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

E/A-Kanäle

E/A-Kanäle entlasten einen Rechnerkern noch umfassender von der E/A als eineeinfache DMA. Sie können Kanalprogrammeselbstständig ausführen und verfügen übereinen eigenen Befehlssatz.

Das Kanalkonzept wird vorwiegend bei Mainframes und Höchstleistungsrechnern zur Verwaltung einer großen Zahl von Geräten bei gleichzeitig schneller Ver-arbeitung verwendet. Für die E/A-Kanälestehen spezielle Controller (erweiterte DMA-Controller) zur Verfügung.

Seite 57

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

E/A-Prozessoren(IOP – I/O-Prozessoren)

E/A-Prozessoren entsprechen dem Kanal-konzept und repräsentieren gewisser-maßen eine Weiterentwicklung.

Für die Aufgaben kommen keine spez. Cont-roller, sondern universelle Mikroprozessorenzum Einsatz. Die Mikroprozessoren sind in derLage zusätzliche Funktionen zu übernehmen.

Diese Funktionen können sein:

• Initialisieren von Geräten• Datenformatierung• Fehlererkennung• Treiber

Durch den Einsatz von Mikroprozessoren als E/A-Prozessoren entsteht insgesamt ein Multiprozessorsystem.

Die Kommunikation kann verbindungslos oder verbindungsorientiert durchgeführt werden.

Seite 58

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Busfunktionen

Prozessor, Speicher und IO kommunizieren überAdress-, Daten- und Steuerbus miteinander. Ausserdem gibt es noch Takt- und Stromversor-gungsleitungen.

Busfunktionen sind:

- Busanforderung und -arbitrierung- Interruptanforderung und

-verarbeitung- Datenübertragung als Busmaster

oder -slave

ArbiterStrom- und

Taktversorgung

Busan-forderung

Interrupt-anfor-derung

Interrupt-verarbei-

tung

Übertra-gungs-steuerung

Talker

Listener

Bus-leitungen

Komponenten eines Businterface

Seite 59

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Sie wird notwendig, wenn an einem Bus mehr als ein Busmaster betrieben wird (Multimasterbetrieb): Arbiter entscheidet über Zuteilung des Busses.

Zentrale Daisy-Chain:

Busarbitrierung

Drei Verfahren (jeweils zentral oder dezentral)stehen zur Verfügung:

• Verkettung (Daisy-Chain)• Abfrage (Polling)• Stichleitungen (Independent Requests)

M0Arbiter

M3M2M1

REQUESTGRANT

M0Arbiter

M1 M2 M3

REQUESTBUSBUSYGRANT

Seite 60

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Dezentrale Daisy-Chain:

M1 M3M2

GRANT-Impuls

Zentraler Arbiter mit Stichleitungen:

Arbiter M1 M2 M3

GRANT1 GRANT3GRANT2

REQUEST1 REQUEST2 REQUEST3

Seite 61

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 18 Ein-/Ausgabe

Zentrale Arbitrierung mit Polling

Arbiter M1 M3M2

weitereBusmaster

Wählleitungen

REQUESTBUSBUSY

Dezentrale Arbitrierung mit Polling (z.B. SCSI)

M1 M2 M3

weitereBusmaster

BUSREADY

BUSBUSY