Computerhardware: Hauptplatine: Bus

Aus Wikibooks

Damit der Mikroprozessor mit dem Arbeitsspeicher, Festplatten- und Diskettenlaufwerken sowie mit anderen peripheren Baueinheiten Informationen austauschen kann, müssen diese miteinander verbunden sein. Die beste Variante in Bezug auf die Leistungsfähigkeit wäre, die betreffenden Bauteile direkt mit speziellen Leitungen zu verbinden. Wenn man allerdings acht Steckkarten mit je 60 Anschlüssen mit der CPU verbinden müsste, würde die Zahl der „Beinchen“ der CPU übermäßig anwachsen. Weil diese Variante zu aufwendig ist und das System sich durch die starre Verdrahtung auch nicht erweitern ließe, verwendet man universell nutzbare Kommunikationswege: Die Bussysteme.

Unter einem Bus versteht man ein Bündel von zusammengehörigen Leitungen, wodurch die einzelnen Baugruppen eines digitalen Systems Informationen austauschen können.

Eine Busstruktur weist prinzipiell vier Gruppen von Leitungen auf:

  • Versorgungsbus (Strom- und Taktversorgung, geräteinterne Initialisierungen oder Anzeige von Hardwarefehlern)
  • Datenbus (überträgt die Daten zwischen den Teilsystemen des Prozessors, dem Arbeitsspeicher und der Peripherie)
  • Adressbus (überträgt die Information an die Adresse einer Speicherzelle im RAM oder eines E/A- Gerätes)
  • Steuerbus (bestimmt, ob die Information gelesen oder geschrieben werden soll oder ob der Prozessor eine Berechnung ausführen soll)

Da die Wege zum Datenaustausch von allen Baugruppen gemeinsam genutzt werden, muss für eine Ordnung gesorgt werden:

Die Arbeitsvorgänge in einem Computer sind allesamt getaktet und laufen in kleinen Zeitabschnitten ab. Ein eigener elektronischer Schwingungsgenerator (Oszillatorchip) erzeugt eine Taktfrequenz. Je höher die Taktfrequenz, desto kürzer sind die Zeittakte und umso schneller werden die einzelnen Teilaufgaben ausgeführt.

Wenn z. B. ein Prozessor mit einer Frequenz von 2500 MHz arbeitet, dann beträgt die Zeit für einen Takt 0,4 Nanosekunden.

Zu jedem Zeitpunkt (Takt) darf nur genau eine Baueinheit die Kontrolle über den Bus haben und Informationen senden. Das stellt eine gravierende Einschränkung des Bussystems dar. Andere Baugruppen müssen warten, bis sie an der Reihe sind und den Bus benutzen dürfen.

John von Neumann stellte 1945 ein Konzept für den Bau eines Computers vor. Jeder Rechner besteht aus der Zentraleinheit (Steuerwerk und dem Rechenwerk), dem Speicher und den Ein-/Ausgabeeinheiten. Alle Einheiten sind über den Systembus miteinander verbunden.

Diese Architektur hat einen gravierenden Nachteil: Der Bus ist der Flaschenhals des Systems (der sogenannte „Von-Neumann-Flaschenhals“, engl. Fachbegriff: „Von-Neumann-Bottleneck“). Moderne CPUs sind viel schneller, als die Daten über den Bus vom Speicher in den Prozessor geladen werden können.

Durch Spezialisierung und Strukturierung kann man diesen Engpass aber in gewissem Maße überwinden. Bei den ersten PC gab es nur einen einzigen Systembus. Später bekam der Arbeitsspeicher einen eigenen Speicherbus. Als nächstes wurde der Bus für Steckkarten aufgetrennt: Beim Pentium 4 sind der PCI Bus und der AGP Bus getrennt.

Heutige CPUs haben mindestens drei Busse:

  1. Einen sehr schnellen Bus zu den Modulen des Arbeitsspeichers,
  2. Mehrere schnelle Busse zu den Steckplätzen (je einen für AGP, PCI und PCI-Express)
  3. Einen langsamen Bus für Tastatur, Maus, USB, Diskettenlaufwerk und andere langsame Geräte

In den verschiedenen Ebenen des Computers werden unterschiedliche (spezialisierte) Busse verwendet:

  • Prozessorinterne Busse
  • Prozessorbus
  • Speicherbus
  • Systembus
  • Peripherie- oder I/O- Bus
  • Interrupt- oder Nachrichtenbusse