Die Micro Channel Architektur wurde von dem Ingenieur Chet Heath entworfen. Viele der entwickelten Micro-Channel-Karten verwendeten den CHIPS P82C612 MCA-Schnittstellencontroller, wodurch MCA-Implementierungen sehr viel einfacher wurden.
ÜbersichtBearbeiten
Der Micro Channel war in erster Linie ein 32-Bit-Bus, aber das System unterstützte auch einen 16-Bit-Modus, der entwickelt wurde, um die Kosten für Anschlüsse und Logik in Intel-basierten Maschinen wie dem IBM PS/2 zu senken.
Die Situation war jedoch nie so einfach, da sowohl die 32-Bit- als auch die 16-Bit-Version anfangs über eine Reihe zusätzlicher optionaler Anschlüsse für Speicherkarten verfügten, was zu einer großen Anzahl physisch inkompatibler Karten für den an den Bus angeschlossenen Speicher führte. Mit der Zeit wurde der Speicher auf den lokalen Bus der CPU verlagert, wodurch das Problem beseitigt wurde. Auf der anderen Seite wurde die Signalqualität erheblich verbessert, da Micro Channel Masse- und Stromversorgungspins hinzufügte und die Pins so anordnete, dass Interferenzen minimiert wurden; eine Masse oder eine Versorgung befand sich dadurch innerhalb von 3 Pins jedes Signals.
Eine weitere Steckererweiterung war für Grafikkarten vorgesehen. Diese Erweiterung wurde für die analoge Ausgabe der Grafikkarte verwendet, die dann durch die Systemplatine zum systemeigenen Monitorausgang geleitet wurde. Dies hatte den Vorteil, dass Micro Channel-Systemplatinen ein einfaches VGA- oder MCGA-Grafiksystem an Bord haben konnten und höherwertige Grafiken (XGA- oder andere Beschleunigerkarten) denselben Anschluss nutzen konnten. Die Add-on-Karten waren dann in der Lage, frei von „Legacy“-VGA-Modi zu sein, das On-Board-Grafiksystem bei Bedarf zu nutzen und einen einzigen Systemplatinenanschluss für aufrüstbare Grafikkarten zu ermöglichen.
Micro Channel-Karten verfügten außerdem über eine eindeutige, softwarelesbare 16-Bit-ID, die die Grundlage für ein frühes Plug-and-Play-System bildete. Das BIOS und/oder das Betriebssystem können die IDs lesen, mit einer Liste bekannter Karten vergleichen und die automatische Systemkonfiguration entsprechend vornehmen. Dies führte zu Bootfehlern, bei denen ein älteres BIOS eine neuere Karte nicht erkannte und einen Fehler beim Start verursachte. Dies wiederum machte es erforderlich, dass IBM regelmäßig aktualisierte Referenzdisketten (The CMOS Setup Utility) herausgab. Eine ziemlich vollständige Liste der bekannten IDs ist verfügbar (siehe Abschnitt Externe Links). Zu diesen Referenzdisketten gehörten ADF-Dateien, die von Setup gelesen wurden und die wiederum Konfigurationsinformationen für die Karte lieferten. Das ADF war eine einfache Textdatei, die Informationen über die Speicheradressierung und die Interrupts der Karte enthielt.
Obwohl MCA-Karten fast doppelt so teuer waren wie vergleichbare Nicht-MCA-Karten, betonte das Marketing, dass es für jeden Benutzer einfach war, seinen PC aufzurüsten oder weitere Karten hinzuzufügen und so die beträchtlichen Kosten für einen Techniker zu sparen. In diesem kritischen Bereich war der größte Vorteil der Micro-Channel-Architektur auch ihr größter Nachteil und einer der Hauptgründe für ihren Niedergang. Um eine neue Karte (Video, Drucker, Speicher, Netzwerk, Modem usw.) hinzuzufügen, steckte der Benutzer einfach die MCA-Karte ein und legte eine angepasste Diskette ein (die mit dem PC geliefert wurde), um die neue Karte automatisch in die ursprüngliche Hardware einzubinden, anstatt einen teuer ausgebildeten Techniker hinzuzuziehen, der alle erforderlichen Änderungen manuell vornehmen konnte. Alle Einstellungen für Interrupts (ein oft verwirrendes Problem) und andere Änderungen wurden automatisch durchgeführt, indem der PC die alte Konfiguration von der Diskette las, die notwendigen Änderungen in der Software vornahm und dann die neue Konfiguration auf die Diskette schrieb. In der Praxis bedeutete dies jedoch, dass der Benutzer dieselbe Diskette für diesen PC behalten musste. Für ein kleines Unternehmen mit einigen wenigen PCs war dies zwar ärgerlich, aber praktisch. Für große Unternehmen mit Hunderten oder gar Tausenden von PCs war es jedoch logistisch unwahrscheinlich oder unmöglich, jedem PC eine eigene Diskette zuzuordnen. Ohne die ursprüngliche, aktualisierte Diskette konnten keine Änderungen an den Karten des PCs vorgenommen werden. Nachdem sich diese Erfahrung tausende Male wiederholt hatte, erkannten die Verantwortlichen in den Unternehmen, dass ihr Traumszenario für die Einfachheit von Upgrades in der Unternehmenswelt nicht funktionierte, und sie suchten nach einem besseren Verfahren.
DatenübertragungBearbeiten
Die grundlegende Datenrate des Micro Channel wurde von den 8 MHz des ISA auf 10 MHz erhöht. Dies mag eine bescheidene Erhöhung der Taktrate gewesen sein, aber die größere Busbreite, gekoppelt mit einem speziellen Bus-Controller, der Burst-Mode-Übertragungen nutzte, bedeutete, dass der effektive Durchsatz bis zu fünfmal höher war als bei ISA. Für schnellere Übertragungen konnte der Adressbus für Daten wiederverwendet werden, was die effektive Breite des Busses weiter erhöhte. Während der 10-MHz-Takt einen Durchsatz von 40 MB/s bei 32-Bit-Breite ermöglichte, erhöhten spätere Modelle der RS/6000-Maschinen den Datentakt auf 20 MHz und den Durchsatz auf 80 MB/s. Einige Funktionen des Micro-Channel-Busses mit höherem Durchsatz standen nur der RS/6000-Plattform zur Verfügung und wurden anfänglich von Karten, die auf einer Intel-Plattform betrieben wurden, nicht unterstützt.
Mit Bus-Mastering konnte jede Karte direkt mit einer anderen kommunizieren. Dies ermöglichte eine Leistung, die unabhängig von der CPU war. Ein potenzieller Nachteil des Multi-Master-Designs waren mögliche Kollisionen, wenn mehr als eine Karte versuchte, den Bus zu beherrschen, aber Micro Channel enthielt eine Arbitrierungsfunktion, um diese Situationen zu korrigieren, und erlaubte einem Master auch, einen Burst-Modus zu verwenden. Micro Channel-Karten hatten bis zu 12 Millisekunden lang die volle Kontrolle. Diese Zeitspanne reichte aus, um der maximalen Anzahl anderer Geräte auf dem Bus die Möglichkeit zu geben, eingehende Daten von überlaufenden Geräten wie Band- und Kommunikationsgeräten zu puffern.
Die Unterstützung mehrerer Bus-Master und die verbesserte Arbitrierung bedeuten, dass mehrere solcher Geräte nebeneinander bestehen und sich den Systembus teilen können. Micro Channel Bus-Master-fähige Geräte können den Bus sogar nutzen, um direkt miteinander zu kommunizieren (Peer-to-Peer), und zwar mit Geschwindigkeiten, die höher sind als die der System-CPU, ohne dass ein weiteres System eingreifen muss. Theoretisch können Systeme mit Micro Channel-Architektur wie Mainframes nur durch Hinzufügen intelligenter Master erweitert werden, ohne dass der Zentralprozessor regelmäßig aufgerüstet werden muss.
Die Verbesserung der Arbitrierung sorgt für einen besseren Systemdurchsatz, da die Steuerung effizienter übergeben wird. Die erweiterte Interrupt-Behandlung bezieht sich auf die Verwendung von pegelabhängigen Interrupts zur Bearbeitung von Systemanforderungen. Statt einer dedizierten Interrupt-Leitung können mehrere Leitungen gemeinsam genutzt werden, um mehr mögliche Interrupts bereitzustellen und so die Probleme mit den ISA-Bus-Interrupt-Leitungskonflikten zu lösen.
Alle Interrupt-Anforderungssignale waren bei der Micro-Channel-Architektur „öffentlich“, so dass jede Karte am Bus als E/A-Prozessor für die direkte Bearbeitung von E/A-Geräte-Interrupts fungieren konnte. Bei der ISA-Architektur war diese Art der Verarbeitung nur der CPU des Systems vorbehalten. Ebenso waren die Anforderungs- und Bewilligungssignale des Busmasters öffentlich, so dass am Bus angeschlossene Geräte die Latenz überwachen konnten, um die interne Pufferung für E/A-Prozessoren zu steuern. Diese Funktionen wurden für PCI nicht übernommen, so dass die gesamte E/A-Unterstützung ausschließlich durch den Prozessor der Systemplatine erfolgen musste.
Die letzte große Verbesserung der Micro Channel-Architektur war POS, die Programmable Option Select, die es ermöglichte, alle Einstellungen in Software vorzunehmen. Diese Funktion wird heute als selbstverständlich angesehen, aber zu jener Zeit war das Setup für ISA-Systeme eine große Herausforderung. POS war ein einfaches System, das Geräte-IDs in der Firmware enthielt, die von den Treibern im Computer interpretiert werden sollten. (Diese Art von Software-Konfigurationssystem ist heute als Plug-and-Play bekannt.) Die Funktion hielt nicht wirklich, was sie versprach; Die automatische Konfiguration war in Ordnung, wenn sie funktionierte, aber häufig funktionierte sie nicht – was zu einem nicht startfähigen Computer führte – und die Lösung des Problems durch manuelle Eingriffe war viel schwieriger als die Konfiguration eines ISA-Systems, nicht zuletzt, weil die Dokumentation für das MCA-Gerät dazu neigte, davon auszugehen, dass die automatische Konfiguration funktionieren würde, und daher nicht die notwendigen Informationen zur manuellen Einrichtung lieferte, im Gegensatz zur ISA-Gerätedokumentation, die notwendigerweise alle Details enthielt (allerdings machte es keinen Spaß, alle IRQ-Einstellungen physisch zu entfernen und zu überprüfen und dann den neuen IRQ für ein neues Gerät zu finden und einzustellen – falls ein passender verfügbar war – für ISA, was viele Benutzer überforderte…. es ist offensichtlich, warum der Versuch unternommen wurde, zu einer software-arbitrierten Konfiguration überzugehen, und warum dies später in Form von PnP erfolgreich war)