DE69738530T2 - Erweiterungskartenadressraumreservierung - Google Patents

Erweiterungskartenadressraumreservierung Download PDF

Info

Publication number
DE69738530T2
DE69738530T2 DE69738530T DE69738530T DE69738530T2 DE 69738530 T2 DE69738530 T2 DE 69738530T2 DE 69738530 T DE69738530 T DE 69738530T DE 69738530 T DE69738530 T DE 69738530T DE 69738530 T2 DE69738530 T2 DE 69738530T2
Authority
DE
Germany
Prior art keywords
bus
slot
signal
pci
signals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69738530T
Other languages
English (en)
Other versions
DE69738530D1 (de
Inventor
Darren J. Tomball Cepulis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of DE69738530D1 publication Critical patent/DE69738530D1/de
Application granted granted Critical
Publication of DE69738530T2 publication Critical patent/DE69738530T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Description

  • Die Erfindung betrifft das Reservieren von Raum für Erweiterungskarten.
  • Wenn ein Computersystem 1203 mit einer Architektur mit einem Peripheral Component Interconnect (PCI) Bus hochfährt, lokalisiert eine zentrale Verarbeitungseinheit (CPU) 1207 PCI-Busse 1217 und PCI-Vorrichtungen (beispielsweise PCI-PCI-Brückenschaltungen 1215) des Computersystems 1203 und bestimmt den Typ jeder PCI-Vorrichtung. Die PCI-Vorrichtung spricht erst dann auf Speicherraum- und Eingabe-/Ausgabe (I/O)-Raumadressierung auf ihrem PCI-Bus 1217 an, wenn der Konfigurationsraum der PCI-Vorrichtung durch die CPU 1207 über Konfigurationszyklen programmiert wird, die einen PCI-Vorrichtungs-Kennungssatz zum Adressieren der PCI-Vorrichtung verwenden.
  • Der PCI-Vorrichtungs-Kennungssatz identifiziert eindeutig jede PCI-Vorrichtung und enthält eine eindeutige ganzzahlige Bus-Nummer (die den PCI-Bus 1217 identifiziert, mit dem die PCI-Vorrichtung verbunden ist) sowie eine ganzzahlige Vorrichtungs-Nummer. Die Vorrichtungs-Nummern sind eindeutig PCI-Vorrichtungen zugeordnet, die mit einem gemeinsamen PCI-bus 1217 gekoppelt sind. Der PCI-Vorrichtungs-Kennungssatz enthält des Weiteren eine ganzzahling Funktions-Nummer, die verwendet wird, um PCI-Funktionen der PCI-Vorrichtung zu adressieren.
  • Die CPU 1207 lokalisiert PCI-Busse 1217 und -Vorrichtungen beim Hochfahren durch Abtasten oder "Durchlaufen" (walking) des Computersystems 1203. Die CPU 1207 weist die eindeutige Bus-Nummer jedem PCI-Bus 1217 zu, der während des Abtastens des Computersystems 1203 gefunden wird. Die CPU 1207 weist Speicher- und I/O-Raum für jede PCI-Vorrichtung zu und programmiert unter Verwendung der Konfigurationszyklen den Konfigurationsraum jeder PCI-Vorrichtung mit den Adressen des für die PCI-Vorrichtung zugeordneten Speicher- und I/O-Raums. Wenn die Konfigurationszyklen abgeschlossen sind, kann dann jeder PCI-Vorrichtung I/O- und/oder Speicher-Raum zugewiesen werden, und jede PCI-Vorrichtung spricht dann dementsprechend auf Speicherraum- und I/O-Raum-Buszyklen an.
  • Die Nummerierung der PCI-Buss 1217 bildet einen hierarchischen Baum 1205. Dem primären PCI-Bus 1217a, d. h. dem, der sich am nächsten an der CPU 1207 befindet, einem anderen PCI-Bus 1217 befindet (d. h., in PCI-PCI-Brückenschaltungen 1215 gemessen weiter von der CPU 1207 entfernt), muss eine höhere Bus-Nummer haben als der PCI-Bus, der sich weiter vorn befindet (d. h., in PCI-PCI-Brückenschaltungen 1215 gemessen, näher an der PCU 1207).
  • GB 2202348 offenbart ein Computersystem mit Erweiterungssteckplätzen an einem Motherboard. Leiterplatten sind so eingerichtet, dass sie in die Steckplätze bzw. Schlitze passen und mit einem Bus verbunden werden. Jeder Steckplatz weist eine separate Identifizierungsleitungseinrichtung auf, die den Steckplatz mit einer Identifizierungsnummer versieht. Jedem Steckplatz wird ein vordefinierter Adresscodebereich in einem System mit Speicherbereichszuordnung (memory mapped system) verliehen.
  • In "PCI System Architecture" von Shanley and Anderson, November 1995, wird die Verwendung von Bus-Kennungen zum Zuweisen von Adressen erörtert.
  • Im Allgemeinen stellt die Erfindung in einem Aspekt ein Verfahren zur Anwendung in einem Computersystem mit Bussen dar, die durch Bus-Kennungen identifizierbar sind und einen Erweiterungskarten-Steckplatz aufweisen, der fähig ist, an einen der Busse angeschleisen zu werden und der eine Erweiterungskarte aufnehmen kann. Das Verfahren schließt Zuordnen der Bus-Kennungen zu den Bussen entsprechend einer Zuordnungs- bzw. Zuweisungsreihenfolge, Bestimmen, ob eine Erweiterungskarte vorhanden ist, auf die über den Steckplatz zugegriffen werden kann, und falls nicht, Reservieren wenigstens einer der Bus-Kennungen für den Steckplatz in Übereinstimmung mit der Zuweisungsreihenfolge ein.
  • Ausführungen der Erfindung können einen oder mehrere der folgenden Punkte einschließen. Auf die Erweiterungskarte kann nicht zugegriffen werden, da der Steckplatz von dem Bus (beispielsweise einem PCI-Bus) getrennt ist, oder sie nicht in den Steckplatz eingeführt ist. Das Bestimmen kann einschließen, dass bestimmt wird, ob Kommunikation mit einer Busvorrichtung auf der Karte möglich ist. Das Verfahren kann einschießen, dass zu einem späteren Zeitpunkt bestimmt wird, ob eine Karte vorhanden ist, die über den Steckplatz zugänglich geworden ist, und wenn dies der Fall ist, einem Bus auf der Karte eine reservierte Bus-Kennung zugewiesen wird. Das Verfahren kann einschließen, dass ein zusätzlicher Bus auf der Erweiterungskarte gefunden wird, wenn auf die Karte zugegriffen werden kann, und eine der Bus-Kennungen dem zusätzlichen Bus entsprechend der Zuweisungsreihenfolge zugeordnet wird. Das Verfahren kann Programmieren eines griffen werden kann, und eine der Bus-Kennungen dem zusätzlichen Bus entsprechend der Zuweisungsreihenfolge zugeordnet wird. Das Verfahren kann Programmieren eines Konfigurations-Speicherraums einer Brückenschaltung einschließen, die den zusätzlichen Bus mit dem Bus verbindet, der mit dem Steckplatz verbunden ist. Das Verfahren kann einschließen, dass Speicherplatz für den Steckplatz reserviert wird, wenn auf die Erweiterungskarte nicht zugegriffen werden kann. Das Verfahren kann einschließen, dass zu einer späteren Zeit bestimmt wird, ob eine Karte vorhanden ist, die über den Steckplatz zugänglich geworden ist, und, wenn dies der Fall ist, Speicherraum oder I/O-Raum für den Schlitz in dem reservierten Speicherraum und/oder I/O-Raum für den Steckplatz zugeordnet wird. Das Verfahren kann einschließen, dass I/O-Raum für den Steckplatz reserviert wird, wenn auf die Erweiterungskarte nicht zugegriffen werden kann. Das Bestimmen kann bei anfänglicher Konfiguration des Computersystems stattfinden.
  • Im Allgemeinen stellt die Erfindung in einem weiteren Aspekt ein Computersystem dar, das Busse, die durch Bus-Kennungen identifiziert werden können, und einen Erweiterungskarten-Steckplatz aufweist, der eine Erweiterungskarte aufnehmen kann und mit einem der Busse verbunden werden kann. Das Computersystem weist einen Mikroprozessor und einen Speicher auf, mit dem der Mikroprozessor so konfiguriert wird, dass er die Bus-Kennungen den Bussen entsprechend einer Zuweisungsreihenfolge zuordnet, bestimmt, ob eine Erweiterungskarte vorhanden ist, auf die über den Steckplatz zugegriffen werden kann, und, falls nicht, wenigstens eine der Bus-Kennungen für den Steckplatz in Übereinstimmung mit der Zuweisungsreihenfolge reserviert.
  • Zu den Vorteilen der Erfindung gehören einer oder mehrere der im Folgenden Aufgeführten. PCI-PCI-Brückenschaltungen des Computersystems müssen nicht neu konfiguriert werden, wenn eine Erweiterungskarte mit einem zusätzlichen PCI-Bus in das Computersystem eingeführt wird, das bereits hochgefahren ist. Es müssen keine neuen PCI-Bus-Nummern zugeordnet oder neu zugewiesen werden, wenn eine Erweiterungskarte mit einem zusätzlichen PCI-Bus in das Computersystem eingeführt wird, das bereits hochgefahren ist. Beim Hochfahren des Computersystems werden Speicher- und I/O-Raum für eine Erweiterungskarte reserviert, die noch in das Computersystem einzuführen ist. Das Computersystem, das hochgefahren ist, muß nicht heruntergefahren oder neu konfiguriert werden, wenn eine Erweiterungskarte eingeführt wird.
  • Andere Vorteile und Merkmale werden aus der nachfolgenden Beschreibung und aus den Zeichnungen ersichtlich werden, in denen:
  • 1 zeigt ein Blockdiagramm eines Computersystems.
  • 2 zeigt ein Blockdiagramm eines Erweiterungskastens des Computersystems der 1.
  • 3 zeigt ein Blockdiagramm der Brücken-Chips in dem Computersystem.
  • 4 zeigt ein Blockdiagramm eines Taktgenerators in jedem der Brücken-Chips.
  • 5 zeigt ein Blockdiagramm eines Computersystems mit Mehrfach-Schichten von Bussen.
  • 6A zeigt eine Seitenansicht einer Erweiterungskarte, eingesetzt in einen Schlitz.
  • 6B6C zeigen schematische Diagramme einer Hebel-Schaltung.
  • 710 zeigen schematische Diagramme einer Schaltung des Erweiterungskastens.
  • 11A zeigt ein Zustandsdiagramm von der Schaltung des Erweiterungskastens.
  • 11B zeigt Wellenformen für die Schaltung des Erweiterungskastens.
  • 12A zeigt ein schematisches Diagramm einer Schaltung des Erweiterungskastens.
  • 12B zeigt Wellenformen für die Schaltung des Erweiterungskastens.
  • 12C12H zeigen ein Zustandsdiagramm von der Schaltung des Erweiterungskastens.
  • 13 zeigt ein schematisches Diagramm einer Schaltung des Erweiterungskastens.
  • 14A zeigt ein Zustandsdiagramm von der Schaltung des Erweiterungskastens.
  • 14B zeigt Wellenformen von der Schaltung des Erweiterungskastens.
  • 15 zeigt ein schematisches Diagramm einer Schaltung des Erweiterungskastens.
  • 16 zeigt ein Flußdiagramm eines Programms zum Zuordnen einer Bus-Zahl zu einem eingeschalteten oder leeren Schlitz.
  • 17 zeigt ein Flußdiagramm eines Programms zum Zuordnen von Speicherraum für das Computersystem.
  • 18 zeigt ein Flußdiagramm eines Programms zum Zuordnen eines I/O-Raums für das Computersystem.
  • 19 zeigt ein Flußdiagramm eines Programms zum Handhaben einer neu eingeschalteten Karte.
  • 20 zeigt ein Blockdiagramm eines Konfigurationsraums für eine PCI-Brückenschaltung.
  • 21A zeigt ein Blockdiagramm eines Computersystems.
  • 21B zeigt einen Bus-Zahl-Zuordnungs-Baum.
  • 22 zeigt ein Blockdiagramm, das Konfigurations-Transaktionen vom Typ 0 und Typ 1 darstellt.
  • 23 zeigt eine Tabelle, die eine Auflistung einer Adresse von einem primären Bus zu einem sekundären Bus aufweist.
  • 24A und 24B zeigen ein logisches Diagramm einer Schaltung zum Handhaben von Konfigurations-Zyklen vom Typ 0 und Typ 1.
  • ÜBERSICHT
  • In der folgenden Beschreibung geben alle Signal-Mnemoniken, gefolgt durch ein "#", "_" oder "!", oder diesen vorausgehend, invertierte, logische Zustände an.
  • Wie in 1 dargestellt ist, umfasst ein Computersystem 10 einen primären PCI-Bus 24, der mit einem Brücken-Chip 26a und einem Brücken-Chip 26b verbunden ist, wobei beide davon von einem gemeinsamen Design 26 sind. Der Brücken-Chip 26a ist mit einem Brücken-Chip 48a über ein Kabel 31 verbunden und der Brücken-Chip 26b ist mit dem Brücken-Chip 48b über ein Kabel 28 verbunden. Die Brücken-Chips 48a und 48b sind von einem gemeinsamen Design 48, was gemeinsam zu dem Design 26 ist, mit der Ausnahme, das das Design 26 ein eingangsseitiger Mode ist und das Design 48 ein ausgangsseitiger Mode ist.
  • Der PCI-Bus 24 ist mit einem lokalen Bus 22 über eine System-Steuereinheit/Host-Brücken-Schaltung 28 schnittstellenmäßig verbunden. Die Systemsteuereinheit/Host-Brücken-Schaltung 18 steuert auch einen Zugriff zu einem Systemspeicher 20, der auch mit dem lokalen Bus 22 zusammen mit der CPU 14 und einem Level-2-(L2)-Cachespeicher 16 verbunden ist.
  • Eine PCI Extended Industry Standard Architecture (EISA) Brücke 15 verbindet schnittstellenmäßig den PCI-Bus 24 mit einem ISA-Bus 17. Sowohl eine Tastenfeld-Steuereinheit 21 als auch ein Read Only Memory (ROM) 23 sind mit dem ISA-Bus 17 verbunden. Ein nicht-flüchtiger Random Access Speicher (NVRAM) 70, verbunden mit dem ISA-Bus 17, speichert Informationen, die das Computersystem übernehmen sollte, wenn es abgeschaltet wird. Ein automatischer Server-Zurückgewinnungs-Zeitgeber 72 überwacht das Computersystem hinsichtlich einer Inaktivität. Falls sich das System verriegelt, wird der ASR-Zeitgeber 72 nach ungefähr 10 Minuten ablaufen. Ein Tastenfeld 19 wird durch die Tastenfeld-Steuereinheit 21 hinsichtlich einer Erfassung von niedergedrückten Tasten überwacht.
  • Wie 2 zeigt, bildet der Brücken-Chip 48a eine Schnittstelle zu einem PCI-Bus 32a und der Brücken-Chip 48b bildet eine Schnittstelle zu einem PCI-Bus 32b. Die PCI-Busse 32a und 32b sind an zwei Expansionskästen 30a und 30b, mit einem gemeinsamen Design 30, angeordnet, und jeder Expansionskasten 30 besitzt sechs Hot-Plug-Schlitze bzw. Steckplätze 36 (36a–f), die dazu geeignet sind, herkömmliche Erweiterungskarten 807 aufzunehmen (27A). Ein Schlitz 34 an dem Expansionskasten nimmt eine Karte 46 auf, die den Brücken-Chip 26 besitzt. Jeder Hot-Plug-Schlitz 36 besitzt zugeordnet eine Umschalt-Schaltung 41 zum Verbinden und Trennen des Schlitzes 36 mit und von dem PCI-Bus 32. Sechs mechanische Hebel 802 werden dazu verwendet, selektiv die Karten 807 an entsprechenden Schlitzen zu sichern (wenn sie geschlossen oder verriegelt sind), wie weiterhin in der US-Patentanmeldung Serial-Nr. 08/658385, mit dem Titel "Securing a Card in an Electronic Device", angemeldet an demselben Datum wie diese Anmeldung und hier unter Bezugnahme darauf eingeschlossen, beschrieben ist. Jeder Erweiterungskasten 30 umfasst Register 52 und 82 zum Überwachen der Hebel 802 und von Status-Signalen des Erweiterungskastens 30 und ein Register 80 zum Kontrollieren einer Verbindung und einer Trennung von Schlitzen 36 und von dem PCI-Bus 32.
  • Wie 3 zeigt, ist der Brücken-Chip so ausgelegt, um in Paaren 26 und 48 verwendet zu werden, um eine PCI-PCI-Brücke zwischen dem primären PCI-Bus 24 und dem sekundären PCI-Bus 32 zu bilden. Das Programmiermodel ist dasjenige von zwei hierar chischen Brücken. Zu der Systemsoftware hin erscheint das Kabel 28 als ein PCI-Bus, der exakt eine Vorrichtung enthält, und zwar den ausgangsseitigen Brücken-Chip 48. Dies vereinfacht stark die Konfiguration der 2-Chip-PCI-PCI-Brücke, die den primären und sekundären Bus miteinander verbindet. Der Brücken-Chip 26, der näher zu der CPU 14 hin liegt, verbindet den primären PCI-Bus 24 mit dem Kabel 28. Die zweite PCI-PCI-Brücke 48 ist in dem Erweiterungskasten 30 vorhanden und verbindet das Kabel 28 mit dem sekundären Bus 32. Ein Mode-Stift-Upstream-Chip bestimmt, ob der Brücken-Chip in dem ausgangsseitigen Mode oder dem eingangsseitigen Mode arbeitet. Einige Nicht-Brücken-Funktionen, wie beispielsweise ein Bus-Monitor 106 und eine Hot-Plug-Logik in einem SIO 50, werden nur in dem Erweiterungskasten 30 verwendet und sind nicht in dem einlaufseitigen Mode-Chip 26 funktional.
  • Ein Taktgenerator 102 in dem Brücken-Chip 26 erzeugt Takte basierend auf dem Takt PCI CLK1 auf dem primären PCI-Bus 24, wobei einer der erzeugten Takte über das Kabel 28 zu einem Taktgenerator 122 in dem ausgangsseitigen Brücken-Chip 48 vorgesehen wird. Der Taktgenerator 122 erzeugt die PCI-Takte in dem Erweiterungskasten 30 bei derselben Frequenz des primären PCI-Busses 24 und steuert ihn an, was dazu führt, dass beide Brücken-Chips 26 und 48 unter derselben Frequenz laufen. Der ausgangsseitige Brücken-Chip 48 läuft dem eingangsseitigen Brücken-Chip 24 in der Phase mit der Verzögerung des Kabels 28 hinterher. Eine asymetrische Grenze in dem eingangseitigen Brücken-Chip 26 an dem Punkt, wo Daten von dem Kabel 28 abgegriffen werden, ermöglicht, dass sich die Phasenverzögerung bei irgendeinem Wert befindet (und deshalb soll das Kabel von irgendeiner Länge sein), wobei das einzige Erfordernis dasjenige ist, dass die Frequenz der zwei Brücken-Chips dieselbe ist.
  • Die Kern-Logikjedes Brücken-Chips ist der Brücken-Logik-Block (100 oder 120), der einen PCI-Master (101 oder 123) zum Arbeiten als ein Master auf dem jeweiligen PCI-Bus, ein PCI-Target oder eine -Slave (103 oder 121) zum Arbeiten als eine Slave-Vorrichtung auf dem jeweiligen PCI-Bus, Konfigurations-Register (105 oder 125), die die Konfigurations-Informationen des entsprechenden Brücken-Chips enthalten, und einen Warteschlangen-Block (107 oder 127), der verschiedene Warteschlangen enthält, in denen Daten, zugeordnet zu Transaktionen zwischen dem primären PCI-Bus und dem sekundären PCI-Bus 32, in die Warteschlange gestellt und gemanagt werden, aufweist. Die Daten, übertragen zwischen dem eingangsseitigen Brücken-Chip 26 und dem ausgangsseitigen Brücken-Chip 48, werden durch Kabelschnittstellen 104 und 130 in den Brücken-Chips 26 und 48 jeweils gepuffert.
  • Eine Unterbrechungs-Programm-Logik ist auch in jedem Brücken-Chip enthalten. Dabei sind 8 Unterbrechungen, 6 von den Sekundär-Bus-Schlitzen, 1 von einer SIO-Schaltung 50 und 1 von dem ausgangsseitigen Brücken-Chip 48, vorhanden. In dem ausgangsseitigen Chip 48 werden die Unterbrechungen durch einen Unterbrechungs-Aufnahme-Block 132 aufgenommen und entlang des Kabels 28 als eine serielle Datenfolge in sequenziellen Zeit-Stücken geschickt. In dem ausgangsseitigen Brücken-Chip 26 werden die Unterbrechungen durch einen Unterbrechungs-Ausgangs-Block 114 empfangen, der die Unterbrechungen zu einer Unterbrechungs-Steuereinheit weiterleitet.
  • Die SIO-Schaltung 50 liefert Steuersignale zum Beleuchten von LED's, zum Steuern eines Reset und für ein selektives Verbinden der Schlitze 36 mit dem Bus 32. Sie umfasst auch eine Logik zum Lesen des Eingriffs-Status der Hebel 802 und des Status-Zustands der Karten 807 in jedem Schlitz 36.
  • Die Brücken-Schaltung 26 umfasst einen Support für Unterbrechungen in dem Erweiterungskasten 30, und, wenn sie in dem Host-System mit der anwendereigenen Schnittstelle zu einer Mehrfachkanal-Unterbrechungs-Steuereinheit installiert ist, schickt sie die Status-Zustände jeder Unterbrechung in einer seriellen Datenfolge. Die Brückenschaltung 26 kann auch so konfiguriert sein, um standardmäßige PCI-INTA, INTB, INTC und INTD Signale anzusteuern, falls sie in einem Standard-Schlitz in dem Host-System installiert ist.
  • Jeder Brücken-Chip umfasst auch einen PCI-Arbitrierer (116 oder 124) zum Steuern eines Zugriffs auf bis zu sieben Bus-Master. Da die eingangsseitige Brücke 26 in einem Schlitz installiert ist, wird der PCI-Arbitrierer 116 in dem eingangsseitigen Brücken-Chip 26 gesperrt. Jeder Brücken-Chip umfasst auch eine I2C-Steuereinheit (108 oder 126) für eine Kommunikation mit Vorrichtungen, wie beispielsweise EEPROMs, Temperatursensoren, usw., einen JTAG-Master (110 oder 128) zum Durchführen von Test-Zyklen, einen Bus-Monitor (106 oder 127) zum Messen einer Bus-Benutzung und einer Effektivität und der Effektivität des Vorabruf-Algorithmus des Brücken-Chips, und einen Bus-Beobachter (Bus-Watcher) (119 oder 129) zum Speichern einer Bus-Historie und von Sta tus-Vektor-Informationen und zum Informieren der CPU 14 über einen Bus-Hängend-Zustand. Bestimmte Blöcke werden in jedem Brücken-Chip gesperrt, wenn sie nicht verwendet werden. In dem eingangsseitigen Brücken-Chip 26 werden Bus-Watcher 119, der SIO 118, der PCI-Arbitrierer 116 und der Bus-Monitor 106 gesperrt. Zusätzlich werden der die Unterbrechung aufnehmende Block 112 in dem eingangsseitigen Chip 126 und der Unterbrechungs-Ausgangs-Block 134 in dem ausgangsseitigen Chip 48 gesperrt.
  • ERWEITERUNGS-KARTEN-EINSETZEN UND ENTFERNEN VON VERBINDUNGS-EXPANSIONS-KARTEN
  • Wie in den 1 und 6A dargestellt ist, besitzen die zwei Expansionskästen 30a und 30b, von einem gemeinsamen Design 30, jeweils die sechs Hot-Plug-Schlitze 36 (36a–f), in denen die herkömmlichen Erweiterungskarten 807 eingesetzt und entfernt werden können (Hot-Plugged), während das Computersystem 10 hochgefahren bzw. eingeschaltet verbleibt. Die sechs mechanischen Hebel 802 werden dazu verwendet, selektiv die Expansionskarten 807 zu sichern (wenn geschlossen, oder verriegelt, ist), die in die entsprechenden Hot-Plug-Schlitze 36 eingesetzt werden. Zu Zwecken eines Entfernens oder eines Einsetzens der Expansionskarten 807 in einen der Schlitze 36 muss der entsprechende Hebel 802 geöffnet werden, oder entriegelt werden, und so lange wie der Hebel 802 geöffnet ist, verbleibt der entsprechende Schlitz 36 abgeschaltet.
  • Wenn der Hebel 802, der die Expansionskarte 807 an seinem Schlitz 36 sichert, geöffnet ist, erfasst das Computersystem 10 dieses Auftreten und fährt die Karte 802 herunter (und den entsprechenden Schlitz 36), bevor die Karte 807 von deren Schlitz bzw. Einsteckplatz 36 entfernt werden kann. Schlitze bzw. Einsteckplätze 36, die heruntergefahren sind, ähnlich anderen Schlitzen 36, die keine Karten 807 halten, verbleiben heruntergefahren bzw. abgeschaltet, bis eine Software des Computersystems 10 selektiv die Schlitze bzw. Einsteckplätze 36 hochfährt.
  • Die Karte 46, eingesetzt in den Kartenschlitz 34, besitzt den Brücken-Chip 48, der den Sicherungs-Status (offen oder geschlossen) der Hebel 802 überwacht und irgendeine Karte 807 (und einen entsprechenden Schlitz 36) herunterfährt, der nicht durch seinen Hebel 802 gesichert ist. Eine Software des Computersystems 10 kann auch selektiv irgendeinen der Schlitze 36 herunterfahren.
  • Die Karten 807 werden durch eine Hochfahrsequenz hochgefahren und durch eine Herunterfahrsequenz heruntergefahren. In der Hochfahrsequenz (the power up sequence) wird Energie zuerst zu der Karte 807 zugeführt, die hochgefahren werden soll, und danach wird ein PCI-Takt-Signal (von dem PCI-Bus 32) zu der Karte 807 geliefert, die hochgefahren wird. Verbleibende PCI-Bus-Signal-Leitungen der Karte 807 werden dann mit entsprechenden Leitungen des PCI-Busses 32 verbunden. Zuletzt wird das Reset-Signal für die Karte 807, die hochgefahren wird, weggenommen, was die Karte 807 außerhalb eines Reset-Zustands bringt.
  • Die Hochfahrsequenz ermöglicht der Schaltung der Karte 807, dass sie hochgefahren wird, um vollständig funktional mit dem PCI-Takt-Signal zu werden, bevor die verbleibenden PCI-Bus-Signale geliefert werden. Wenn das Taktsignal und die verbleibenden PCI-Bus-Signale mit der Karte 807 verbunden werden und bevor die Karte 807 zurückgesetzt wird, besitzt der Brücken-Chip 48 eine Kontrolle des PCI-Busses 32. Da der Brücken-Chip 48 eine Kontrolle über den PCI-Bus 32 während dieser Zeiten besitzt, stören potentielle Defekte auf dem PCI-Bus 32 von der Power-up-Sequenz nicht die Operationen der Karten 807, die hochgefahren sind.
  • In der Herunterfahr- bzw. Power-Down-Sequenz wird die Karte 807, die heruntergefahren werden soll, zuerst zurückgesetzt. Als nächstes werden die PCI-Bus-Signale, ohne das PCI-Takt-Signal, von der Karte 807 entfernt. Der Brücken-Chip 48 unterbricht darauffolgend das PCI-Takt-Signal von der Karte 807, bevor Energie von der Karte 807 entfernt wird. Die Herunterfahr- bzw. Power-Down-Sequenz minimiert die Propagation von falschen Signalen von der Karte 807, die heruntergefahren werden soll, zu dem Bus 32, da die Schaltung auf der Karte 807 deren vollständige Funktion beibehält, bis die PCI-Bus-Signal-Leitungen entfernt sind.
  • Wenn das PCI-Taktsignal und die verbleibenden PCI-Bus-Signale unterbrochen werden, und wenn die Karte 807 zurückgesetzt bzw. in einen Reset-Zustand versetzt wird, besitzt der Brücken-Chip 48 eine Kontrolle des PCI-Busses 32. Da der Brücken-Chip 48 eine Kontrolle über den PCI-Bus 32 während dieser Zeitpunkte besitzt, stören potentielle Defekte auf dem PCI-Bus 32 von der Power-Down- bzw. Herunterfahr-Sequenz nicht die Operationen der Karten 807, die sie hochgefahren haben.
  • Der Brücken-Chip 48 umfasst die Seriell-Eingangs/Ausgangs-(S10)-Schaltung 50, die die Hochfahr- und Herunterfahr-Sequenzen der Schlitze bzw. Einsteckplätze 36 über vierundzwanzig Steuersignale POUT[39:16] steuert. Die Steuersignale POUT[39:16] sind ein Untersatz von vierzig Ausgangs-Steuersignalen POUT[39:0], erzeugt durch die SIO-Schaltung 50. Die Steuersignale POUT[39:16] sind verriegelte Versionen von Schlitz-Bus-Freigabe-Signalen BUSEN#[5:0], Schlitz-Energie-Freigabe-Signalen PWREN[5:0], Schlitz-Takt-Freigabe-Signalen CLKEN#[5:0] und Schlitz-Reset-Signalen RST#[5:0], alle internen Signale der SIO-Schaltung 50, wie weiter nachfolgend beschrieben ist. Die Steuersignale POUT[39:0] und deren Beziehung zu den Signalen BUSEN#[5:0], PWREN[5:0], CLKEN#[5:0] und RST#[5:0] sind in der nachfolgenden Tabelle beschrieben: PARALLEL-AUSGANGS-STEUER-SIGNALE (POUT[39:01])
    SIGNALPOSITION BESCHREIBUNG ZUGEORDNETE STEUERSIGNALE WENN EIN SIGNAL AKTIV IST
    0–11 Steuersignale für LEDs 54
    12–15 Ausgangssignale für allgemeine Zwecke GPOA[3:0]
    16 Reset-Signal für Schlitz 36a (RST#[0] niedrig
    17 Reset-Signal für Schlitz 36b RST#[1] niedrig
    18 Reset-Signal für Schlitz 36c (RST#[2] niedrig
    19 Reset-Signal für Schlitz 36d RST#[3] niedrig
    20 Reset-Signal für Schlitz 36e (RST#[4] niedrig
    21 Reset-Signal für Schlitz 36f RST#[5] niedrig
    22 Takt-Freigabe-Signal für Schlitz 36a (CLKEN#[0] niedrig
    23 Takt-Freigabe-Signal für Schlitz 36b (CLKEN#[1] niedrig
    24 Takt-Freigabe-Signal für Schlitz 36c (CLKEN#[2] niedrig
    25 Takt-Freigabe-Signal für Schlitz 36d (CLKEN#[3] niedrig
    26 Takt-Freigabe-Signal für Schlitz 36e (CLKEN#[4] niedrig
    27 Takt-Freigabe-Signal für Schlitz 36f (CLKEN#[5] niedrig
    28 Bus-Freigabe-Signal für Schlitz 36a (BUSEN#[0] niedrig
    29 Bus-Freigabe-Signal für Schlitz 36b (BUSEN#[1] niedrig
    30 Bus-Freigabe-Signal für Schlitz 36c (BUSEN#[2] niedrig
    31 Bus-Freigabe-Signal für Schlitz 36d (BUSEN#[3] niedrig
    32 Bus-Freigabe-Signal für Schlitz 36e (BUSEN#[4] niedrig
    33 Bus-Freigabe-Signal für Schlitz 36f (BUSEN#[5] niedrig
    34 Power-Freigabe-Signal für Schlitz 36a (PWREN[0] hoch
    35 Power-Freigabe-Signal für Schlitz 36b (PWREN[1] hoch
    36 Power-Freigabe-Signal für Schlitz 36c (PWREN[2] hoch
    37 Power-Freigabe-Signal für Schlitz 36d (PWREN[3] hoch
    38 Power-Freigabe-Signal für Schlitz 36e (PWREN[4] hoch
    39 Power-Freigabe-Signal für Schlitz 36f (PWREN[5] hoch
  • Wie in den 2 und 7 dargestellt ist, besitzt jeder Hot-Plug-Schlitz 36 die zugeordnete Umschalt-Schaltung 41 zum Verbinden und Trennen des Schlitzes 36 mit und von dem PCI-Bus 32. Die Umschalt-Schaltung 41 für jeden Schlitz 36 empfängt vier der Steuersignale POUT[39:16]. Als ein Beispiel wird, für den Schlitz 36a, wenn das Steuersignal POUT[28] aufgestellt ist, oder niedrig ist, der Schlitz 36a mit den Bus-Signal-Leitungen des PCI-Busses 32 durch eine Umschalt-Schaltung 47 verbunden. Wenn das Steuersignal POUT[28] weggenommen ist, oder hoch ist, wird der Schlitz 36a von den Bus-Signal-Leitungen des PCI-Busses 32 getrennt.
  • Wenn das Steuersignal POUT[22] aufgestellt ist, oder niedrig ist, wird der Schlitz 36a mit einem PCI-Takt-Signal CLK über eine Umschalt-Schaltung 43 verbunden. Wenn das Steuersignal POUT[22] weggenommen ist, oder hoch ist, wird der Schlitz 36a von dem Taktsignal CLK getrennt.
  • Wenn das Steuersignal POUT[34] aufgestellt ist, oder hoch ist, wird der Schlitz 36a mit einem Karten-Spannungs-Versorgungs-Pegel Vss über eine Umschalt-Schaltung 45 verbunden. Wenn das Steuersignal POUT[34] weggenommen ist, oder niedrig ist, wird der Schlitz 36a von dem Karten-Spannungs-Versorgungs-Pegel Vss getrennt.
  • Wenn das Steuersignal POUT[16] aufgestellt ist oder niedrig ist, wird der Schlitz 36a zurückgesetzt, und wenn das Steuersignal POUT[16] weggenommen ist, oder hoch ist, gelangt der Schlitz 36a aus seinem Reset-Zustand.
  • Wie in 2 zu sehen ist, kann die SIO-Schaltung 50 selektiv bis zu einhundertachtundzwanzig (sechzehn Bytes) von verriegelten Status-Signalen STATUS[127:0], geliefert durch den Erweiterungskasten 30, überwachen. Die Status-Signale STATUS[127:0] bilden einen "Snapshot" von ausgewählten Zuständen des Erweiterungskastens 30. Die Status-Signale STATUS[127:0] umfassen sechs Status-Signale STATUS[5:0], die den Sicherungs-Status (geöffnet oder geschlossen) jedes der Hebel 802 anzeigen. Die SIO-Schaltung 50 überwacht die Status-Signale STATUS[31:0] hinsichtlich Änderungen in deren logischen Spannungspegeln. Die SIO-Schaltung 50 verschiebt seriell die Status-Signale STATUS[127:32] in die SIO-Schaltung 50 hinein, wenn durch die CPU 14 angewiesen ist, dies so vorzunehmen.
  • Die SIO-Schaltung 50 empfängt seriell die Status-Signale STATUS[127:0], das am wenigsten signifikanteste Signal zuerst, und zwar über ein serielles Daten-Signal NEW_CSID. Das Daten-Signal NEW_CSID wird durch den seriellen Ausgang des parallelen Eingangs-Verschieberegisters 82 mit zweiunddreißig Bits, angeordnet auf einer Leiterplatte des Erweiterungskastens 30, zusammen mit den Schlitzen bzw. Einsteckplätzen 36, geliefert.
  • Das Register 82 empfängt, über dessen parallele Eingänge, vierundzwanzig Parallel-Status-Signale PIN[23:0], vier zugeordnet zu jedem der Hot-Plug-Schlitze 36, die in den zweiunddreißig am wenigsten signifikanten Status-Signalen STATUS[31:0] umfasst sind. Wenn sich der Status, angezeigt durch eines oder mehrere der Status-Signale STATUS[31:0], ändert (der logische Spannungs-Pegel ändert sich), erzeugt der Brücken-Chip 48 eine Unterbrechungs-Anforderung zu der CPU 14 durch Aufstellen, oder Ansteuern auf niedrig, eines seriellen Unterbrechungs-Anforderungs-Signals SI_INTR#, das über einen Unterbrechungs-Empfangs-Block 132 empfangen wird. Die Status-Signale PIN[23:0] umfassen zwei PCI-Karten-Präsenz-Signale (PRSNTI# und PRSNT2#), zugeordnet zu jedem Schlitz 36.
  • Sechs Status-Signale PIN[5:0], entsprechend zu deren verriegelten Versionen, Status-Signale STATUS[5:0], zeigen den Sicherungs- oder Eingriffs-Status (offen oder geschlossen) jedes der Hebel 802 an. Sechs Gleit-Schalter 805 (27A27C) werden durch die Bewegung deren entsprechender Hebel 802 betätigt und werden dazu verwendet, elektrisch den Sicherungs-Status des entsprechenden Hebels 802 anzuzeigen. Jeder Schalter 805 besitzt ein erstes Terminal, verbunden mit Masse, und ein zweites Terminal, das das entsprechende eine der Status-Signale PIN[5:0] zuführt. Das zweite Terminal ist mit einem Versorgungs-Spannungs-Pegel VDD über einen von sechs Widerständen 801 verbunden.
  • Falls sich einer der Hebel 802 öffnet und die Karte 807, gesichert durch den Hebel 802, entsichert wird, wird das entsprechende eine der Status-Signale PIN[5:0] aufgestellt, oder auf hoch angesteuert. Als ein Beispiel wird, für den Schlitz 36a, das Status-Signal PIN[0] weggenommen oder auf niedrig angesteuert, wenn der entsprechende Hebel 802 geschlossen ist. Wenn der Hebel 802 für den Schlitz 36a geöffnet ist, wird das Status-Signal PIN[0] aufgestellt, oder auf hoch angesteuert.
  • Das Register 82 empfängt auch eine serielle Datenfolge von verriegelten Status-Signalen STATUS[127:32], die keine Unterbrechungen verursachen, wenn sich der logische Spannungs-Pegel eines der Signale STATUS[127:32] ändert. Die Status-Signale STATUS[127:32] werden durch das Verschiebe-Register 52 mit sechzehn Bits, angeordnet auf der Leiterplatte des Expansionskastens 30, mit den Schlitzen 36, gebildet. Das Verschiebe-Register 52 empfängt Status-Signale an seinen parallelen Eingängen und verriegelt die Status-Signale STATUS[127:32], wenn durch die SIO-Schaltung 50 instruiert ist, dies so vorzunehmen. Das Verschiebe-Register 52 serialisiert die Status-Signale STATUS[127:32] und liefert die Signale STATUS[127:32] zu dem seriellen Eingang des Registers 82 über ein serielles Daten-Signal CSID_I.
  • Wenn durch die SIO-Schaltung 50 instruiert ist, verriegelt das Register 82 Status-Signale PIN[23:0], bildet die Status-Signale STATUS[31:0], liefert die Status-Signale STATUS[31:0] und liefert ein Byte oder mehr der Status-Signale STATUS[127:32] (wenn dies durch die CPU 14 angefordert ist), in einem am wenigsten signifikanten Signal einer ersten Art, zu der SIO-Schaltung 50, und zwar über das serielle Daten-Signal NEW_CSID. Die Status-Signale STATUS[127:0] werden durch die nachfolgende Tabelle beschrieben: STATUS[127:0]
    BIT BESCHREIBUNG
    0 Status-Signal von Hebel 802 für Schlitz 36a (PIN[0])
    1 Status-Signal von Hebel 802 für Schlitz 36b (PIN[1])
    2 Status-Signal von Hebel 802 für Schlitz 36c (PIN[2])
    3 Status-Signal von Hebel 802 für Schlitz 36d (PIN[3])
    4 Status-Signal von Hebel 802 für Schlitz 36e (PIN[4])
    5 Status-Signal von Hebel 802 für Schlitz 36f (PIN[5])
    6 reserviert für Status-Signal von Hebel 802 für einen zusätzlichen Hot-Plug-Schlitz
    7 reserviert für Status-Signal von Hebel 802 für einen zusätzlichen Hot-Plug-Schlitz
    8 PRSNT2# Signal für Schlitz 36a (PIN[6])
    9 PRSNT2# Signal für Schlitz 36b (PIN[7])
    10 PRSNT2# Signal für Schlitz 36c (PIN[8])
    11 PRSNT2# Signal für Schlitz 36d (PIN[9])
    12 PRSNT2# Signal für Schlitz 36e (PIN[10])
    13 PRSNT2# Signal für Schlitz 36f (PIN[11])
    14 reserviert für PRSNT#2 Signal für einen zusätzlichen Hot-Plug-Schlitz 36
    15 reserviert für PRSNT#2 Signal für einen zusätzlichen Hot-Plug-Schlitz 36
    16 PRSNTI# Signal für Schlitz 36a (PIN[12])
    17 PRSNTI# Signal für Schlitz 36b (PIN[13])
    18 PRSNTI# Signal für Schlitz 36c (PIN[14])
    19 PRSNTI# Signal für Schlitz 36d (PIN[15])
    20 PRSNTI# Signal für Schlitz 36e (PIN[16])
    21 PRSNTI# Signal für Schlitz 36f (PIN[17])
    22 reserviert für PRSNT#1 Signal für einen zusätzlichen Hot-Plug-Schlitz 36
    23 reserviert für PRSNT#1 Signal für einen zusätzlichen Hot-Plug-Schlitz 36
    24 Power-Fehler-Status für Schlitz 36a (PIN[18])
    25 Power-Fehler-Status für Schlitz 36b (PIN[19])
    26 Power-Fehler-Status für Schlitz 36c (PIN[20])
    27 Power-Fehler-Status für Schlitz 36d (PIN[21])
    28 Power-Fehler-Status für Schlitz 36e (PIN[22])
    29 Power-Fehler-Status für Schlitz 36f (PIN[23])
    30 reserviert für Power-Fehler-Status für zusätzlichen Hot-Plug-Schlitz 36
    31 reserviert für Power-Fehler-Status für zusätzlichen Hot-Plug-Schlitz 36
    32-127 Status-Sginale, die keine Unterbrechungs-Anforderungen verursachen, wenn sich deren Status ändert
  • Wie in den 2 und 9 dargestellt ist, verriegelt, wenn eine SIO-Schaltung 50 ein Register-Lade-Signal CSIL_O_ aufstellt, oder auf niedrig ansteuert, das Schiebe-Register 52 die Status-Signale STATUS[127:32] und das Schiebe-Register 82 verriegelt die Status-Signale STATUS[31:0]. Wenn die SIO-Schaltung 50 das Signal CSIL_O_ wegnimmt, oder auf hoch ansteuert, verschieben beide Register 52 und 82 seriell deren Daten zu der SIO-Schaltung 50 an der positiven Flanke des Taktsignals CSIC_O, geliefert durch die SIO-Schaltung 50. Das Taktsignal CSIC_O wird zu der und auf einem Viertel der Frequenz des PCI-Taktsignals CLK synchronisiert.
  • Wie in 8 dargestellt ist, verwendet, zu Zwecken einer Überwachung, oder für ein Abtasten, der Status-Signale STATUS[31:0], die SIO-Schaltung 50 ein 32-Bit-Unterbrechungs-Register 800, dessen Bit-Positionen den Signalen STATUS [31:0] entsprechen. Die SIO-Schaltung 50 aktualisiert die Bits des Unterbrechungs-Registers 800, um die entsprechenden Status-Signale STATUS[31:0] anzugleichen, die entprellt (debounced) worden sind, wie weiter nachfolgend beschrieben ist. Zwei Status-Signale STATUS[7:6] werden für zusätzliche Hot-Plug-Schlitze 36 reserviert, und das siebte und achte, signifikanteste Bit des Unterbrechungs-Registers 800 werden auch für die zusätzlichen Schlitze 36 reserviert. Das Unterbrechungs-Register 800 ist ein Teil eines Register-Logik-Blocks 808 der SIO-Schaltung 50, die mit dem PCI-Bus 32 gekoppelt ist.
  • Eine serielle Abtast-Eingangs-Logik 804 der SIO-Schaltung 50 tastet sequenziell, oder überwacht, die Status-Signale STATUS[31:0], das am wenigsten signifikante Signal zuerst, hinsichtlich Änderungen, wie dies durch Übergänge in deren logischen Spannungs-Pegeln angezeigt ist. Falls sich der Status von einem oder mehr der Status-Signale STATUS[5:0], zugeordnet den Hebeln 802, ändert, tritt die Seriell-Abtast-Eingangs-Logik 804 in einen langsamen Abtast-Mode ein, so dass die Status-Signale STATUS[5:0] zweiunddreißigmal innerhalb eines vorbestimmten Entprell- bzw. Debounce-Zeit-Intervalls abgetastet werden. Falls sich eines oder mehrere der Status-Signale STATUS[5:0] ändert, aktualisiert die serielle Abtast-Eingangs-Logik 804 das Unterbrechungsregister 800 (und stellt das serielle Unterbrechungs-Signal SI_INTR# auf), falls das geänderte Status- Signal STATUS[5:0] auf demselben, logischen Spannungsniveau für zumindest ein vorbestimmtes Entprell-Zeit-Intervall verbleibt. Die Seriell-Abtast-Eingangs-Logik 804 ist mit programmierbaren Zeitgebern 806 gekoppelt, die das Ende des Entprell-Verzögerungs-Intervalls erzeugen und anzeigen, initiiert durch die Seriell-Abtast-Logik 804. Unter Fordern des Status, stabil für die Entprell-Zeit zu bleiben, minimiert das Intervall das unbeabsichtigte Power-Down von einem der Hot-Plug-Schlitze 36 aufgrund eines falschen Werts (d. h. eines "Defekts"), angezeigt durch eines der Status-Signale STATUS[5:0]. Wenn alle der Status-Signale STATUS[5:0] auf demselben, logischen Spannungspegel für mindestens das Entprell-Zeit-Intervall verbleiben, dann schreitet die Seriell-Abtast-Eingangs-Logik 804 fort, um noch einmal erneut alle zweiunddreißig Status-Signale STATUS[31:0] in dem schnelleren Abtast-Mode abzutasten.
  • Falls die Seriell-Abtast-Eingangs-Logik 804 eine Änderung in einem der Status-Signale STATUS[31:6] erfasst, instruiert die Seriell-Abtast-Eingangs-Logik 804 die Zeitgeber 806, ein anderes Debounce- bzw. Entprell-Verzögerungs-Intervall zu messen, stellt darauf das Seriell-Unterbrechungs-Signal SI_INTR# auf, aktualisiert das Unterbrechungs-Register 800 mit den Signalen STATUS[31:6], die sich geändert haben, und ignoriert weitere Änderungen in den Status-Signalen STATUS[31:6], bis das Entprell-Zeit-Intervall abläuft. Nach Ablaufen des Entprell-Zeit-Intervalls schreitet die Seriell-Abtast-Eingangs-Logik 804 fort, um Änderungen in den zweiunddreißig Status-Signalen STATUS[31:0] zu erkennen.
  • Wenn das Seriell-Unterbrechungs-Signal SI_INTR# aufgestellt ist, liest die CPU 14 darauffolgend das Unterbrechungs-Register 800, bestimmt, welche (es können mehr als eins sein) Status-Signale STATUS[3:0] die Unterbrechung verursachten, und nimmt das Seriell-Unterbrechungs-Signal SI_INTR# durch Schreiben einer "1" zu dem Bit oder den Bits des Unterbrechungs-Registers 800, die sich geändert haben, weg.
  • Die CPU 14 kann selektiv Unterbrechungs-Anforderungen, verursacht durch die Status-Signale STATUS[31:0], durch Schreiben einer "1" zu einem entsprechenden Bit eines Unterbrechungs-Maskierungs-Registers 810 mit zweiunddreißig Bits maskieren. Die CPU 14 kann auch selektiv irgendein Byte der Status-Signale STATUS[47:0] durch Schreiben einer Byte-Zahl des ausgewählten Bytes zu einem Seriell-Eingangs-Byte- Register 812 lesen. Die SIO-Schaltung 50 überträgt dann das erwünschte Byte in ein Seriell-Daten-Register 815 hinein.
  • Zum Beispiel schreibt, um das dreißigste Byte (Byte-Zahl zwei) der Status-Signale STATUS[23:16] zu lesen, die CPU 14 eine "2" in das Seriell-Eingangs-Byte-Register 812. Die Seriell-Abtast-Eingangs-Logik 804 verschiebt dann seriell Byte zwei der Status-Signale STATUS[23:16] in das Seriell-Daten-Register 815 hinein. Ein Busy-Status-Bit BS des Seriell-Eingangs-Byte-Registers 812 ist gleich zu "1", wenn die CPU 14 zu Anfang die erwünschte Byte-Zahl zu dem Seriell-Eingangs-Byte-Register 812 schreibt. Das Bit BS wird durch die SIO-Schaltung 50 gelöscht, nachdem das angeforderte Byte in das Seriell-Daten-Register 815 hinein verschoben worden ist.
  • Die CPU 14 kann einen der Schlitze 36 durch Schreiben einer "1" zu einem entsprechenden Bit eines Schlitz-Freigabe-Registers 817 hochfahren und den Schlitz 36 durch Schreiben einer "0" zu diesem Bit sperren. Weiterhin kann die CPU 14 einen der Schlitze 36 durch Schreiben einer "1" zu einem entsprechenden Bit eines Schlitz-Reset-Registers 819 zurücksetzen. Die Inhalte der Schlitz-Freigabe- 817 und der Schlitz-Reset-819 Register sind durch Signale SLOT_EN[5:0] und SLOT_RST_[5:0] jeweils dargestellt.
  • Um die Anforderung zu initiieren, angezeigt durch das Schlitz-Freigabe- 817 und Reset- 819 Register, zu initiieren, schreibt die CPU 14 eine "1" zu einem SO-Bit eines Steuer-Registers 814. Nachdem das SO-Bit aufgestellt ist (was ein GO_UPDATE Signal aufstellt, oder auf hoch ansteuert), initiiert die SIO-Schaltung 50 die rforderlichen Powerdown- und/oder Power-up-Sequenzen und steuert sie.
  • Die Seriell-Abtast-Eingangs-Logik 804 ist mit einer EIN/AUS-Steuer-Logik 820 verbunden, die die Power-up- und Power-down-Sequenzen steuert. Die EIN/AUS-Steuer-Logik 820 liefert die Signale BUSEN#[5:0], CLKEN#[5:0], RST#[5:0] und PWREN[5:0] zu einer Seriell-Ausgangs-Logik 824.
  • Jede Power-up- und Power-down-Sequenz umfasst vier Verschiebe-Phasen, während denen ein anderer Schritt der Power-down- oder Power-up-Sequenz durchgeführt wird. Während jeder Verschiebe-Phase instruiert die EIN/AUS-Steuer-Logik 820 die Seriell-Ausgangs-Logik 824, die Steuer-Signale BUSEN#[5:0], CLKEN[5:0], RST#[5:0] und PWREN[5:0] zu kombinieren; diese Signale zu verriegeln; und liefert seriell diese Signale (über ein serielles Daten-Signal CSOD_O) zu dem seriellen Eingang eines Ausgangs- Verschiebe-Registers 80. An dem Ende jeder Verschiebe-Phase instruiert die EIN/AUS-Steuer-Logik 820 das Verschiebe-Register 80, die Steuersignale POUT[35:12] zu aktualisieren.
  • Die EIN/AUS-Steuer-Logik 820 wird auch schnittstellenmäßig mit der Register-Logik 808 und einer Steuer-Logik 822 für eine Licht emittierende Diode (Light Emitting Diode – LED) verbunden. Die LED-Steuer-Logik 122 steuert den Ein/Aus-Status der sechs LEDs 54, die visuell anzeigen, ob die entsprechenden Hebel 802 verriegelt sind. oder entriegelt sind. Die LEDs 54 können so programmiert werden, um dann zu blinken, wenn sie eingeschaltet sind, und zwar über LED-Steuerregister (nicht dargestellt) der Register-Logik 808.
  • Wie in 10A dargestellt ist, umfasst die Seriell-Abtast-Eingangs-Logik 804 eine Abtast-Zustand-Maschine 840, die das Abtasten der Status-Signale STATUS[31:0] hinsichtlich Änderungen steuert und das Verschieben eines ausgewählten Bytes der Status-Signale STATUS[47:0] in das Seriell-Eingangs-Byte-Register 815 hinein steuert.
  • Die Abtast-Zustand-Maschine 840 wird an der negativen Flanke eines Takt-Signals DIV2CLK getaktet, das zu einem PCI-Taktsignal CLK synchronisiert ist, und von einer Hälfte der Frequenz des PCI-Taktsignals CLK ist. Die Last- und Taktsignale, CSIL_O_ und CSIC_O, jeweils, werden durch die Abtast-Zustand-Maschine 840 geliefert. Das Taktsignal wird, wenn es freigegeben wird, zu dem Taktsignal CSIC_O synchronisiert.
  • Ein Bit/Byte-Zähler 841 zeigt, über ein Zweiunddreißig-Bit-Signal BIT_ACTIVE[31:0] an, welches Bit der Status-Signale STATUS[3:0] momentan durch das Seriell-Daten-Signal NEW_CSID repräsentiert wird. Das aufgestellte Bit des Signals BIT_ACTIVE[31:0] besitzt dieselbe Bit-Position wie das Status-Signal STATUS[31:0], dargestellt durch das Daten-Signal NEW_CSID.
  • Der Zähler 841 liefert auch ein Drei-Bit-Signal BIT[2:0], das darstellt, welches Bit des momentanen Bytes der Status-Signale STATUS[31:0] momentan durch die Abtast-Zustand-Maschine 840 abgetastet wird. Der Zähler 841 wird an der negativen Flanke eines Signals SHIFT_ENABLE getaktet. Die Ausgänge des Zählers 841 werden zurückgesetzt, oder gelöscht, wenn der Ausgang eines UND-Gates 842, verbunden mit dem Lösch-Eingang des Zählers 840, negiert wird.
  • Die Abtast-Zustand-Maschine 840 liefert ein Signal SCAN_IN_IDLE, das, wenn es aufgestellt wird, oder auf hoch gesetzt wird, anzeigt, dass sich die Abtast-Zustand-Maschine 840 in einem IDLE Zustand befindet, und momentan nicht irgendeines der Status-Signale STATUS[127:0] abtastet. Das Signal SCAN_IN_IDLE wird ansonsten weggenommen.
  • Das Signal SCAN_IN_IDLE wird zu einem Eingang des UND_Gates 842 geliefert. Der andere Eingang des UND-Gates 842 ist mit dem Ausgang eines ODER-Gates 843 verbunden. Ein Eingang des ODER-Gates 843 empfängt ein invertiertes HOLD_OFF Signal, und der andere Eingang des ODER-Gates 843 empfängt ein Signal GETTING_BYTE.
  • Das Signal HOLD_OFF zeigt, wenn es aufgestellt ist, oder auf hoch angesteuert ist, an, dass eine Änderung in dem einen der Status-Signale STATUS[5:0] erfasst worden ist, und die Seriell-Abtast-Logik 804 in den Langsam-Abtast-Mode eingetreten ist. In diesem Langsam-Abtast-Mode bzw. Slow-Scan-Mode wartet die Seriell-Abtast-Eingangs-Logik 804 auf ein vorbestimmtes Langsam-Abtast-Intervall, bevor die Status-Signale STATUS[31:0] erneut weitergeführt werden. Die Seriell-Abtast-Eingangs-Logik 804 zählt die Zahl von Malen, für die die Seriell-Abtast-Signale STATUS[5:0] während des Langsam-Abtast-Modes abgetastet werden, und verwendet diese Zählung, um zu bestimmen, wenn eines von dem Status-Signal STATUS[5:0] unverändert für das Entprell-Verzögerungs-Intervall verblieb, wie weiterhin nachfolgend beschrieben werden wird.
  • Deshalb werden, wenn sich die Abtast-Zustand-Maschine 840 in dem IDLE Zustand befindet und entweder das HOLD_OFF Signal weggenommen ist oder sich die Abtast-Zustand-Maschine 840 beim Lesen eines ausgewählten Bytes (ausgewählt durch die CPU 14) der Status-Signale STATUS[47:0] befindet, alle Ausgänge des Zählers 841 gelöscht oder gleich zu Null gesetzt.
  • Das Signal SHIFT_ENABLE wird durch den Ausgang eines UND-Gates 844 geliefert. Ein Eingang des UND-Gates 844 nimmt das Takt-Signal CSIC_O auf. Ein anderer Eingang des UND-Gates 844 nimmt ein Signal DIV2CLK# auf. Das Signal DIV2CLK# wird aufgestellt, oder auf niedrig angesteuert, an der negativen Flanke des Signals CLKDIV4. Der dritte Eingang des UND-Gates 844 empfängt ein Signal SCAN_IN_PROGRESS, das, wenn es aufgestellt wird, oder auf hoch angesteuert ist, anzeigt, dass die Abtast-Zustand- Maschine 840 momentan die Status-Signale STATUS[127:0] abtastet, und das Signal SCAN_IN_PROGRESS wird ansonsten weggenommen.
  • Deshalb wird, wenn die Abtast-Zustand-Maschine 840 nicht die Status-Signale STATUS[127:0] verschiebt, der Zähler 841 gesperrt. Weiterhin wird, wenn freigegeben ist, der Zähler 841 an der negativen Flanke des Taktsignals DIV2CLK getaktet.
  • Das Unterbrechungs-Register 800 empfängt Eingangs-Signale D_INTR_REG[31:0] an deren entsprechenden zweiunddreißig Eingängen. Die Last-Freigabe-Eingänge des Unterbrechungs-Registers 800 nehmen entsprechende Last-Freigabe-Signale UPDATE_IRQ[31:0] auf. Das Unterbrechungs-Register 800 wird an der positiven Flanke des PCI-Taktsignals CLK getaktet.
  • Für die Zwecke, ein Protokoll über die Status-Signale STATUS[5:0] nach jeder Abtastung beizubehalten, liefert ein Mehrfach-Bit, D-Typ-Flip-Flop 836 Status-Signale SCAN_SW[5:0]. Der Lösch-Eingang des Flip-Flops 836 nimmt das Reset-Signal RST auf, und das Flip-Flop 836 wird an der positiven Flanke des Taktsignals CLK getaktet. Der Eingang des Flip-Flops 836 ist mit dem Ausgang eines Mehrfach-Bit-ODER-Gates 850 verbunden, das einen Eingang mit dem Ausgang eines Multi-Bit-UND-Gates 846 verbunden und einen Eingang mit dem Ausgang eines Multi-Bit-UND-Gates 847 verbunden besitzt. Ein Eingang des UND-Gates 846 nimmt sechs Bit-Freigabe-Signale BIT_ENABLE[5:0] auf (nachfolgend beschrieben) und der andere Eingang des UND-Gates 846 nimmt das Seriell-Daten-Signal NEW CSID auf. Ein Eingang des UND-Gates 847 nimmt invertierte Bit-Freigabe-Signale BIT_ENABLE[5:0] auf, und der andere Eingang des UND-Gates 847 nimmt die Signale SCAN_SW[5:0] auf.
  • Nur eines der Bit-Freigabe-Signale BIT ENABLE[5:0] wird zu einem Zeitpunkt aufgestellt (wenn die Abtast-Zustand-Maschine 840 abtastet), und das aufgestellte Bit zeigt an, welches eine der entsprechenden Status-Signale STATUS[31:0] durch das Signal NEW_CSID dargestellt wird. Demzufolge werden, wenn die Abtast-Zustand-Maschine 840 abtastet, und zwar an jeder positiven Flanke des Taktsignals CLK, die Signale SCAN_SW[5:0] aktualisiert.
  • Die Bit-Freigabe-Signale BIT_ENABLE[31:0] werden durch den Ausgang eines Mehrfach-Bit-Multiplexers 832 geliefert, der die Bits BIT_ACTIVE[31:0] an seinem einen Eingang empfängt. Der Null-Eingang des Multiplexers 832 empfängt ein Zweiunddreißig- Bit-Signal, das für eine logische Null indikativ ist. Der Auswahl-Eingang des Multiplexers 832 empfängt das Signal SHIFT_ENABLE.
  • Zu Zwecken einer Erfassung einer Änderung in den Status-Signalen STATUS[5:0], liefert ein Multi-Bit-, Exklusiv-Oder-(XOR)-Gate 848 Umschalt-Änderungs-Signale SW_CHG[5:0]. Wenn eines der Signale SW_CHG[5:0] aufgestellt ist oder hoch ist, änderte sich die logische Spannung des entsprechenden Status-Signals STATUS[5:0] während aufeinanderfolgender Abtastungen. Ein Eingang des XOR-Gates 848 ist mit dem Eingang des Flip-Flops 836 verbunden, und der andere Eingang des XOR-Gates 848 empfängt die Signale SCAN_SW[5:0].
  • Wie in 10D dargestellt ist, besitzt, zu Zwecken eines Anzeigens, wenn der logische Spannungs-Pegel eines ausgewählten Status-Signals STATUS[5:0] bei einem logischen Spannungs-Pegel für mindestens die Dauer des Debounce-Verzögerungs-Intervalls verblieben war, die Abtast-Eingangs-Logik 804 sechs Signale LSWITCH[5:0]. Der nicht-invertierende Eingang eines Flip-Flops 900 vom D-Typ liefert das Signal LSWITCH[5] an seinem nicht-invertierenden Ausgang. Das Signal LSWITCH[5] wird aufgestellt oder auf hoch angesteuert, um den vorstehend beschriebenen Zustand anzuzeigen, und wird ansonsten weggenommen. Das Flip-Flop 900 wird an der positiven Flanke des Taktsignals CLK getaktet, und der Lösch-Eingang des Flip-Flops 900 nimmt das RST-Signal auf.
  • Der Eingang des Flip-Flops 900 ist mit dem Ausgang eines Multiplexers 902 verbunden, der ein D_LSWITCH[5] Signal liefert. Der Auswahl-Eingang des Multiplexers 902 ist mit dem Ausgang eines UND-Gates 903 verbunden, der ein MAX5 Signal und ein SCAN_END Signal aufnimmt. Das SCAN_END Signal zeigt, wenn es aufgestellt ist, an, dass die Abtast-Zustand-Maschine 840 deren momentane Abtastung abgeschlossen hat. Fünf Signale (MAX5, MAX4, MAX3, MAX2, MAX1 und MAX0) zeigen an, ob das entsprechende Status-Signal STATUS[5], STATUS[4], STATUS[3], STATUS[2], STATUS[1] oder STATUS[0], jeweils, auf demselben, logischen Spannungs-Niveau für mindestens die Dauer des Debounce-Zeit-Intervalls verblieben ist. Der Null-Eingang des Multiplexers 902 empfängt das Signal LSWITCH[5], und der eine Eingang des Multiplexers 902 empfängt das Signal SCAN_SW[5]. Das Signal SCAN_END wird durch den Ausgang eines UND-Gates 851 geliefert (31 B). Das UND-Gate 851 empfängt ein Signal STOP_SCAN und ein Signal SCAN_DONE. Das Signal STOP_SCAN wird aufgestellt, oder auf hoch angesteuert, wenn Zustände zum Beenden des Abtastens durch die Abtast-Zustand-Maschine 840 vorhanden sind, wie weiter nachfolgend beschrieben ist. Das Signal SCAN_END ist eine gepulste Version (für einen Zyklus des CLK-Signals) des Signals STOP_SCAN. Die Signale LSWITCH[4]-LSWITCH[0] und D_LSWITCH[4]-D_LSWITCH[0] werden in einer ähnlichen Weise aus den jeweiligen SCAN_SW[4]-SCAN_SW[0] Signalen und den jeweiligen Signalen MAX4-MAX0 erzeugt.
  • Zu Zwecken einer Aktualisierung wird der logische Spannungspegel der Status-Signale STATUS[31:6] als diese Signale eingetastet, ein Multi-Bit-D-Typ-Flip-Flop 905 (31D) liefert sechsundzwanzig Signale SCAN_NSW[31:6]. Eines der Signale SCAN_NSW[31:6] wird aufgestellt, oder auf hoch angesteuert, um diesen Zustand anzuzeigen, und wird ansonsten weggenommen. Das Flip-Flop 905 wird an der positiven Flanke des Taktsignals CLK getaktet und der Löscheingang des Flip-Flops 905 nimmt das RST-Signal auf.
  • Der Eingang des Flip-Flops 905 ist mit dem Ausgang eines Multi-Bit-Multiplexers 906 verbunden. Der Auswahl-Eingang des Multiplexers 906 nimmt ein invertiertes CHECK_SWITCH_ONLY Signal auf. Das CHECK SWITCH_ONLY Signal wird aufgestellt, oder auf hoch angesteuert, wenn die Abtast-Zustand-Maschine 850 nur die Status-Signale STATUS[5:0] oder die Status-Signale STATUS[127:32] abtastet (d. h. Änderungen in den Signalen STATUS[31:6] ignorieren), und sie ansonsten wegnimmt. Der Null-Eingang des Multiplexers 906 empfängt die Signale SCAN_NSW[31:6], und der eine Eingang des Multiplexers 906 ist mit dem Ausgang eines Multi-Bit-ODER-Gates 907 verbunden. Ein Eingang des ODER-Gates 907 ist mit dem Ausgang eines Multi-Bit-UND-Gates 908 verbunden, und der andere Eingang des ODER-Gates 907 ist mit dem Ausgang eines Multi-Bit-UND-Gates 872 verbunden.
  • Ein Eingang des UND-Gates 908 empfängt die Signale BIT_ENABLE[31:6]. Der andere Eingang des UND-Gates 908 ist mit dem Ausgang eines Multi-Bit-Multiplexers 909 verbunden. Falls das NEW_CSID Signal aufgestellt ist, oder hoch ist, liefert der Multiplexer 909 ein Signal mit sechsundzwanzig Bits gleich zu "h3FFFFFF". Ansonsten liefert der Multiplexer ein Signal mit sechsundzwanzig Bits gleich zu "0". Ein Eingang des UND- Gates 872 ist mit dem invertierten Ausgang des UND-Gates 908 verbunden und der andere Eingang des UND-Gates 872 nimmt die Signale SCAN_NSW[31:6] auf.
  • Zu Zwecken eines Speicherns des logischen Spannungs-Pegels der Status-Signale STATUS[31:6] nach jeder Abtastung liefert ein Multi-Bit-D-Typ-Flip-Flop 871 sechsundzwanzig Signale LNON_SW[31:6]. Eines der Signale LNON_SW[31:6] wird aufgestellt, oder auf hoch gesetzt, um diesen Zustand anzuzeigen, und wird ansonsten weggenommen. Das Flip-Flop 871 wird auf der positiven Flanke des Taktsignals CLK getaktet, und der Lösch-Eingang des Flip-Flops 871 empfängt das RST-Signal.
  • Der Eingang des Flip-Flops 871 ist mit dem Ausgang eines Multi-Bit-Multiplexers 870 verbunden, der die Signale D_LNON_SW[31:6] liefert. Der Auswahl-Eingang des Multiplexers 870 empfängt das Signal SCAN_END. Der Null-Eingang des Multiplexers 870 empfängt die Signale LNON_SW[31:6], und der eine Eingang des Multiplexers 807 empfängt die Signale SCAN_NSW[31:6].
  • Wie in 10B dargestellt ist, umfasst, zu Zwecken eines Erzeugens der MAX0, MAX1, MAX2, MAX3, MAX4 und MAX5 Signale, die Seriell-Eingangs-Logik 804 sechs Zähler 831a–f, jeweils, von einem gemeinsamen Design 831. Jeder Zähler 831 wird initialisiert (auf einen vorbestimmten Zähl-Wert), wenn ein UND-Gate 892 seinen Ausgang aufstellt, oder auf hoch ansteuert. Für den Zähler 831a empfängt das UND-Gate 892 das Signal BIT_ENCABLE[0], das Signal SW_CHG[0] und ein invertiertes Signal QUICK_FILTER. Das Signal QUICK_FILTER kann, wenn es aufgestellt ist, oder hoch ist, dazu verwendet werden, das Debounce-Zeit-Intervall zu umgehen. Das QUICK FILTER Signal wird normalerweise weggenommen oder auf niedrig gesetzt. Der Takt-Eingang des Zählers 831 ist mit dem Ausgang eines UND-Gates 893 verbunden. Für den Zähler 831a empfängt das UND-Gate 893 das BIT_ENABLE[0] Signal, das invertierte SW_CHG[0] Signal, das invertierte GETTING_BYTE Signal und das invertierte MAX0 Signal. Deshalb wird, für den Zähler 831a, wenn sich einmal die logische Spannung des Status-Signals STATUS[0] ändert, zu jedem Zeitpunkt, zu dem die Seriell-Abtast-Logik 804 das Status-Signal STATUS[0] abtastet, der Zähler 831a erhöht. Wenn der Zähler 831a seinen maximalen Wert erreicht, wird das Signal MAX0 aufgestellt, was anzeigt, dass das Debounce-Zeit-Intervall abgelaufen ist. Falls sich die logische Spannung des Status-Signals STATUS[0] während der Zählung ändert, wird der Zähler 831a reinitialisiert, und die Zäh lung beginnt erneut. Die anderen Zähler 831b–f arbeiten in einer ähnlich Weise in Bezug auf deren entsprechende Status-Signale STATUS[5:1].
  • Das HOLD_OFF Signal instruiert, wenn es aufgestellt ist, einen der Zeitgeber 806, ein vorbestimmtes Langsam-Abtast-Intervall zu messen, das die serielle Abtast-Zustand-Maschine 840 in den Langsam-Abtast-Mode versetzt. Wenn der Zeitgeber 806 eine Messung dieses Verzögerungs-Intervalls abschließt, stellt der Zeitgeber 806 ein FTR_TIMEOUT Signal auf, oder steuert es auf hoch an, das ansonsten weggenommen wird, oder negiert wird. Das Produkt dieses Langsam-Abtast-Intervalls und der Zahl von Zählungen für den Zähler 831, um seinen maximalen Wert zu erreichen, ist gleich zu dem Debounce-Zeit-Intervall (8 ms).
  • Das HOLD_OFF Signal wird durch den Ausgang eines JK-Flip-Flops 885 geliefert. Das Flip-Flop 885 wird an der positiven Flanke des CLK Signals getaktet, und der Lösch-Eingang des Flip-Flops 885 empfängt das RST-Signal. Der J-Eingang ist mit dem Ausgang eines UND-Gates 883 verbunden und der K-Eingang ist mit dem Ausgang eines UND-Gates 884 verbunden. Ein Eingang des UND-Gates 884 ist mit dem Ausgang eines Flip-Flops 896 vom JK-Typ verbunden, und der andere Eingang des UND-Gates 893 empfängt das SCAN_END Signal. Ein Eingang des UND-Gates 884 ist mit dem invertierten Ausgang des UND-Gates 883 verbunden, ein Eingang des UND-Gates 884 empfängt das FTR_TIMEOUT Signal, und ein anderer Eingang des UND-Gates 884 empfängt ein SCAN_IN_IDLE Signal, das aufgestellt wird, wenn sich die Abtast-Zustand-Maschine 840 in deren IDLE Zustand befindet, wie dies weiter nachfolgend beschrieben ist.
  • Das Flip-Flop 895 wird an der positiven Flanke des CLK Signals getaktet und der Lösch-Eingang des Flip-Flops 895 empfängt das RST-Signal. Der J-Eingang ist mit dem Ausgang eines NAND-Gates 894 verbunden, der die MAX0, MAX1, MAX2, MAX3, MAX4 und MAX5 Signale aufnimmt. Der K-Eingang ist mit dem Ausgang eines UND-Gates 826 verbunden, der mit dem invertierten J-Eingang des Flip-Flops 895 verbunden ist, und empfängt ein invertiertes SCAN_IN_PROGRESS Signal, das dann aufgestellt wird, wenn die Abtast-Zustand-Maschine 840 die Status-Signale STATUS[31:0] abtastet.
  • Zu Zwecken einer Erzeugung des CHECK SWITCH_ONLY Signals umfasst die Seriell-Abtast-Eingangs-Logik 804 ein Flip-Flop 864 vom JK-Typ, das das CHECK SWITCH_ONLY Signal an dem nicht-invertierendem Ausgang liefert, und wird an der positiven Flanke des CLK-Signals getaktet. Der Lösch-Eingang des Flip-Flops 864 empfängt das RST-Signal, und der J-Eingang des Flip-Flops 864 empfängt ein DEBOUNCE Signal, das, wenn es aufgestellt, oder auf hoch angesteuert, ist, anzeigt, dass sich einer des logischen Spannungs-Pegels eines oder mehrere der Status-Signale STATUS(31:6] geändert hat. Der K-Eingang des Flip-Flops 864 ist mit dem Ausgang eines UND-Gates 865 verbunden. Ein Eingang des UND-Gates 865 nimmt das invertierte DEBOUNCE Signal auf und ein Eingang des UND-Gates 865 nimmt das SCAN_IN_IDLE Signal auf.
  • Wie in 10C dargestellt ist, wird das Debounce-Signal DEBOUNCE durch den nicht-invertierenden Ausgang eines Flip-Flops 860 vom JK-Typ geliefert. Das Flip-Flop 860 wird durch die positive Flanke des Taktsignals CLK getaktet, und der Lösch-Eingang des Flip-Flops 860 empfängt das Reset-Signal RST. Der J-Eingang des Flip-Flops 860 empfängt ein Signal CHANGE_ON_INPUT. Das Signal CHANGE_ON_INPUT wird aufgestellt, oder auf hoch angesteuert, wenn eine Änderung in einem der Status-Signale STATUS[31:6] an dem Ende einer Abtastung durch die Seriell-Eingangs-Logik 804 erfasst wird, und wird ansonsten weggenommen. Der K-Eingang ist mit dem Ausgang eines UND-Gates 861 verbunden, das ein DB_TIMEOUT Signal an einem seiner Eingänge aufnimmt. Der andere Eingang des UND-Gates 861 nimmt das invertierte CHANGE_ON_INPUT Signal auf. Das DB_TIMEOUT Signal wird durch die Zeitgeber 106 für einen Zyklus des CLK-Signals aufgestellt, wenn die Debounce-Zeit-Verzögerung (initiiert durch das Aufstellen des DEBOUNCE Signals) abgelaufen ist. Das Aufstellen des DB_TIMEOUT Signals negiert das DEBOUNCE Signal an der nächsten, positiven Flanke des CLK-Signals.
  • Das CHANGE_ON_INPUT Signal wird durch den nicht-invertierenden Ausgang eines Flip-Flops 866 vom JK-Typ geliefert, das an der positiven Flanke des CLK-Signals getaktet wird. Der Lösch-Eingang des Flip-Flops empfängt das RST-Signal. Der J-Eingang des Flip-Flops 866 ist mit dem Ausgang eines UND-Gates 869 verbunden, das das SCAN_END Signal aufnimmt, und der andere Eingang des UND-Gates 869 ist mit dem Ausgang eines ODER-Gates 867 verbunden. Das ODER-Gate 867 verknüpft logisch ODER-mäßig alle eines Satzes von NSW_CHG[31:6] Signalen. Die Bit-Positionen der Signale NSW_CHG[31:6] entsprechen den Bit-Positionen der Status-Signale STATUS[31:6] und zeigen an, durch deren Aufstellen, ob sich das entsprechende Status- Signal STATUS[31:6] nach der letzten Abtastung geändert hat. Das UND-Gate 869 nimmt weiterhin das SCAN_END Signal auf. Der K-Eingang des Flip-Flops 866 ist mit dem Ausgang eines UND-Gates 868 verbunden, der das invertierte SCAN_IN_PROGRESS Signal und den invertierten Ausgang des UND-Gates 869 aufnimmt. Die Signale NSW_CHG[31:6] werden durch den Ausgang eines Multi-Bit-XOR-Gates 862 geliefert, das die Signale D_LNON_SW[31:6] und LNON_SW[31:6] aufnimmt.
  • Der nicht-invertierende Ausgang eines Multi-Bit-D-Typ-Flip-Flops 912 liefert Bits SI_DATA[7:0] für das Seriell-Daten-Register 815. Der Lösch-Eingang des Flip-Flops 912 empfängt das Signal RST und das Flip-Flop 912 wird an der positiven Flanke des CLK-Signals getaktet. Der Signal-Eingang des Flip-Flops 912 ist mit dem Ausgang eines Multi-Bit-Multiplexers 916 verbunden. Der Auswahl-Eingang des Multiplexers 916 ist mit dem Ausgang eines UND-Gates 914 verbunden, und der Null-Eingang des Multiplexers 916 nimmt die Bits SI_DATA[7:0] auf. Das UND-Gate 914 nimmt die Signale GETTING_BYTE und SHIFT_ENABLE auf. Demzufolge werden, wenn die Seriell-Abtast-Logik 804 nicht ein angefordertes Byte der Status-Signale STATUS[47:0] verschiebt, die Werte der Bits SI_DATA[7:0] bewahrt.
  • Der eine Eingang des Multiplexers 916 ist mit dem Ausgang eines Multi-Bit-Multiplexers 910 verbunden. Der eine Eingang des Multiplexers 910 ist mit dem Ausgang eines Multi-Bit-ODER-Gates 911 verbunden, und der Null-Eingang des Multiplexers ist mit dem Ausgang eines Multi-Bit-UND-Gates 915 verbunden. Der Auswahl-Eingang des Multiplexers 910 empfängt das Signal NEW CSID.
  • Ein Eingang des UND-Gates 915 empfängt die Bits SI_DATA[7:0], und ein invertierender Eingang des UND-Gates 915 ist mit dem Ausgang eines 3X8 Decodierers 913 verbunden. Der Decodierer 913 empfängt das Signal BIT[2:0]. Ein Eingang des ODER-Gates 911 empfängt die Bits SI_DATA[7:0], und der andere Eingang des ODER-Gates 911 empfängt den Ausgang des Decodierers 913.
  • Die Seriell-Eingangs-Logik 804 liefert fünf Signale RST_SWITCH[5:0] (entsprechend den Bit-Positionenen der Status-Signale STATUS[5:0]) zu der EIN/AUS-Steuer-Logik 820, was, durch deren Aufstellen, anzeigt, ob der entsprechende Schlitz 36a–f heruntergefahren werden sollte. Die EIN/AUS-Steuer-Logik 820 zeigt an, wenn der Schlitz 36 (angezeigt durch die RST_SWIITCH[5:0] Signale) durch das darauffolgende Einstellen eines von fünf Signalen CLR_SWITCH[5:0] heruntergefahren worden ist, deren Bit-Positionen den Signalen RST_SWITCH[5:0] entsprechen. Nach Empfangen der Anzeige, dass der Schlitz bzw. Einsteckplatz 36 heruntergefahren worden ist, nimmt die serielle Logik 804 dann das entsprechende RST_SWITCH[5:0] Signal zurück.
  • Die Signale RST_SWITCH[5:0] werden durch den nicht-invertierenden Ausgang eines Multi-Bit-Flip-Flops 891 vom D-Typ (31B) geliefert. Der Lösch-Eingang des Flip-Flops 891 empfängt das Reset-Signal RST und das Flip-Flop 891 wird an der positiven Flanke des Taktsignals CLK getaktet. Der Eingang des Flip-Flops 891 ist mit dem Ausgang eines Multi-Bit-ODER-Gates 857 verbunden, der einen Eingang mit dem Ausgang eines Multi-Bit-UND-Gates 859 verbunden besitzt und einen Eingang mit dem Ausgang eines Multi-Bit-UND-Gates 855 verbunden besitzt. Ein Eingang des UND-Gates 859 ist mit dem Ausgang eines Multiplexers 853 verbunden, und der andere Eingang des UND-Gates 859 empfängt verriegelte Schlitz-Freigabe-Signale LSLOT_EN[5:0], die anzeigen, durch deren Aufstellen, ob der entsprechende Schlitz bzw. Einsteckplatz 36a-f hochgefahren ist. Ein Eingang des UND-Gates 855 nimmt die Signale CLR_SWITCH_[5:0] auf. Ein anderer Eingang des UND-Gates 855 nimmt die Signale RST_SWITCH[5:0] auf. Ein anderer Eingang des UND-Gates 855 ist mit dem invertierten Ausgang des Multiplexers 853 verbunden.
  • Der Null-Eingang des Multiplexers 853 empfängt ein Sechs-Bit-Signal, das für Null indikativ ist. Der eine Eingang des Multiplexers 853 ist mit dem Ausgang eines Multi-Bit-UND-Gates 849 verbunden. Ein Eingang des UND-Gates 849 empfängt die Signale D_LSWITCH[5:0], und der andere Eingang des UND-Gates 849 empfängt die invertierten Signale L_SWITCH[5:0]. Der Auswahl-Eingang des Multiplexers 853 empfängt das SCAN_END Signal.
  • Zu Zwecken einer Erzeugung des SI_INTR# Signals umfasst die Seriell-Abtast-Logik 804 ein Flip-Flop 882 vom D-Typ, das das Seriell-Unterbrechungs-Signal SI_INTR# an seinem invertierenden Ausgang liefert. Das Flip-Flop 882 wird an der positiven Flanke des CLK-Signals getaktet, und der Löscheingang des Flip-Flops 882 empfängt das RST-Signal. Der Eingang des Flip-Flops 882 ist mit dem Ausgang eines ODER-Gates 881 verbunden, der zweiunddreißig anhängige Unterbrechungs-Signale PENDING_IRQ[31:0] aufnimmt, die, durch deren Aufstellen, oder Ansteuern auf hoch, anzeigen, ob eine Unter brechung für das entsprechende eine der Status-Signale STATUS[31:0] anhängig ist. Die Signale PENDING_IRQ[31:0] werden ansonsten weggenommen.
  • Wie in 10E dargestellt ist, liefert ein Multi-Bit-Flip-Flop 979 vom D-Typ die Signale PENDING_IRQ[31:0] an seinem nicht-invertierenden Ausgang. Das Flip-Flop 979 wird an der positiven Flanke des Signals CLK getaktet und empfängt das Signal RST an seinem Lösch-Eingang. Der Eingang des Flip-Flops 979 ist mit dem Ausgang eines Multi-Bit-UND-Gates 981 verbunden, das invertierte Unterbrechungs-Maskierungs-Signale. INTR_MASK[31:0] an einem Eingang aufnimmt. Die Signale INTR_MASK[31:0] sind für ein entsprechendes Bit des Unterbrechungs-Masken-Registers 810 indikativ. Der andere Eingang des UND-Gates 981 ist mit dem Ausgang eines Multi-Bit-ODER-Gates 835 verbunden. Ein Eingang des ODER-Gates 835 ist mit dem Ausgang eines Multi-Bit-UND-Gates 862 verbunden und der andere Eingang des ODER-Gates 835 ist mit dem Ausgang eines Multi-Bit-UND-Gates 834 verbunden.
  • Das UND-Gate 862 nimmt invertierte PENDING_IRQ[31:0] Signale auf und signalisiert SET_IRQ[31:0]. Die Signale SET_PIRQ[31:0] werden aufgestellt, um anzuzeigen, dass eine Unterbrechungs-Anforderung für das entsprechende eine der Status-Signale STATUS[31:0] erzeugt werden sollte. Deshalb werden die Signale PENDING_IRQ[31:0] mit den Signalen SET_PIRQ[31:0] aktualisiert, falls sie nicht durch die Signale INTR_MASK[31:0] maskiert sind.
  • Das UND-Gate 834 empfängt die Signale PENDING_IRQ[31:0], invertierte Signale SET_PIRQ[31:0] und invertierte WR_INTR_REG[31:0] Signale. Die Signale WR_INTR_REG[31:0] zeigen die Schreib-Daten an, geliefert durch die CPU 14, und zwar zu dem Unterbrechungs-Register 800 hin. Die CPU löscht eine Unterbrechung durch Schreiben einer "1" zu dem entsprechenden Bit des Unterbrechungs-Registers 800. Deshalb wird, falls dies auftritt, und keine neuen Unterbrechungs-Anforderungen für das entsprechende eine der Status-Signale STATUS[31:0] angezeigt werden, das entsprechende eine der Signale PENDING_IRQ[31:0] gelöscht.
  • Die Signale SET_PIRQ[31:0] werden durch den Ausgang eines Multi-Bit-UND-Gates 839 geliefert. Ein Eingang des UND-Gates 839 empfängt die Signale UPDATE_IRQ[31:0]. Der andere Eingang des UND-Gates 839 ist mit dem Ausgang eines Multi-Bit-XOR-Gates 837 verbunden. Ein Eingang des XOR-Gates 837 empfängt die Sig nale D_INTR_REG[31:0], der andere Eingang des XOR-Gates 837 empfängt die Signale INTR_REG[31:0]. Deshalb wird, wenn die Bits des Unterbrechungs-Registers 800 von einem logischen Zustand zu einem anderen übergehen, eine Unterbrechungs-Anforderung erzeugt.
  • Zu Zwecken einer Aktualisierung der Bits des Unterbrechungs-Registers 800 werden die Signale UPDATE_IRQ[31:0] zu den entsprechenden Last-Eingängen des Registers 800 geliefert. Wenn eines der Signale UPATE_IRQ[31:0] aufgestellt ist, oder auf hoch angesteuert ist, wird das entsprechende Bit mit dem entsprechenden einen der Signale D_INTR_REG[31:0] geladen.
  • Die Signale UPDATE_IRQ[31:0] werden durch den Ausgang eines Multi-Bit-ODER-Gates 971 geliefert. Ein Eingang des ODER-Gates 971 ist mit dem Ausgang eines Multi-Bit-UND-Gates 973 verbunden. Ein Eingang des UND-Gates 973 ist mit dem Ausgang eines Multi-Bit-Multiplexers 977 verbunden, und der andere Eingang des UND-Gates 973 nimmt invertierte PENDING_IRQ[31:0] Signale auf. Der Auswahl-Eingang des Multiplexers 977 empfängt das Signal SCAN_END, der eine Eingang des Multiplexers 977 empfängt ein Zweiunddreißig-Bit-Signal, indikativ für "hFFFFFFFF", und der Null-Eingang des Multiplexers 977 empfängt ein Zweiunddreißig-Bit-Signal, indikativ für "0". Deshalb ermöglichen, an dem Ende einer Abtastung, die Signale UPDATE_IRQ[31:0], dass die Bits des Unterbrechungs-Registers 800 aktualisiert werden, die den aufgestellten PENDING_IRQ[31:0] Signalen entsprechen.
  • Ein anderer Eingang des ODER-Gates 971 ist mit dem Ausgang eines Multi-Bit-UND-Gates 975 verbunden. Ein Eingang des UND-Gates 975 empfängt die invertierten INTR_MASK[31:0) Signale, ein anderer Eingang des UND-Gates 975 empfängt die Signale PENDING_IRQ[31:0], und der andere Eingang des UND-Gates 975 empfängt die Signale WR_INTR_REG[31:0]. Deshalb kann die CPU 14 selektive Bits der Signale PENDING_IRQ[31:0] löschen.
  • Die Signale D_INTR_REG[5:0] werden durch den Ausgang eines Multi-Bit-Multiplexers 830 geliefert. Wenn das SCAN_END Signal aufgestellt ist, sind die Signale D_INTR_REG[5:0] gleich zu den Signalen D_LSWITCH[5:0]. Wenn das SCAN_END Signal weggenommen ist, sind die Signale D_INTR_REG[5:0] gleich zu den Signalen LSWITCH[5:0].
  • Die Signale D_INTR_REG[31:6] werden durch den Ausgang eines Multi-Bit-Multiplexers 845 geliefert. Wenn das SCAN_END Signal aufgestellt ist, sind die Signale D_INTR_REG[31:6] gleich zu den Signalen D_LNON_SW[31:6]. Wenn das SCAN_END Signal weggenommen ist, sind die Signale D_INTR_REG[5:0] gleich zu den Signalen LNON_SW[31:6]. Das Unterbrechungs-Register 800 nimmt neue Werte nur dann auf, wenn das Signal SCAN_END aufgestellt ist.
  • Wie in den 11A11B dargestellt ist, tritt die Abtast-Zustand-Maschine 840 in einen IDLE Zustand nach dem Aufstellen des RESET-Signals RST ein. Wenn sie sich nicht in dem IDLE Zustand befindet, toggelt die Abtast-Zustand-Maschine 840 die Zustände des Seriell-Eingangs-Taktsignals CSIC_O, um das Schiebe-Register 82 zu takten. Weiterhin stellt, wenn sie sich nicht in einem ersten Lade-Zustand LD1 befindet, die Abtast-Zustand-Maschine 840 das Lade-Signal CSIL_O_ auf oder steuert es auf hoch an, um die Register 82 und 52 freizugeben, um seriell die Status-Signale STATUS[127:0] zu der SIO-Schaltung 50 zu verschieben. In dem IDLE Zustand setzt die Abtast-Zustand-Maschine 840 das Signal SCAN_DONE gleich zu Null.
  • Die Abtast-Zustand-Maschine 840 geht von dem IDLE Zustand zu dem Zustand LD1 über, wenn entweder das Signal GETTING_BYTE aufgestellt ist oder das Signal HOLD_OFF weggenommen ist. Ansonsten verbleibt die Abtast-Zustand-Maschine 840 in dem IDLE Zustand. In dem LD1 Zustand stellt die Abtast-Zustand-Maschine 840 das Lade-Signal CSIL_O_ auf oder steuert es auf niedrig an, das die Register 82 und 52 freigibt, um zu verriegeln und damit zu beginnen, die Status-Signale STATUS[127:0] aufzunehmen.
  • Die Abtast-Zustand-Maschine 840 geht von dem LD1 Zustand zu einem Lade-Zwei-Zustand LD2 über. In dem LD2 Zustand wird das Lade-Signal CSIL_O_ aufgestellt beibehalten, was den Registern 82 und 52 ermöglicht, seriell die Status-Signale STATUS[127:0] zu verschieben.
  • Die Abtast-Zustand-Maschine 840 geht darauffolgend zu einem Abtast-Zustand SCALA über. In dem SCALA Zustand tastet die Seriell-Abtast-Eingangs-Logik 804 die Status-Signale STATUS[127:0] an jeder negativen Flanke des Takt-Signals DIV2CLK ab. Wenn das Signal STOP_SCAN aufgestellt ist, geht die Abtast-Zustand-Maschine 840 zurück zu dem IDLE Zustand. Das STOP_SCAN Signal wird aufgestellt, wenn entweder das erwünschte Byte der Status-Signale STATUS[127:0] in das Seriell-Daten-Register 815 hinein verschoben worden ist; die Hebel-Status-Signale STATUS[5:0] eingetastet worden sind und das Seriell-Unterbrechungs-Signal SI_INTR# aufgestellt worden ist; oder alle Status-Signale STATUS[31:0] hinein verschoben worden sind. In dem SCALA Zustand wird das SCAN_DONE Signal gleich zu dem STOP_SCAN Signal gesetzt.
  • Wie in 12A dargestellt ist, umfasst die EIN/AUS-Steuer-Logik 820 eine EIN/AUS-Zustand-Maschine 998, die die RST_SWITCH[5:0] Signale, SLOT_EN[5:0] und SLOT_RST_[5:0] empfängt. Basierend auf den Zuständen, angezeigt durch diese Signale, zeigt die EIN/AUS-Zustand-Maschine 998 die geeigneten Hochfahr- und Herunterfahr-Sequenzen an und steuert sie. Die EIN/AUS-Zustand-Maschine 998 liefert Steuersignale zu der Steuer-Logik 999.
  • Die EIN/AUS-Zustand-Maschine 998 liefert ein Seriell-Ausgangs-Aktualisierungs-Signal SO_UPDATE zu der Seriell-Ausgangs-Logik 824. Wenn das Signal SO_UPDATE aufgestellt ist, oder auf hoch angesteuert ist, beginnt die Seriell-Ausgangs-Logik 824 die Verschiebe-Phase und verschiebt Seriell-Steuer-Daten, über das Signal CSOD_O, zu dem Register 80. Die Seriell-Ausgangs-Logik 824 zeigt einen Abschluss der Verschiebe-Phase durch Aufstellen eines Signals SO_UPDATE_DONE an, das durch die EIN/AUS-Zustand-Maschine 998 empfangen wird. Die EIN/AUS-Zustand-Maschine 998 aktualisiert darauffolgend die Steuersignale POUT[39:0] durch Negieren, oder Takten, des Verriegelungs-Signals CSOLC_O, das durch das Register 80 empfangen wird.
  • Die Steuer-Logik 999 liefert die Signale PWREN[5:0], CLKEN#[5:0], BUSEN#[5:0] und RST#[5:0] zu der Seriell-Ausgangs-Logik 824. Die Steuer-Logik 999 liefert auch ein PCI-Bus-Anforderungs-Signal CAYREQ# zu dem und empfängt ein PCI-Bus-Erteilungs-Signal CAYGNT# von dem Arbitrierer 124. Die EIN/AUS-Steuer-Logik 820 stellt das Signal CAYREQ# auf, oder steuert es auf niedrig an, um den PCI-Bus 32 anzufordern, wenn der Arbitrierer 124 das Signal CAYGNT# aufstellt, oder auf niedrig ansteuert, hat der Arbitrierer 124 eine Steuerung über den PCI-Bus 32 zu der EIN/AUS-Steuer-Logik 820 erteilt.
  • Wie in den 12B12G dargestellt ist, tritt die EIN/AUS-Zustand-Maschine 998 in einen Idle-Zustand IDLE unter Aufstellen des Reset-Signals RST ein. Falls kein Leerlauf vorliegt, steuert die EIN/AUS-Zustand-Maschine 998 eine von drei Sequenzen: die Power-down-Sequenz, die Power-on-Sequenz oder die eine Durchgangs-Sequenz, verwendet dazu, die Steuer-Signale POUT[39:0] zu aktualisieren, wie dies durch das Schlitz-Freigabe- 817 und das LED-Steuer- (nicht dargestellt) Register angezeigt ist. Die EIN/AUS-Zustand-Maschine 998 stellt das Lade-Signal CSOLC_O für einen Zyklus des Taktsignals CLK des Registers 80 auf, oder steuert es auf hoch, bis die EIN/AUS-Zustand-Maschine 998 bestimmt, dass die Steuer-Signale POUT[39:0] aktualisiert werden müssen. Wenn die Steuer-Signale POUT[39:0] aktualisiert sind, negiert die EIN/AUS-Zustand-Maschine 998 das Signal CSOLC_O, was die Steuer-Signale POUT[39:0] aktualisiert.
  • Die EIN/AUS-Zustand-Maschine 998 beginnt die Power-down-Sequenz, wenn entweder die Software ein energiemäßiges Herunterfahren bzw. Power-down mindestens eines der Schlitze bzw. Einsteckplätze 36 anfordert, wie dies durch das Wegnehmen der Signale SLOT_EN[5:0] angezeigt ist; oder die Seriell-Abtast-Eingangs-Logik 804 bestimmt, dass mindestens einer der Schlitze bzw. Einsteckplätze 36a–f der Power-down-Sequenz unterworfen werden sollte, wie dies durch das Aufstellen der Signale RST_SWITCH[5:0] angezeigt ist. Um die Power-down-Sequenz zu beginnen, stellt die EIN/AUS-Zustand-Maschine 998 das SO_UPDATE Signal auf, um eine Verschiebe-Phase und Übergänge von dem IDLE Zustand zu einem RSTON Zustand zu beginnen.
  • Während des RSTON Zustands negiert die Steuer-Logik 999 die Reset-Signale RST#[5:0] für die Schlitze 36, die energiemäßig heruntergefahren werden sollen, und die Seriell-Ausgangs-Logik 824 verschiebt seriell die Reset-Signale RST#[5:0] zu dem Ausgangs-Register 80. Die EIN/AUS-Zustand-Maschine 998 negiert auch das Signal SO UPDATE. Wenn einmal alle vierzig Steuer-Signale durch die Seriell-Ausgangs-Logik 824 zu dem Register 80 verschoben sind, wie dies durch das Aufstellen des Signals SO_UPDATE_DONE angezeigt ist, geht die EIN/AUS-Zustand-Maschine 998 von dem RSTON Zustand zu einem OFF_ARB1 Zustand über.
  • In dem OFF_ARB1 Zustand fordert die EIN/AUS-Zustand-Maschine 998 eine Steuerung über den sekundären PCI-Bus 32 durch Aufstellen des Anforderungs-Signals CAYREQ# an. Die EIN/AUS-Zustand-Maschine 998 geht dann zu einem OFF_WGNT1 Zustand über, wo sie auf die Erteilung des sekundären PCI-Busses 32 wartet. Wenn der Arbitrierer 124 eine Steuerung über den Bus 32 erteilt, wie dies durch das Aufstellen des CAYREQ# Signals angezeigt ist, negiert die EIN/AUS-Zustand-Maschine 998 das Signal CSOLC_O für einen Zyklus des Signals CLK, um die Steuer-Signale POUT[39:0] zu aktualisieren, und geht zu einem OFF_LCLK1 Zustand über.
  • In dem OFF_LCLK1 Zustand stellt die EIN/AUS-Zustand-Maschine 998 das Signal SO_UPDATE auf, um so eine andere Verschiebe-Phase zu beginnen. Die EIN/AUS-Zustand-Maschine 998 geht von dem OFF_LCLK1 Zustand zu einem Bus-off-Zustand BUSOFF über. Während des BUSOFF Zustands nimmt die Steuer-Logik 999 die BUS-Freigabe-Signale BUSEN#[5:0] für die Schlitze 36 weg oder steuert sie auf hoch an, die energießmäßig heruntergefahren werden sollen, und die Seriell-Ausgangs-Logik 824 verschiebt seriell die Bus-Freigabe-Signale BUSEN#[5:0] zu dem Ausgangs-Register 80. Die EIN/AUS-Zustand-Maschine 998 negiert auch das Signal SO_UPDATE. Wenn einmal alle vierzig Steuer-Signale durch die Seriell-Ausgangs-Logik 824 verschoben sind, wie dies durch das Aufstellen des Signals SO_UPDATE_DONE angezeigt ist, geht die EIN/AUS-Zustand-Maschine 998 von dem BUSOFF Zustand zu einem OFF_AR62 Zustand über, wo die Zustand-Maschine 998 wieder erneut eine Kontrolle des sekundären PCI-Busses 32 anfordert. Die Zustand-Maschine 998 geht dann zu einem OFF_WGNT2 Zustand über, wo sie auf die Erteilung des PCI-Busses 32 wartet. Wenn einmal die Erteilung empfangen ist, geht die Zustand-Maschine 998 zu einem OFF_LCLK2 Zustand über, wo die Steuer-Signale POUT[39:0] durch Negieren des Signals CSOLC_O für einen Zyklus des Signals CLK aktualisiert werden. Die Zustand-Maschine 998 geht dann zu einem Takt-Off-Zustand CLKOFF über.
  • Während des CLKOFF Zustands nimmt die Steuer-Logik 999 die Takt-Freigabe-Signale CLKEN#[5:0] für die Schlitze 36 weg, oder steuert sie auf hoch an, die energiemäßig heruntergefahren werden sollen. Die Bus-Freigabe-Signale BUSEN#[5:0] ändern sich nicht, und die Seriell-Ausgangs-Logik 824 verschiebt seriell die Takt-Freigabe-Signale CLKEN#[5:0] zu dem Ausgangs-Register 80. Die EIN/AUS-Zustand-Maschine 998 negiert auch das Signal SO_UPDATE. Wenn einmal alle vierzig Steuer-Signale durch die Seriell-Ausgangs-Logik 824 verschoben sind, wie dies durch das Aufstellen des Signals SO_UPDATE_DONE angezeigt ist, geht die EIN/AUS-Zustand-Maschine 998 von dem CLKOFF-Zustand zu einem OFF_ARB3 Zustand über, wo die Zustand-Maschine 998 erneut eine Steuerung bzw. Kontrolle über den PCI-Bus 32 anfordert. Die Zustand- Maschine 998 geht dann zu einem OFF_WGNT3 Zustand über, wo sie auf die Erteilung des PCI-Busses 32 wartet. Wenn einmal die Erteilung empfangen ist, geht die Zustand-Maschine 998 zu einem OFF_LCLK3 Zustand über, wo die Steuersignale POUT[39:0] durch Negieren des Signals CSOLC_O für einen Zyklus des Signals CLK aktualisiert werden. Die Zustand-Maschine 998 geht dann zu einem Power-Off-Zustand PWROFF über.
  • Während des PWROFF Zustands nimmt die Steuer-Logik 999 die Energie-Freigabe-Signale PWREN[5:0] für die Schlitze 36 weg oder setzt sie auf niedrig, die energiemäßig heruntergefahren werden sollen. Die Signale REST#[5:0], BUSEN#[5:0] und CLKEN#[5:0] ändern sich nicht, und die Seriell-Ausgangs-Logik 824 verschiebt seriell die Energie-Freigabe-Signale PWREN[5:0] zu dem Ausgangs-Register 80. Die EIN/AUS-Zustand-Maschine 998 negiert auch das Signal SO_UPDATE. Wenn einmal alle vierzig Steuersignale durch die Seriell-Ausgangs-Logik 824 verschoben sind, wie dies durch das Aufstellen des Signals SO_UPDATE_DONE angezeigt ist, geht die EIN/AUS-Zustand-Maschine 998 von dem PWROFF Zustand zu einem OFF_LCLK4 Zustand über, wo die Signale POUT[39:0] durch Negieren des Signals CSOLC_O für einen Zyklus des Signals CLK aktuallisiert werden. Die Zustand-Maschine 998 geht dann zu dem IDLE Zustand über, der die Power-Down-Sequenz abschließt.
  • Falls eine Power-Down-Sequenz nicht erforderlich ist, dann bestimmt die EIN/AUS-Zustand-Maschine 998, ob die Power-Up-Sequenz erforderlich ist. Falls entweder die Software mindestens angefordert hat, dass mindestens einer der Schlitze 36 energiemäßig hochgefahren werden soll, oder ein Hochfahren des Erweiterungskastens 30 anhängig ist, dann geht die EIN/AUS-Zustand-Maschine 998 von dem IDLE Zustand zu einem Power-On-PWRON Zustand über, um die Power-On-Sequenz zu beginnen. Um die Power-On-Sequenz zu beginnen, stellt die EIN/AUS-Zustand-Maschine 998 das SO_UPDATE Signal auf, um eine Verschiebe-Phase zu beginnen, und geht von dem IDLE Zustand zu einem Power-On-Zustand PWRON über.
  • Während des PWRON Zustands stellt die Steuer-Logik 999 die Power-Freigabe-Signale PWREN[5:0] für die Schlitze 36 auf, die energiemäßig hochgefahren werden sollen, und die Seriell-Ausgangs-Logik 824 verschiebt seriell die Power-Freigabe-Signale PWREN[5:0] zu dem Ausgangs-Register 80. Die EIN/AUS-Zustand-Maschine 998 negiert auch das Signal SO_UPDATE. Wenn einmal alle vierzig Steuersignale durch die Seriell-Ausgangs-Logik 824 verschoben sind, wie dies durch das Aufstellen des Signals SO_UPDATE_DONE angezeigt ist, geht die EIN/AUS-Zustand-Maschine 998 von dem PWRON-Zustand zu einem Initialisierungs-Zustand LDCNTI eines Zeitgebers 806 über und negiert das Lade-Signal CSOLC_O, um die Steuersignale POUT[39:0] zu aktualisieren.
  • In dem LDCNTI Zustand initialisiert die EIN/AUS-Zustand-Maschine 998 die Zeitgeber 806 so, dass die Zeitgeber 806 eine Indikation liefern, wenn ein vorbestimmtes Stabil isierungs-Verzögerungs-Intervall abgelaufen ist. Das Stabil isierungs-Verzögerungs-Intervall ermöglicht eine ausreichende Zeit für die Karte 807, die energiemäßig hochgefahren werden soll, um sich zu stabilisieren, wenn einmal der Spannungspegel Vss zu der Karte 807 zugeführt ist. In dem LDCNTI Zustand stellt die EIN/AUS-Zustand-Maschine 998 auch das Signal CSOLC_O auf. Die EIN/AUS-Zustand-Maschine 820 geht von dem LDCNTI Zustand zu einem CLKON Zustand über.
  • Während des CLKON Zustands stellt die Steuerlogik 999 die Taktfreigabesignale CLKEN#[5:0] für die Schlitze bzw. Einsteckplätze 36 auf oder steuert sie auf niedrig an, die energiemäßig hochgefahren werden sollen. Die PWREN[5:0] Signale verbleiben unverändert, und die Seriell-Ausgangs-Logik 824 verschiebt seriell die Taktfreigabesignale CLKEN#[5:0] zu dem Ausgangs-Register 80. Die EIN/AUS-Zustand-Maschine 998 negiert auch das Signal SO_UPDATE. Wenn einmal das Stabilisierungs-Verzögerungs-Intervall abgelaufen ist, geht die EIN/AUS-Zustand-Maschine 998 von dem CLKOFF Zustand zu einem ON_ARB1 Zustand über.
  • In dem ON_ARB1 Zustand fordert die EIN/AUS-Zustand-Maschine 998 eine Steuerung bzw. Kontrolle über den sekundären PCI-Bus 82 durch Aufstellen des Anforderungs-Signals CAYREQ# an. Die EIN/AUS-Zustand-Maschine 998 geht dann zu einem ON_WGNT1 Zustand über, wo sie auf die Erteilung des sekundären PCI-Busses 32 wartet. Wenn einmal die Kontrolle bzw. Steuerung des Busses 32 erteilt ist, wie dies durch das Aufstellen des CAYGNT Signals angezeigt ist, negiert die EIN/AUS-Zustand-Maschine 998 das Signal CSOLC_0, um die Steuer-Signale POUT[39:0] zu aktualisieren, und geht zu einem ON_LCLK1 Zustand über, wo die Signale POUT[39:0] aktualisiert werden.
  • Die EIN/AUS-Zustand-Maschine 998 geht von dem ON_LCLK1 Zustand zu einem LDCNT2 Zustand über, wo die Zeitgeber 806 so initialisiert werden, dass die Zeitgeber 806 eine Indikation liefern, wenn ein anderes, vorbestimmtes Stabilisierungs-Verzögerungs-Intervall abgelaufen ist. Dieses Verzögerungsintervall wird dazu verwendet, dem Takt-Signal an der Karte 807 zu ermöglichen, energiemäßig hochgefahren zu werden, um sich zu stabilisieren, bevor die Power-Up-Sequenz fortfährt. Die EIN/AUS-Zustand-Maschine 998 geht von dem LDCNT2 Zustand zu einem Bus-Ein-Zustand BUSON über.
  • Während des BUSON Zustands stellt die Steuerlogik 999 die Bus-Freigabe-Signale BUSEN#[5:0] für die Schlitze 36 auf, oder steuert sie auf niedrig an, die energiemäßig heruntergefahren werden sollen. Die Signale CLKEN#[5:0] und PWREN[5:0] verbleiben unverändert, und die Seriell-Ausgangs-Logik 824 verschiebt seriell die Bus-Freigabe-Signale BUSEN#[5:0] zu dem Ausgangsregister 80. Die EIN/AUS-Zustand-Maschine 998 negiert auch das Signal SO_UPDATE. Wenn einmal das Stabilisierungs-Verzögerungs-Intervall abgelaufen ist, geht die EIN/AUS-Zustand-Maschine 998 von dem BUSON Zustand zu einem ON_ARB2 Zustand über, wo die Zustand-Maschine 998 erneut wieder eine Kontrolle des PCI-Busses 32 anfordert. Die Zustand-Maschine 998 geht dann zu einem ON_WGTN2 Zustand über, wo sie auf die Erteilung des Busses 32 wartet. Wenn einmal die Erteilung empfangen ist, geht die Zustand-Maschine 998 zu einem ON_CLK2 Zustand über, wo die Signale POUT[39:0] durch Negieren des Signals CSOLC_O für einen Zyklus des Signals CLK aktualisiert werden. Die Zustand-Maschine 998 geht dann zu einem Reset-Off-Zustand RSTOFF über.
  • Während des RESTOFF Zustands stellt die Steuerlogik 999 die Reset-Signale RST#[5:0] für die Schlitze 36 auf, oder negiert sie, die energiemäßig hochgefahren werden sollen, und zwar in Abhängigkeit von deren jeweiligen SLOT_RST_[5:0] Signalen. Die Signale CLKEN#[5:0], PWREN[5:0] und BUSEN#[5:0] verbleiben unverändert, und die Seriell-Ausgangs-Logik 824 verschiebt seriell die Reset-Signale RST#[5:0] zu dem Ausgangsregister 80. Die EIN/AUS-Zustand-Maschine 998 negiert auch das Signal SO_UPDATE. Wenn einmal alle vierzig Steuersignale durch die Seriell-Ausgangs-Logik 824 verschoben sind, wie dies durch das Aufstellen des Signals SO_UPDATE_DONE angezeigt ist, geht die EIN/AUS-Zustand-Maschine 998 von dem RSTON Zustand zu ei nem ON_ARB3 Zustand über, wo die Zustand-Maschine 998 erneut wieder eine Kontrolle des Busses 32 anfordert. Die Zustand-Maschine 998 geht dann zu einem ON_WGTN3 Zustand über, wo sie auf die Erteilung des Busses 32 wartet. Wenn einmal die Erteilung empfangen ist, geht die Zustand-Maschine 998 zu einem ON_CLK3 Zustand über, wo die Signale POUT[39:0] durch Negieren des Signals CSOLC_O für einen Zyklus des Signals CLK aktualisiert werden. Die Zustand-Maschine 998 geht dann zurück zu dem IDLE Zustand.
  • Falls weder die Power-Up-Sequenz noch die Power-Down-Sequenz erforderlich ist, dann bestimmt die EIN/AUS-Zustand-Maschine 998, ob eine Ein-Durchgang-Sequenz benötigt wird, um ausgewählte solche der Signale POUT[39:0] zu aktualisieren. Falls die GO_UPDATE Signal aufgestellt ist und falls sich irgendwelche Bits des Schlitz-Freigabe-Registers 817 oder des Schlitz-Reset-Registers 918 ändern, dann geht die EIN/AUS Zustand-Maschine 998 zu einem ONEPASS Zustand über und stellt das SO_UPDATE Signal auf.
  • Die EIN/AUS Zustand-Maschine 998 verbleibt in dem ONEPASS Zustand, bis die vierzig Steuer-Signale zu dem Register 80 verschoben worden sind. Die EIN/AUS-Zustand-Maschine 998 geht dann zu einem OP_ARB Zustand über, wo die Zustand-Maschine 998 eine Kontrolle des PCI-Busses 32 durch Aufstellen des Signals CAYREQ# anfordert. Die Zustand-Maschine 998 geht dann zu einem OP_WGNT Zustand über, wo sie auf die Erteilung des Busses 32 wartet. Wenn einmal die Erteilung empfangen ist, geht die Zustand-Maschine 998 zu einem OP_LCLK Zustand über, wo die Signale POUT[39:0] durch Negieren des Signals CSOLC_O für einen Zyklus des Signals CLK aktualisiert werden. Die Zustand-Maschine 998 geht dann zurück zu dem IDLE Zustand.
  • Wie in 13 dargestellt ist, umfasst die Seriell-Ausgangs-Logik 824 einen Verschiebe-Ausgangs-Bit-Zähler 921, der ein Sechs-Bit-Zähler-Ausgangs-Signal BIT_CNTR[5:0] liefert, das das Steuer-Signal protokolliert, aus der Seriell-Ausgangs-Logik 824 über das Signal CSOD_O heraus verschoben. Wenn das Signal BIT_CNTR[5:0] gleich zu einer Zahl mit sechs Ziffern gleich zu "39" ist, dann wird ein Signal MAX_CNT aufgestellt. Das Signal MAX_CNT wird zu dem Eingang eines UND-Gates 922 geliefert. Das UND-Gate 922 empfängt weiterhin ein Signal SHIFT4, das aufgestellt wird, wenn die Ausgangs-Verschiebe-Zustand-Maschine 920 in der SHIFT4 Zustand ein tritt, der weiter nachfolgend beschrieben wird. Der Ausgang des UND-Gates 922 liefert das Signal SO_UPDATE_DONE.
  • Die Ausgangs-Verschiebe-Zustand-Maschine 920 liefert ein Erhöhungs-Zähler-Signal INC_CNTR zu dem Bit-Zähler 921. Wenn das INC_CNTR-Signal aufgestellt ist, erhöht der Bit-Zähler 921 den Wert, dargestellt durch das Signal BIT_CNTR[5:0]. Wenn ein Lade-Zähler-Signal LOAD_CNTR aufgestellt ist oder wenn das RST-Signal aufgestellt ist, dann löscht der Ausgang eines ODER-Gates 925, verbunden mit einem Lösch-Eingang des Bit-Zählers 921, das Signal BIT_CNTR[5:0].
  • Das Signal BIT_CNTR[5:0] wird zu dem Auswahl-Eingang eines Multi-Bit-Multiplexers 924 geliefert, der das Signal CSOD_O liefert. Der nullte bis elfte Eingang des Multiplexers 924 empfangen die LED-Steuer-Signale LEDS[11:0]. Der zwölfte bis fünfzehnte Eingang des Multiplexers 924 empfangen Ausgangs-Signale GPOA[3:0] für allgemeine Zwecke. Der sechszehnte bis einundzwanzigste Eingang empfangen die Reset-Signale RST#[5:0]. Der zweiundzwanzigste bis siebenundzwanzigste Eingang empfangen die Takt-Freigabe-Signale CLKEN#[5:0]. Der achtundzwanzigste bis dreiunddreißigste Eingang empfangen die Bus-Freigabe-Signale BUSEN[5:0]. Der vierunddreißigste bis neununddreißigste Eingang empfangen die Energie-Freigabe-Signale PWREN[5:0].
  • Wie in den 14A-14B dargestellt ist, tritt die Ausgangs-Verschiebe-Zustand-Maschine 920 in einen IDLE Zustand ein, wenn das Signal RST aufgestellt ist. Falls das Signal SO_UPDATE aufgestellt ist, dann geht die Ausgangs-Verschiebe-Zustand-Maschine 920 von dem IDLE Zustand zu einem SHIFTI Zustand über.
  • Da die Ausgangs-Verschiebe-Zustand-Maschine 920 an der positiven Flanke des PCI-Takt-Signals CLK getaktet wird, geht die Ausgangs-Verschiebe-Zustand-Maschine 920 über einen SHIFTI Zustand, einen SHIFT2 Zustand, einen SHIFT3 Zustand und einen SHIFT4 Zustand hindurch, um das Takt-Signal CSOSC_O zu erzeugen, das ein viertel der Frequenz des Takt-Signals CLK ist. Während des SHIFT1- und SHIFT2-Zustands wird das Takt-Signal CSOSC_O negiert und auf niedrig gesetzt, und während des SHIFT3 und SHIFT4 Zustands wird das Taktsignal CSOSC_O aufgestellt oder auf hoch gesetzt. Wenn die momentane Verschiebe-Phase abgeschlossen ist, wie dies durch das Aufstellen des Signals MAXCNT angezeigt ist, kehrt die Verschiebe-Zustand-Maschine 920 zu dem IDLE Zustand zurück und das Takt-Signal CSOSC_O wird, bis zu dem Beginn der nächsten Verschiebe-Phase, aufgestellt.
  • Wie in 15 dargestellt ist, wird ein Signal HANG_PEND durch den Lösch-Eingang des Registers 80 empfangen. Das Aufstellen, oder Ansteuern auf hoch, des HANG_PEND Signals asynchron löscht die geeigneten Ausgangs-Steuer-Signale POUT[39:0], um alle Schlitze 36 energiemäßig herunterzufahren, wenn sich der PCI-Bus 32 in einem verriegelten Zustand befindet, wie dies weiter nachfolgend beschrieben ist.
  • ERWEITERUNGS-KARTEN-RAUM-RESERVIERUNG
  • Im Gegensatz zu herkömmlichen Computersystemen reserviert, in der Anfangs-Konfiguration des Computersystems 10, bei einem Einschalten, die CPU 14 einen Speicherraum und PCI-Bus-Zahlen für die Schlitze bzw. Eisteckplätze 36, die leer sind (keine Karte 807 ist eingesetzt) oder abgeschaltet sind bzw. heruntergefahren sind.
  • Die CPU 14 ordnet, wie dies typischerweise vorgenommen wird, Bus-Zahlen für PCI-Busse (z. B. PCI-Busse 24, 32a32b und PCI-Buse) der Karten 807, die in Schlitze 36 eingesetzt sind und eingeschaltet sind) zu, die dann vorhanden sind, wenn das Computersystem 10 zuerst eingeschaltet bzw. hochgefahren wird.
  • Jede PCI-PCI-Brücken-Schaltung (z. B. PCI-PCI-Brücke 26, 48) in diesem Konfigurations-Register-Raum 1252 (49) besitzt ein Neben-Bus-Zahl-Register 1218 und ein Sekundär-Bus-Zahl-Register 1220. Das Neben-Bus-Zahl-Register 1218 enthält eine Neben-Bus-Zahl, die die höchste PCI-Bus-Zahl ausgangsseitig der PCI-PCI-Brücken-Schaltung ist, und das Sekundär-Bus-Zahl-Register 1220 enthält eine Sekundär-Bus-Zahl, die die PCI-Bus-Zahl des PCI-Busses unmittelbar ausgangsseitig der PCI-PCI-Brücken-Schaltung ist. Demzufolge definieren die Werte, gespeichert in dem Neben- 1218 und dem Sekundär- 1220 Bus-Zahl-Register, den Bereich von PCI-Bus-Zahlen, die ausgangsseitig der PCI-PCI-Brücken-Schaltung vorhanden sind.
  • Der Konfigurations-Register-Raum 1252 besitzt auch ein Primär-Bus-Zahlen-Register 1222. Das Primär-Bus-Zahl-Register 1222 enthält die Zahl des PCI-Busses, angeordnet unmittelbar eingangsseitig der PCI-PCI-Brücken-Schaltung.
  • Die System-Steuereinheit/Host-Brücken-Schaltung 18 besitzt auch das Neben- 1218 und Sekundär- 1220 Bus-Zahl-Register. Nach einer Konfiguration enthält das Neben-Bus-Zahl-Register 1218 der Schaltung 18 die maximale PCI-Bus-Zahl, die in dem Computersystem vorhanden ist. Das Sekundär-Bus-Zahl-Register 1220 der Schaltung 18 enthält die Bus-Zahl Null, da dem PCI-Bus unmittelbar ausgangsseitig der Schaltung 18 (PCI-Bus 24) immer die Bus-Zahl Null zugeordnet wird.
  • Im Gegensatz zu dem bekannten System erkennt die CPU 14, dass einer der Schlitze 36, der zu Anfang eingeschaltet bzw. hochgefahren ist oder leer ist, einen oder mehrere zusätzliche PCI-Bus(e) (vorhanden auf der Karte 802, eingesetzt in dem Schlitz 36, zu Anfang heruntergefahren) in das Computersystem 10 hinein einführen kann, nachdem das Computersystem 10 bereits eingeschaltet bzw. hochgefahren und konfiguriert ist. Dementsprechend reserviert, während einer anfänglichen Konfiguration, die CPU 14 Speicherraum, I/O-Raum und eine vorbestimmte Zahl (z. B. eins oder drei) von PCI-Bus-Zahlen für irgendeinen Schlitz 36, der heruntergefahren oder leer ist.
  • Demzufolge müssen die PCI-PCI-Brücken-Schaltungen des Computersystems 10 nicht rekonfiguriert werden, um die Karte 807 aufzunehmen, die vor kurzem eingeschaltet worden ist. Nur die PCI-PCI-Brücken-Schaltungen der Karte 807, die vor kurzem eingeschaltet wurde, muss konfiguriert werden. Der Rest des Computersystems 10 verbleibt unverändert.
  • Als ein Teil des Resource-Reservierungs-Prozesses baut ein Basic-Input/Output-System (BIOS), gespeichert in dem ROM 23 und verdeckt in den Speicher 20 eingegeben (und schreibgeschützt), eine Tabelle auf, die Resource-Bereiche spezifiziert, die für die Schlitze 36 reserviert werden. Diese Tabelle umfasst eine Bus-Zahl, Speicher und I/O-Resource-Bereiche zur Verwendung beim Konfigurieren einer PCI-Vorrichtung, die neu zu dem System 10 hinzugefügt worden ist. Das Betriebssystem verwendet diese Tabelle, um zu bestimmen, welche Resourcen reserviert worden sind und welche Resourcen für eine Konfigurierung der neu hinzugefügten PCI-Vorrichtung verfügbar sind.
  • Wie in 16 dargestellt ist, ordnet, in einem rekursiven PCI-Konfigurations-Programm, bezeichnet als BUS_ASSIGN, die CPU 14 Konfigurations-Register 1252 für PCI-Bus-Zahlen und -Programme der PCI-PCI-Brücken-Schaltungen entsprechend zu. Die CPU 14 nimmt dies durch Abtasten eines PCI-Busses zu einem Zeitpunkt für PCI-Vorrichtungen vor. Das BUS_ASSIGN Programm ist Teil des BIOS, gespeichert in dem ROM 23, und wird dazu verwendet, zu Anfang das Computersystem 10, nach einem Einschalten, zu konfigurieren.
  • Die CPU 14 setzt zuerst 1000, der Wert eines Such-Parameters PCI-Bus, gleich zu dem Wert eines anderen Such-Parameters CURRENT_PCI_BUS, und initialisiert 1000 Such-Parameter FCN und DEV. Der Parameter PCI-Bus zeigt die Bus-Zahl des PCI-Busses an, der momentan durch die CPU 14 abgetastet wird, und wenn das BUS_ASSIGN Programm zuerst durch die CPU 14 ausgeführt wird, zeigt der Parameter PCI-Bus die Bus-Zahl Null an.
  • Der Parameter CURRENT_PCI_BUS zeigt die nächste PCI-Bus-Zahl an, die zum Zuordnen durch die CPU verfügbar ist, und wenn das Programm BUS_ASSIGN zuerst durch die CPU 14 ausgeführt wird, zeigt der Parameter CURRENT_PCI_BUS eine Bus-Zahl Null an. Die Parameter FCN und DEV zeigen die momentane PCI-Funktion und die PCI-Vorrichtung, jeweils, an, die momentan durch die CPU 14 abgetastet werden.
  • Die CPU 14 bestimmt, 1001, ob der Parameter PCI_BUS eine Bus-Zahl Null anzeigt, und falls dies der Fall ist, stellt die CPU 14 das Sekundär-Bus-Zahl-Register 1220 der System-Steuereinheit/Host-Brücken-Schaltung 18 gleich zu Null ein. Die CPU 14 findet dann, 1004, die nächste PCI-PCI-Brücken-Schaltung oder den Schlitz 36, der heruntergefahren bzw. ausgeschaltet ist oder leer ist, auf dem PCI-Bus, angezeigt durch den Parameter PCI_BUS.
  • Zu Zwecken einer Bestimmung, ob die nächste, gefundene PCI-Vorrichtung eine PCI-PCI-Brücken-Schaltung ist oder nicht existiert (ein abgeschalteter oder leerer Schlitz), versucht die CPU 14, von einem Wert eines EIN-Wort-Vendor-ID-Register, angeordnet in dem Konfigurations-Raum jeder PCI-Vorrichtung, zu lesen. Ein Wert von "hFFFF" (wobei die Vorsilbe "h" eine hexadezimale Darstellung bezeichnet) wird reserviert und nicht durch irgendeinen Vendor bzw. Lieferanten verwendet. Falls die versuchte Lesung von dem Vendor-ID-Register zu einem Wert "HFFFF" zurückkehrt, dann zeigt dies an, dass keine PCI-Vorrichtung vorhanden ist.
  • Falls die CPU 14 bestimmt, 1006, dass dort keine weiteren, nicht vorgefundenen PCI-PCI-Brücken-Schaltungen oder Schlitze 36 vorhanden sind, die heruntergefahren sind oder leer sind, und zwar auf dem PCI-Bus, angezeigt durch den Parameter PCI_BUS, wird eine Zurückführung von dem letzten Aufruf, vorgenommen zu dem BUS_ASSIGN Programm, vorgenommen. Ansonsten bestimmt die CPU 14, 1008, ob eine andere PCI-PCI-Brücken-Schaltung vorgefunden wurde, und falls nicht, erhöht die CPU 14, 1010, den Parameter CURRENT_PCI_BUS, da ein Schlitz bzw. Einsteckplatz 36, der eingeschaltet oder leer ist, gefunden wurde, und findet, 1004, die nächste PCI-PCI-Brücken-Schaltung oder einen Schlitz 36, der abgeschaltet oder leer ist. Demzufolge reserviert, durch Erhöhen, 1010, des Parameters CURRENT_PCI_BUS, die CPU 14 effektiv eine Bus-Zahl für den Schlitz 36, der abgeschaltet oder leer ist. Alternativ kann die CPU 14 mehr als eine Bus-Zahl für den Schlitz 36 reservieren, der abgeschaltet oder leer ist.
  • Falls die CPU 14 eine PCI-PCI-Brücken-Schaltung fand, dann stellt die CPU 14, 1012, die Primär-Bus-Zahl der PCI-PCI-Brücken-Schaltung gleich zu dem Parameter CURRENT_PCI_BUS ein. Die CPU 14 erhöht dann, 1014, den Parameter CURRENT_PCI_BUS und stellt, 1016, die sekundäre Bus-Zahl der PCI-PCI-Brücke gleich zu der neuen Bus-Zahl, angezeigt durch den Parameter CURRENT_PCI_BUS, ein.
  • Die CPU 14 stellt dann, 1018, die Neben-Bus-Zahl der gefundenen PCI-PCI-Brücken-Schaltung gleich zu der maximalen, möglichen Zahl von PCI-Bussen ein, und zwar durch Schreiben zu dem Neben-Bus-Zahl-Register 1218. Dieser Wert für das Neben-Bus-Zahl-Register 1218 ist temporär und ermöglicht der CPU 14, zusätzliche, ausgangsseitige PCI-PCI-Brücken-Schaltungen oder Schlitze 36 zu finden und zu programmieren, die abgeschaltet oder leer sind.
  • Die CPU 14 findet zusätzliche, ausgangsseitige PCI-PCI-Brücken-Schaltungen oder Schlitze 36, die abgeschaltet oder leer sind, durch Aufbewahren, 1022, der Parameter PCI_BUS, DEV und FCN und jeweils aufrufen, 1022, des BUS_ASSIGN Programms. Die CPU 14 speichert dann wieder, 1024, die Werte für die Parameter PCI_BUS, DEV und FCN, und kehrt zu dem letzten Aufruf des BUS_ASSIGN Programms zurück, um den Parameter CURRENT_PCI_BUS mit der nächsten PCI-Bus-Zahl zu aktualisieren, die durch die CPU 14 zugeordnet werden sollen.
  • Die CPU 14 aktualisiert dann, 1026, die Neben-Bus-Zahl der aufgefundenen PCI-PCI-Brücke durch Einstellen, 1026, der Neben-Bus-Zahl gleich zu dem Parameter CURRENT_PCI_BUS. Demzufolge schließt dies die Zuordnung der PCI-Bus-Zahl zu der gefundenen PCI-PCI-Brückenschaltung und zusätzlichen, ausgangsseitigen PCI-PCI-Brücken-Schaltungen und Einsteckplätzen bzw. Schlitzen 36 ab, die abgeschaltet oder leer sind. Die CPU 14 findet dann, 1004, die nächste PCI-PCI-Brücken-Schaltung oder den Schlitz 36, die abgeschaltet oder leer sind, und zwar auf dem PCI-Bus, angezeigt durch den Parameter PCI_BUS.
  • Wie in 17 dargestellt ist, führt, nachdem die PCI-Bus-Zahlen zugeordnet sind, die CPU 14 ein Speicher-Raum-Zuordnungs-Programm, bezeichnet als MEM_ALLOC, aus, um Speicher-Raum für die PCI-Funktionen und Schlitze 36 zuzuordnen, die abgeschaltet oder leer sind. Die CPU 14 initialisiert zuerst, 1028, Such-Parameter, verwendet beim Unterstützen der CPU 14 beim Auffinden der angeordneten PCI-Funktionen und Schlitze 36, die abgeschaltet oder leer sind.
  • Die CPU 14, findet dann, 1030, die nächste PCI-Funktion oder die Schlitze 36, die abgeschaltet oder leer ist. Falls die CPU 14 bestimmt, 1032, dass alle PCI-Funktionen und alle Schlitze bzw. Einsteckplätze 36, die abgeschaltet oder leer sind, einem Speicherraum zugeordnet worden sind, kehrt die CPU 14 von dem Programm MEM_ALLOC zurück. Ansonsten bestimmt die CPU 14, 1032, ob eine PCI-Funktion gefunden wurde.
  • Falls dies der Fall ist, ordnet die CPU 14 Speicher-Resourcen zu, 1038, wie dies durch die PCI-Funktion spezifiziert ist. Ansonsten wird einer der Schlitze bzw. Einsteckplätze 36, der abgeschaltet ist oder leer ist, vorgefunden, und die CPU 14 ordnet eine Fehler-Speicher-Größe und eine Speicher-Ausrichtung für den Schlitz 36 zu, 1036. Die Fehler-Speicher-Größe kann entweder eine vorbestimmte Größe sein, bestimmt vor einem Einschalten des Computersystems 10, oder eine Größe, die nach einer Bestimmung der Speicher-Resourcen, erforderlich durch das Computersystem 10, bestimmt ist.
  • Wenn Speicherraum zugeordnet wird, programmiert die CPU 14 Speicher-Basis- 1212 und Speicher-Grenzen- 1214 Register der PCI-PCI-Brücken-Schaltungen, die eingangsseitig der gefundenen PCI-Funktion vorhanden sind. Die CPU 14 programmiert geeignet auch Basis-Adressen-Register der entsprechenden PCI-Vorrichtungen. Die CPU 14 findet dann, 1030, die nächste PCI-Funktion oder den Schlitz 36, der abgeschaltet oder leer ist.
  • Wie in 18 dargestellt ist, führt, nachdem die PCI-Bus-Zahlen zugeordnet sind, die CPU 14 ein I/O-Raum-Zuordnungs-Programm, bezeichnet als I/O_ALLOC, aus, um I/O/Raum für PCI-Funktionen und Schlitze 36, die leer sind, zuzuordnen. Die CPU 14 initialisiert zuerst, 1040, Such-Parameter, verwendet beim Unterstützen der CPU 14, die zugeordneten PCI-Funktionen und Schlitze 36, die abgeschaltet oder leer sind, zu finden.
  • Die CPU 14 findet, 1042, die nächste PCI-Funktion oder den Schlitz 36, der abgeschaltet oder leer ist. Falls die CPU 14 bestimmt, 1044, dass alle PCI-Funktionen und Schlitze 36, die abgeschaltet oder leer sind, einem I/O/Raum zugeordnet worden sind, kehrt die CPU 14 von dem I/O_ALLOC Programm zurück. Ansonsten bestimmt die CPU 14, 1044, ob eine PCI-Funktion gefunden wurde. Falls dies der Fall ist, ordnet die CPU 14, 1050, I/O-Resourcen zu, wie dies durch die PCI-Funktion spezifiziert ist. Ansonsten ordnen ein Schlitz 36, der heruntergefahren ist oder leer vorgefunden wurde, und die CPU 14 eine Fehler-I/O-Größe und eine I/O-Ausrichtung für den Schlitz 36 zu, 1048. Die Fehler-I/O-Größe kann entweder eine vorbestimmte Größe, bestimmt vor einem Abschalten des Computersystems 10, oder eine Größe, bestimmt nach einer Bestimmung der I/O-Ressourcen, erforderlich durch das Computersystem 10, sein.
  • Wenn ein I/O/Raum zugeordnet wird, dann programmiert die CPU 14 die I/O-Basis 1208 und begrenzt, 1012, Register der PCI-PCI-Brücken-Schaltungen, eingangsseitig der PCI-Funktion oder des Schlitzes 36. Die CPU 14 programmiert auch Basis-Adressen-Register der entsprechenden PCI-Vorrichtungen geeignet. Die CPU 14 findet dann, 1042, die nächste PCI-Funktion oder den Schlitz 36, der abgeschaltet oder leer ist.
  • Wie in 19 dargestellt ist, führt, nach einer anfänglichen Konfiguration, wenn eine Unterbrechung erzeugt ist, die anzeigt, dass einer der Hebel 802 geöffnet oder geschlossen ist, die CPU 14 ein Unterbrechungs-Service-Programm, bezeichnet als CARD_INT, aus. Die CPU 14 liest, 1052, die Inhalte des Unterbrechungs-Registers 800, um zu bestimmen, 1053, ob der Hebel 802 geöffnet oder geschlossen worden ist. Falls die CPU 14 bestimmt, 1053, dass der Hebel 802, der die Unterbrechung verursacht, geöffnet wurde, kehrt die CPU 14 von dem Programm CARD_INT zurück.
  • Ansonsten schreibt die CPU 14, 1054, zu dem Schlitz-Freigabe-Register 817 und stellt, 1054, das SO-Bit ein, um das Einschalten des Schlitzes 36 und der Karte 807, eingesetzt in dem Schlitz 36, zu initiieren. Die CPU 14 wartet dann (nicht dargestellt) auf die Karte 807, um einzuschalten. Die CPU 14 greift dann, 1055, auf den PCI-Bus auf der Karte zu, falls vorhanden. Die CPU 14 bestimmt dann, 1056, ob die Karte 807, die gerade eingeschaltet wurde, einen PCI-Bus besaß (und eine PCI-PCI-Brücken-Schaltung). Falls dies der Fall ist, bestimmt, 1057, die CPU 14 die primären, sekundären und Unterprogramm-Bus-Zahlen, reserviert für den Schlitz 36, in dem die Karte 807 eingeschaltet wur de. Die CPU 14 konfiguriert darauffolgend, 1058, die PCI-PCI-Brücken-Schaltung auf der Karte 807, die eingeschaltet wurde.
  • Die CPU 14 bestimmt dann, 1060, die Stelle und die Größe von I/O- und Speicher-Räumen, reserviert für den Schlitz 36. Die CPU 14 schreibt darauffolgend, 1062, zu Basis-Adressen-Registern in dem PCI-Konfigurations-Header-Raum der Karte 807, die eingeschaltet wurde. Die CPU 14 liest dann, 1064, ein Unterbrechungs-Stift-Register in dem Konfigurations-Raum der Karte 807, um zu bestimmen, 1066, ob die Karte 807 Unterbrechungs-Anforderungen verwendet. Falls dies der Fall ist, schreibt die CPU 14, 1068, ein Unterbrechungs-Zeilen-Register in den Konfigurations-Raum der Karte 807 mit einer zugeordneten IRQ-Zahl.
  • Die CPU gibt dann, 1070, Befehls-Register der Karte 870 frei, die in dem Konfigurations-Raum der Karte 807 angeordnet sind, und ermöglicht der Karte 807, auf Speicher- und I/O-Zugriffe auf den PCI-Bus 32 anzusprechen. Die CPU 14 schreibt darauffolgend, 1072, zu dem Unterbrechungs-Register 800, um die Unterbrechungs-Anforderung zu löschen, und lädt, 1074, einen Software-Vorrichtungs-Treiber für die Karte 807. Die CPU 14 kehrt dann von dem Programm CARD_INT zurück.
  • BRÜCKEN-KONFIGURATION
  • Funktional bilden Brücken-Chips 26 und 48 eine PCI-PCI-Brücke zwischen PCI-Bussen 24 und 32. Allerdings umfasst jeder Brücken-Chip einen Konfigurations-Raum, der unabhängig konfiguriert werden muss. Eine Lösung ist diejenige, zwei Brücken als unabhängige Vorrichtungen, eine Brücke bildend, zu behandeln, allerdings würde dies eine Modifikation des BIOS-Konfigurations-Programms erfordern. Die andere Lösung ist diejenige, das Kabel 28 als einen Bus zu definieren, so dass das Konfigurations-Programm den eingangsseitigen Brücken-Chip 26 als eine PCI-PCI-Brücke zwischen dem PCI-Bus 24 und dem Kabel 28 und dem ausgangsseitigen Brücken-Chip 48 als eine PCI-PCI-Brücke zwischen dem Kabel 28 und dem PCI-Bus 32 konfigurieren kann. Ein Vorteil dieser zweiten Lösung ist derjenige, dass Standard-PCI-Konfigurations-Zyklen laufen können, um die Brücken-Chips 26 und 48 zu konfigurieren, falls sie zwei PCI-PCI-Brücken waren, wenn tatsächlich die zwei Brücken-Chips eine PCI-PCI-Brücke bilden.
  • Dabei sind zwei Typen von Konfigurations-Transaktionen auf dem PCI-Bus vorhanden: Typ 0 und Typ 1. Ein Konfigurations-Zyklus vom Typ 0 ist für Vorrichtungen auf dem PCI-Bus vorgesehen, auf dem der Konfigurations-Zyklus erzeugt ist, während ein Konfigurations-Zyklus vom Typ 1 für Vorrichtungen auf einem sekundären PCI-Bus, auf den über eine Brücke zugegriffen wird, vorgesehen ist. 51 stellt das Adressen-Format von Konfigurations-Zyklen vom Typ 0 und Typ 1 dar. Ein Konfigurations-Befehl vom Typ 0 wird durch Einstellen von PCI-Adressen-Bits AD[1:0] auf 00 während eines Konfigurations-Zyklus spezifiziert. Ein Konfigurations-Zyklus vom Typ 0 wird nicht über eine PCI-PCI-Brücke weitergeführt, sondern verbleibt lokal auf dem Bus, auf dem die Konfigurations-Transaktion vom Typ 0 erzeugt wurde.
  • Ein Kofigurations-Befehl vom Typ 1 wird durch Einstellen von Adressen-Bits AD[1:0] auf einen binären Wert 01 spezifiziert. Konfigurations-Befehle vom Typ 1 können durch eine PCI-PCI-Brücke zu irgendeinem Level in der PCI-Bus-Hierarchie weitergeführt werden. Schließlich wandelt eine PCI-PCI-Brücke einen Befehl vom Typ 1 zu einem Befehl vom Typ 0 um, um Vorrichtungen zu konfigurieren, die mit der sekundären Schnittstelle der PCI-PCI-Brücke verbunden sind.
  • Konfigurations-Parameter, gespeichert in den Konfigurations-Registern 105 oder 125 der Brücke, identifizieren die Bus-Zahlen für deren primäre PCI-Schnittstelle (Primär-Bus-Zahl) und sekundären PCI-Schnittstelle (Sekundär-Bus-Zahl) und eine nebengeordnete Bus-Zahl, die die höchste, nummerierte PCI-Bus-Unterordnung der Brücke angibt. Die Bus-Zahlen werden durch ein PCI-Konfigurations-Programm BUS_ ASSIGN ( 45) eingestellt. Zum Beispiel ist, in dem eingangsseitigen Brücken-Chip 26, die Primär-Bus-Zahl des Busses 24, die Sekundär-Bus-Zahl ist die Zahl des Kabels 28 und die Neben-Bus-Zahl ist die Zahl des Sekundär-PCI-Busses 32 oder die Zahl eines tieferen PCI-Busses, falls ein solcher existiert. In dem ausgangsseitigen Brücken-Chip 48 ist die Primär-Bus-Zahl die Zahl des Kabel-Busses 28, die Sekundär-Bus-Zahl ist die Zahl des PCI-Busses 32 und die nebengeordnete Bus-Zahl ist die Zahl eines PCI-Busses, angeordnet tiefer in der PCI-Bus-Hierarchie, falls eine solche existiert.
  • Wie 24A zeigt, wird eine Erfassung von Konfigurations-Zyklen durch eine Logik in dem PCI-Target-Block 103 oder 121 in dem eingangsseitigen Brücken-Chip 26 oder dem ausgangsseitigen Brücken-Chip 48 jeweils behandelt. Ein Konfigurations-Zyklus vom Typ 0, erfasst auf dem eingangsseitigen Bus 24, wird durch Aufstellen eines Signals TYPO_CFG_CYC_US, erzeugt durch ein UND-Gate 276, angezeigt. Das UND-Gate 276 empfängt Signale UPSTREAM_CHIP, IDSEL (Chip-Select während einer Konfigurations-Transaktion), CFGCMD (Konfigurations-Befehl-Zyklus, der erfasst ist) und ADDR00 (Bits 1 und 0 sind beide 0'en). Ein Konfigurations-Zyklus vom Typ 0, erfasst durch den ausgangsseitigen Brücken-Chip 48, wird durch ein Signal TYP0_CFG_CYC_DS, erzeugt durch ein UND-Gate 278, angezeigt, das ein Signal S1_BL_IDSEL (IDSEL Signal für den ausgangsseitigen Brücken-Chip 48), das Signal CFGCMD, das Signal ADDR00, ein Signal MSTR_ACTIVE (anzeigend, dass der Brücken-Chip 48 der Master auf einem sekundären PCI-Bus 32 ist), und den invertierten Zustand eines Signal UPSTREAM_CHIP empfängt.
  • Eine Erfassung eines Konfigurations-Zyklus vom Typ 1 durch das PCI-Target 103 in dem eingangsseitigen Brücken-Chip 26 wird durch Aufstellen eines Signals TYP1_CFG_CYC_US von einem UND-Gate 280 angezeigt, das Signale CFGCMD, ADDR01 (Bits 1 und 0 sind niedrig und hoch jeweils) und UPSTREAM_CHIP empfängt. Eine Erfassung eines Konfigurations-Zyklus vom Typ 1 auf dem ausgangsseitigen Bus 32 wird durch Aufstellen eines Signals TYP_CFG_CYC_DS von einem UND-Gate 282, das die Signale CFGCMD, ADDR01 empfängt, und dem invertierten Zustand des Signals UPSTREAM_CHIP angezeigt.
  • Der Brücken-Chip, der eine Transaktion vom Typ 0 aufnimmt, verwendet das Register-Zahl-Feld 250 in der Konfigurations-Transaktions-Adresse, um auf das geeignete Konfigurations-Register zuzugreifen. Das Funktions-Zahl-Feld 252 spezifiziert eine von acht Funktionen, die in einer multi-funktionalen Vorrichtung während der Konfigurations-Transaktion durchgeführt werden soll. Eine PCI-Vorrichtung kann multi-funktional sein und kann solche Funktionen haben, wie eine Festplatten-Laufwerksteuereinheit, eine Speicher-Steuereinheit, eine Brücke, usw..
  • Wenn der Brücken-Chip 26 eine Konfigurations-Transaktion vom Typ 1 auf seinem eingangsseitigen Bus 26 sieht, kann er die Transaktion entweder ausgangsseitig weiterführen, die Transaktion zu einer Transaktion vom Typ 0 translatieren, die Transaktion zu einem speziellen Zyklus konvertieren oder die Transaktion ignorieren (basierend auf den Bus-Zahl-Parametern, gespeichert in den Konfigurations-Registern 105 oder 125). Falls eine Transaktion weitergeführt wird, gelangt sie bis zu dem PCI-Master des Bestimmungs-Brücken-Chips, um die Transaktion vom Typ 1 zu der entsprechenden, geeignten Trans aktion zu konvertieren. Falls ein Brücken-Chip die Transaktion selbst handhabt, dann spricht er durch Aufstellen des Signals DEVSEL_ auf den PCI-Bus an, und handhabt die Transaktion als eine normale, verzögerte Transaktion.
  • In einer Konfiguration-Transaktion vom Typ 1 wählt das Bus-Zahl-Feld 260 einen eindeutigen PCI-Bus in der PCI-Hierarchie aus. Ein PCI-Target-Block 103 führt einen Konfigurations-Zyklus vom Typ 1 von dem eingangsseitigen Chip 26 zu dem ausgangsseitigen Brücken-Chip 48 hindurch, falls ein Signal PASS_TYP1_DS durch ein UND-Gate 284 aufgestellt ist. Das UND-Gate 284 empfängt das Signal TYP1_CFG_CYC_US und ein Signal IN_RANGE (das Bus-Zahl-Feld 260 ist größer als oder gleich zu der gespeicherten, sekundären Bus-Zahl und geringer als oder gleich zu der gespeicherten Neben-Bus-Zahl). Der andere Eingang des UND-Gates 284 ist mit dem Ausgang eines ODER-Gates 286 verbunden, der einen Eingang mit dem Ausgang eines UND-Gates 288 verbunden besitzt, und wobei der andere Eingang den invertierten Zustand eines Signals SEC_BUS_MATCH aufnimmt. Demzufolge wird, falls ein Zyklus vom Typ 1 erfasst wird, das Signal IN_RANGE aufgestellt ist, und wenn das Bus-Zahl-Feld 260 nicht die gespeicherte, sekundäre Bus-Zahl anpasst, das Signal PASS_TYP1_DS aufgestellt. Falls das Bus-Feld 260 nicht die gespeicherte Sekundär-Bus-Zahl anpasst, dann werden die Bus-Vorrichtungen auf oder nach dem ausgangsseitigen Bus 32 adressiert. Das UND-Gate 288 wird auf hoch gesetzt und das Vorrichtungs-Zahl-Feld 258 zeigt an, dass das Target des Konfigurations-Zyklus vom Typ 1 der Konfigurations-Raum des ausgangsseitigen Brücken-Chips 48 ist. Falls dies wahr ist, wird die Konfigurations-Transaktion vom Typ 1 entlang des Kabels 28 zu dem ausgangsseitigen Brücken-Chip 48 für eine Translation einer Konfigurations-Transaktion vom Typ 0 weitergeführt. Das PCI-Target 121 in dem ausgangsseitigen Brücken-Chip 48 spricht auf die Transaktion an und liest von den und schreibt in die ausgangsseitigen Brücken-Konfigurations-Register 125 entsprechend zu der Transaktion vom Typ 0. Die Steuer-Stifte des ausgangsseitigen Chips werden angesteuert und Lese- und Schreib-Daten erscheinen auf dem ausgangsseitigen PCI-Bus 32, falls eine Transaktion vom Typ 0 auf dem ausgangsseitigen Bus läuft (für Debug-Zwecke), obwohl jedes IDSEL auf dem ausgangsseitigen Bus 32 so blockiert wird, das keine Vorrichtung tatsächlich auf eine Transaktion vom Typ 0 anspricht.
  • Falls der PCI-Target-Block 103 in dem eingangsseitigen Brücken-Chip 26 eine Konfigurations-Transaktion vom Typ 1 auf seinen eingangsseitigen Bus 24 erfasst, mit einem Bus-Zahl-Feld gleich zu der gespeicherten Sekundär-Bus-Zahl (der Kabel-Bus 28), allerdings nicht eine Vorrichtung 0 adressierend (suchen nach anderen Vorrichtungen auf dem Kabel-Bus 28), dann irgnoriert der Target-Block 103 die Transaktion auf dem primären Bus 26.
  • Falls das PCI-Target 121 eine Konfigurations-Schreib-Transaktion vom Typ 1 (WR_hoch) auf dem sekundären PCI-Bus 32 erfasst, der ein Bus-Zahl-Feld außerhalb des Bereichs der Sekundär-Bus-Zahl und der Neben-Bus-Zahl besitzt (IN_RANGE niedrig), und falls die Vorrichtungs-Zahl 258, die Funktions-Zahl 256 und die Register-Zahl 254 einen speziellen Zyklus anzeigen (SP_MATCH hoch), dann wird ein Signal PASS_TYP1_US durch ein UND-Gate 290 aufgestellt. Das UND-Gate 290 empfängt das Signal TYP1_CFG_CYC_DS, das Signal SP_MATCH, das Schreib/Lese-Strobe WR_ und den invertierten Zustand des Signal IN_RANGE. Wenn der PCI-Master 101 in dem eingangsseitigen Brücken-Chip 26 einen solchen Zyklus empfängt, lässt er einen speziellen Zyklus auf dem primären PCI-Bus 24 laufen.
  • Konfigurations-Transaktionen werden durch einen Brücken-Chip unter bestimmten Bedingungen ignoriert. Falls der Target-Block 103 in dem eingangsseitigen Brücken-Chip 26 eine Konfigurations-Transaktion vom Typ 1 auf dem PCI-Bus 24 erfasst (sein eingangsseitiger Bus) und das Bus-Zahl-Feld 260 geringer als die Sekundär-Bus-Zahl oder größer als die Neben-Bus-Zahl, gespeichert in dem Konfigurations-Raum des Brücken-Chips, ist, dann ignoriert der Target-Block 103 die Transaktion.
  • Falls der Target-Block 121 in dem ausgangsseitigen Brücken-Chip 48 eine Konfigurations-Transaktion vom Typ 1 auf dem sekundären PCI-Bus 32 erfasst (sein ausgangsseitiger Bus), und das Bus-Zahl-Feld 260 größer als oder gleich zu der Sekundär-Bus-Zahl oder geringer als oder gleich zu der Neben-Bus-Zahl, gespeichert in dem Konfigurations-Raum des Brücken-Chips, ist, dann ignoriert der Target-Block 121 die Transaktion. Zusätzlich werden Konfigurations-Befehle vom Typ 1, die zu der Eingangsseite hin gehen, ignoriert, falls ein Befehl vom Typ 1 nicht eine Konversion zu einer speziellen Zyklus-Transaktion spezifiziert, ungeachtet der Bus-Zahl, spezifiziert in dem Befehl vom Typ 1.
  • Wie 24B zeigt, überwacht der PCI-Master 101 oder 123 einen Konfigurationszyklus, übertragen über das Kabel 28. Falls der PCI-Master 123 in dem ausgangsseitigen Brücken-Chip 48 eine Konfigurations-Transaktion vom Typ 1 von dem eingangsseitigen Brücken-Chip 26 erfasst, vergleicht das Bus-Zahl-Feld 260 mit der Primär-Bus-Zahl und der Sekundär-Bus-Zahl, gespeichert in dem Konfigurations-Raum des Brücken-Chips 48. Falls das Bus-Zahl-Feld 260 entweder die gespeicherte Primär-Bus-Zahl (d. h. Kabel 28) oder die gespeicherte Sekundär-Bus-Zahl (Adressieren einer Vorrichtung direkt, verbunden mit dem ausgangsseitigen Bus 23) anpasst, dann translatiert der ausgangsseitige Brücken-Chip 48 die Transaktion zu einer Transaktion vom Typ 0 (durch Einstellen von AD[1:0] = 00), wenn er die Konfigurations-Transaktion auf dem Bus weiterführt. Die Transaktion vom Typ 0 wird auf dem PCI-Bus 32 durch den PCI-Master-Block 123 durchgeführt.
  • Das nachfolgende sind Translationen, durchgeführt von Feldern in der Konfigurations-Transaktion vom Typ 1. Das Vorrichtungs-Zahl-Feld 258 in der Konfigurations-Transaktion vom Typ 1 wird durch den PCI-Master 123 decodiert, um eine eindeutige Adresse in der translatierten Transaktion vom Typ 0 auf dem sekundären Bus 32 zu erzeugen, wie dies in der Tabelle der 52 definiert ist. Die Sekundär-Adressen-Bits AD[31:16], decodiert von dem Vorrichtungs-Zahl-Feld 258, werden durch den PCI-Master 123 verwendet, um die geeigneten Chip-Auswahl-Signale IDSEL für die Vorrichtungen auf dem sekundären PCI-Bus 32 zu erzeugen. Wenn das Adressen-Bit AD[15] gleich zu 1 ist, dann behält der Brücken-Chip 48 alle Adressen-Bits AD[31:16], gesetzt auf niedrig (kein IDSEL ist aufgestellt), bei. Das Register-Zahl-Feld 254 und das Funktions-Zahl-Feld 256 des Konfigurations-Befehls vom Typ 1 werden nicht modifiziert zu dem Konfigurations-Befehl vom Typ 0 hindurchgeführt. Das Funktions-Zahl-Feld 256 wählt acht Funktionen aus, und das Register-Zahl-Feld 254 wählt ein Doppel-Wort in dem Konfigurations-Register-Raum der ausgewählten Funktion aus.
  • Für eine Konfigurations-Transaktion vom Typ 1, zielmäßig vorgesehen zu dem ausgangsseitigen Brücken-Chip 48, wandelt der Brücken-Chip 48 die Transaktion vom Typ 1 zu einer Transaktion vom Typ 0 um, als würde sie eine Vorrichtung auf dem ausgangsseitigen Bus 32 adressieren, allerdings werden die AD[31:16] Stifte auf 0`en gesetzt, so dass keine Sekundär-PCI-Bus-Vorrichtung ein IDSEL aufnimmt. Die PCI-Master- Logik 123 erfasst dies durch Aufstellen eines Signals TYP1_TO_INT0, angesteuert durch ein UND-Gate 262. Das UND-Gate 262 empfängt ein Signal CFG_CMD (einen Konfigurations-Befehl-Zyklus anzeigend), den Ausgang eines ODER-Gates 264 und den invertierten Zustand des Signals UPSTREAM_CHIP (Translation Type-1-zu-Type-0 wird in dem eingangsseitigen Brücken-Chip 26 gesperrt). Das ODER-Gate 264 stellt seinen Ausgang auf hoch, falls ein Signal PRIM_BUS_MATCH aufgestellt ist (das Bus-Zahl-Feld 260 passt die gespeicherte, primäre Bus-Zahl an), oder falls die gespeicherte, primäre Bus-Zahl CFG2P_PRIM_BUS_NUM[7:0] gleich zu null ist (anzeigend, dass die Primär-Bus-Zahl in dem Konfigurations-Raum des Brücken-Chips 48 nicht durch das System BIOS bis jetzt konfiguriert worden ist und der momentane Konfigurations-Zyklus vom Typ 1 zu dem internen Konfigurations-Raum geht, um die Primär-Bus-Zahl des Brücken-Chips 48 zu programmieren).
  • Ein Signal TYP1_TO_EXTO wird durch ein UND-Gate 266 aufgestellt und spricht auf eine Anpassung zu einer gespeicherten Sekundär-Bus-Zahl an. Die Eingänge des UND-Gates 266 empfangen das Signal CFG_CMD, das Signal SEC_BUS_MATCH, den invortierten Zustand des Signals UPSTREAM_CHIP und den invertierten Zustand eines Signals SP_MATCH (nicht ein spezieller Zyklus). Das Signal TYP1_TO_EXTO zeigt an, dass die konvertierte Konfigurations-Transaktion vom Typ 0 zu einer Vorrichtung zielmäßig auf dem sekundären PCI-Bus 32 geführt wird.
  • Das Signal TYP1_TO_INT0 wird zu dem 1-Eingang eines 4:1 Multiplexers 274 geliefert. Der 2-Eingang wird auf niedrig gelegt und der 0- und 3-Eingang des Multiplexers 274 nehmen ein Signal LTYP1_TO_INT0 von einem Flip-Flop 270 vom D-Typ auf. Der Auswahl-Eingang S1 des Multiplexers 274 empfängt ein Signal CMD_LATCH (FRAME_, aufgestellt für einen neuen Zyklus auf dem PCI-Bus 32), und der Auswahl-Eingang SO empfängt ein Signal P2Q_START_PULSE (das anzeigt, wenn es hoch ist, dass eine Adresse zu dem PCI-Bus 32 geschickt worden ist). Der Ausgang des Multiplexers 274 wird mit dem D-Eingang eines Flip-Flops 270 verbunden, das mit dem Signal PCLK getaktet wird und durch das Signal RESET gelöscht wird. Die IDSEL-Signale zu den Sekundär-Bus-Vorrichtungen werden durch Aufstellen eines Signals BLOCK_IDSEL von einem ODER-Gate 272 blockiert, das an seinen Eingängen Signale Q2P_AD[15] (keine Konversion wird entsprechend Tabelle 1 der 6 benötigt), TYP1_TO_INT0 und LTYP1_TO_INT0 empfängt. Das Signal LTYP1_TO_INT0 erweitert das Aufstellen des Signals BLOCK IDSEL.
  • Wenn der PCI-Master 123 in dem ausgangsseitigen Brücken-Chip 48 eine Konfigurations-Transaktion vom Typ 1 von dem eingangsseitigen Brücken-Chip 26 empfängt, in dem das Bus-Zahl-Feld 260 größer als die gespeicherte, Sekundär-Bus-Zahl und geringer als oder gleich zu der gespeicherten Neben-Bus-Zahl ist, dann führt der PCI-Master-Block 123 die Transaktion vom Typ 1 zu dem Sekundär-PCI-Bus 32 unverändert weiter. Eine bestimmte andere Vorrichtung auf dem Sekundär-PCI-Bus 32, z. B. eine andere Brücken-Vorrichtung 323 (26B), wird die Konfigurations-Transaktion vom Typ 1 aufnehmen und sie zu dem sekundären Bus (PCI-Bus 325) weiterführen.
  • Eine Konfigurations-Transaktion vom Typ 1 zu einer speziellen Zyklus-Translation wird dann durchgeführt, wenn der PCI-Master 123 eine Konfigurations-Schreib-Transaktion vom Typ 1 von dem eingangsseitigen Brücken-Chip 26 empfängt und das Bus-Zahl-Feld 260 die gespeicherte Sekundär-Bus-Zahl anpasst und falls das Vorrichtungs-Zahl-Feld 258, das Funktions-Zahl-Feld 256 und das Register-Zahl-Feld 254 einen speziellen Zyklus anzeigen (SP_MATCH ist hoch). Dies wird durch ein UND-Gate 268 angezeigt, das ein Signal TYP1_TO_SPCYC auf hoch setzt. Das UND-Gate 268 empfängt SP_MATCH, und Q2P_CBE_[0] (Befehl-Bit für einen speziellen Zyklus). Die Daten von der Konfigurations-Transaktion vom Typ 1 werden die Daten für den speziellen Zyklus an dem Bestimmungs-Bus. Die Adresse während eines speziellen Zyklus wird ignoriert.
  • Andere Ausführungsformen liegen innerhalb des Schutzumfangs der folgenden Pa tentansprüche.

Claims (22)

  1. Verfahren zur Anwendung in einem Computersystem (10) mit Bussen (24, 32), die durch Bus-Kennungen identifizierbar sind, und einem Erweiterungskartensteckplatz (36), der fähig ist, an einen der Busse angeschlossen zu sein und der eine Erweiterungskarte (807) aufnehmen kann, wobei das Verfahren umfasst: Zuordnen der Bus-Kennungen zu den Bussen, entsprechend einer Zuordnungsreihenfolge, Bestimmen, ob eine Erweiterungskarte (807) vorhanden ist, auf die über den Steckplatz (36) zugegriffen werden kann, und falls nicht, Reservieren wenigstens einer der Bus-Kennungen für den Steckplatz (36) in Übereinstimmung mit der Zuordnungsreihenfolge.
  2. Verfahren nach Anspruch 1, des Weiteren umfassend: Bestimmen, zu einem späteren Zeitpunkt, ob eine Karte (807) vorhanden ist, die über den Steckplatz (36) zugreifbar geworden ist, und falls so, Zuordnen einer reservierten Bus-Kennung zu einem Bus auf der Karte.
  3. Verfahren nach Anspruch 1, das des Weiteren umfasst: Suchen eines zusätzlichen Busses auf der Erweiterungskarte (807), falls auf die Karte zugegriffen werden kann, und Zuordnen einer der Bus-Kennungen zu dem zusätzlichen Bus in Übereinstimmung mit der Zuordnungsreihenfolge.
  4. Verfahren nach Anspruch 3, des Weiteren das Programmieren eines Konfigurationsspeicherbereichs einer Brücke umfassend, die den zusätzlichen Bus mit dem mit dem Steckplatz (36) verbundenen Bus koppelt.
  5. Verfahren nach Anspruch 1, des Weiteren das Reservieren von I/O-Raum für den Steckplatz, falls nicht auf die Erweiterungskarte zugegriffen werden kann, umfassend.
  6. Verfahren nach Anspruch 1, wobei das Bestimmen, ob eine Erweiterungskarte (807) vorhanden ist, auf die über den Steckplatz (36) zugegriffen werden kann, Bestimmen umfasst, ob der Steckplatz von dem Bus getrennt ist.
  7. Verfahren nach Anspruch 1, wobei das Bestimmen, ob eine Erweiterungskarte (807) vorhanden ist, auf die über den Steckplatz (36) zugegriffen werden kann, Bestimmen umfasst, ob die Erweiterungskarte nicht in den Steckplatz eingesetzt ist.
  8. Verfahren nach Anspruch 1, wobei das Bestimmen, ob eine Erweiterungskarte (807) vorhanden ist, auf die über den Steckplatz (36) zugegriffen werden kann, Bestimmen umfasst, ob Kommunikation mit einer Bus-Vorrichtung auf der Karte möglich ist.
  9. Verfahren nach Anspruch 5, des Weiteren umfassend: Bestimmen, zu einem späteren Zeitpunkt, ob eine Karte (807) vorhanden ist, die über den Steckplatz (36) zugreifbar geworden ist, und falls so, Zuweisen von I/O-Raum für den Steckplatz von dem für den Steckplatz reservierten I/O-Raum.
  10. Verfahren nach Anspruch 1, des Weiteren Reservieren von Speicherkapazität für den Steckplatz umfassend, falls auf die Erweiterungskarte (807) nicht zugegriffen werden kann.
  11. Verfahren nach Anspruch 10, des Weiteren umfassend: Bestimmen, zu einem späteren Zeitpunkt, ob eine Karte (807) vorhanden ist, die über den Steckplatz (36) zugreifbar geworden ist, und falls so, Zuweisen von Speicherkapazität für den Steckplatz von der für den Steckplatz reservierten Speicherkapazität.
  12. Verfahren nach Anspruch 1, wobei das Bestimmen bei der anfänglichen Konfiguration des Computersystems (10) erfolgt.
  13. Computersystem (10), umfassend: Busse (24, 32), identifizierbar durch Bus-Kennungen, einen Erweiterungskartensteckplatz (36), der eine Erweiterungskarte (807) aufnehmen kann und fähig ist, an einen der Busse angeschlossen zu sein, einen Mikroprozessor (14) und einen Speicher zum Konfigurieren des Mikroprozessors (14), um den Bussen (24, 32) die Bus-Kennungen entsprechend einer Zuordnungsreihenfolge zuzuordnen, Bestimmen, ob eine Erweiterungskarte (807) vorhanden ist, auf die über den Steckplatz (36) zugegriffen werden kann, und falls nicht, Reservieren wenigstens einer der Bus-Kennungen für den Steckplatz (36) in Übereinstimmung mit der Zuordnungsreihenfolge.
  14. Computersystem (10) nach Anspruch 13, wobei der Speicher den Mikroprozessor (14) des Weiteren so konfiguriert, dass dieser ausführt: Suchen eines zusätzlichen Busses auf der Erweiterungskarte (807), falls auf die Karte zugegriffen werden kann, und Zuordnen einer der Bus-Kennungen zu dem zusätzlichen Bus in Übereinstimmung mit der Zuordnungsreihenfolge.
  15. Computersystem (10) nach Anspruch 13, wobei der Speicher den Mikroprozessor (14) des Weiteren so konfiguriert, dass dieser ausführt: Bestimmen, zu einem späteren Zeitpunkt, ob eine Karte (807) vorhanden ist, die über den Steckplatz (36) zugreifbar geworden ist, und falls so, Zuordnen einer reservierten Bus-Kennung zu einem Bus auf der Karte.
  16. Computersystem (10) nach Anspruch 13 oder 14, wobei der Speicher den Mikroprozessor (14) des Weiteren so konfiguriert, dass dieser ausführt: Programmieren eines Konfigurationsspeicherbereichs einer Brücke, die den zusätzlichen Bus mit dem mit dem Steckplatz (36) verbundenen Bus koppelt.
  17. Computersystem (10) nach Anspruch 13, wobei der Speicher den Mikroprozessor (14) des Weiteren so konfiguriert, dass dieser ausführt: Reservieren von I/O-Raum für den Steckplatz (36), falls nicht auf die Erweiterungskarte (807) zugegriffen werden kann.
  18. Computersystem (10) nach Anspruch 17, wobei der Speicher den Mikroprozessor (14) des Weiteren so konfiguriert, dass dieser ausführt: Bestimmen, zu einem späteren Zeitpunkt, ob eine Karte (807) vorhanden ist, die über den Steckplatz (36) zugreifbar geworden ist, und falls so, Zuweisen von I/O-Raum für den Steckplatz (36) von dem für den Steckplatz reservierten I/O-Raum.
  19. Computersystem (10) nach Anspruch 13, wobei der Speicher den Mikroprozessor (14) des Weiteren so konfiguriert, dass dieser ausführt: Reservieren von Speicherkapazität für den Steckplatz (36), falls auf die Erweiterungskarte (807) nicht zugegriffen werden kann.
  20. Computersystem nach Anspruch 19, wobei der Speicher den Mikroprozessor (14) des Weiteren so konfiguriert, dass dieser ausführt: Bestimmen, zu einem späteren Zeitpunkt, ob eine Karte (807) vorhanden ist, die über den Steckplatz (36) zugreifbar geworden ist, und falls so, Zuweisen von Speicherkapazität für den Steckplatz (36) von der für den Steckplatz reservierten Speicherkapazität.
  21. Computersystem (10) nach Anspruch 13, wobei das Bestimmen bei der anfänglichen Konfiguration des Computersystems (10) erfolgt.
  22. Computersystem (10) nach Anspruch 21, wobei das Bestimmen und Reservieren während der anfänglichen Konfiguration des Computersystems (10) erfolgt.
DE69738530T 1996-06-05 1997-06-04 Erweiterungskartenadressraumreservierung Expired - Lifetime DE69738530T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US658603 1996-06-05
US08/658,603 US6055596A (en) 1996-06-05 1996-06-05 Expansion card space reservation

Publications (2)

Publication Number Publication Date
DE69738530D1 DE69738530D1 (de) 2008-04-10
DE69738530T2 true DE69738530T2 (de) 2009-03-26

Family

ID=24641927

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69738530T Expired - Lifetime DE69738530T2 (de) 1996-06-05 1997-06-04 Erweiterungskartenadressraumreservierung

Country Status (4)

Country Link
US (1) US6055596A (de)
EP (1) EP0811936B1 (de)
JP (1) JPH1083370A (de)
DE (1) DE69738530T2 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260745B1 (en) * 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US7266728B1 (en) * 1999-10-01 2007-09-04 Stmicroelectronics Ltd. Circuit for monitoring information on an interconnect
KR100367588B1 (ko) * 2000-01-24 2003-01-10 엘지전자 주식회사 디지털데이터 플레이어의 상대주소 할당 장치 및 방법
US7039742B1 (en) * 2000-11-27 2006-05-02 Hewlett-Packard Development Company, L.P. Handheld option pack identification scheme
US6678775B1 (en) * 2000-12-29 2004-01-13 Hewlett-Packard Development Company, L.P. System enabling automatic error detection in response to removal of bus adapter
US7139839B2 (en) * 2001-11-26 2006-11-21 Schneider Automation Inc. Method and apparatus for assigning a network node address
US6963990B2 (en) * 2002-02-05 2005-11-08 International Business Machines Corporation Clock generation for multiple secondary buses of a PCI bridge
US7143275B2 (en) * 2002-08-01 2006-11-28 Hewlett-Packard Development Company, L.P. System firmware back-up using a BIOS-accessible pre-boot partition
US7069360B2 (en) * 2002-08-30 2006-06-27 Intel Corporation Method and apparatus for detecting a device's ability to run at a selected frequency in a PCI non-inhibit bus-connect mode
US7617333B2 (en) * 2003-01-21 2009-11-10 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US8346884B2 (en) * 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7103064B2 (en) * 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US8102843B2 (en) * 2003-01-21 2012-01-24 Emulex Design And Manufacturing Corporation Switching apparatus and method for providing shared I/O within a load-store fabric
US8032659B2 (en) * 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7953074B2 (en) * 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7698483B2 (en) * 2003-01-21 2010-04-13 Nextio, Inc. Switching apparatus and method for link initialization in a shared I/O environment
US7664909B2 (en) * 2003-04-18 2010-02-16 Nextio, Inc. Method and apparatus for a shared I/O serial ATA controller
US7917658B2 (en) * 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US7836211B2 (en) * 2003-01-21 2010-11-16 Emulex Design And Manufacturing Corporation Shared input/output load-store architecture
US7046668B2 (en) * 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US20050251798A1 (en) * 2004-05-05 2005-11-10 News, Iq, Inc. System and method for inventory control and management
US8615800B2 (en) * 2006-07-10 2013-12-24 Websense, Inc. System and method for analyzing web content
US8688933B2 (en) 2006-08-31 2014-04-01 Hewlett-Packard Development Company, L.P. Firmware component modification
US20080201514A1 (en) * 2007-02-21 2008-08-21 Inventec Corporation Method of locating peripheral component interconnect devices
DE102007038061A1 (de) * 2007-08-10 2009-02-12 Endress + Hauser Gmbh + Co. Kg Modular aufgebautes Feldgerät der Prozessautomatisierungstechnik
TW200928664A (en) * 2007-12-27 2009-07-01 Asustek Comp Inc Computer system and power-saving method thereof
US8769159B2 (en) 2011-12-14 2014-07-01 National Instruments Corporation Resource reservation for an external device that is not available at startup of a host computer
US8643168B1 (en) * 2012-10-16 2014-02-04 Lattice Semiconductor Corporation Integrated circuit package with input capacitance compensation
GB2522653A (en) * 2014-01-31 2015-08-05 Ibm Bridge and method for coupling a requesting interconnect and a serving interconnect in a computer system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4931923A (en) * 1987-03-13 1990-06-05 Apple Computer, Inc. Computer system for automatically reconfigurating memory space to avoid overlaps of memory reserved for expansion slots
US5056060A (en) * 1987-03-13 1991-10-08 Apple Computer, Inc. Printed circuit card with self-configuring memory system for non-contentious allocation of reserved memory space among expansion cards
US5257387A (en) * 1988-09-09 1993-10-26 Compaq Computer Corporation Computer implemented method and apparatus for dynamic and automatic configuration of a computer system and circuit boards including computer resource allocation conflict resolution
US5014193A (en) * 1988-10-14 1991-05-07 Compaq Computer Corporation Dynamically configurable portable computer system
US5781798A (en) * 1993-12-30 1998-07-14 International Business Machines Corporation Method and apparatus for providing hot swapping capability in a computer system with static peripheral driver software
US5623610A (en) * 1994-10-31 1997-04-22 Intel Corporation System for assigning geographical addresses in a hierarchical serial bus by enabling upstream port and selectively enabling disabled ports at power on/reset
US5805903A (en) * 1996-05-21 1998-09-08 Compaq Computer Corporation Protection of computer system against incorrect card insertion during start-up

Also Published As

Publication number Publication date
JPH1083370A (ja) 1998-03-31
EP0811936A2 (de) 1997-12-10
DE69738530D1 (de) 2008-04-10
US6055596A (en) 2000-04-25
EP0811936B1 (de) 2008-02-27
EP0811936A3 (de) 1998-08-26

Similar Documents

Publication Publication Date Title
DE69738530T2 (de) Erweiterungskartenadressraumreservierung
DE69724048T2 (de) Leistungsüberwachung eines Computersystembusses
DE69731917T2 (de) Datenströmung in einer Busbrücke
US6772263B1 (en) PCI arbiter with hot plug controller support
DE69733101T2 (de) Datenüberlaufverwaltung in einem Rechnersystem
DE19580606C2 (de) Plattenlaufwerksverbinderschnittstelle zur Verwendung an einem PCI-Bus
DE69730916T2 (de) Rechnersystem mit Ankopplungs-Entfernungsmöglichkeiten ohne Stillmodus oder Haltmodus
DE69828074T2 (de) Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl
DE19882696B4 (de) Speichertransaktionen auf einem Bus geringer Leitungsanzahl
DE69729889T2 (de) Verfahren und system zum ermöglichen einer unterbrechungsfreien einsetzung und entfernung von erweiterungskarten in einem unterspannungrechnersystem
DE19847642C2 (de) PCI-PCI-Brücke
DE69432514T2 (de) Leistungssteuerung in einem Computersystem
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE69634182T2 (de) Direktspeicherzugriffssteuerung mit programmierbarer Zeitsteuerung
DE19782133B4 (de) Andockstation und Schnittstelle zum Ermöglichen eines sanften Andockens eines Notebook-Computers
DE102004057756B4 (de) USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
DE19737214A1 (de) Verfahren zum Betreiben eines Computersystems
DE69634624T2 (de) Vorrichtung zur Ereignisverwaltung
DE4244266A1 (de)
DE4018481C2 (de)
DE102007009300B4 (de) Rechnersystem und Verfahren zum Betreiben eines Rechnersystems
DE19729618C2 (de) Mikroprozessor und Mehrprozessorsystem
EP1151388B1 (de) Dram-auffrischungsüberwachung und taktgenaue verteilte busarbitrierung in einer multiprozessorumgebung
DE69732736T2 (de) Vielfaden-Busmaster
DE19960574A1 (de) PCI-Fehlerbehebungsvorrichtung,-Verfahren und -System

Legal Events

Date Code Title Description
8364 No opposition during term of opposition