Bus (Computerwissenschaft)

In der Computerarchitektur ist ein Bus ein Subsystem, das Daten zwischen Bestandteilen innerhalb eines Computers, oder zwischen Computern überträgt.

Frühe Computerbusse waren wörtlich parallele elektrische Leitungen mit vielfachen Verbindungen, aber der Begriff wird jetzt für jede physische Einordnung gebraucht, die dieselbe logische Funktionalität wie ein paralleler elektrischer Bus zur Verfügung stellt. Moderne Computerbusse können sowohl Parallele verwenden als auch haben Serienverbindungen gebissen, und können in irgendeinem ein Mehrfall (elektrische Parallele) oder Gänseblumenkränzchen-Topologie angeschlossen, oder durch geschaltete Mittelpunkte, als im Fall von USB verbunden werden.

Hintergrund und Nomenklatur

Computersysteme bestehen allgemein aus drei Hauptrollen, die in einer Prozession gehende Haupteinheit (CPU), um Daten, Hauptgedächtnis zu bearbeiten, um die Daten zu halten, und eine Vielfalt der Peripherie bearbeitet zu werden, um dem Daten mit der Außenwelt mitzuteilen. Ein früher Computer könnte eine handverdrahtete Zentraleinheit von Vakuumtuben, einer magnetischen Trommel für das Hauptgedächtnis, und einem Schlag-Band und Drucker verwenden, um Daten zu lesen und zu schreiben. In einem modernen System könnten wir einen AMD Opteron Zentraleinheit, DDR3 SDRAM für das Gedächtnis, eine Festplatte für Off-Linedaten, eine Grafikkarte und FLÜSSIGKRISTALLANZEIGE-Anzeige als ein Anzeigesystem, eine Maus und Tastatur für die Wechselwirkung und eine Wi-Fi Verbindung für den Netzwerkanschluss finden. In beiden Beispielen, Computerbussen einer Form oder einer anderen Bewegung Daten zwischen allen diesen Geräten.

In den meisten traditionellen Computerarchitekturen neigen die Zentraleinheit und das Hauptgedächtnis dazu, dicht verbunden zu werden. Der Mikroprozessor hat herkömmlich mehrere elektrische Verbindungen genannt "Nadeln", die verwendet werden können, um eine "Adresse" im Hauptgedächtnis und einen anderen Satz von Nadeln auszuwählen, um die an dieser Position versorgten Daten zu lesen und zu schreiben. In den meisten Fällen, der Zentraleinheit und dem Speicheranteil Signaleigenschaften und funktionieren in der Gleichzeitigkeit. Der Bus, der die Zentraleinheit und das Gedächtnis verbindet, ist eine der Definieren-Eigenschaften des Systems, und häufig verwiesen auf einfach als der Systembus.

Es ist möglich, Peripherie zu erlauben, mit dem Gedächtnis auf dieselbe Mode zu kommunizieren, Adapter in der Form von Vergrößerungskarten direkt zum Systembus beifügend. Das wird durch eine Art standardisierten elektrischen Stecker, mehrere von diesen allgemein vollbracht, den Vergrößerungsbus oder lokalen Bus bildend. Jedoch, als die Leistungsunterschiede zwischen der Zentraleinheit und Peripherie ändert sich weit, ist eine Lösung allgemein erforderlich, um sicherzustellen, dass Peripherie gesamte Systemleistung nicht verlangsamt. Viele Zentraleinheiten zeigen einen zweiten Satz von Nadeln, die denjenigen ähnlich sind, um mit dem Gedächtnis zu kommunizieren, aber fähig sind, mit sehr verschiedenen Geschwindigkeiten zu funktionieren und verschiedene Protokolle zu verwenden. Andere verwenden kluge Kontrolleure, um die Daten direkt ins Gedächtnis, ein als direkter Speicherzugang bekanntes Konzept zu legen. Modernste Systeme verbinden beide Lösungen, wo passend.

Da die Zahl der potenziellen Peripherie gewachsen ist, ist das Verwenden einer Vergrößerungskarte für jeden peripherischen immer unhaltbarer geworden. Das hat zur Einführung von Bussystemen entworfen spezifisch geführt, um vielfache Peripherie zu unterstützen. Allgemeine Beispiele sind die SATA Häfen in modernen Computern, die mehreren Festplatten erlauben, ohne das Bedürfnis nach einer Karte verbunden zu werden. Jedoch sind diese Hochleistungssysteme allgemein zu teuer, um in Geräten des niedrigen Endes wie eine Maus durchzuführen. Das hat zur parallelen Entwicklung mehrerer Bussysteme der niedrigen Leistung für diese Lösungen, das allgemeinste Beispiel geführt, das Universaler Serienbus ist. Alle diese Beispiele können peripherische Busse genannt werden, obwohl diese Fachsprache nicht universal ist.

In modernen Systemen ist der Leistungsunterschied zwischen der Zentraleinheit und dem Hauptgedächtnis so groß gewachsen, dass Erhöhung von Beträgen des Schnellspeichers direkt in die Zentraleinheit gebaut wird, die als ein geheimes Lager bekannt ist. In solchen Systemen teilen Zentraleinheiten verwendende Hochleistungsbusse mit, die mit Geschwindigkeiten funktionieren, die viel größer sind als Gedächtnis, und mit dem Gedächtnis mit Protokollen kommunizieren, die denjenigen ähnlich sind, die allein für die Peripherie in der Vergangenheit verwendet sind. Diese Systembusse werden auch verwendet, um mit meisten (oder alle) andere Peripherie durch Adapter mitzuteilen, die der Reihe nach mit anderer Peripherie und Kontrolleuren sprechen. Solche Systeme sind Mehrcomputern architektonisch ähnlicher, über einen Bus aber nicht ein Netz kommunizierend. In diesen Fällen sind Vergrößerungsbusse völlig getrennt und teilen nicht mehr jede Architektur mit ihrer Gastgeber-Zentraleinheit (und kann tatsächlich viele verschiedene Zentraleinheiten unterstützen, wie mit PCI der Fall ist). Was früher ein Systembus gewesen wäre, ist jetzt häufig als ein Vorderseite-Bus bekannt.

In Anbetracht dieser Änderungen, die klassischen Begriffe "System", hat "Vergrößerung" und "peripherisch" nicht mehr dieselben Konnotationen. Andere allgemeine Kategorisierungssysteme basieren auf den Bussen primäre Rolle, Geräte innerlich oder äußerlich, PCI dagegen verbindend. SCSI zum Beispiel. Jedoch können viele allgemeine moderne Bussysteme für beide verwendet werden; SATA und der verbundene eSATA sind ein Beispiel eines Systems, das früher als inner beschrieben würde, während in bestimmten Automobilanwendungen in erster Linie äußerlichen IEEE 1394 nach einer einem Systembus ähnlicheren Mode verwenden. Andere Beispiele, wie InfiniBand und I²C wurden vom Anfang entworfen, der sowohl innerlich als auch äußerlich zu verwenden ist.

Um weiter Probleme zu verwechseln, war es in der Vergangenheit üblich, Bussysteme zu klassifizieren, die auf dem Kommunikationssystem gestützt sind, das sie, Serien- oder parallel verwendet haben. Viele moderne Systeme können in jeder Weise abhängig von der Anwendung funktionieren.

Durchführungsdetails

Auf einmal hat "Bus" ein elektrisch paralleles System mit elektrischen Leitern bedeutet, die ähnlich oder zu den Nadeln auf der Zentraleinheit identisch sind. Das ist nicht mehr der Fall, und moderne Systeme verschmieren die Linien zwischen Bussen und Netzen.

Busse können parallele Busse sein, die Datenwörter in der Parallele auf vielfachen Leitungen oder Serienbusse tragen, die Daten in der mit dem Bitserienform tragen. Die Hinzufügung von Extramacht- und Kontrollverbindungen, Differenzialfahrern und Datenverbindungen in jeder Richtung bedeutet gewöhnlich, dass die meisten Serienbusse mehr Leiter haben als das Minimum eines verwendeten in der 1 Leitung und UNI/O. Als Datenraten zunehmen, verdrehen die Probleme des Timings, Macht-Verbrauch, elektromagnetische Einmischung und crosstalk über parallele Busse werden immer schwieriger zu überlisten. Eine teilweise Lösung dieses Problems ist gewesen sich zu verdoppeln pumpen den Bus. Häufig kann ein Serienbus an höheren gesamten Datenraten bedient werden als ein paralleler Bus, trotz, weniger elektrische Verbindungen zu haben, weil ein Serienbus von Natur aus kein Timing hat, verdrehen oder crosstalk. USB, FireWire und Serien-ATA sind Beispiele davon. Mehrfall-Verbindungen arbeiten gut für schnelle Serienbusse nicht, so verwenden modernste Serienbusse Gänseblumenkränzchen oder Mittelpunkt-Designs.

Netzverbindungen wie Ethernet werden als Busse nicht allgemein betrachtet, obwohl der Unterschied größtenteils begrifflich aber nicht praktisch ist. Ein Attribut hat allgemein gepflegt, einen Bus zu charakterisieren, ist, dass Macht durch den Bus für die verbundene Hardware zur Verfügung gestellt wird. Diese Konzeptualisierung betont die busbar Ursprünge der Busarchitektur als Versorgung der geschalteten oder verteilten Macht. Herkömmlich wurde diese Rücksicht verwendet, um, als Busse, Hardware-Verbindungsschemas wie der Serien-RS-232 auszuschließen und Centronics und IEEE 1284 Schnittstellen anzupassen (und Ethernet oben), wo die typischen Geräte, wie Modems und Drucker, in Macht-Ausgänge eingesteckt werden mussten. Jedoch können Universale Serienbusgeräte oder können gelieferte Macht des Busses häufig mit den inneren Batterien der Geräte stattdessen nicht verwenden. Diese Unterscheidung wird durch ein Telefonsystem mit einem verbundenen Modem veranschaulicht, wo die RJ11 Verbindung und verkehrt hat, wird abgestimmtes Signalschema als kein Bus betrachtet, und ist einer Verbindung von Ethernet analog. Es sollte bemerkt werden, dass, wie man betrachtet, ein Telefonlinienverbindungsschema kein Bus ist, wenn auch das Telefon durch das TOPF-System aber doch in der Zentralverwaltung angetrieben wird, werden Busse mit Querbalken-Schaltern für Verbindungen zwischen Kopfhörern verwendet.

Geschichte

Die erste Generation

Frühe Computerbusse waren Bündel der Leitung, die Computergedächtnis und Peripherie beigefügt hat. Anekdotisch genannt der "Ziffer-Stamm", sie wurden nach Bussen der elektrischen Leistung oder busbars genannt. Fast immer gab es einen Bus für das Gedächtnis, und ein oder mehr getrennte Busse für die Peripherie. Auf diese wurde durch getrennte Instruktionen, mit völlig verschiedenem timings und Protokollen zugegriffen.

Eine der ersten Komplikationen war der Gebrauch von Unterbrechungen. Frühe Computerprogramme haben Eingabe/Ausgabe durch das Warten in einer Schleife auf das peripherische durchgeführt, um bereit zu werden. Das war eine Zeitverschwendung für Programme, die andere Aufgaben hatten zu tun. Außerdem, wenn das Programm versucht hat, jene anderen Aufgaben durchzuführen, könnte es nehmen auch sehnen sich nach dem Programm, wieder zu überprüfen, auf Verlust von Daten hinauslaufend. Ingenieure haben so Vorkehrungen getroffen, dass die Peripherie die Zentraleinheit unterbrochen hat. Die Unterbrechungen mussten prioritized sein, weil die Zentraleinheit nur Code für einen peripherischen auf einmal durchführen kann, und einige Geräte mehr zeitkritisch sind als andere.

Systeme des hohen Endes haben die Idee von Kanalkontrolleuren eingeführt, die im Wesentlichen kleine Computer waren, die dem Reichen des Eingangs und der Produktion eines gegebenen Busses gewidmet sind. IBM hat diese auf IBM 709 1958 eingeführt, und sie sind ein gemeinsames Merkmal ihrer Plattformen geworden. Andere Hochleistungsverkäufer wie Control Data Corporation haben ähnliche Designs durchgeführt. In allgemein würden die Kanalkontrolleure ihr Bestes tun, alle Busoperationen innerlich, bewegende Daten zu führen, als, wie man bekannt, die Zentraleinheit anderswohin, wenn möglich, und nur verwendende Unterbrechungen, wenn notwendig, beschäftigt war. Diese sehr reduzierte Zentraleinheitslast, und zur Verfügung gestellt besser gesamte Systemleistung.

Um Modularität zur Verfügung zu stellen, können Gedächtnis und Eingabe/Ausgabe-Busse in einen vereinigten Systembus verbunden werden. In diesem Fall kann ein einzelnes mechanisches und elektrisches System verwendet werden, um zusammen viele der Systembestandteile, oder in einigen Fällen, sie alle zu verbinden.

Spätere Computerprogramme haben begonnen, für mehrere Zentraleinheiten übliches Gedächtnis zu teilen. Der Zugang zu diesem Speicherbus musste prioritized ebenso sein. Der einfache Weg zu Prioritize-Unterbrechungen oder Buszugang war mit einem Gänseblumenkränzchen. In diesem Fall werden Signale durch den Bus in der physischen oder logischen Ordnung natürlich fließen, das Bedürfnis nach der komplizierten Terminplanung beseitigend.

Minis und micros

Digital Equipment Corporation (DEC) hat weiter Kosten für serienmäßig hergestellte Minicomputer reduziert, und hat Peripherie in den Speicherbus kartografisch dargestellt, so dass der Eingang und die Produktionsgeräte geschienen sind, Speicherpositionen zu sein. Das wurde in Unibus des PDP-11 1969 durchgeführt.

Frühe Mikrocomputerbussysteme waren im Wesentlichen ein passiver Platineneinschub verbunden direkt oder durch Pufferverstärker zu den Nadeln der Zentraleinheit. Gedächtnis und andere Geräte würden zum Bus mit derselben Adresse und Datennadeln hinzugefügt, wie die selbst verwendete Zentraleinheit, in der Parallele in Verbindung gestanden hat. Kommunikation wurde von der Zentraleinheit kontrolliert, die gelesen und Daten von den Geräten geschrieben hatte, als ob sie Blöcke des Gedächtnisses, mit denselben Instruktionen, alle sind, die durch eine Hauptuhr zeitlich festgelegt sind, die Geschwindigkeit der Zentraleinheit kontrollierend. Und doch, Geräte haben die Zentraleinheit durch die Nachrichtenübermittlung auf getrennten Zentraleinheitsnadeln unterbrochen.

Zum Beispiel würde ein Laufwerk-Kontrolleur der Zentraleinheit Zeichen geben, dass neue Daten bereit waren, gelesen zu werden, an dem Punkt die Zentraleinheit die Daten durch das Lesen der "Speicherposition" bewegen würde, die dem Laufwerk entsprochen hat. Fast alle frühen Mikrocomputer wurden auf diese Mode gebaut, mit dem S-100 Bus in Altair 8800 Computersystem anfangend.

In einigen Beispielen, am meisten namentlich in IBM PC, obwohl ähnliche physische Architektur verwendet werden kann, sind Instruktionen, auf Peripherie (und) und Gedächtnis (und andere) zuzugreifen, gleichförmig überhaupt nicht gemacht worden, und erzeugen noch verschiedene Zentraleinheitssignale, die verwendet werden konnten, um einen getrennten Eingabe/Ausgabe-Bus durchzuführen.

Diese einfachen Bussysteme hatten einen ernsten Nachteil, wenn verwendet, für Mehrzweckcomputer. Die ganze Ausrüstung auf dem Bus muss mit derselben Geschwindigkeit sprechen, wie es eine einzelne Uhr geteilt hat.

Die Erhöhung der Geschwindigkeit der Zentraleinheit wird härter, weil die Geschwindigkeit aller Geräte ebenso zunehmen muss. Wenn es nicht praktisch oder wirtschaftlich ist, um alle Geräte so schnell wie die Zentraleinheit zu haben, muss die Zentraleinheit entweder in einen warten Staat eingehen, oder an einer langsameren Uhr-Frequenz provisorisch arbeiten, um mit anderen Geräten im Computer zu sprechen. Während annehmbar, in eingebetteten Systemen wurde dieses Problem lange in benutzererweiterbaren Mehrzweckcomputern nicht geduldet.

Solche Bussysteme sind auch schwierig, wenn gebaut, von der allgemeinen Standardausrüstung zu konfigurieren. Normalerweise verlangt jede zusätzliche Vergrößerungskarte viele Springer, um Speicheradressen, Eingabe/Ausgabe-Adressen, Unterbrechungsprioritäten und Unterbrechungszahlen zu setzen.

Die zweite Generation

"Die zweite Generation" Bussysteme wie NuBus hat einige dieser Probleme gerichtet. Sie haben normalerweise den Computer in zwei "Welten", die Zentraleinheit und das Gedächtnis auf einer Seite und die verschiedenen Geräte auf dem anderen getrennt. Ein Buskontrolleur hat akzeptiert, dass Daten von der Zentraleinheitsseite zur Peripherie-Seite bewegt wurden, so die Kommunikationsprotokoll-Last von der Zentraleinheit selbst auswechselnd. Das hat der Zentraleinheit und Speicherseite erlaubt, sich getrennt vom Gerät-Bus, oder gerade "Bus" zu entwickeln. Geräte auf dem Bus konnten mit einander ohne Zentraleinheitseingreifen sprechen. Das hat viel besser "zu echter" Weltleistung geführt, sondern auch hat verlangt, dass die Karten viel komplizierter waren. Diese Busse haben auch häufig Geschwindigkeitsprobleme gerichtet, indem sie in Bezug auf die Größe des Datenpfads "größer" gewesen worden ist, sich von parallelen 8-Bit-Bussen in der ersten Generation zu 16 oder 32 Bit im zweiten bewegend, sowie Softwareeinstellung (jetzt standardisiert als Plug-n-play) hinzufügend, um die Trägerkleider zu verdrängen oder zu ersetzen.

Jedoch haben diese neueren Systeme eine Qualität mit ihren früheren Vettern geteilt, darin musste jeder auf dem Bus mit derselben Geschwindigkeit sprechen. Während die Zentraleinheit jetzt isoliert wurde und Geschwindigkeit ohne Angst vergrößern konnte, haben Zentraleinheiten und Gedächtnis fortgesetzt, in der Geschwindigkeit viel schneller zuzunehmen, als die Busse, mit denen sie gesprochen haben. Das Ergebnis bestand darin, dass die Busgeschwindigkeiten jetzt sehr viel langsamer waren als, was ein modernes erforderliches System und die Maschinen gehungert Daten verlassen wurden. Ein besonders allgemeines Beispiel dieses Problems war, dass Videokarten schnell sogar die neueren Bussysteme wie PCI entkommen sind, und Computer begonnen haben, AGP einzuschließen, um gerade die Videokarte zu steuern. Vor 2004 wurde AGP wieder durch Videokarten des hohen Endes und andere Peripherie entwachsen und ist durch den neuen PCI-Schnellzug-Bus ersetzt worden.

Eine steigende Zahl von Außengeräten hat angefangen, ihre eigenen Bussysteme ebenso zu verwenden. Als Laufwerke zuerst eingeführt wurden, würden sie zur Maschine mit einer Karte hinzugefügt, die in den Bus eingesteckt ist, der ist, warum Computer so viele Ablagefächer auf dem Bus haben. Aber im Laufe der 1980er Jahre und der 1990er Jahre wurden neue Systeme wie SCSI und IDE eingeführt, um diesem Bedürfnis zu dienen, die meisten Ablagefächer in modernen Systemen leer verlassend. Heute wird es wahrscheinlich ungefähr fünf verschiedene Busse in der typischen Maschine geben, verschiedene Geräte unterstützend.

Die dritte Generation

"Die dritte Generation" Busse ist in den Markt ungefähr seit 2001, einschließlich HyperTransport und InfiniBand erschienen. Sie neigen auch dazu, in Bezug auf ihre physischen Verbindungen sehr flexibel zu sein, ihnen erlaubend, beide als innere Busse verwendet zu werden, sowie verschiedene Maschinen zusammen verbindend. Das kann zu komplizierten Problemen führen, wenn es versucht, verschiedene Bitten zu bedienen, so viel von der Arbeit an diesen Systemen betrifft Softwaredesign im Vergleich mit der Hardware selbst. Im Allgemeinen neigen diese dritten Generationsbusse dazu, mehr einem Netz ähnlich zu sein, als das ursprüngliche Konzept eines Busses mit einem höheren Protokoll, das oben erforderlich ist als frühe Systeme, während es auch vielfachen Geräten erlaubt, den Bus sofort zu verwenden.

Busse wie Gabelbein sind durch die offene Quellhardware-Bewegung in einem Versuch entwickelt worden, weiter gesetzliche und offene Einschränkungen vom Computerdesign zu entfernen.

Beispiele von inneren Computerbussen

Parallele

Serien-

  • 1 Leitung
  • HyperTransport
  • I²C
  • PCI Schnellzug oder PCIe
  • Serien-ATA (SATA)
  • Peripherischer Serienschnittstelle-Bus oder SPI Bus
  • UNI/O
  • SMBus

Beispiele von Außencomputerbussen

Parallele

  • HIPPI hohe Leistungsparallele verbinden
  • IEEE-488 (auch bekannt als GPIB, Mehrzweckbus, und HPIB, Instrumentierungsbus von Hewlett Packard)
  • PC-Karte, vorher bekannt als PCMCIA, der viel in Laptops und anderem portables verwendet ist, aber mit der Einführung von USB und eingebautem Netz und Modemverbindungen verwelkend

Serien-

  • USB Universaler Serienbus, der für eine Vielfalt von Außengeräten verwendet ist
  • Kontrolleur-Bereichsnetz ("KANN Bus")
  • EIA-485
  • eSATA
  • IEEE 1394-Schnittstelle (FireWire)

Beispiele von inneren/äußerlichen Computerbussen

  • Futurebus
  • InfiniBand
  • QuickRing
  • Scalable Coherent Interface (SCI)
  • SCSI Kleine Computersystemschnittstelle, Platte/Band peripherischer Verhaftungsbus
  • Serial Attached SCSI (SAS) und andere SCSI Serienbusse
  • Yapbus, ein Eigentumsbus hat sich für den Pixar Bildcomputer entwickelt

Siehe auch

  • Adressbus
  • Busstreit
  • Kontrollbus
  • Vergrößerungsbus
  • Vorderseite-Bus (FSB)
  • External Bus Interface (EBI)
  • Architektur von Harvard
  • Netz auf dem Span
  • Liste der Gerät-Bandbreite

Außenverbindungen


Kapitelsaal: Düne / Cadillac (Begriffserklärung)
Impressum & Datenschutz