CBM-Bus

CBM-Bus

Der CBM-Bus ist ein von Commodore für ihre Heimcomputer-Serie entwickelter serieller Bus.

Er ist eine proprietäre serielle Variante des IEEE-488-Busses und dient zum Anschließen von Peripheriegeräten (hauptsächlich Diskettenlaufwerke und Drucker). Der Bus fand sich in den 6502-basierten Commodore-Heimcomputern vom VC-20 bis zum C128, während die professionellen PET/CBM-Rechner den parallelen IEEE-488-Bus verwendeten. Die Rechner der Commodore-Amiga-Serie verwendeten keinen derartigen Bus.

Der CBM-Bus wurde in der Literatur der 1980er-Jahre oft auch als (serieller) IEC-Bus bezeichnet. Dies ist aber nicht korrekt, da der CBM-Bus nicht durch die International Electrotechnical Commission standardisiert war.

Inhaltsverzeichnis

Kennzeichnung

Im Unterschied zu IEEE 488 (amerikanisch) oder dem IEC-625-Bus (international) erfolgt die Datenübertragung beim CBM-Bus seriell. Dadurch werden weniger Signalleitungen erforderlich, so dass Einsparungen bei den Ein/Ausgabe-Chips als auch an den Kabeln und den zugehörigen Steckverbindern möglich wurden. Zusätzlich werden beim CBM-Bus einige Funktionen, für die bei IEEE 488 eigene Steuerleitungen vorgesehen sind, als speziell formatierte Dateninhalte über die normale Datenleitung übertragen. Letztlich werden somit nur 5 statt der 24 Leitungen des IEEE-488-Standardsteckers gebraucht. Das Busprotokoll ist aber bei beiden Bussen sehr ähnlich.

Anzahl der nutzbaren Geräte

Theoretisch können bis zu 31 Geräte angeschlossen werden (wobei jedes Gerät ab dem zweiten kettenartig an das jeweils vorige angeschlossen wird), das Betriebssystem nutzte davon 27 Geräteadressen (4 bis 30, 31 ist für untalk/unlisten reserviert) aus. Praktisch liegt die Obergrenze jedoch bei etwa 8 Geräten, was sich aus der möglichen Stromstärke der Ausgangstreiber-Bausteine und dem Strombedarf der Eingangstreiber ergibt. Die Anzahl war üblicherweise völlig ausreichend.

Üblicherweise wurden die Adressen 4 und 5 für Drucker verwendet, 6 für Plotter, und 8 bis 11 für Laufwerke. Diese Zuordnung ist dem Computer selbst jedoch nicht bekannt; so war es etwa durchaus möglich, den Computer anzuweisen, ein Programm auf den Drucker zu "speichern", was zum Ausdruck eines "Zeichensalats" führte.

Die Nummern 0 bis 3 waren für "unintelligente" Peripheriegeräte ohne eigene CPU reserviert, die nicht über den CBM-Bus angeschlossen wurden: 0 für die Tastatur, 1 für die Datasette, 2 für Modems und andere über RS-232 angeschlossene Geräte und 3 für den Bildschirm. Das Betriebssystem sendet daher diese Gerätenummern nicht auf den Bus, sondern verwendet die jeweiligen internen Zugriffsroutinen.

Steuerchip MOS 6522

Erkauft wird der Preisvorteil des seriellen Aufbaus durch eine stark verringerte Übertragungsgeschwindigkeit. Da der verwendete Steuerchip MOS Technology VIA (MOS 6522) sich kurz vor dem Verkaufsstart des VC-20 als fehlerhaft in der Serialisierungs- und Parallelisierungseinheit herausstellte, musste diese Aufgabe durch eine in kürzester Zeit "zusammengeflickte" und suboptimal programmierte Firmware vom Prozessor übernommen werden, wodurch die Geschwindigkeit nochmals stark absank. Durch den kleinen Speicher dieses Rechners und die dementsprechend geringe Größe seiner Programme fiel die niedrige Ladegeschwindigkeit jedoch beim VC-20 noch nicht so stark ins Gewicht. Für damalige Drucker ist die Geschwindigkeit ohnehin mehr als ausreichend.

Steuerchip MOS CIA

Obwohl der C64, im Unterschied zum VC-20, die in dieser Hinsicht fehlerfreien CIA-Chips (MOS 6526) verwendete, wurde aus Gründen der Rückwärtskompatibilität zum VC-20 und zu dessen Floppy VC1540, von der noch große Lagerbestände vorhanden waren, weiter die suboptimale Softwareversion des Busses verwendet. Auch wurde im speziell für den C64 geschaffenen Diskettenlaufwerk VC1541 weiterhin nicht der CIA, sondern der billigere, aber fehlerhafte VIA-6522-Chip verbaut. Da beim C64, anders als beim VC-20, der Prozessor vom Videochip einmal je Textzeile für jeweils 40 Taktzyklen angehalten wird, musste die Busgeschwindigkeit im Vergleich zum VC-20 sogar noch weiter abgesenkt werden, damit der C64 während dieses Haltezustandes kein Bit verpassen konnte. Im Zusammenhang mit dem sehr viel größeren Speicher dieses Rechners stiegen die Ladezeiten für umfangreiche Programme in den Bereich mehrerer Minuten an.

Turbotreiber

So wurden diverse externe Turbo-Lösungen zur schnellen Floppy-Ansteuerung beim C64 über seine CIA-Chips populär. Diese verwenden entweder zusätzliche Hardware (Parallelkabel) oder stark optimierte Busprotokolle auf der vorhandenen Hardware, wobei gleichzeitig die GCR-Dekodierung der Daten, die Datenflusskontrolle und die softwaremäßige Serialisierung und Deserialisierung verbessert waren. Indem bei diesen sogenannten Schnell-Ladern stets der Computer, statt dem jeweils sendenden Partner, den Bustakt vorgab, entfiel auch das Problem der im Haltezustand verpassten Bits.

Die meisten kommerziellen Programme verwendeten eine Vorgehensweise, bei der zunächst ein kleines Beschleunigerprogramm mit der Standardmethode geladen wurde, welches dann in den RAM-Speicher von Computer und Laufwerk zueinander passende Routinen zum schnelleren Busbetrieb ablegte. Anschließend konnte das eigentlich gewünschte Programm mit hoher Geschwindigkeit geladen werden. Da viele Programme sich nur durch den Reset des Computers beenden ließen, musste das Beschleunigerprogramm häufig neu geladen werden, was zusammen mit dem Diskettenwechsel den Zeitvorteil deutlich reduzierte.

Es gab auch Dauerlösungen, die auch bei eigenen Programmen ohne weitere Arbeit ein schnelles Laden ermöglichten. Oft waren diese in Form eines Steckmoduls für den Computer realisiert; dies enthielt direkt die computerseitige Routine für den schnellen Busbetrieb, während die laufwerksseitige Routine jeweils vor dem Laden automatisch an das Laufwerk übermittelt wurde. Andere Lösungen verwendeten auf beiden Seiten um entsprechende Routinen erweiterte ROMs, welche direkt in Computer und Laufwerk eingebaut wurden, und teilweise zusätzlich ein paralleles Kabel zwischen dem Userport des Rechners und einigen ansonsten ungenutzten Pins eines Chips im Laufwerk. Laufwerksseitig wurde meist ein zusätzlicher DIP-Sockel mit angelötetem Kabel unter diesen Chip eingebaut, zusätzlich musste eine Öffnung in das Laufwerksgehäuse geschnitten werden, um das Kabel hindurchzuführen. Diese Lösungen waren aufwendiger, erreichten aber die beste Leistung. Gängige Hardware-Lösungen waren z. B. SpeedDOS und DolphinDOS.

Frühe Schnell-Lader erreichten ca. fünffache Ladegeschwindigkeiten, raffiniertere spätere Varianten schafften bis zum 25- oder 30-fachen der normalen Geschwindigkeit.

Der schnelle CBM-Bus auf dem C128

Erst auf dem C128 wurde endlich die lange geplante hardwaremäßige Serialisierung genutzt und somit die Busgeschwindigkeit bereits ab Werk auf einen erträglichen Wert gesteigert. Voraussetzung ist die Verwendung der speziellen C128-Laufwerke VC1570, VC1571 oder VC1581, da bei diesen auch auf Laufwerksseite der fehlerfreie CIA-Chip zum Einsatz kommt.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • CBM-Diskettenlaufwerke — CBM 4031, CBM 4040, CBM 8050 Die Commodore Rechner der Serien PET 2001 bis CBM 8000 hatten keinerlei Diskettenlaufwerke eingebaut (einzige Ausnahme: CBM 8296D, ein 8296 plus 8250LP, s. u.). Jedoch konnten externe Laufwerke über den …   Deutsch Wikipedia

  • CBM-8000-Serie — CBM 4032 (Gehäuseform identisch mit CBM 8032) …   Deutsch Wikipedia

  • CBM-II — CBM 610 Die Computer der CBM 600 Serie sind Mikrocomputer bzw. Personalcomputer aus den frühen 1980er Jahren, aus der Zeit kurz nach Einführung des IBM PC. Sie arbeiten intern mit einem 8 Bit Mikroprozessor der IBM PC kam hingegen 1981 als 16 Bit …   Deutsch Wikipedia

  • CBM-600-Serie — Hersteller Commodore …   Deutsch Wikipedia

  • CBM-3000-Serie — CBM 3008 Platine des CBM 3008 Die 3 …   Deutsch Wikipedia

  • CBM-4000-Serie — CBM 4016 (THIN Version) CBM 4016 (FAT Version) Die 4000er Serie ist die …   Deutsch Wikipedia

  • CBM (compagnie) — Un autobus CBM au Mans en 1986 CBM (à l origine Car et Bus du Mans, Car et Bus Maintenance depuis 1987 et réorganisation d activité) est un ancien constructeur français de bus et cars, aujourd hui reconverti dans la diffusion de pièces détachées …   Wikipédia en Français

  • CBM-700-Serie — Commodore CBM 710 Die Arbeitsplatzrechner der CBM 700 Serie von Commodore wurden Anfang der 1980er Jahre auf den Markt gebracht. Den Erfolg der Heimcomputer von Commodore (VC20, C64) nach oben abrundend und mit bequemerer BASIC Programmiersprache …   Deutsch Wikipedia

  • CBM-500-Serie — Die Computer von Commodore aus der CBM 500 Serie wurden zum Ende der 1970er Jahre konzipiert. Sie waren als Nachfolger der erfolgreichen PET Computer ( Personal Electronic Transactor ) gedacht. (Der Begriff PC / Personal Computer war zu jener… …   Deutsch Wikipedia

  • CBM 900 — Der CBM 900 war ein Computersystem von Commodore, welches als Server und Workstationvariante Anfang der 1980er Jahre entwickelt, aber nie in Serie produziert wurde. Als CPU wurde ein Zilog Z8001 mit 10 MHz verwendet, sowie der Hauptspeicher mit… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”