DE19737214B4 - Verfahren zum Betreiben eines Computersystems, Computersystem und Sekundärbus-Controller - Google Patents

Verfahren zum Betreiben eines Computersystems, Computersystem und Sekundärbus-Controller Download PDF

Info

Publication number
DE19737214B4
DE19737214B4 DE19737214A DE19737214A DE19737214B4 DE 19737214 B4 DE19737214 B4 DE 19737214B4 DE 19737214 A DE19737214 A DE 19737214A DE 19737214 A DE19737214 A DE 19737214A DE 19737214 B4 DE19737214 B4 DE 19737214B4
Authority
DE
Germany
Prior art keywords
secondary bus
component
signal
controller
bus
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 - Fee Related
Application number
DE19737214A
Other languages
English (en)
Other versions
DE19737214A1 (de
Inventor
Pranay D. Fremont Shah
Kenneth C. Cupertino Ma
Jeffrey A. Morgan Hill Hawkey
Kenneth J. Kotlowski
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.)
National Semiconductor Corp
Original Assignee
National Semiconductor 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 National Semiconductor Corp filed Critical National Semiconductor Corp
Publication of DE19737214A1 publication Critical patent/DE19737214A1/de
Application granted granted Critical
Publication of DE19737214B4 publication Critical patent/DE19737214B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Abstract

Verfahren zum Betreiben eines Computersystems, bei dem Komponenten in ein in Betrieb befindliches Computersystem, das mindestens einen Wirt-Prozessor (101) und einen Primärbus (104) zum Ankoppeln mindestens einer Komponente an das Computersystem umfaßt, einfügbar und aus ihm entnehmbar sind, wobei ein erstes Signal, das ein Einfügen bzw. Entnehmen einer Komponente anzeigt, sowie ein zweites Signal, das das Einfügen bzw. Entnehmen bestätigt, erzeugt werden,
dadurch gekennzeichnet, daß
ein Sekundärbus (126) für den Anschluß von einfüg- und entnehmbaren Komponenten verwendet wird, der mit einem Sekundärbus-Controller (120) gekoppelt ist, welcher wiederum mit dem Primärbus (104) des Computersystems verbunden ist, wobei
der Sekundärbus-Controller (120) das erste Signal empfängt und daraufhin einen Bustakt auf dem Sekundärbus (126) unter Anhalten der Verarbeitung durch mit dem Sekundärbus (126) gekoppelte Komponenten abstoppt,
eine Komponente bei laufendem Betrieb auf dem Primärbus (104) in den Sekundärbus (126) eingefügt bzw. aus dem Sekundärbus (126) entnommen...

Description

  • Die Erfindung betrifft ein Verfahren zum Betreiben eines Computersystems nach dem Oberbegriff des Anspruchs 1 und ein Computersystem nach dem Oberbegriff des Anspruchs 8 sowie einen Sekundärbus-Controller nach dem Oberbegriff des Anspruchs 22.
  • In vielen Fällen werden Computernetze verwendet, um ein Mittel für die Verteilung von Daten, Programmen und dergleichen unter einer Anzahl von Einzelcomputern vorzusehen. Viele Computernetze verwenden das, was unter der Bezeichnung "Client/Server-System" bekannt ist, wobei ein Netzwerkserver eine Anzahl von zentralisierten Hardware- und Software ressourcen für eine Anzahl von Klienten-Computern in dem Netz bereitstellt.
  • Ein Nachteil des Klienten/Server-Systems besteht darin, daß dann, wenn der Server für irgendeine Zeitspanne stillgelegt wird, der Betrieb des Netzes und der verschiedenen Klienten-Computer unterbrochen werden kann. Solche Unterbrechungen stehen im Widerspruch mit einem der fundamentalen Vorteile des Arbeitsplatzrechners (PC), nämlich die Betreibbarkeit des PC als eigenständiges Gerät.
  • Es gibt eine Anzahl von Gründen, aus denen Netzwerkserver periodisch stillgelegt werden. Es kann beispielsweise erforderlich sein, verbesserte Software zu installieren, oder um verbesserte Hardware zu installieren oder defekte Hardware-Komponenten auszutauschen. Zusätzlich kann ein Server stillgelegt werden, um Hardware auszutauschen oder zusätzliche Hardware-Komponenten zu installieren. Beispielsweise kann es wünschenswert sein, einen Datenspeicher anzuschließen (beispielsweise eine tragbare Festplatte, ein CD-ROM-Laufwerk oder dergleichen), um den Klientencomputern Zugriff auf in einer solchen Speicheranordnung gespeicherte Daten zu verschaffen.
  • Ein Verfahren und eine Vorrichtung, mittels welchen Hardware-Komponenten an einem Server-Computer installiert bzw. von ihm getrennt werden können, sind in US 53 86 567 offenbart.
  • Dabei werden Anschlußstifte unterschiedlicher Länge an einem Adapter vorgesehen, derart, daß dann, wenn der Adapter in den vollständig initialisierten Computer eingefügt wird, längere Sifte verwendet werden, um dem Wirt-Computer zu signalisieren, daß ein Adapter eingefügt wird und um Leistung zu dem Adapter zu übertragen, bevor Signale zu dem Adapter bzw. von dem Adapter übertragen werden.
  • Dabei wird ein mechanisch betätigter Verriegelungsmechanismus für den Adapter vorgesehen, der den Adapter in dem Wirt-Computer verriegelt, bis ein Nutzer verlangt, daß der Adapter freigegeben wird. Darüberhinaus werden die längeren Stifte verwendet, um eine Stabilisierung der Leistungsversorgung zu ermöglichen, bevor Signale zu der Komponente bzw. von der Komponente übertragen werden. Ein gespeicherter Identifikationscode wird dann zu dem Wirt-Computer übertragen, um festzustellen, ob der Adapter mit heißer Einfügung kompatibel ist und zugehörige Information ausgelesen wird, falls eine solche heiße Einfügung akzeptabel ist.
  • Das System nach der genannten Druckschrift scheint nicht ohne weiteres an ein Netzwerk anpaßbar zu sein, wo eine Mehrzahl von Klienten-Anwendungen während des Einfügens und/oder Entnehmens einer Komponente laufen können. In einem Netz kann es erforderlich sein, den Betrieb der Klienten-Software während Einfügung und/oder Entnahme einer Hardware-Komponente aufrechtzuerhalten. Bei einigen bekannten Systemen wird für das Einfügen oder Entnehmen von Hardware-Teilen oder -Komponenten der Status des Systems gespeichert, und der Betrieb des primären Wirt-Prozessors wird unterbrochen. Der Wirt-Prozessor kann dann mit neuer Software geladen werden, um die Einfüge- oder Entnahmeprozesse zu handhaben. Nach Beendigung von Einfügung oder Entnahme werden die gespeicherten Inhalte der Systemregister wiederhergestellt, und die Verarbeitung wird wieder aufgenommen.
  • Für einen unabhängig arbeitenden oder Klienten-PC kann ein solches System akzeptabel sein, da der primäre Nutzer eines solchen PC diesen während Einfügung oder Entnahme nicht benutzen wird. Es ist jedoch unakzeptabel für einen Server-Computer in einem Klienten/Server-System, daß der Server nicht einmal momentan für Einfügung oder Entnahme von Komponenten stillgesetzt werden darf. Wenn ein Server auch nur momentan stillgelegt wird, können zahlreiche Klienten-Computer in dem Netz abstürzen.
  • US 4 835 737 offenbart eine Vorrichtung und ein Verfahren zum Entnehmen und Einfügen von Komponenten in ein im Betrieb befindliches Computersystem. Die Vorrichtung umfaßt einen Bus in Form einer Rückwandverdrahtungsplatte, welche zur Aufnahme von Steckkarten wie z.B. einer CPU-, Speicher-, Graphik-, Festplatten- oder Netzwerkkarte ausgestaltet ist, die untereinander über den Bus Daten austauschen, sowie einen Bus-Controller auf einer Steckkarte. Jede der in den Bus einfügbaren Steckkarten umfaßt ein mechanisches Schaltmittel, das Beginn und Ende des Einfügens bzw. Entnehmens einer Steckkarte durch Erzeugen eines Signals auf dem Bus anzeigt, in Form eines Schalters oder verlängerter Kontaktstifte. Das den Beginn anzeigende Signal wird vom Bus-Controller empfangen, welcher in Reaktion darauf den Bus durch Abstoppen des Bustakts abschaltet, woraufhin die Steckkarte eingefügt bzw. entnommen wird, woraufhin ein das Einfügen bzw. Entnehmen bestätigendes zweites Signal vom Bus-Controller empfangen wird, der in Reaktion darauf den Bustakt erneut startet. Ferner ist ein Bus-Controller beschrieben, der Mittel zum Ankoppeln an den Bus und ein Bus-Taktsteuermittel zum Steuern von Taktsignalen auf dem Bus zu einer oder mehreren entnehmbaren Komponente(n) an dem Bus umfaßt.
  • Hierbei sind die Komponenten des Computersystems über lediglich einen Bus miteinander verbunden. Folglich wird der Datenaustausch zwischen allen Komponenten des Computersystems während des Einfügens bzw. der Entnahme unterbrochen. Dies kann selbst bei kurzer Unterbrechungszeit zu einer nicht unerheblichen Beeinträchtigung des Computersystems führen, beispielsweise dann, wenn ein Festplattenzugriff oder der Datenaustausch mit einer Netzwerkkarte unterbrochen werden müssen. Zudem ist der Bus-Controller ausschließlich mit dem Bus gekoppelt und steht nicht mit anderen Komponenten des Computersystems in Verbindung. Dadurch ist der Bus-Controller durch andere am Bus angeschlossene Komponenten weder steuerbar, beispielsweise zum Konfigurieren oder softwaregesteuerten Ein-/Ausschalten des Busses, noch können andere am Bus angeschlossene Komponenten Informationen, beispielsweise betreffend den Status des Einfüge-/Entnahmevorgangs, vom Bus-Controller abfragen.
  • EP 0 241 905 A2 offenbart eine Steckkarte zum Einfügen in ein in Betrieb befindliches Computersystem, das einen Bus, eine ein INIT-Signal übertragende INIT-Leitung für die Steckkarte und eine Vielzahl von Taktleitungen einschließlich einer Taktleitung für die Steckkarte aufweist, wobei auf der Steckkarte Mittel zum Anhalten des Datenverkehrs auf dem Bus, Mittel zum Entkoppeln der Taktleitung für die Steckkarte von den anderen Taktleitungen und Mittel zur Synchronisation für das INIT-Signal vorgesehen sind.
  • EP 0 373 773 A1 offenbart eine Schaltkreisanordnung mit einer einfüg- und entnehmbaren Steckkarte, die ein getaktetes Schaltkreiselement umfaßt, das mittels eines Schaltmittels zwischen einem ersten Zustand mit geringer Stromaufnahme und einem zweiten Zustand mit hoher Stromaufnahme schaltbar ist, wobei die Entnahme der Steckkarte im ersten Zustand erfolgt, so daß die Gefahr, daß die Anschlußstifte für die Stromversorgung der Steckkarte aufgrund von Stromspitzen durch einzelne Stifte beschädigt werden, vermindert wird. Da eine Beeinflussung des Taktsignals nur innerhalb der Steckkarte stattfindet, bleibt der Busbetrieb ungestört. Ferner ist ein entsprechendes Verfahren zum Entfernen und Einfügen einer Steckkarte in ein im Betrieb befindliches Computersystem beschrieben, gemäß welchem ein vom Bus bereitgestelltes Taktsignal durch auf der Steckkarte angeordnete Mittel zum Freigeben und Sperren des Taktsignals den ebenfalls auf der Steckkarte angeordneten aktiven Schaltkreiselementen zugeführt oder vorenthalten wird.
  • "Sensing the Presence of an Expansion Module", IBM Technical Disclosure Bulletin, Vol. 37, Nr. 10/94, Seite 591, beschreibt eine Vorrichtung und ein Verfahren zum Erkennen eines Entfernens bzw. Einfügens einer Steckkarte in einen Erweiterungsbus eines Computersystems, wobei die Karte eine Kurzschlußbrücke umfaßt, mittels welcher zwei voneinander getrennte Kontakte des Erweiterungsbusses kurzgeschlossen werden, wenn die Karte in dem Erweiterungsbus steckt. Somit kann eine Hardware-Änderung erkannt und eine Rekonfiguration des Computersystems veranlaßt werden, um einen Systemabsturz zu vermeiden.
  • Aus EP 0 674 275 A1 ist eine Wirt-Rechnereinheit mit Mikrocontroller und Primärbus bekannt. Zum Anschließen einer tragbaren Computereinheit über einfache Steckverbinder werden der Primärbus der tragbaren Computereinheit und der Primärbus des Computersystems unter Bildung eines einzigen Primärbusses direkt miteinander verbunden, wobei beide Primärbusse während des Ankoppelns angehalten werden.
  • Aus US 5 396 602 A ist ein Computersystem mit mehreren Bussen bekannt. Zum Wechseln einer Komponente an irgendeinem der Busse ist das gesamte Computersystem abzuschalten.
  • Aufgabe der Erfindung ist es, ein Verfahren nach dem Oberbegriff des Anspruchs 1 bzw. ein Computersystem nach dem Oberbegriff des Anspruchs 8 bzw. einen Sekundärbus-Controller nach dem Oberbegriff des Anspruchs 22 zu schaffen, die das Einfügen von Komponenten bei einem voll im Betrieb befindlichen Computer unter weitestgehender Vermeidung von Behinderungen des Betriebs ermöglichen.
  • Diese Aufgabe wird gemäß den Merkmalen der Ansprüche 1, 8 und 22 gelöst.
  • Hierdurch kann eine Komponente, etwa eine Platine oder Karte oder dergleichen, an ein Computersystem angeschlossen oder von ihm abgetrennt werden, wobei der Betrieb des Computersystems, der Betriebssoftware oder eines Netzwerks nicht unterbrochen werden.
  • Weitere Ausgestaltungen der Erfindung sind der nachfolgenden Beschreibung und den Unteransprüchen zu entnehmen.
  • Die Erfindung wird nachstehend anhand von in den beigefügten Abbildungen dargestellten Ausführungsbeispielen näher erläutert.
  • 1 zeigt ein Blockdiagramm zur Darstellung der bevorzugten Ausführungsform des Computersystems.
  • 2 zeigt eine Wellenformdiagramm zur Illustration von Signalen im Computersystem aus 1 beim Einfügen und Entnehmen einer Komponente.
  • 3 zeigt einen ersten Teil eines Flußdiagramms zur Erläuterung des Betriebs des Computersystems und zugehöriger Interrupt-Handhabung während des Einfügeprozesses.
  • 4a zeigt einen zweiten Abschnitt eines Flußdiagramms zur Darstellung des Betriebs des Computersystems und der zugeordneten Interrupt-Handhabung während des Einfügeprozesses.
  • 4b zeigt einen dritten Abschnitt eines Flußdiagramms nach 3 und 4a.
  • 5 zeigt einen ersten Abschnitt eines Flußdiagramms zur Erläuterung der Wirkungsweise des Computersystems und zugehöriger Interrupt-Handhabung während des Entnahmeprozesses.
  • 6a bis 6c zeigen weitere Abschnitte des Flußdiagramms nach 5.
  • 7 zeigt ein Statusdiagramm zur globalen Darstellung der Wirkungsweise.
  • 8 zeigt ein Blockdiagramm, das darstellt, wie ein Sekundärbus-Controller in einer Laptop-Andockstation angewandt werden kann.
  • 9 zeigt eine ähnliche Anordnung wie 8
  • 10 zeigt eine weitere ähnliche Anordnung wie 8.
  • 11 zeigt, wie ein Sekundärbus-Controller in Serie verkettet werden kann, um die Anzahl von Einschubschlitzen zu expandieren, die für entnehmbar Komponenten verfügbar sind.
  • 12 zeigt, wie ein Sekundärbus-Controller parallel angeschlossen werden kann, um zusätzliche entnehmbare oder festverdrahtete Komponenten abzustützen.
  • 13 zeigt, wie ein Sekundärbus-Controller verwendet werden kann, um eine Gruppe von Komponenten mit einem Computer über eine Schnittstelle zu koppeln.
  • 1 ist ein Blockdiagramm zur Illustration der bevorzugten Ausführungsform, installiert in einem Wirt-Computersystem. Gemäß 1 kann der Prozessor 101 einen Wirt-Prozessor eines Computersystems umfassen (beispielsweise einen Netzserver-Computer) und irgendeinen Prozessortyp enthalten (beispielsweise Intel 80x86, Motorola 86xx, Cyrix x86, AMD x86, MIPS, Alpha oder dergleichen).
  • Ein Ziel besteht darin, eine Technik zum "heißen" Einfügen-Entnehmen einer Komponente zu schaffen, die von dem Prozessortyp unabhängig ist. In der bevorzugten Ausführungsform können die Vorrichtung und das Verfahren in einem Windows-NT- oder Windows-9x-Betriebssystem angewandt werden.
  • Der Prozessor 101 kann mit anderen Komponeten über den Wirt-Bus 102 gekoppelt sein, der irgendeine einer Anzahl bekannter Wirt-Bussen umfassen kann (beispielsweise Pentium-Bus, Pentium-Pro-Bus oder dergleichen). Darüberhinaus kann der Prozessor 101 einen oder alle einer Anzahl von Prozessoren in einem Multiprozessorsystem umfassen. Der System-Controller 103 kann einer jener Komponenten sein, die an den Prozessor 101 über den Wirt-Bus 102 angekoppelt sind. Der System-Controller 103 kann einen oder mehrere Halbleiterschaltkreise umfassen, etwa einen Teil eines Chipsatzes für ein Computersystem. Der System-Controller 103 kann Eingang und Ausgang zum Prozessor 101 steuern und eine Schnittstelle des Prozessors 101 zu weiteren Bussen bilden.
  • Der primäre PCI-Bus 104 kann eine Schnittstelle zum Prozessor 101 über den System-Controller 103 bilden. Der primäre PCI-Bus 104 kann eine Schnittstelle mit irgendeinem einer Anzahl von Geräten bilden, wobei die Verbindung über den System-Controller 103 erfolgt, etwa Eingangs/Ausgangs-Controller 105, der seinerseits einen Eingangs/Ausgangsbus 106 ansteuert. Obwohl der primäre PCI-Bus 104 hier als ein PCI-Bus (periphere Kommunikationsschnittstelle) dargestellt ist, können andere Bustypen verwendet werden. Der PCI-Bus wird in der bevorzugten Ausfüh rungsform angewandt, da er eine in erheblichen Umfang industrielle benutzte Komponente darstellt und eine Anzahl von Geräten verfügbar ist, die das CPI-Busprotokoll verwenden.
  • Der sekundäre Bus-Controller 120 kann als eine Komponente am primären CPI-Bus 104 angesehen werden, die über eine Schnittstelle als Teil des primären CPI-Busses 104 verbunden und in 1 mit Bezugszeichen 111 dargestellt ist. Der Primär-PCI-Busabschnitt 111 enthält Daten, Adressen und Steuerleitungen des PCI-Busses 110. Der Primär-CPI-Bustakt PCICLKp auf Leitung 109 und das Primär-CPI-Bus-Rücksetzsignal PCIRSTp# auf Leitung 110 können direkt zum System-Controller 103 geführt sein, wie in 1 dargestellt. Im Rücksetzsignal zeigt PCIRST# zeigt # ein aktiv niedriges Signal an.
  • Der Sekundärbus-Controller 120 kann einen PCI-Expansionsbus-Controller umfassen, der wie hier beschrieben modifiziert ist. Eine Mehrzahl von Sekundärbus-Controllern 120 kann vorgesehen sein, um eine Expansion für eine Anzahl von Komponenten zu ermöglichen. In der bevorzugten Ausführungsform kann jeder der Sekundärbus-Controller 120 eine Schnittstelle für bis fünf PCI-Komponenten bilden (beispielsweise vier abtrennbare Komponenten und eine festverdrahtete Komponente). Zusätzliche Sekundärbus-Controller 120 können hinzugefügt werden, indem solche Controller direkt eine Schnittstelle mit dem System-Controller 103 in der in 1 dargestellten Weise bilden, oder indem solche Sekundärbus-Controller 120 in Serie verkettet werden.
  • Der Sekundärbus-Controller 120 kann seinen eigenen Sekundär-PCI-Bus 126 aufweisen, der seinerseits eine Schnittstelle zu einer Anzahl von PCI-Komponenten zum Kompressor 101 bildet. Bei einer typischen PCI-Busausgestaltung können zehn Komponenten innerhalb eines einzelnen Busses angeschlossen werden. Eine weitere Anzahl von Komponenten können Ausbreitungsverzögerungen oder dergleichen einführen, welche das Verhalten verschlechtern. Natürlich könnten Hardware-Modifikationen vorgenommen werden, um zusätzliche Komponenten zu ermöglichen, doch verlangen typische CPI-Spezifikationen die Anschlußmöglichkeit von bis zu zehn Komponenten. In der bevorzugten Ausführungsform können bis zu vier abtrennbare Komponenten angeschlossen werden, zusammen mit einer oder meh reren festverdrahteten Komponenten.
  • Jeder Verbinder für eine abtrennbare Komponente kann eine zusätzliche Ausbreitungsverzögerungsbelastung für eine Gesamtanzahl von acht äquivalenten Komponentenbelastungen für vier abtrennbare Komponenten mit sich bringen. In der bevorzugten Ausführungsform kann der Sekundärbus-Controller 120 vier abtrennbare CPI-Komponenten vom SekundärPCI-Bus 126 ansteuern. Die bevorzugte Ausführungsform kann expandiert werden, um zusätzliche abtrennbare oder festverdrahtete Komponenten bereitzustellen, indem zusätzliche Registerbits und zugeordnete Logik- und Software-Abstützung vorgesehen werden. Darüberhinaus kann, obwohl in der bevorzugten Ausführungsform als Sekundär-PCI-Bus-Controller dargestellt, der Sekundärbus-Controller 120 eine Schnittstelle zu anderen Arten von Expansionsbussen bilden.
  • Die Registerbits, die in Tabelle I wiedergegeben sind, werden unten diskutiert. Der Sekundärbus-Controller 120 kann solche Registerbits benötigen, um Einfügungs-/Entnahmearchitektur zu ermöglichen. Diese Registerbits werden nur beispielshalber wiedergegeben.
  • TABELLE I
    Figure 00110001
  • Die in Tabelle II wiedergegebenen Signalnamen werden unten in Verbindung mit dem Sekundärbus-Controller 120 diskutiert.
  • TABELLE II
    Figure 00120001
  • Der Sekundärbus-Controller 120 kann eine Schnittstelle mit der festverdrahteten PCI-Komponente 130 über Sekundär-PCI-Bus 126 bilden. Die festverdrahtete PCI-Komponente 130 kann eine PCI-Komponente umfassen (beispielsweise Festplatten-Controller, CD-ROM-Controller, Modem, Netzwerkkarte, Bildschirmtreiber oder dergleichen), von welcher nicht erwartet wird, daß sie entnommen oder eingefügt wird, während das Computersystem in Betrieb ist. Die Anwendung einer festverdrahteten PCI-Komponente kann optional sein, und die Eliminierung einer festverdrahteten PCI-Komponente an einem oder mehreren PCI-Expansionsbussen kann eine erhöhte Anzahl von entnehmbaren PCI-Komponenten hinzuzufügen ermöglichen.
  • Darüberhinaus können zusätzliche festverdrahtete PCI-Komponenten hinzugefügt werden und die Anzahl der entnehmbaren Einschübe gesenkt werden. PCI-Komponente 130 kann eine Schnittstelle zum Sekundärbus-Controller 120 über Sekundär-PCI-Bus 126 und Sekundär-PCI-Takt PCICLKs auf Leitung 127 und PIC-Rücksetzsignal PCIRSTs# auf Leitung 128 bilden. In 1 bezeichnet der Index "s" generell Signale, die in Verbindung mit dem Sekundär-PCI-Bus 126 stehen, während der Index "p" Signale bezeichnet, die dem Primär-PCI-Bus 104 zugeordnet sind.
  • Zusätzlich zu der festverdrahteten PCI-Komponente 130 kann der Sekundärbus-Controller 120 bis zu vier entnehmbare PCI-Expansionskomponenten über den Verbinder 150 durch den Sekundär-PCI-Bus 126 ansteuern. Wiederum sind hier zwar nur vier entnehmbare Expansionskomponenten über Verbinder 150 dargestellt, doch können zusätzliche entnehmbare Expansionskomponenten zugefügt werden durch Abänderung der Anzahl von Registerbits und/oder durch Eliminieren der Anwendung einer festverdrahteten PCI-Komponente. Zusätzlich können, wie oben erläutert, multiple Sekundärbus-Controller 120 verkettet werden oder parallel vorgesehen werden, um zu ermöglichen, daß weitere PCI-Expansionskomponenten einem Computersystem zugefügt werde können.
  • Um die Erläuterung zu vereinfachen, sind in 9 nur ein Verbinder 150 und zugeordnete Hardware für entnehmbare Komponenten illustriert. Die Notation (3:0) in 1 illustriert jedoch, daß der Verbinder 150 und zugeordnete Hardware für vier entnehmbare Komponenten repliziert werden können (d.h. Komponente 0, 1, 2 und 3). Eine weitere Er örterung der Elemente der 1 wird in Verbindung mit Rücksetzen, Einfügen und Entnehmen erläutert.
  • RÜCKSETZSEQUENZ
  • Beim Einschalten oder Rücksetzen kann eine Anzahl von Ereignissen innerhalb des Systems der 1 eintreten, um das Einfügen bzw. Entnehmen unter Spannung (gemeinsam als "heißer Austausch" bezeichnet) zu ermöglichen. Der System-Controller 103 legt das Primär-PCI-Rücksetzsignal PCIRSTp# auf Leitung 110 und startet den Primär-PCI-Takt PCICLKp auf Leitung 109. Der Sekundärbus-Controller 120 kann dann ein internes Rücksetzen anlegen und die Konfigurationsbits aus Tabelle i auf die Falschwerte zurücksetzen.
  • Der Sekundärbus-Controller 120 kann dann Sekundär-PCI-Rücksetzsignale PCIRSTs(3:0)# und PCIRSTs# solange anlegen wie das Primär-PCI-Rücksetzsignal PCISTp# anliegt. Als solche werden festverdrahtete PCI-Komponente(n) 130 und entnehmbare PCI-Komponenten, angekoppelt an Verbinder 150 rückgesetzt. PCIRSTp#-Aktivzeit kann ein Minimum von i ms haben, was es dem internen Takt und der Phasenverriegelungsschleife (PLL) innerhalb des Sekundärbus-Controllers 120 ausreichend Zeit gibt, sich zu synchronisieren.
  • Der Sekundärbus-Controller 120 kann dann den Sekundär-CPI-Taktsignalen PCICLKs(3:0) und PCICLKs ermöglichen umzuschalten, da SLOT CLK EN_(3:0) auf "1111" geht. Während des Rücksetzens tastet der Sekundärbus-Controller 120 das Signal PRSNTS(3:0)# ab und speichert den Status jener Signale als Bits PRESENT(3:0) und schaltet die Leistung ein zu den belasteten Schlitzen durch Anlegen entsprechender SLOT_EN(3:0)-Signale 144. Für jeden leeren Schlitz n bringt der Sekundärbus-Controller 120 die entsprechenden Signale PCICLKs(n), PCIRSTs(n)# und PCIGNTs(n)# auf hochimpedanten Zustand.
  • Bei der Überprüfung wird der BIOS des Sekundärbus-Controllers 120 den Status von PRESENT(3:0) lesen und eine "1" schreiben, um SLOT RST_ENs(3:0) dementsprechend zu setzen, um PCIRSTs(3:0)# für nicht geladene Schlitze zu aktivieren. Schließlich setzt der BIOS des Sekundärbus-Controllers 120 INSERT_EJECT_EN(3:0), um das Einfügen oder Entnehmen zu ermöglichen. Dieser letzte Schritt kann entsperrt oder gesperrt werden als eine Sicherheitsmaßnahme, um nicht autorisiertes Einfügen oder Entnehmen von herausziehbaren Platinen zu verhindern.
  • EINSETZSEQUENZ
  • Eine "heiße" Einsetzsequenz kann vier Schritte umfassen, nämlich Erkennung, Isolierung, Einsetzung und Rekonfiguration. Zum Zwecke der Erörterung sind Signale an verschiedenen Stiften zu dem und von dem Sekundärbus-Controller 120 in Großbuchstaben gezeigt, während Registerbits in kursiven Großbuchstaben angegeben sind. 3, 4A und 4B bilden ein Flußdiagramm zur Illustration von Elementen in den vier Schritten der Einsetzsequenz, beginnend mit dem Startschritt 400.
  • Ein erster Schritt 410 der Heißeinfügungssequenz ist die Erkennung. Der Erkennungsschritt 410 kann automatisch oder manuell ausgeführt werden. Die automatische Erkennung kann durch die Verwendung von Näherungsschaltern oder Kontaktschaltern erzielt werden, welche die bevorstehende Einfügugn einer Platine oder dergleichen erfaßt. Alternativ können andere Mittel verwendet werden (beispielsweise eine Anzahl längerer Stifte oder Kontakte an einer Platine, wie in dem oben beschriebenen Stand der Technik erläutert), um die Erkennung auszuführen.
  • Wie in 1 dargestellt, können der Entnahmeschalter EJECT(3:0)S1 141 und Einfügeschalter INSERT(3:0)S2 143 in Serie geschaltet werden. Jeder Schlitz kann mit entsprechenden Einfüge- und Entnahmeschaltern versehen werden. Einfügeschalter 143 können einen Näherungsschalter oder dergleichen umfassen (beispielsweise optoelektrisch, Kontaktschalter, Halleffektschalter oder dergleichen), welche geschlossen werden können, wenn eine Platine in einen entsprechenden Schlitz eingefügt wird.
  • Jeder Entnahmeschalter 141 kann einen normalerweise geschlossenen intermittierenden (beispielsweise federbelasteten) manuellen Benutzerschalter umfassen in Verbindung mit oder plaziert in der Nähe eines jeweiligen Schlitzes. Wenn ein Benutzer eine Platine entnehmen möchte, kann der Benutzer manuell einen entsprechenden Entnahmeschalter betätigen. Das Schließen des Einfügeschalters 143 oder Öffnen des Entnahme schalters 141 können eine Einfüge- oder Entnahmeanforderung IREQ(3:0)#/EREQ(3:0) erzeugen. Durch Plazieren des Entnahme- und Einfügeschalters in Serie kann die Anzahl von Stiften, die der Sekundärbus-Controller für Einfüge- und Entnahmeanforderung benötigt, minimiert werden.
  • TABELLE III
    Figure 00160001
  • Tabelle III ist eine Wahrheitstabelle für das Signal auf Leitung 122 für verschiedene Positionen der Schalter 141 und 143. Der Entnahmeschalter 141 ist normalerweise geschlossen, und der Einfügeschalter 143 ist normalerweise offen. Unter diesen Bedingungen wird die Leitung 122 durch die Systemspannung 140 über einen Nebenschlußwiderstand hoch gezogen. Wenn der Einfügeschalter 143 geschlossen wird, wird die Spannung auf Leitung 122 heruntergezogen, wobei der Übergang das Vorhandensein einer Platine in dem entsprechenden Einschubschlitz anzeigt. Wenn der Entnahmeschalter 141 aktiviert wird, während der Einfügeschalter 143 offen ist, sollte die Spannung auf Leitung 12 hoch bleiben. Eine solche Situation ist ein Nullsummenspiel, da ein Verwender nichts aus einem leeren Einschubschlitz entnehmen kann. Wenn jedoch der Einfügeschalter 143 geschlossen ist und der Entnahmeschalter 141 geöffnet wird, wird die Spannung auf Leitung 122 von niedrig auf hoch gehen. Demgemäß zeigt der Übergang von hoch auf niedrig auf Leitung 122 eine Einfügung für einen entsprechenden Schlitz, während ein Übergang von niedrig auf hoch eine Entnahmeanforderung anzeigt.
  • Eine solche Flankenerkennung ermöglicht, zwei Signale auf nur eine Leitung 122 zu geben und demgemäß Stifte am Sekundärbus-Controller 120 zu sparen. Die Tabelle 4 faßt das Flankenerkennungsschema für die Leitung 122 zusammen.
  • TABELLE IV
    Figure 00170001
  • Es ist festzuhalten, daß anstelle der Flankenerkennungstechnik der Tabelle IV eine Pegelerkennungstechnik verwendet werden kann, bei der unterschiedliche Leitungen für Einfüge- und Entnahmesignale verwendet werden.
  • Wie in 1, 3 und 4 dargestellt, kann der Einfügeanforderungsschalter S2 143 IREQ(3:0)#/EREQ(3:0) niedrigziehen, um Signal IREQ(3:0)# auf Leitung 122 für einen entsprechenden Einschubschlitz zu erzeugen, wie in Schritt 411 dargestellt. Wenn das Signal IREQ(3:0)# auf Leitungen 122 erscheint und ein entsprechendes INSERT_EJECT_EN(n)-Bit gesetzt worden ist, erkennt der Sekundärbus-Controller 120, daß eine heiße Einfügesequenz zu beginnen ist.
  • Alternativ kann der Schritt 411 der 3 durch Software realisiert werden, wie im Schritt 412 illustriert. Beispielsweise kann ein Benutzer ein "Start/Einfügung"-Symbol in einer graphischen Benutzeroberfläche anklicken, wie Windows 95, Windows NT, OS-2 oder dergleichen. OS-BIOS kann dann das Bit INSERT(n) im Sekundärbus-Controller 120 setzen, was anzeigt, daß eine Software-initialisierte Einfügung angefordert worden ist.
  • Der zweite Schritt 420 in der Heißeinfügesequenz ist die Isolation des Sekundär-PCI-Busses 126 und der mit ihm gekoppelten Komponen ten. Der Sekundär-PCI-Bus 126 ist ein synchroner Bus, der den Busbetrieb abstützt. Mit anderen Worten kann den verschiedenen Komponenten am Sekundär-PCI-Bus 126 die Steuerung des Sekundär-PCI-Busses 126 durch den Einfüge-Controller 120 erlaubt sein, um Daten zu senden oder zu empfangen. Eine solche Busbetriebstechnik kann verwendet werden, um die Datenbandbreite auf einem Bus zu erhöhen. Als solche kann sie für den Sekundärbus-Controller 120 notwendig sein, um die Kontrolle über den Sekundär-PCI-Bus 126 wiederzugewinnen, bevor eine heiße Einfügung erfolgen kann.
  • Während des Isolationsschritts 420 gibt der Sekundärbus-Controller 120 die PCI-Busverwaltung im Schritt 421 auf, indem die Signale PCIGNTs# und PCIGNTs(3:0)# auf Leitungen 132 bzw. 131 entfernt werden. Der Sekundärbus-Controller 120 wartet darauf, welche Komponente am Sekundär-PCI-Bus 126, die die Bussteuerung hat, ihren Zyklus beendet hat. Der Sekundärbus-Controller 120 wartet dann darauf, daß der Sekundär-PCI-Bus 126 im Schritt 122 frei wird. Der Sekundärbus-Controller 120 sperrt dann die Abwägung auf Sekundär-PCI-Bus 126, was irgendeine Komponente am Sekundär-PCI-Bus 126 daran hindert, die Bussteuerung zu übernehmen.
  • Der Sekundärbus-Controller 120 kann dann die Adreß- und Datenleitungen auf dem Sekundär-PCI-Bus 126 im Schritt 423 hochimpedant machen. Der Sekundärbus-Controller 130 hält dann den PCI-Takt PCICLKs auf Leitung 127 zu der nicht entnehmbaren PCI-Komponente 130 im Schritt 425 niedrig. PCI-Takte PCICLKs(3:0) auf Leitungen 124 zu allen besetzten Schlitzen am Verbinder 150 werden im Schritt 425 ebenfalls niedriggehalten. Ob ein bestimmter Einschubschlitz besetzt oder unbesetzt ist, kann erfaßt werden, indem das Vorhandensein von PRSNTS(3:0)# Signalen auf Leitungen 123 abgelastet wird, wie im Schritt 424 illustriert. Falls Signal PRSNTS(n)# und Signal IREQ(n)#/EREQ(n) niedrig liegt, ist der Schlitz n besetzt. Wenn das Signal PRSNTS(n)# hoch liegt, ist der Einschubschlitz n leer.
  • Die PCI-Takte PCICLKs(3:0) auf Leitungen 124 zu unbesetzten Schlitzen bleiben hochimpedant, und die PCI-Rücksetzsignale PCIRSTs(3:0)# auf Leitungen 125 zu den besetzten Schlitzen in den Schritten 426 bzw. 427 werden auf hoch gehalten (deaktiviert). Auf diese Weise können Komponenten, die gegenwärtig am Sekundär-PCI-Bus 126 aktiv sind, zeitweilig in einen statischen Zustand versetzt werden, derart, daß irgendwelche Störsignale, die bei dem Einfügeprozeß auftreten, ignoriert werden.
  • Wenn INSERT(n) gesetzt ist (d.h. daß die Einfügung von der Software initialisiert wurde), wie im Schritt 428 gezeigt, geht das Programm zum Schritt 433. Wenn INSERT(n) nicht gesetzt ist (d.h. die Einfügung wird durch die Hardware initialisiert), kann der Sekundärbus-Controller 120 ein entsprechendes INSERT_REQ_STS(n) setzen und den Notifikationsinterrupt INT# auf Leitung 108 aktivieren, um der Betriebssystem-Software zu notifizieren, daß eine Hardware-initialisierte Einfügung angefordert worden ist. Solche Hardware-initialisierten Einfügeinterrupts können gesperrt werden, indem ein Konfigurationsbit innerhalb des Sekundärbus-Controller 120 gesetzt wird, falls die Erfindung in einem System ohne Hardware-Schalter anzuwenden ist.
  • Im Schritt 430 bestimmt das Betriebssystem BIOS die Quelle des Interrupts. Im Schritt 431 setzt das Betriebssystem BIOS das INSERT_REQ STS(n)-Bit, und der Sekundärbus-Controller 120 deaktiviert INT# im Schritt 432.
  • Im Schritt 433 kann die Betriebssystem-Software oder Anwender-Software eine Benutzeranweisung erzeugen (z.B. "Karte jetzt einschieben") und/oder einen Einschubzeitgeber starten. Ein solcher Einschubzeitgeber kann verwendet werden, um ein System am Durchhängen zu hindern, wenn keine Karte eingeschoben wird oder sie unrichtig eingeschoben wird. Wenn der Einschubzeitgeber im Schritt 434 abgelaufen ist, wird dem Benutzer notifiziert, daß der Einschubprozeß unvollständig ist. Andernfalls ist der Einschubschritt bereit zu erfolgen.
  • Während des Einschubs kann demgemäß der Notifikationsinterrupt INT# 108 zweimal eingefügt werden, anfänglich für den Zeitablauf des Einfügens und später für die Systemrekonfigurierung. Der erste Einschubinterrupt kann durch Software mittels Setzen eines entsprechenden Registerbits gesperrt werden.
  • Während des Einfügeprozesses 440 bleiben der Primär-PCI-Bus 104 und der Wirtsbus 102 aktiv. Versuche, auf Komponenten am Sekundär- PCI-Bus 126 zuzugreifen, werden während des Einfügeprozesses unterbunden. Der Sekundärbus-Controller 120 reagiert auf Versuche von Komponenten am Primärbus mit einem Neuversuch-Befehl an Primärbuskomponenten den Versuch zu unternehmen, auf Komponenten am Sekundär-PCI-Bus 126 während des Einfügeprozesses zuzugreifen, wie im Schritt 421 dargestellt. Wenn der Einfügeschalter 143 automatisiert ist (d.h. ein Näherungsschalter oder ein anderer Typ von Kartensensorschalter verwendet wird), wird erwartet, daß der Einfügeprozeß nicht mehr als 100 bis 200 ms braucht. Die meisten Anwender-Software sollten in der Lage sein, eine solche Verzögerung ohne Schwierigkeiten zu tolerieren.
  • Auf dem Prozessor 101 laufende Software fährt fort, erneute Zugriffsversuche vorzunehmen, bis eine Auszeit-Bedingung auftritt. Um Datenverlust oder Systemabsturz zu verhindern, kann auf dem Prozessor 101 laufende Software modifiziert werden, um Auszeitperioden zu erstrecken, damit die Einfügung von Karten ermöglicht wird. Der Primär-PCI-Bustakt PCICLKp auf Leitung 109 während eines Einfügeprozesses unterbrochen wird und demgemäß der Sekundärbus-Controller 120 über den Einfügeprozeß hin aktiv bleibt.
  • Sobald der Sekundär-PCI-Bus 126 isoliert worden ist, kann im Schritt 432 das Einfügen erfolgen. Eine Karte (oder mehrere) oder andere Komponente(n) können in den Verbinder 150 eingesetzt werden, der, wie oben diskutiert, vier Verbinderschlitze in der bevorzugten Ausführungsform aufweisen kann. Für die Zwecke dieser Anwendung werden die entnehmbaren Komponenten als Karten oder Platinen oder dergleichen beschrieben. Die Komponenten können jedoch andere Formate aufweisen, wie Karten vom Typ PCMCIA (d.h. Komponenten im Format von Kreditkarten mit spezialisiertem Stecker oder Schnittstelle), sogenannte "Smart Cards" oder dergleichen.
  • Sobald eine Komponente in den Verbinder 150 eingefügt worden ist, dekodiert der Sekundärbus-Controller 120 das Vorhandensein der neu eingefügten Komponente durch Erfassen des Präsenz-Signals PRSNTS(3:0)# auf Leitung 123 im Schritt 443 nach dem Abklingenlassen der PRSNTS(n)#-Leitung für zwei Sekunden, um sicherzustellen, daß die Karte richtig gefügt ist. Das Präsenz-Signal PRSNTS(3:0)# auf Leitungen 123 kann eine logische Kombination des Signals PRSNT1S(3:0)# auf Leitungen 145 und PRSNT2S(3:0)# auf Leitungen 146 sein. In der hier verwendeten Nomenklatur bezeichnet das Doppelkreuzzeichen ein aktiv niedrig liegendes Signal, wie dies im Stand der Technik üblich ist.
  • Die Signale PRSNT1S(3:0)# und PRSNT2S(3:0)# sind im Stand der Technik in PCI-Bustypsystemen bekannt. Die Signale PRSNT1S(3:0)# und PRSNT2S(3:0)# zeigen gemeinsam, welche Art von Leistungserfordernisse eine Komponente hat. Wenn beide Signale PRSNT1S(3:0)# und PRSNT2S(3:0)# für einen gegebenen Einschub (d.h. Schlitz 0-3) hoch liegen, ist keine Karte in den betreffenden Einschubschlitz eingefügt. Andere Kombinationen der Signale (d.h. 00, 10, 01) zeigen unterschiedliche Leistungspegelerfordernisse (beispielsweise 5 W für eine gegebene Komponente an. Die Signale PRSNT1S(3:0)# und PRSNT2S(3:0)# erfordern keine Leistung, da sie passiv durch eine Komponente erzeugt werden können (z.B. An-Masse-Legen eines Stiftes oder Kontaktes).
  • Die Signale PRSNT1S(3:0)# und PRSNT2(3:0)# können durch eine UND-Funktionslogik 151 UND-verknüpft werden, um das Präsenz-Signal PRSNTS(3:0)# auf Leitungen 123 zu erzeugen. Wenn das Präsenz-Signal PRSNTS(3:0) für einen gegebenen Einschubschlitz hoch liegt, ist keine Karte in dem betreffenden Schlitz vorhanden. Wenn das Präsenz-Signal PRSNTS(3:0)# niedrig liegt, ist entweder eine Einfügung nicht angefordert worden, oder es ist keine Karte in dem betreffenden Schlitz vorhanden.
  • Die UND-Gatterlogik, die in 1 illustriert wurde, ist nur schematisch. Echte Logik-Hardware-Ausführungen können verändert und andere Signale als die Signale PRSNT1S(3:0)# und PRSNT2S(3:0)# für die Kartenpräsenz überwacht werden.
  • 2 zeigt die Wirkungsweise des Präsenz-Signals PRSNTS(3:0)# auf Leitungen 124 für einen gegebenen Einschubschlitz und das Einfüge-/Entnahmeanforderungssignal IREQ(3:0)#/EREQ(3:0) auf Leitung 122 für denselben gegebenen Schlitz. Sobald eine Einfügeanforderung durch Schließen des Einfügeanforderungsschalters 143 eingeleitet worden ist, kann das Signal IREQ(3:0)#/EREQ(3:0) niedriggehen, wie in 2 dargestellt. Nach einiger Zeit (beispielsweise zwei Sekunden), wenn eine Karte eingefügt und eingeschwungen ist, wird das Signal PRSNTS# für den betreffenden Einschubschlitz niedriggehen, wie ebenfalls in 2 dargestellt.
  • Nach Erkennen der Einfügung der Karte kann der Sekundärbus-Controller 120 das SLOT_EN(n) für die neu eingefügte Karte im Schritt 444 aktivieren. Das Signal SLOT_EN(n) kann SCR oder eine andere schaltende Komponente 180 schalten, um die Systemspannung Udd der neu eingefügten Karte zuzuführen. Optional kann der GPIO-Bus 133 die neu eingefügte Karte an Ort und Stelle verriegeln.
  • Im Schritt 445 wird PCICLK(n) für den neu besetzten Schlitz niedrig gehalten. Im Schritt 446 wird PCIRSTs(n)# für die nun mit Leistung versorgte neu eingesetzte Komponente ebenfalls niedrig gehalten. Die Schritte 445 und 446 werden von der Hardware im Sekundärbus-Controller 120 ausgeführt, nachdem Leistung über SCR oder eine andere schaltende Komponente 180 angelegt worden ist. Die Verwendung einer Hardware-Lösung kann gegenüber Software bevorzugt sein, um sicherzustellen, daß die neu eingefügte Komponente in richtiger Weise mit Leistung versorgt und rückgesetzt worden ist.
  • Im Schritt 447 werden PCI-Takte PCICLKs und PCICLKs(n) für den Sekundärbus neu gestartet. Der Sekundärbus PCI 126 kann 1,2 ms leerlaufend gehalten werden.
  • Nach erfolgter Einführung kann die Rekonfiguration erfolgen. Die Rekonfiguration beginnt, wenn der Sekundärbus-Controller 120 den Interrupthandhaber, der im Betriebssystem oder BIOS des Prozessors 101 wirkt, über die Notifikation des Interrupt INT# 108 aktiviert, wie im Schritt 451 der 4B dargestellt. Der Interrupthandhaber dekodiert dann die Quelle des Interrupts im Schritt 452. Wenn das Bit CHG_STS im Sekundärbus-Controller 120 gesetzt ist, kann der Interrupthandhaber erkennen, daß ein Änderungsstatusinterrupt erzeugt worden ist. Wenn ein Einfügeinterrupt aufgetreten ist, kann der Interrupthandhaber dann den neu besetzten Schlitz bestimmen, indem er die Bits INSERT_REQ_STS(n) im Sekundärbus-Controller 120 liest, wie im Schritt 452 dargestellt.
  • Der Einfügeinterrupt kann dann den neubesetzten Schlitz über elektromechanische Verriegelung unter Verwendung der Allgemeinzweck schnittstelle GP-I/O-Bus 133 verriegeln. Dieser Verriegelungsschritt ist vollkommen optional und kann eliminiert werden, wenn er nicht benötigt wird. In der bevorzugten Ausführungsform kann eine Kartenverriegelung vorgesehen sein, um fehlerhaftes Ausstoßen der Komponentenkarte oder dergleichen zu verhindern. Die Kartenverriegelungshardware kann Teil der Erfindung sein.
  • Im Schritt 453 setzt OS/BIOS das CHG_STS-Bit zurück, und der Sekundärbus-Controller 120 deaktiviert die Notifikation des Interrupt INT# 108.
  • Im Schritt 454 wird das PCI-Taktsignal PCICLKs(n) für den neu beladenen Einschubschlitz oder neu beladene Einschubschlitze wie auch (den) vorher besetzte(n) Schlitz(e) gestartet durch Setzen von SLOT_CLK ENs(3:0)-Bits für besetzte Schlitze im Sekundärbus-Controller 120. Der Interrupthandhaber vergleicht die PRESENT(3:0)-Bits mit vorher gespeicherten Werten im Hauptspeicher, um zu identifizieren, welche(r) Einschubschlitz(e) neu besetzten worden ist (sind). Obwohl hier als Software-entsperrter Schritt dargestellt, kann in einer alternativen Ausführungsform der Neustart des Sekundär-PCI-Takts für (einen) neu besetzte(n) Schlitz(e) in Hardware ausgeführt sein. Im Schritt 454 deaktiviert OS/BIOS das PCI-Rücksetzsignal PCIRSTs(n)# für (einen) neu besetzte(n) Schlitz(e) durch Löschen von SLOT_RST_ENs(n)-Bits entsprechend dem neu besetzten Schlitz im Sekundär-PCI-Bus-Controller 120. Der Sekundär-PCI-Bus-Controller 120 kann die Deaktivierung des PCIRSTs(n)# verzögern, bis der Sekundär-PCI-Bus 126 leerläuft. OS/BIOS rekonfiguriert das System dann, um die neu eingefügten Komponenten zu integrieren.
  • Sobald der Sekundär-PCI-Bus 126 reaktiviert ist, kann die Sekundärarbitrage entsperrt werden. Der Sekundär-PCI-Bus-Controller 120 kann alle internen Konflikte auf dem Sekundär-PCI-Bus 126 anfänglich klären. Die Betriebssystem-Software auf Prozessor 101 kann dann das System für die neue Hardwarekonfiguration rekonfigurieren. Die Arbitrage von Hardware- und Softsware-Ressourcen kann zugeordnet und Konflikte können eliminiert werden. Eine solche Konfliktlösung für Betriebssystem-Software ist beispielsweise in der Spezifikation mit dem Titel "Plug and Play ISA Specification, Version 1.0a" vom 5. Mai 1994 beschrieben.
  • Die Ressourcenarbitrage kann die vollständige Rekonfiguration des Computersystems erfordern oder auch nicht, abhängig davon, ob ein Ressoucenkonflikt erfaßt wird. Wenn die neu eingefügte Komponente mit einer vorher vorhandenen Komponente in Konflikt steht, kann es erforderlich sein, beide oder noch mehr Komponenten zu rekonfigurieren, um Ressourcenkonflikte zu eliminieren. Sobald das System rekonfiguriert worden ist, ist der Einfügeprozeß abgeschlossen.
  • ENTNAHMESEQUENZ
  • Die heiße Entnahmesequenz kann durch die folgenden fünf Stufen definiert werden: Erfassen, Ressourcenabschluß, Isolation, Entnahme und Rekonfigurierung. Die fünf Schritte in der heißen Entnahmesequenz sind in 5, 6a, 6b und 6c gezeigt. 5 zeigt die Erkennungs- und Ressourcenabschlußschritte, während die 6a, 6b und 6c die Isolations-, Entnahme- und Rekonfigurationsschritte darstellen.
  • Gemäß 5 beginnt die heiße Entnahmesequenz mit dem START-schritt 500. Die Erkennung kann erfolgen, wenn das Signal EJECT(3:0) im Schritt 511 aktiviert wird, indem der Entnahmeanorderungsschalter 141 geöffnet wird. Der Entnahmeanforderungsschalter 141 kann einen normalerweise geschlossenen Tastschalter (d.h. federbelastet) umfassen, der von einem Benutzer aktiviert werden kann. Alternativ kann ein elektrisches Signal oder dergleichen, das durch EJECT(3:0) repräsentiert wird, den Entnahmeanforderungsschalter 141 öffnen. Im Schritt 512 wird das Signal IREQ(n)#/EREQ(n) auf Leitung 122 hochgezogen. Im Schritt 513 wird das Signal EJECT(3:0) deaktiviert (d.h. der Entnahmeanforderungsschalter 141 wird losgelassen), und im Schritt 512 geht das Signal IREQ(n)#/EREQ(n) niedrig. Wie oben diskutiert, erkennt der Sekundärbus-Controller 120 diese Übergangsflanke auf Leitung 122 und erkennt in Kombination mit Signal PRSNTS(3:0)#, daß eine Entnahmeanforderung vorliegt.
  • Wie in 5 als Alternative gezeigt, kann ein Benutzer ein "Stop/Eject"-Symbol über Software im Schritt 517 anklicken. Der Sekundärbus-Controller 120 kann dann das EJECT(n)-Bit im Sekundärbus-Controller 120 unter der Voraussetzung, daß eine Ressource geschlossen worden ist, setzen. Das Verfahren geht dann im Schritt A in 6a über, wobei der Ressourcenschließschritt übersprungen wird.
  • Sobald ein Entnahmeinterrupt erkannt worden ist, kann dann der Interrupthandhaber im Prozessor 101 Ressourcen, die zu entnehmen sind, schließen. Anwender-Software, die auf eine zu entnehmende Komponente zugreift, muß abgeschlossen werden, bevor die Komponente entnommen werden kann, da sonst ein Software-Absturz erfolgen kann. Anwendungen unter Verwendung der zu entnehmenden Ressourcen können durch den Prozessor 101 vorgewarnt werden, daß sie ihre Transaktionen mit der zu schließenden Ressource beenden müssen. Wenn beispielsweise ein Benutzer auf eine Datei von einem entnehmbaren Festplattenspeicher zugreift, der mit dem Verbinder 150 verbunden ist, kann der Benutzer aufgefordert werden, diese Datei zu schließen. Welche Ressourcen zu schließen sind, kann durch überprüfen der EJECT_REQ_STS(3:0)-Bits erkannt werden.
  • Nach Erkennen können Ressourcen geschlossen werden. Der Sekundär-PCI-Kontroller 120 setzt das EJECT_REQ_STS(n)-Bit entsprechend der empfangenen Anstiegsflanke des IREQ(n)#/EREQ(n), was anzeigt, daß ein Entnahmeinterrupt im Schritt 521 zu erfolgen hat. Im Schritt 522 aktiviert der Sekundärbus-Controller 120 die Notifikation des Interrupt INT# 108, was dem Prozessor 101 einen Interrupt signalisiert. Im Schritt 523 aktiviert OS/BIOS den Interrupthandhaber, und im Schritt 524 dekodiert es die Quelle des Interrupts.
  • Der Prozessor 101 ermittelt, daß ein Entnahmeinterrupt angefordert worden ist, aus dem Status von EJECT_REQ_STS(n). In Reaktion auf einen Entnahmeinterrupt klärt OS/BIOS da EJEC_REQ_STS(n) im Schritt 526. In Reaktion darauf deaktiviert der Sekundärbus-Controller 120 die Notifikation des Interrupt INT# 108 im Schritt 527. Im Schritt 528 schließt OS/BIOS Ressourcen an Sekundär-PCI-Bus 126, welche zu entnehmen sind. Nach Schließen der zu entnehmenden Ressourcen setzt OS/BIO EJECT(n). Das Setzen von EJECT(n) bewirkt, daß der Sekundärbus-Controller 120 den in 6a diskutierten Isolationsprozeß startet.
  • Nach Schließen zu entnehmender Ressourcen kann das CLSRES REQ(3:0)-Bit (oder die entsprechenden Bits) geklärt werden, wie im Schritt 525 gezeigt. Die Betriebssystem-Software, die auf dem Prozessor 101 läuft, kann modifiziert werden, um einen Benutzer daran zu hindern, die Ressource, die zu entnehmen ist, später wieder zu eröffnen, nachdem sie geschlossen worden ist. Ohne eine solche Vorkehrung wäre es möglich, daß Benutzer-Software die Ressource während des Zeitfensters zwischen dem Schließen der Ressource und der Entnahme der Komponente wieder öffnet. Nachdem die Ressource geschlossen worden ist, wird der Entnahmeinterrupt beendet, wie im Schritt 526 gezeigt.
  • Nach dem Schließen der Ressource kann die Isolation erfolgen, wie durch Schritt 610 in 6a gezeigt. Die Schritte 600609 illustrieren die Isolationsschritte für den heißen Entnahmeprozeß. Der Isolationsschritt für die Entnahme ist ähnlich jenem für die Einfügung. Während des Isolationsschritts deaktiviert der Sekundärbus-Controller 120 den PCI-Bus im Schritt 600 und wartet darauf, welche Komponente an dem Sekundär-PCI-Bus 126, die gerade mit dem Bus kommuniziert, ihren Zyklus beendet.
  • Der Sekundärbus-Controller 120 kann dann die Arbitrage auf dem Sekundär-PCI-Bus 126 in Schritt 601 sperren, wobei irgendeine Komponente an dem Sekundär-PCI-Bus 126 daran gehindert wird, zur Steuerung des Busses zugelassen zu werden. Der Sekundärbus-Controller 120 wartet dann, daß der Sekundär-PCI-Bus 126 in den Leerlauf gelangt, wie in Schritt 602 gezeigt.
  • Der Sekundärbus-Controller 120 hält dann den PCI-Takt PCICLKs auf Leitung 127 zu der nicht entnehmbaren PCI-Komponente 130 im Schritt 603 niedrig. PCI-Takte PCICLKs(3:1) auf Leitungen 124 zu allen besetzten Einschubschlitzen des Verbinders 150 werden im Schritt 604 ebenfalls niedrig gehalten. Ob ein bestimmter Schlitz besetzt oder unbesetzt ist, kann durch Abtasten des Präsenz-Signals PRSNTS(3:0)# auf Leitungen 123, EJECT_REQ(3:0) und INSERT_REQ(3:0) bestimmt werden.
  • Die PCI-Rücksetzsignale PCIRSTs(3:0)# auf Leitungen 125 zu den nicht freizumachenden Schlitzen und den permanenten Komponenten werden im Schritt 605 hochgehalten. Der Sekundärbus-Controller 120 kann dann die Adreß- und Datenleitungen auf Sekundär-PCI-Bus 126 im Schritt 606 hochimpedant machen. Die PCI-Takte PCICLKs(3:1) auf Leitungen 124 zu den freizumachenden Schlitzen werden dann hochimpedant gemacht zusammen mit PCI-Rücksetzsignalen PCIRSTs(3:1)# auf Leitungen 125 zu den freizumachenden Einschubschlitzen in den Schritten 607 und 608. Auf diese Weise können Komponenten, die am Sekundär-PCI-Bus 126 bleiben sollen, zeitweilig in einen statischen Zustand derart gebracht werden, da irgendwelche Störsignale, die während des Entnahmeprozesses auftreten, ignoriert werden.
  • Während des Entnahmevorgangs bleiben der Wirt-Bus und der Primär PCI-Bus 104 in Betrieb. Komponenten am Primär-PCI-Bus, die versuchen, auf Komponenten am Sekundär-PCI-Bus 126 zuzugreifen, werden mit einem Neuversuchabschluß durch den PCI-Kontroller 120 beschieden. Die Entnahme kann eine Latenz von 100 bis 200 ms für den Zugriff sekundärer Ziele oder für einen sekundären Master für die Einleitung von Transaktionen einführen. Software, die auf dem Wirt-Prozessor 101 läuft, kann modifiziert werden, um Auszeiten oder Systemabstürze während dieser Latenzperiode zu vermeiden.
  • Der Sekundär-PCI-Controller 120 kann dann einen Benutzer über GP I/O-Bus 133 im Schritt 609 notifizieren, daß eine bestimmte Karte für die Entnahme bereit ist, womit der Isolationsprozeß 610 vervollständigt wird. Beispielsweise können nahe jedem Einschubschlitz rote und grüne lichtemittierende Dioden vorgesehen sein, die Anzeigen, ob es zulässig ist, eine Karte zu ziehen (beispielsweise, daß alle Ressourcenanwendungen geschlossen worden sind, der Sekundärbus statisch ist und dergleichen). Wenn einmal die grüne lichtemittierende Diode aufleuchtet, kann dann ein Techniker oder Anwender die zugeordnete Karte entnehmen.
  • Alternativ kann eine Softwareanzeige (beispielsweise ein Symbol, eine Textbotschaft, ein Audioton oder eine Ansage), die durch den Wirt-Prozessor 101 erzeugt wird, angeben, daß eine bestimmte Karte für die Entnahme bereit ist.
  • Bei Beendigung des Isolationsprozesses 610 kann der Entnahmeprozeß 620 beginnen. Im Schritt 621 kann die Entnahme der Karte erfolgen. Wenn eine Kartenverriegelung verwendet wird, kann GP I/O-Bus 133 der Kartenverriegelung signalisieren, die zu entnehmende Karte zu der entsprechenden Zeit freizugeben, oder ein Federmechanismus oder dergleichen kann die zu entnehmende Karte ausstoßen.
  • Wie oben diskutiert, gehen bei Aktivierung des Entnahmeschalters 141 das Signal PRSNTS(n)# und EREQ hoch, wie im Schritt 622 angedeu tet. Der Sekundärbus-Controller 120 kann dann PRSNTS(n)# während zwei Sekunden ausschwingen lassen, während die Komponente entnommen wird. Wenn der Entnahmeschalter 141 im Schritt 624 deaktiviert wird, kann dann der Sekundärbus-Controller 120 IREQ(n)#/EREQ(n) für 20 ms ausschwingen lassen.
  • Wenn im Schritt 626 sowohl PRSNTS(n) als auch IREQ(n)#/EREQ(n) als hoch abgetastet werden, wird die physikalische Entnahme als beendet angesehen, wie im Schritt 627 festgehalten. Nach physikalischer Entnahme der Komponente klärt der Sekundärbus-Controller 120 das PRESENT(n)-Bit im Schritt 628 und startet PCICLKs(n) und PCICLKs für vorher besetzte Schlitze und fest verdrahtete Komponenten im Schritt 629.
  • Im Schritt 630 wird Sekundärbus 126 erneut gestartet. Der Sekundärbus-Controller 120 setzt das CGH_STS-Bit zur Anzeige einer Statusänderung im Schritt 631 und aktiviert den Nofitikationsinterrupt INT# 108 im Schritt 632. Das System ist nun für die Rekonfiguration bereit.
  • Nach Beendigung der Entnahme kann die Rekonfiguration erfolgen. Im Schritt 631 wird der Notifikationsinterrupt INT# 108 vom Prozessor 101 empfangen. Im Schritt 631 dekodiert das Betriebssystem BIOS die Quelle des Interrupts. Der Prozessor 101 kann feststellen, daß eine Rekonfiguration angefordert wird, indem er das CHG_STS-Bit abtastet.
  • Im Schritt 632 tastet der Interrupthandhaber den gerade freigegebenen Schlitz durch Lesen der PRESENT(3:0)-Bits ab, um festzustellen, welcher Einschubschlitz freigemacht worden ist, und zu bestätigen, daß der Schlitz tatsächlich frei ist. Sobald der Schlitz freigegeben worden ist, klärt der Interrupthandhaber das CGH_STS-Bit im Schritt 633. Im Schritt 634 deaktiviert der Sekundärbus-Controller das Notifikationsinterrupt INT#, und im Schritt 635 klärt OS/BIOS das EJECT(n)-Bit, was das Ende des Entnahmeprozesses signalisiert.
  • Schließlich kann das Betriebssystem BIOS im Prozessor 101 das System im Schritt 636 rekonfigurieren, indem die Ressourcenzuordnungen für die entnommene Komponente von dem System entnommen werden. Typischerweise braucht ein solches Entnehmen keine Rekonfiguration des Gesamtsystems zu benötigen, da das Entnehmen einer Ressource generell keine Komponentenkonflikte verursachen wird. Der Schritt 640 zeigt die Beendigung des heißen Entnahmeprozesses.
  • 7 ilustriert ein Zustandsdiagramm für die Software der 3, 4a, 4b, 5 und 6a bis 6c. Das Einfügen kann durch den Übergang vom leeren Zustand 0 zum besetzten Zustand (PRESENT) 5 repräsentiert werden. Der Zustand 0 repräsentiert den Zustand eines unbesetzten Einschubschlitzes, der eingegeben wird, wenn das Rücksetzen deaktiviert wird und PRESENT(3:0) einen leeren Einschubschlitz anzeigt. Wenn das Einfügen zu erfolgen hat, deaktiviert der Sekundärbus-Controller 120 die Sekundär-PCI-Buskontrolle im Zustand 1. Eine Hardware-eingeleitete Einfügung wird durch den Übergang zum Zustand 2 angezeigt, sobald der Sekundär-PCI-Bus inaktiv ist und wenn keine Entnahmeanforderung ausgeführt wurde.
  • Wenn eine Software-eingeleitete Einfügung erfolgen kann, wird dies durch den Übergang vom Zustand 1 zum Zustand 3 angezeigt. Im Zustand 3 kann eine Einfügeauszeit auftreten, wie oben diskutiert, um Zeit für Einsetzen einer Karte zu lassen, während ein Systemabsturz verhindert wird, falls die Karte nicht eingefügt oder unrichtig eingefügt wird. Zustand 4 repräsentiert den Einfügeinterrupt. Der Wirt-Prozessor 101 wird unterrichtet, und das System wird rekonfiguriert, sobald das Vorhandensein einer neu eingefügten Karte durch den Zustand der PRESENT(3:0)-Bits erfaßt wird. Sobald der Interrupt beendet ist, erfolgt ein Übergang zu dem besetzten Zustand des Schlitzes (PRESENT) 5.
  • Die Entnahme kann durch den Übergang von dem Zustand des besetzten Schlitzes 5 zum leeren Schlitzzustand 0 repräsentiert werden. Der Zustand 6 repräsentierte eine Entnahmeanforderung, wobei der Übergang durch Aktivierung von INSERT_EJECT_EN und INSERT_REQ-STS symbolisiert ist. Zustand 7 repräsentiert einen Entnahmewartezeitgeber, um hinreichend Zeit für das Schließen der Systemressourcen zu lassen. Wenn eine Komonente zu entnehmen ist, wie durch die Aktivierung von EJECT(3:0) und Deaktivierung von INSERT_REQ_STS angezeigt ist, wird wie im Zustand 1 wieder die Kontrolle für den Sekundär-PCI-Bus 126 gesperrt.
  • Im Zustand 8 wird der Sekundär-PCI-Bus 126 isoliert, und im Zustand 9 wird die Entnahme erzeugt, was dem Wirtprozessor 101 ermöglicht, das System zu rekonfigurieren. Das Zustandsdiagramm der 7 ist vereinfacht worden, um einen Überblick über die Zustände der Betriebssoftware zu geben.
  • Die Vorrichtung ist hinreichend flexibel, um vielfach angewandt zu werden, was die Kosten durch Massenproduktion senkt. Die Vorrichtung kann an einem Netzwerkserver angewandt worden, um eine Anzahl von Schlitzen für entnehmbare Komponenten bereitzustellen. Zusätzlich kann die Vorrichtung ohne Modifikation als eine Schnittstelle für eine Andockstation oder dergleichen vorgesehen sein.
  • 8 ist ein Blockdiagramm zur Illustration, wie der Sekundärbus-Controller 120 in einer Laptop-Andockstation 810 angewandt werden kann, um mit einem Laptop-Computer 820 verbunden zu werden. Ein einziger Sekundärbus-Controller 120 innerhalb der Andockstation 810 kann als Schnittstelle mit einem Primärsystemkontroller 130 über Sekundär-PCI-Busverbindungen 109, 110 und 11 verbunden werden. Ein Vorteil einer solchen Konfiguration besteht darin, daß der Laptop-Computer 820 mit einem Standard-Sekundär-PCI-Busausgang versehen wird, der als Schnittstelle mit irgendeiner PCI-Komponente verwendet werden kann.
  • 9 illustriert, wie der Sekundärbus-Controller 120 in einem Laptop-Computer 920 zur Verwendung mit einer Andockstation 910 eingesetzt werden kann. Der Sekundärbus-Controller 120 kann über Leitungen 122, 137, 124, 125 und 126 mit einem Verbinder oder festverdrahteten Komponenten innerhalb der Andockstation 910 verbunden sein. Eine solche Konfiguration ermöglicht das Einfügen und Entnehmen von Komponenten aus der Andockstation 910 ohne Unterbrechung des Laptop-Computers 920. Darüberhinaus kann der Laptop-Computer 920 an- oder abgedockt werden, ohne die Verarbeitung zu unterbrechen. Der Ausdruck "Laptop", wie in diesen Figuren verwendet, kann sich auf irgendwelche Rechneranordnungen einschließlich verschiedener tragbarer Typen beziehen.
  • 10 illustriert, wie zwei Sekundärbus-Controller 120 in einem Laptop 1020 und einer Andockstation 1010 anwendbar sind. Da der Sekundärbus-Controller 120 selbst eine PCI-Komponente ist und an einem Sekundärbus als eine PCI-Komponente angeschlossen sein kann, können zwei Sekundärbus-Controller 120 vorgesehen werden, jeweils einer für den Laptop-Computer 1020 und die Andockstation 1010, um eine Andockschnittstel le zu bilden. Die Konfiguration der 10 bietet die Vorteile beider Anordnungen der 8 bzw. 9.
  • 11 illustriert, wie der Sekundärbus-Controller 120 in Serie verkettet werden kann, um die Anzahl von für entnehmbare Komponenten verfügbaren Einschubschlitzen zu erhöhen. Ein zusätzlicher Sekundärbus-Controller 120' kann mit dem Sekundärbus-Controller 120 als eine festverdrahtete oder entnehmbare Komponente gekoppelt sein und verwendet werden, um einen zusätzlicher Verbinder 150' anzusteuern. Eine Anzahl solcher Sekundärbus-Controller können vorgesehen sein, um die Anzahl verfügbarer Schlitze für entnehmbare PCI-Komponenten entsprechend zu erhöhen.
  • 12 illustriert, wie der Sekundärbus-Controller 120 parallel angewandt werden kann, um zusätzliche entnehmbare oder festverdrahtete Komponenten abzustützen. Ein Vorteil einer solchen Parallelausführung besteht darin, daß nur von einem einzigen Sekundärbus-Controller abgestützte Komponenten während des Einfügens oder Entnehmens stillgelegt werden müssen.
  • 13 illustriert, wie der Sekundärbus-Controller 120 angewandt werden kann, um eine Gruppe von Komponenten (Expansionskomponente 1310) mit dem Computer 1320 zu verbinden. Die Vorrichtung der 13 kann angewandt werden, um einen Expansionsschlitz zu liefern, beispielsweise in einem Netzwerk-Computer oder PC. Anstatt mehrere Expansionsschlitze in einem PC vorzusehen, kann ein einziger PCI-Schlitz vorgesehen werden, um eine Mehrzahl von Expansionskomponenten oder einen Sekundär-PCI-Expansionsbus einzustöpseln, ferner ein Modul von Komponenten (beispielsweise ein Multimedia-Modul mit z.B. einer Audiokarte 1340, einem CD-ROM-Laufwerk 1330, einer Videokarte 1350 und dergleichen) in den Computer 1320 (beispielsweise ein tragbarer Computer) eingestöpselt werden, um eine Einzelschlitzexpansion/Aufrüstung (beispielsweise auf Multimedia-Anwendung) vorzusehen, ohne mehrere Komponenten installieren zu müssen.
  • Wie in den Beispielen der 8 bis 13 dargestellt, ist die Vorrichtung sehr flexibel und kann deshalb viele Anwendungen finden einschließlich solcher, die hier nicht diskutiert wurden. Eine anfängliche Ausführungsform soll einen einzigen Expansionsschlitz abstützen, um die Einrichtung primär als eine Andockstation vorzusehen.
  • Die Signale INSERT REQ(3:0) und EJECT REQ(3:0) kombiniert werden, um sowohl Einfügeereignisse als auch Entnahmeereignisse zu notifizieren, indem Flanken anstatt Pegel verwendet werden, um solche Ereignisse zu signalisieren. Darüberhinaus kann das Signal PRSNTS(3:0) weitere durch Anwender initialisierte manuelle Schalter qualifiziert werden, um den Beginn und das Ende des Einfüge- oder Entnahmeprozesses anzuzeigen.
  • Zusätzlich kann ein Einfüge/Entnahme-Prozeß (d.h. ein Austauschprozeß) erzeugt werden, indem die einzelnen oben beschriebenen Schritte angewandt werden, um einem Benutzer zu ermöglichen, eine bestimmte Komponente in einem einzigen Prozeßschritt auszutauschen. Während einer solchen Austauschsequenz kann die Rekonfiguration verzögert werden, bis eine neue Komponente eingefügt wird. Wenn die Komponente, die eingefügt wird, identisch mit der entnommenen Komponente oder dieser ähnlich ist (beispielsweise beim Austauschen einer defekten Karte oder dergleichen) brauchen die Rekonfiguration und Arbitrage nicht erforderlich zu sein.

Claims (30)

  1. Verfahren zum Betreiben eines Computersystems, bei dem Komponenten in ein in Betrieb befindliches Computersystem, das mindestens einen Wirt-Prozessor (101) und einen Primärbus (104) zum Ankoppeln mindestens einer Komponente an das Computersystem umfaßt, einfügbar und aus ihm entnehmbar sind, wobei ein erstes Signal, das ein Einfügen bzw. Entnehmen einer Komponente anzeigt, sowie ein zweites Signal, das das Einfügen bzw. Entnehmen bestätigt, erzeugt werden, dadurch gekennzeichnet, daß ein Sekundärbus (126) für den Anschluß von einfüg- und entnehmbaren Komponenten verwendet wird, der mit einem Sekundärbus-Controller (120) gekoppelt ist, welcher wiederum mit dem Primärbus (104) des Computersystems verbunden ist, wobei der Sekundärbus-Controller (120) das erste Signal empfängt und daraufhin einen Bustakt auf dem Sekundärbus (126) unter Anhalten der Verarbeitung durch mit dem Sekundärbus (126) gekoppelte Komponenten abstoppt, eine Komponente bei laufendem Betrieb auf dem Primärbus (104) in den Sekundärbus (126) eingefügt bzw. aus dem Sekundärbus (126) entnommen wird, der Sekundärbus-Controller (126) das zweite Signal empfängt und daraufhin den Bustakt auf dem Sekundärbus (126) erneut startet, und das Computersystem für an den Sekundärbus (126) angekoppelte Komponenten rekonfiguriert wird, wobei festgestellt wird, ob eine Komponente einzufügen oder zu entnehmen ist, und ein entsprechendes Bit im Sekundärbus-Controller (120) gesetzt wird, eine Interrupt-Routine an den Wirt-Prozessor (101) in Reaktion auf das erste Signal signalisiert wird, die: basierend auf dem ersten Signal und dem Bit feststellt, ob eine Komponente einzufügen oder zu entnehmen ist, in Reaktion auf das zweite Signal feststellt, ob die Komponente in den Sekundärbus (126) eingesetzt worden ist, falls eine Komponente einzufügen ist, ein Bit im Sekundärbus-Controller (120) setzt, um anzugeben, daß der Bustakt auf dem Sekundärbus (126) wieder zu starten ist, und ein Bit im Sekundärbus-Controller (120) setzt, um anzugeben, daß das Rücksetzsignal zur eingefügten Komponente zu deaktivieren ist.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch: Feststellen in dem Sekundärbus-Controller (120), ob eine Komponente einzufügen oder zu entnehmen ist, und Setzen eines entsprechenden Bits in dem Sekundärbus-Controller (120), Signalisieren einer Interrupt-Routine an den Wirt-Prozessor (101) in Reaktion auf das erste Signal, welche Interrupt-Routine die Unterschritte umfaßt: Bestimmen, ob eine Komponente einzufügen oder zu entnehmen ist, aus dem ersten Signal und dem Bit, Bestimmen, falls eine Komponente einzufügen ist, ob die Komponente in den Sekundärbus (126) eingesetzt worden ist, in Reaktion auf das zweite Signal, Setzen eines Bits in dem Sekundärbus-Controller (120), um anzugeben, daß der Sekundärbus-Controllertakt für die neu eingefügte Komponente zu starten ist, und Setzen eines Bits in dem Sekundärbus-Controller (120), um anzugeben, daß das Rücksetzsignal zu der eingefügten Komponente zu deaktivieren ist.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die Interrupt-Routine den Schritt der Erzeugung eines Signals zum Aktivieren einer physischen Verriegelung der Komponente an dem Sekundärbus (126) umfaßt.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Sekundärbuskontroller (120) ein Neuversuchssignal in Reaktion auf Zugriffsanforderungen von dem Computersystem während Einfügens oder Entnehmens einer Komponente erzeugt.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß beim Neustarten des Bustakts auf dem Sekundärbus (126) ein Rücksetzsignal zu einer neu eingefügten Komponente an dem Sekundärbus (126) aktiviert, der Bustakt zu der neu eingefügten Komponente im wesentlichen gleichzeitig mit der Aktivierung des Rücksetzsignals neugestartet, das Rücksetzsignal an die neu eingefügte Komponente an dem Sekundärbus (126) deaktiviert und der Bustakt zu anderen Komponenten an dem Sekundärbus (126) als die neu eingefügte Komponente neugestartet wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß eine Interrupt-Routine in dem Wirt-Prozessor (101) in Reaktion auf das erste Signal signalisiert wird, die aus dem ersten Signal bestimmt, ob eine Komponente zu entnehmen oder einzufügen ist, und, falls sie zu entnehmen ist, Systemressourcen schließt, die auf diese Komponente zugreifen.
  7. Verfahren nach Anspruch 6, gekennzeichnet durch: Signalisieren einer Interrupt-Routine in dem Wirt-Prozessor (101) in Reaktion auf das zweite Signal, welche Interrupt-Routine die Schritte umfaßt: Feststellen, ob eine Komponente von dem Sekundärbus (126) entnommen worden ist, und Bestimmen, welche Komponente an dem Sekundärbus (126) von ihm entnommen worden ist, wobei der Schritt der Rekonfiguration des Computersystems für Komponenten an dem Sekundärbus (126) den Schritt der Entfernung von Konfigurationsinformation für die von dem Sekundärbus (126) entnommene Komponente umfaßt.
  8. Computersystem, das gemäß dem Verfahren nach einem der Ansprüche 1 bis 7 betreibbar ist, dadurch gekennzeichnet, daß der mindestens eine Wirt-Prozessor (101), ein Wirt-Bus (102), der an den mindestens einen Wirt-Prozessor (101) zur Übertragung von Daten- und Adreßinformationen zu und von dem mindestens einen Wirt-Prozessor (101) angekoppelt ist, ein System-Controller (103), der an den Wirt-Bus (102) als Schnittstelle zwischen dem mindestens einen Wirt-Prozessor (101) und mindestens einer Komponente angekoppelt ist, ein mit dem System-Controller (103) gekoppelter Primärbus (104) zum Ankoppeln des System-Controllers (103) an mindestens eine Komponente, und ein Sekundärbus-Controller (120) vorgesehen sind, wobei der Sekundärbus-Controller (120) mit dem Primärbus (104) gekoppelt ist und wie eine Komponente an dem Primärbus (104) arbeitend ausgebildet ist, und eine Schnittstelle für zumindest eine entnehmbare Komponente zu dem mindestens einen Wirt-Prozessor (101) bildet.
  9. Computersytem nach Anspruch 8, gekennzeichnet durch einen mit dem Sekundärbus-Controller (120) gekoppelten Sekundärbus (126) zum Ankoppeln mindestens einer entnehmbaren Komponente an den Sekundärbus-Controller (120).
  10. Computersytem nach Anspruch 8 oder 9, gekennzeichnet durch einen mit dem Sekundärbus (126) gekoppelten Verbinder (150) für die Aufnahme mindestens einer entnehmbaren Komponente und deren Anschluß an den Sekundärbus (120).
  11. Computersystem nach einem der Ansprüche 8 bis 10, gekennzeichnet durch Komponentenpräsenzerkennungsmittel, die an den Sekundärbus-Controller (120) angekoppelt sind.
  12. Computersystem nach einem der Ansprüche 8 bis 11, gekennzeichnet durch ein Einfügeanforderungsmittel (S2), das mit dem Sekundärbus-Controller (120) gekoppelt ist, um eine Anforderung für das Einfügen einer Komponente in einen Verbinder (150) zu signalisieren.
  13. Computersystem nach einem der Ansprüche 8 bis 12, gekennzeichnet durch ein Entnahmeanforderungsmittel (S1), das mit dem Sekundärbus-Controller (120) gekoppelt ist, um eine Anforderung für die Entnahme einer Komponente aus einem Verbinder (150) zu signalisieren.
  14. Computersystem nach Anspruch 12 oder 13, gekennzeichnet durch eine Einfügestarteinrichtung, die mit dem Sekundärbus-Controller (120) gekoppelt ist, um ein Einfügestartsignal zu empfangen, das anzeigt, daß eine Komponente in den Verbinder (150) eingesetzt wird.
  15. Computersystem nach einem der Ansprüche 11 bis 14, dadurch gekennzeichnet, daß das Komponentenpräsenzerkennungsmittel ein erstes und zweites Leistungssteuersignal umfaßt, angekoppelt an einen Verbinder (150) für den Empfang eines Signals, das indikativ für eine Leistungsanforderung einer entnehmbaren Komponente ist.
  16. Computersystem nach einem der Ansprüche 11 bis 15, gekennzeichnet durch an Komponentenpräsenzerkennungsmittel und Einfügestartmittel angekoppelte Logikmittel für das Kombinieren von deren Signalen und Ausgeben eines Komponentenpräsenzsignals an den Sekundär-Controller (120).
  17. Computersystem nach Anspruch 16, dadurch gekennzeichnet, daß die Logikmittel ferner ein UND-Gatter (151) für die UND-Verknüpfung der ersten und zweiten Leistungssteuersignale zum Erzeugen des Komponentenpräsenzsignals für den Sekundärbus-Controller (120) umfassen.
  18. Computersystem nach Anspruch 16 oder 17, dadurch gekennzeichnet, daß die Logikmittel ferner eine Verbindung für das Anschließen der ersten und zweiten Leistungssteuersignale zum Erzeugen des Komponentenpräsenzsignals für den Sekundärbus-Controller (120) umfassen.
  19. Computersystem nach einem der Ansprüche 8 bis 18, gekennzeichnet durch ein Notifikationsinterruptmittel, das mit dem Sekundärbus-Controller (120) und dem System-Controller (103) gekoppelt ist, um ein Interrupt-Signal zu dem mindestens einen Wirt-Prozessor (101) zu übertragen, wobei der Sekundärbus-Controller (120) ein Interrupt-Signal bei Einfügen und Entnehmen einer Komponente in den bzw. aus dem Verbinder (150) erzeugt.
  20. Computersystem nach einem der Ansprüche 8 bis 19, gekennzeichnet durch eine Sekundärbus-Taktleitung (124) zur Übertragung von Taktsignalen zu dem Verbinder (150), wobei der Sekundärbus-Controller (120) die Taktsignale über die Sekundärbus-Taktleitung (124) zu dem Verbinder (150) steuert, um Taktsignale zu einem Verbinder (150) bei Empfang eines Entnahmeanforderungssignals und bei Empfang eines Einfügeanforderungssignals zu suspendieren.
  21. Computersystem nach einem der Ansprüche 8 bis 20, gekennzeichnet durch ein Sekundärbus-Rücksetzmittel (125) zur Übertragung von Rücksetzsignalen zu einem Verbinder (150), wobei der Sekundärbus-Controller (120) Rücksetzsignale über das Sekundärbus-Rücksetzmittel (125) zu am Verbinder (150) vor Einfügung und Entnahme vorhandenen Komponenten deaktiviert und wobei der Sekundärbus-Controller (120) ein Rücksetzsignal zu einer in dem Verbinder (150) eingefügten Komponente aktiviert, nachdem die Einfügung erfolgt ist.
  22. Sekundärbus-Controller zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 7, gekennzeichnet durch erste Mittel für die Schnittstellenkopplung des Sekundärbus-Controllers (120) mit einer Primärbus-Schnittstelle, um so den Sekundärbus-Controller (120) als eine an der Primärbus-Schnittstelle liegende Komponente zu konfigurieren, zweite Mittel für die Schnittstellenankopplung des Sekundärbus-Controllers (120) mit einem Sekundärbus (126) und ein Sekundärbus-Taktsteuermittel für das Steuern von Sekundärbus-Taktsignalen zu einer oder mehreren entnehmbaren Komponente(n) an dem Sekundärbus (126).
  23. Sekundärbus-Controller nach Anspruch 22, dadurch gekennzeichnet, daß ein Sekundärbus-Rücksetzsteuermittel zum Steuern von Sekundärbus-Rücksetzsignalen zu einer oder mehreren entnehmbaren Komponenten an dem Sekundärbus (1276) vorgesehen ist.
  24. Sekundärbus-Controller nach Anspruch 22 oder 23, dadurch gekennzeichnet, daß Taktsignale auf der Sekundärbus-Taktsteuerleitung (124) während Einfügens und Entnehmens einer Komponente an den bzw. von dem Sekundärbus (126) stoppbar sind.
  25. Sekundärbus-Controller nach einem der Ansprüche 22 bis 24, dadurch gekennzeichnet, daß ein Rücksetzsignal auf einer Sekundärbus-Rücksetzsteuerleitung (125) zu einer frisch eingefügten Komponente aktivierbar ist, wenn die Komponente an den Sekundärbus (126) angeschlossen wird.
  26. Sekundärbus-Controller nach einem der Ansprüche 22 bis 25, dadurch gekennzeichnet, daß Taktsignale zu der frisch eingesetzte Komponente an dem Sekundärbus (126) im wesentlichen gleichzeitig mit der Aktivierung des Rücksetzsignals zu der neu eingefügten Komponente aktivierbar sind.
  27. Sekundärbus-Controller nach einem der Ansprüche 22 bis 26, dadurch gekennzeichnet, daß Taktsignale zu anderen Komponenten an dem Sekundärbus (126) im wesentlichen gleichzeitig mit der Deaktivierung des Rücksetzsignals zu der neu eingefügten Komponente neu startbar sind.
  28. Sekundärbus-Controller nach einem der Ansprüche 22 bis 27, gekennzeichnet durch ein Notifikationsinterruptmittel für die Kopplung des Sekundärbus-Controllers (120) mit einem System-Controller (103) und zur Übertragung eines Interrupt-Signals zu dem System-Controller (103), wenn eine Komponente an den Sekundärbus (126) angeschlossen bzw. von ihm getrennt wird.
  29. Sekundärbus-Controller nach Anspruch 28, gekennzeichnet durch ein Entnahmeanforderungsmittel zum Empfang eines Signals, das eine Anforderung zur Entnahme einer Komponente von dem Sekundärbus (126) indiziert, und ein Einfügeanforderungsmittel zum Empfang eines Signals, das eine Anforderung zum Einsetzen einer Komponente in den Sekundärbus (126) indiziert.
  30. Sekundärbus-Controller nach Anspruch 29, dadurch gekennzeichnet, daß das Notifikationsinterruptmittel ein erstes Interrupt-Signal bei Einfügen einer Komponente in den Sekundärbus (126) erzeugt, ein zweites Interrupt-Signal bei Anzeige einer Anforderung zum Entnehmen einer Komponente von dem Sekundärbus (126) erzeugt und ein drittes Interrupt-Signal bei Entnehmen einer Komponente von dem Sekundärbus (126) erzeugt.
DE19737214A 1996-12-19 1997-08-27 Verfahren zum Betreiben eines Computersystems, Computersystem und Sekundärbus-Controller Expired - Fee Related DE19737214B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/769,998 US6141711A (en) 1996-12-19 1996-12-19 Method and apparatus to enable insertion/ejection of a device in a computer system while maintaining operation of the computer system and application software
US08/769.998 1996-12-19

Publications (2)

Publication Number Publication Date
DE19737214A1 DE19737214A1 (de) 1998-07-02
DE19737214B4 true DE19737214B4 (de) 2007-01-04

Family

ID=25087155

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19737214A Expired - Fee Related DE19737214B4 (de) 1996-12-19 1997-08-27 Verfahren zum Betreiben eines Computersystems, Computersystem und Sekundärbus-Controller

Country Status (3)

Country Link
US (1) US6141711A (de)
KR (1) KR100305098B1 (de)
DE (1) DE19737214B4 (de)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134615A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. System for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface
US6125417A (en) * 1997-11-14 2000-09-26 International Business Machines Corporation Hot plug of adapters using optical switches
JP2938049B1 (ja) * 1998-07-02 1999-08-23 新潟日本電気株式会社 コンピュータ本体への拡張入出力装置の活線挿抜制御装置
WO2000016223A1 (fr) * 1998-09-15 2000-03-23 Acqiris Systeme modulaire d'acquisition de donnees
US6295566B1 (en) * 1998-10-31 2001-09-25 Campaq Computer Corporation PCI add-in-card capability using PCI-to-PCI bridge power management
US6487623B1 (en) * 1999-04-30 2002-11-26 Compaq Information Technologies Group, L.P. Replacement, upgrade and/or addition of hot-pluggable components in a computer system
US6401157B1 (en) * 1999-04-30 2002-06-04 Compaq Information Technologies Group, L.P. Hot-pluggable component detection logic
DE19938429B4 (de) * 1999-08-13 2007-03-15 Force Computers Gmbh Computer
JP3908445B2 (ja) * 2000-08-01 2007-04-25 富士通株式会社 電子機器
JP2002055938A (ja) * 2000-08-10 2002-02-20 Pioneer Electronic Corp 情報処理装置、情報処理方法及び情報処理用プログラムがコンピュータで読取可能に記録された情報記録媒体
US6654843B1 (en) * 2000-10-12 2003-11-25 Hewlett-Packard Development Company, L.P. Hot swapping
US7111100B2 (en) * 2002-04-26 2006-09-19 The Boeing Company Systems and methods for assigning an address to a network device added to an existing network
US6996750B2 (en) * 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
WO2002102484A1 (en) 2001-06-15 2002-12-27 Walker Digital, Llc Method and apparatus for planning and customizing a gaming experience
US20030023410A1 (en) * 2001-07-20 2003-01-30 Roth Eric Scott Method and apparatus for flushing of a device cache and suspending/shutting-down the device
US7685348B2 (en) * 2001-08-07 2010-03-23 Hewlett-Packard Development Company, L.P. Dedicated server management card with hot swap functionality
FR2830164B1 (fr) * 2001-09-26 2005-08-05 Bull Sa Insertion a chaud d'une carte electronique dans un systeme
US7103788B1 (en) * 2001-10-31 2006-09-05 Microsoft Corporation Selective suspension of bus devices
US7069477B2 (en) * 2002-10-30 2006-06-27 International Business Machines Corporation Methods and arrangements to enhance a bus
US7085871B2 (en) * 2003-07-09 2006-08-01 Dell Products L.P. Information handling system wherein display movement from an open position to a closed position triggers an undocking request
US7225448B2 (en) * 2003-08-14 2007-05-29 Lenovo (Singapore) Pte. Ltd. System and method for hibernating application state data on removable module
US20050038879A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation System and method for discovery of remote device driver functionality and interface
US7225440B2 (en) * 2003-08-14 2007-05-29 International Business Machines Corporation System and method for manufacturing and updating insertable portable operating system module
US7120789B2 (en) * 2003-08-14 2006-10-10 International Business Machines Corporation System and method for portable on-demand central processing unit
US7308584B2 (en) * 2003-08-14 2007-12-11 International Business Machines Corporation System and method for securing a portable processing module
US8484671B1 (en) 2003-10-07 2013-07-09 The Directv Group, Inc. Receiver interface with multiple access cards
US8512144B2 (en) 2003-10-20 2013-08-20 Tipping Point Group, Llc Method and apparatus for providing secondary gaming machine functionality
US7234014B2 (en) * 2004-01-14 2007-06-19 International Business Machines Corporation Seamless user interactions for portable storage devices
US20070033314A1 (en) * 2005-08-04 2007-02-08 Arad Rostampour Event generation for device hotplug
US7533208B2 (en) * 2005-09-26 2009-05-12 Silicon Graphics, Inc. Hot plug control apparatus and method
US8992304B2 (en) 2006-04-13 2015-03-31 Igt Methods and systems for tracking an event of an externally controlled interface
US9028329B2 (en) 2006-04-13 2015-05-12 Igt Integrating remotely-hosted and locally rendered content on a gaming device
US8784196B2 (en) 2006-04-13 2014-07-22 Igt Remote content management and resource sharing on a gaming machine and method of implementing same
US10026255B2 (en) 2006-04-13 2018-07-17 Igt Presentation of remotely-hosted and locally rendered content for gaming systems
US7996579B2 (en) 2006-05-14 2011-08-09 Sandisk Il Ltd. Apparatus, methods, and computer-code for handling an impending decoupling between a peripheral device and a host device
US20090156303A1 (en) 2006-11-10 2009-06-18 Igt Bonusing Architectures in a Gaming Environment
US9311774B2 (en) 2006-11-10 2016-04-12 Igt Gaming machine with externally controlled content display
TW200841531A (en) * 2007-04-02 2008-10-16 Asustek Comp Inc Slot device
US20110231674A1 (en) * 2008-12-11 2011-09-22 Stuhlsatz Jason M Independent drive power control
TW201025015A (en) * 2008-12-30 2010-07-01 Wistron Corp Method for safely removing an external image processing device for a computer system and related computer system
JP2011081551A (ja) * 2009-10-06 2011-04-21 Panasonic Corp データ処理システム
JP5617429B2 (ja) * 2010-08-19 2014-11-05 ソニー株式会社 バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路
US9875607B2 (en) 2011-07-13 2018-01-23 Igt Methods and apparatus for providing secure logon to a gaming machine using a mobile device
US9367835B2 (en) 2011-09-09 2016-06-14 Igt Retrofit devices for providing virtual ticket-in and ticket-out on a gaming machine
US10297105B2 (en) 2011-09-09 2019-05-21 Igt Redemption of virtual tickets using a portable electronic device
US10121318B2 (en) 2011-09-09 2018-11-06 Igt Bill acceptors and printers for providing virtual ticket-in and ticket-out on a gaming machine
US8613659B2 (en) 2011-09-09 2013-12-24 Igt Virtual ticket-in and ticket-out on a gaming machine
US9524609B2 (en) 2011-09-30 2016-12-20 Igt Gaming system, gaming device and method for utilizing mobile devices at a gaming establishment
US8613668B2 (en) 2011-12-22 2013-12-24 Igt Directional wireless communication
US8876596B2 (en) 2012-02-29 2014-11-04 Igt Virtualized magnetic player card
US9311769B2 (en) 2012-03-28 2016-04-12 Igt Emailing or texting as communication between mobile device and EGM
US8961306B2 (en) * 2012-05-08 2015-02-24 Igt Feedback to player of device connection state
US9412227B2 (en) 2012-07-11 2016-08-09 Igt Method and apparatus for offering a mobile device version of an electronic gaming machine game at the electronic gaming machine
US9723745B2 (en) 2015-02-16 2017-08-01 Cisco Technology, Inc. Line card ejector with line card removal indication
US9916735B2 (en) 2015-07-22 2018-03-13 Igt Remote gaming cash voucher printing system
US10055930B2 (en) 2015-08-11 2018-08-21 Igt Gaming system and method for placing and redeeming sports bets
US10417867B2 (en) 2015-09-25 2019-09-17 Igt Gaming system and method for automatically transferring funds to a mobile device
US20170092054A1 (en) 2015-09-25 2017-03-30 Igt Gaming system and method for utilizing a mobile device to fund a gaming session
US10217317B2 (en) 2016-08-09 2019-02-26 Igt Gaming system and method for providing incentives for transferring funds to and from a mobile device
US10916090B2 (en) 2016-08-23 2021-02-09 Igt System and method for transferring funds from a financial institution device to a cashless wagering account accessible via a mobile device
US10621824B2 (en) 2016-09-23 2020-04-14 Igt Gaming system player identification device
US10332344B2 (en) 2017-07-24 2019-06-25 Igt System and method for controlling electronic gaming machine/electronic gaming machine component bezel lighting to indicate different wireless connection statuses
US10360761B2 (en) 2017-08-03 2019-07-23 Igt System and method for providing a gaming establishment account pre-approved access to funds
US10380843B2 (en) 2017-08-03 2019-08-13 Igt System and method for tracking funds from a plurality of funding sources
US10373430B2 (en) 2017-08-03 2019-08-06 Igt System and method for tracking fund transfers between an electronic gaming machine and a plurality of funding sources
US10360763B2 (en) 2017-08-03 2019-07-23 Igt System and method for utilizing a mobile device to facilitate fund transfers between a cashless wagering account and a gaming establishment retail account
US10643426B2 (en) 2017-12-18 2020-05-05 Igt System and method for providing a gaming establishment account automatic access to funds
US11341817B2 (en) 2017-12-18 2022-05-24 Igt System and method for providing awards for utilizing a mobile device in association with a gaming establishment retail account
US11922765B2 (en) 2017-12-18 2024-03-05 Igt System and method employing virtual tickets
US11043066B2 (en) 2017-12-21 2021-06-22 Igt System and method for centralizing funds to a primary gaming establishment account
US10950088B2 (en) 2017-12-21 2021-03-16 Igt System and method for utilizing virtual ticket vouchers
US10970968B2 (en) 2018-04-18 2021-04-06 Igt System and method for incentivizing the maintenance of funds in a gaming establishment account

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0241905A2 (de) * 1986-04-14 1987-10-21 Siemens Nixdorf Informationssysteme Aktiengesellschaft Schaltungsplatte für On-line-Einfügung in einem Rechnersystem
US4835737A (en) * 1986-07-21 1989-05-30 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for controlled removal and insertion of circuit modules
EP0373773A1 (de) * 1988-11-19 1990-06-20 Fujitsu Limited Abtrennung von elektrischen Schaltungskarten von Stromversorgungseinheiten
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
EP0674275A1 (de) * 1994-03-25 1995-09-27 Advanced Micro Devices, Inc. Gerät und Verfahren zum Ermöglichen der Ankoppelung eines koppelbaren Rechnersystems

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0366420U (de) * 1989-10-31 1991-06-27
EP0471928B1 (de) * 1990-08-20 1999-07-14 Kabushiki Kaisha Toshiba Verbindungszustandsbestätigungssystem und -methode für eine Expansionseinheit
US5265238A (en) * 1991-01-25 1993-11-23 International Business Machines Corporation Automatic device configuration for dockable portable computers
JPH0821015B2 (ja) * 1992-01-20 1996-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータならびにそのシステム再構成化装置および方法
US5454081A (en) * 1992-08-28 1995-09-26 Compaq Computer Corp. Expansion bus type determination apparatus
US5323291A (en) * 1992-10-15 1994-06-21 Apple Computer, Inc. Portable computer and docking station having an electromechanical docking/undocking mechanism and a plurality of cooperatively interacting failsafe mechanisms
US5430847A (en) * 1992-10-22 1995-07-04 International Business Machines Corporation Method and system for extending system buses to external devices
US5463742A (en) * 1993-03-05 1995-10-31 Hitachi Computer Products (America), Inc. Personal processor module and docking station for use therewith
US5522089A (en) * 1993-05-07 1996-05-28 Cordata, Inc. Personal digital assistant module adapted for initiating telephone communications through DTMF dialing
US5526493A (en) * 1993-06-03 1996-06-11 Dell Usa Docking detection and suspend circuit for portable computer/expansion chassis docking system
US5664118A (en) * 1994-03-28 1997-09-02 Kabushiki Kaisha Toshiba Computer system having detachable expansion unit
US5560022A (en) * 1994-07-19 1996-09-24 Intel Corporation Power management coordinator system and interface
US5564024A (en) * 1994-08-02 1996-10-08 Pemberton; Adam C. Apparatus for connecting and disconnecting peripheral devices to a powered bus
US5680540A (en) * 1995-01-31 1997-10-21 Bell Usa, L.P. Suspend-to-disk system for removable hard drive
US5694600A (en) * 1996-02-09 1997-12-02 Iomega Corporation Methods and apparatus for booting a computer having a removable media disk drive
US5761460A (en) * 1996-07-19 1998-06-02 Compaq Computer Corporation Reconfigurable dual master IDE interface

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0241905A2 (de) * 1986-04-14 1987-10-21 Siemens Nixdorf Informationssysteme Aktiengesellschaft Schaltungsplatte für On-line-Einfügung in einem Rechnersystem
US4835737A (en) * 1986-07-21 1989-05-30 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for controlled removal and insertion of circuit modules
EP0373773A1 (de) * 1988-11-19 1990-06-20 Fujitsu Limited Abtrennung von elektrischen Schaltungskarten von Stromversorgungseinheiten
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
EP0674275A1 (de) * 1994-03-25 1995-09-27 Advanced Micro Devices, Inc. Gerät und Verfahren zum Ermöglichen der Ankoppelung eines koppelbaren Rechnersystems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Sensing the Presence of an Expansion Module", in: IBM Technical Disclosure Bulletin, Vol. 37, No. 10, 10/94, S. 591 *

Also Published As

Publication number Publication date
US6141711A (en) 2000-10-31
DE19737214A1 (de) 1998-07-02
KR100305098B1 (ko) 2001-11-22
KR19980063444A (ko) 1998-10-07

Similar Documents

Publication Publication Date Title
DE19737214B4 (de) Verfahren zum Betreiben eines Computersystems, Computersystem und Sekundärbus-Controller
DE69730916T2 (de) Rechnersystem mit Ankopplungs-Entfernungsmöglichkeiten ohne Stillmodus oder Haltmodus
DE69729889T2 (de) Verfahren und system zum ermöglichen einer unterbrechungsfreien einsetzung und entfernung von erweiterungskarten in einem unterspannungrechnersystem
DE69913553T2 (de) Konfigurierung von systemeinheiten
DE69634229T2 (de) System und verfahren für die erweiterung eines computers
DE60002574T2 (de) Unterspannungssteuerung von multiprozessorbasiertem rechnersystem
DE60125112T2 (de) PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung
DE69930846T2 (de) Mehrkonfiguration-rückwand
DE19782133B4 (de) Andockstation und Schnittstelle zum Ermöglichen eines sanften Andockens eines Notebook-Computers
DE19900245B4 (de) Vorrichtung und Verfahren zum Senden von Daten von einem USB-Endpunkt an einen USB-Host
US5581712A (en) Method and apparatus for managing live insertion of CPU and I/O boards into a computer system
DE19882696B4 (de) Speichertransaktionen auf einem Bus geringer Leitungsanzahl
DE3808168C2 (de) Digitalrechner mit steckbarer erweiterungskarte
DE19525013C2 (de) Multiprozessorsystem
DE10021924B4 (de) Durch einen universellen seriellen Bus gesteuerte Verbindung und Trennung
DE19680668C2 (de) Verfahren zum Überbrücken zweier Busse, transparente Brücke zum Koppeln zwischen zwei Bussen und Anordnung mit einem Computersystem
DE69907709T2 (de) Prozessüberwachung in einem rechnersystem
DE69937715T2 (de) Verbessertes Zwei-Phasen-Bindungsprotokoll
DE69738530T2 (de) Erweiterungskartenadressraumreservierung
DE102009054701B4 (de) Detektion von und Regeneration von einem elektrischen-schnellen-Störsignal/Burst (EFT/B) auf einem Universal Serial Bus-(USB)-Gerät
DE102013224101A1 (de) Verbinden mehrerer Slave-Vorrichtungen mit einem einzigen Master
DE102004013113A1 (de) Plattenarraysystem und Fehlerinformations-Steuerungsverfahren
DE69333479T2 (de) Hierarchisches Verbindungsverfahren und -gerät
DE102008046577A1 (de) Anschlussvorrichtung zum Anschluss einer Mehrzahl von Peripheriegeräten und Betriebsverfahren
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 13/00

8364 No opposition during term of opposition
R082 Change of representative
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140301