Anmelden | Registrieren

Bus - Systeme

Physische Eigenschaften

Grundsätzlich ist ein Bus erstmal eine Ansammlung von zusammengeführten Signalleitungen, dies können 2 sein, aber auch hunderte.

Die Anzahl der Signalleitungen ist die Breite des Bus.

Typische Breiten sind ein vielfachen von 8, z.B. 8 Bit für die alten PC-Parallel-Port Anschlüsse.
16 Bit/ 32 Bit / 64 Bit Adressbus in PCs, etc.

Typsicherweise werden an den an den Bus angeschlossenen Modulen alle dieser Leitungen angeschlossen.

Logische Eigenschaften

Häufig unterscheidet man auch nach logischen Eigenschaften, quasi der Einsatztzeck.
Z.B. unterscheidet man zwischen Daten-BUS (Datentransfer), Adressierleitungen oder Steuerleitungen.

Technisch gibt es keine Unterschiede, es ist lediglich die Art der Information, die übermittelt wird.

 

Serielle/Parallele Busse

Auf parallelen Bussen werden die Informationen gleichzeitig auf allen Datenleitungen übertragen.

Dies erfordert logischerweise einen höheren Aufwand diesen zu bauen. Zusätzlich gibt es noch weitere Probleme, wenn die Datenrate auf den Leitungen steigt, ebenso bei größen Leitungslängen.

Durch immer schnellere Elektronik ist es jedoch möglich, die Anzahl der parallel Leitungen zu reduzieren und so wird aus einem z.B. 16 Bit Bus ein 2-Draht Bus wie USB. (USB < 3 hat 4 Anschlüsse, 2 Datenleitungen, 2x Energie).
Hier werden die Daten in sehr schneller Abfolge zeitlich hintereinander geschickt.

 

Protokolle

Auch hier muss man zwischen physischen Protokollen und logischen Protokollen unterscheiden.

Es darf z.B. immer nur eines der Geräte auf einem Bus Daten auf den Bus spielen, wie dies gehandhabt wird, unterscheidet sich je nach Art des Busses.
Häufig gibt es zusätzlich noch Steuerleitungen, die dies regeln. Bei anderen Systemem wird gleichzeitiges schreiben erkannt und beide Geräte probieren es später nochmal, hoffentlich nicht erneut zum gleichen Zeitpunkt.

Adressierung

Typischerweise möchten man Daten über einen Bus Daten von Modulen holen zu ihnen schreiben.
Viele Module haben jedoch mehr Daten, als auf einen Bus passen. Beispiel: Ein RAM-Modul hat typischerweise mehr als 64 Bit RAM (bei einem 64 Bit Datenbus). Deshalb muss dem Modul mitgeteilt werden, welchen Ausschnitt man lesen oder schreiben möchte.
Hierzu gibt es dann den Adressbus, der gibt nun die Information vor.

Steht auf dem Adressbuch nun eine 101101011, dann ist klar, es soll Speicheradresse 363 angesprochen werden.

Das nächste Problem ist nun, welches Modul auf dem Bus ist für welche Speicherbereiche zuständig?

Wer früher noch mit PC-ISA Karten gearbeitet hat, kann sich noch daran erinnern, dass auf den Steckkarten die Möglichkeit gab, diese Anfangsadressen per Jumper oder Mini-Schaltern einzustellen. Den passenden Treibern musste diese Einstellung dann mitgeteilt werden.

Haben sich 2 Karten mit dem Speicherbereichen überlappt, gab es Chaos.

Später wurden dann automatische System eingeführt, die dies überflüssig gemacht haben.

Konkrete Anwendung

Für unseren 8-Bit-Computer hier verwenden wir ausschließlich paralelle Bussystem, mit einem "Bus-Master".
Der Bus-Master ist der Chef des Busses und bestimmt, welches Modul wann lesen oder schreiben soll.

 

Wir verwenden einen 8-Bit Datenbus und einen externen 16-Bit Adressbus, sowie eine Reihe von Steuerleitungen (quasi interner Bus).

Wir können so 2^16 * 8 Bit ansteuern, was 65535 Bytes macht.

 

Weiter mit Das RS-Flip-Flop

Unser Algorithmus glaubt, diese Artikel sind relevant: