Eine mindestens ebenso wichtige Unterteilung der Systeme, ist in Single Master und Multi Master Systeme, wobei definitionsgemäß Single Master Systeme einfacher als Multi Master Systeme aufgebaut sind, daher aber nur einen äußerst eingeschränkten Einsatzbereich haben.
Single Master Systeme
Sie erlauben zu jedem Zeitpunkt höchstens eine aktive Nachrichtenquelle, es dürfen aber ein oder mehrere Empfänger existieren. Das Management, welche Einheit gerade Quelle oder Empfänger ist, übernimmt ein Controller. Während der Controller selbst arbeitet, steht das System. Da die einzelnen Slaves nicht miteinander kommunizieren können, muß die Kommunikation über den Controller ablaufen. Daher ist es notwendig parallel auszuführende Aufgeben zu serialisieren. Ein Beispiel für einen Single Master Bus ist wiederum der ISA-Bus. Als Controller fungieren hier die CPU und der DMA-Controller. Die einzelnen Einheiten müssen, auch wenn sie über eigene Intelligenz verfügen darauf warten gefragt zu werden.
Multi Master Systeme
Hier fallen die vorhin genannten Einschränkungen weg. Prinzipiell können alle Geräte die Bus Master tauglich sind den Bus übernehmen. Dadurch kommt es zu einer wesentlich besseren Busauslastung. Jede Einheit, welche auf de Bus zugreifen möchte signalisiert ihren Wunsch dem Bus Anbieter. Nach einer gewissen Wartezeit bekommt sie dann den Bus zugewiesen, und kann ihn nun, abgesehen von Unterbrechungen durch hoher priorisierte Einheiten, exklusiv nutzen. Alle anderen Einheiten können einstweilen eigenständig weiterarbeiten. Dadurch wird ein paralleles Arbeiten ermöglicht. Selbstverständlich hat auch ein Multi Master Bus seine Nachteile, der Aufbau eines Multi Master Busses ist viel aufwendiger, da Zugriffsprobleme gelöst werden müssen. Der Zugang zu gemeinsamen Devices zum Beispiel muß durch sogenannte Semaphore geregelt werden.
|