DE60125112T2 - PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung - Google Patents

PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung Download PDF

Info

Publication number
DE60125112T2
DE60125112T2 DE60125112T DE60125112T DE60125112T2 DE 60125112 T2 DE60125112 T2 DE 60125112T2 DE 60125112 T DE60125112 T DE 60125112T DE 60125112 T DE60125112 T DE 60125112T DE 60125112 T2 DE60125112 T2 DE 60125112T2
Authority
DE
Germany
Prior art keywords
pci bus
controller
arbiter
expansion
expansion card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60125112T
Other languages
English (en)
Other versions
DE60125112D1 (de
Inventor
Sujith K. San Jose Arramreddy
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.)
Broadcom Corp
Original Assignee
Broadcom 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 Broadcom Corp filed Critical Broadcom Corp
Application granted granted Critical
Publication of DE60125112D1 publication Critical patent/DE60125112D1/de
Publication of DE60125112T2 publication Critical patent/DE60125112T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft einen Hot Plug-Controller, und insbesondere einen Hot Plug-Controller, der ohne eine entsprechende Last auf dem PCI-Bus eine Hot Plug-Fähigkeit für einen Erweiterungsschlitz oder Erweiterungssteckplatz auf einem PCI-Bus zur Verfügung stellt.
  • Beschreibung des einschlägigen Standes der Technik
  • Ein Peripheral Component Interconnect (PCI)-Bus ist ein Industriestandard-Erweiterungsbus, der viele der Informationen und Signale eines Computersystems überträgt. Angesichts der Miniaturisierung von Computersystemen, die zu Notebooks und Palm-Computern führt, wurden Erweiterungskarten geschaffen, um Speicherplatz und/oder Eingabe/Ausgabe-Vorrichtungen zum Erweitern der Funktionalität der Systeme zur Verfügung zu stellen. Der Ausdruck "PCI Hot Plug" bezieht sich auf den Vorgang des Einsetzens, Entfernens oder Auswechselns der PCI-Erweiterungskarten in einem Computersystem, ohne das System ausschalten zu müssen.
  • Die zur Implementierung des PCI Hot Plug erforderliche Logik umfasst einen Hot Plug-Controller zusätzlich zu einer Anzahl von diskreten Komponenten. Diese Komponenten umfassen typischerweise Busschalter zum Isolieren der Erweiterungskarten von dem PCI-Bus, einen Leistungs-Controller, und zugeordnete Feldeffekttransistoren (FETs) zum Steuern der Leistungszufuhr zu den Erweiterungskarten, sowie lichtemittierende Dioden (LEDs) zum Anzeigen des Zustands der Erweiterungskarten. Eine der Funktionen des Hot Plug-Controllers ist es, die Aktivität des PCI-Busses während des Einsetzens, Entfernens oder Auswechselns einer Erweiterungskarte zu überwachen und zu steuern.
  • 1 veranschaulicht ein typisches Hot Plug-Bussystem 100 mit einem PCI-Bus 104, zwei Erweiterungskarten 102A und 102B, die mit dem PCI-Bus 104 über die Schlitze 103A bzw. 103B verbunden sind, und einen Hot Plug-Controller 101, der mit den Schlitzen 103 wie auch mit dem PCI-Bus 104 über einen Bus 108 gekoppelt ist.
  • Der Hot Plug-Controller 101 steuert eine Anzahl von kritischen Operationen im Zusammenhang mit den Schlitzen 103A und 103B über Verbinder 105A bzw. 105B. Konkret gesprochen steuert in jeder Gruppe von Verbindern 105 ein Verbinder die Leistung, und der andere Verbinder steuert PCI-Bussignale. Somit kann der Hot Plug-Controller 101 unter Verwendung der Verbinder 105A beispielsweise die Leistung und die PCI-Bussignale für den Schlitz 103A und die zugeordnete Erweiterungskarte 102A steuern. Die Verbinder 105 enthalten typischerweise Busschalter (d.h. Transfergatter), die durch FETs implementiert sind. Wenn ein FET eingeschaltet ist, arbeitet er ähnlich wie ein 5 Ω-Widerstand. Wenn ein FET abgeschaltet ist, arbeitet er jedoch ähnlich wie ein 1 MΩ-Widerstand.
  • Auf diese Weise kann der Hot Plug-Controller 101 einen individuellen Schlitz 103 (und somit dessen zugeordnete Erweiterungskarte 102) von dem PCI-Bus 104 isolieren und kann die Energiezufuhr zu jeder Karte 102 während des Einsetzens, Entfernens oder Auswechselns abschalten. Ferner stellt der Hot Plug-Controller 101 die Einschalt- und Ausschaltsequenzen für die Erweiterungskarten 102 zur Verfügung, um die elektrischen Anforderungen des PCI-Busses 104 zu erfüllen. Der Hot Plug-Controller 101 stellt auch zusätzliche Signale für die Erweiterungskarten 102 zur Verfügung. Obgleich nur das Rücksetzsignal PRST gezeigt ist, werden auch andere Signale zur Verfügung gestellt, die dem Fachmann allgemein bekannt sind. Beispielhafte Signale sind im Detail in "PCI Hot-Plug Application & Design" von Alan Goodrum, S. 31–37, herausgegeben von Annabooks 1998, beschrieben, worauf hiermit vollinhaltlich Bezug genommen wird. Schließlich erzeugt der Hot Plug-Controller 101 einen Zustandsindikator 106 (der Schlitz eingeschaltet oder Schlitz ausgeschaltet angibt) sowie einen Aufmerksamkeitsindikator 107 (der ein vorgegebenes Farb- oder Blinklicht zur Verfügung stellt), um die Aufmerksamkeit eines Anwenders auf einen bestimmten Schlitz 103 zu lenken (wobei angezeigt wird, dass eine Karte eingesetzt wurde oder der Schlitz für einen Austausch bereit ist).
  • Es wird angemerkt, dass der Hot Plug-Controller 101 von Software gesteuert wird (die vorliegend nicht im Detail beschrieben wird, aber dem Fachmann auf diesem Gebiet allgemein bekannt ist). Auf diese Weise kann ein Anwender einer standardmäßigen Peripherievorrichtung eines Computersystems wie etwa einer Tastatur Aufforderungen zur Verfügung stellen, und die entsprechende Aufforderung wird in Software übersetzt, die dann an den Hot Plug-Controller 101 geliefert wird.
  • Hot Plug-Controller, die zusammen mit einem Arbiter und einem PCI-Bus betrieben werden, sind in der Schrift des Standes der Technik EP 1 011 050 beschrieben.
  • Die PCI Hot Plug-Spezifikation unterstützt drei verschiedene Typen von Operationen: Hot Add (Einstecken unter Spannung), Hot Remove/Delete (Entfernen/Löschen unter Spannung), und Hot Swap (Austausch unter Spannung). Um in einem typischen Computersystem die eingangs beschriebenen Operationen zur Verfügung zu stellen, überwacht der Hot Plug-Controller 101 den PCI-Bus 104. Ein typischer Hot Plug-Controller 101 überwacht diese Signale direkt über den Bus 108 und stellt dadurch eine elektrische Last auf dem PCI-Bus 104 zur Verfügung.
  • Die PCI-Bus-Spezifikation definiert zehn (10) elektrische Lasten als Maximalgrenze, wenn der PCI-Bus 104 mit 33 MHz arbeitet, und fünf (5) Lasten bei 66 MHz. Jeder Schlitz 103 wird als zwei Lasten gezählt (eine erste Last für die Erweiterungskarte 102 und eine zweite Last für die Verbinder 105). Ferner ist bei einem typischen PCI-Bus mindestens ein Master (im Nachfolgenden ausführlicher erläutert) mit dem PCI-Bus 104 verbunden. Daher kann das System 100 bei 66 MHz keine Hot Plug-Fähigkeit zur Verfügung stellen, weil die maximale Anzahl von Lasten überschritten würde. Da elektrische Lasten auf einem PCI-Bus wertvoll sind, ergibt sich ein Bedarf nach einem System und einem Verfahren zum Verringern der Lasten auf dem Bus, um dadurch eine Hot Plug-Fähigkeit mit maximaler Geschwindigkeit zu ermöglichen und die Funktionalität des Systems zu erhöhen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung weist ein Hot Plug-System einen PCI-Bus, eine Erweiterungskarte, einen Schlitz oder Steckplatz zum Aufnehmen der Erweiterungskarte, und einen direkt mit der Erweiterungskarte und dem Schlitz, aber nur indirekt mit dem PCI-Bus verbundenen Hot Plug-Controller auf.
  • Die vorliegende Erfindung verwendet einen verbesserten Arbiter zum Überwachen und Steuern des PCI-Busses an Stelle des Hot Plug-Controllers, so dass es möglich wird, den Hot Plug-Controller von dem PCI-Bus abzukoppeln und eine kritische Last auf den PCI-Bus zu verringern. Da der Hot Plug-Controller keine Überwachungs- und Steuerfunktionen auf dem PCI-Bus mehr erfüllen muss, kann die Logik in dem Hot Plug-Controller beträchtlich vereinfacht werden. Der Hot Plug-Controller der vorliegenden Erfindung behält jedoch immer noch direkte Kontrolle über die Erweiterungsschlitze und die zugeordneten Erweiterungskarten. Bei einer Ausführungsform ist der verbesserte Arbiter mit Hot Plug-Fähigkeit mit einer Bridge auf einem Chipsatz ausgeführt.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • 1 veranschaulicht ein Blockdiagramm eines PCI Hot Plug-Bussystems des Standes der Technik.
  • 2 veranschaulicht ein Blockdiagramm eines Computersystems gemäß der vorliegenden Erfindung.
  • 3A veranschaulicht ein Ablaufdiagramm einer Hot Swap-Operation, die in einer PCI Hot Plug-Spezifikation unterstützt wird.
  • 3B veranschaulicht ein Zeitdiagramm einer Aufforderungsbewilligungssequenz gemäß einer Ausführungsform der Erfindung.
  • 4 veranschaulicht ein Blockdiagramm eines anderen Computersystems gemäß der vorliegenden Erfindung.
  • 5 veranschaulicht ein Blockdiagramm von mehreren Hot Plug-Controllern auf einem gemeinsamen Chip in Verbindung mit mehreren PCI-Bussen.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Um eine präzise Übertragung von Informationen in einem Computersystem zu gewährleisten, weist ein Entwurf für einen PCI-Bus einen Buscontroller – auch als Arbiter bezeichnet – zum Steuern von Bustransfers auf. Eine Vorrichtung, welche die Kontrolle über den Bus übernimmt, um ihren eigenen Transfer zu verwalten, wird als "Master" bezeichnet, während eine Vorrichtung, die Daten von dem Master empfängt, als "Zielvorrichtung" ("target") bezeichnet wird. Der Arbiter bestimmt, wel cher Master die Kontrolle über den Bus übernehmen kann, sowie die Zeitdauer dieser Kontrolle.
  • In einem typischen Computersystem sind ein mit dem Mikroprozessor verbundener Lokalbus und mindestens ein PCI-Bus über eine Bridge mit einander verbunden. Diese Bridge, die auf einer ASIC oder auf einem Chipsatz ausgeführt ist, konvertiert Datenformate und Protokolle nach Bedarf automatisch für einen präzisen Datentransfer. Um die Anzahl von Erweiterngskarten zu erhöhen, die mit dem System verbunden sind, wodurch dessen Funktionalität beträchtlich erhöht wird, können auch mehrere PCI-Busse unter Verwendung von einer oder mehr Bridges unter einander verbunden werden. In der PCI-Architektur können maximal 256 PCI-Busse auf einem einzelnen Computersystem unter einander verbunden sein.
  • 2 veranschaulicht ein Computersystem 200 gemäß der vorliegenden Erfindung. Das System 200 weist eine Schnittstelle 212 auf, die den PCI-Bus 104 überwacht und steuert. Konkret gesprochen weist die Schnittstelle 212 einen verbesserten Arbiter 210 auf, der bei Autorisierung durch einen Mikroprozessor 204 über einen Lokalbus 212 und eine Bridge 213 den PCI-Bus 104 über die Bridge 213 überwacht und steuert. Der verbesserte Arbiter 210 kommuniziert über einen Bus 209 mit einem Hot Plug-Controller 201. Es wird angemerkt, dass der Hot Plug-Controller 201 die Schlitze 103 und die Erweiterungskarten 102 auf eine herkömmliche Weise steuert (siehe 1) und daher vorliegend nicht ausführlich beschrieben wird.
  • Der Bus 209 weist ein Aufforderungs- und Bewilligungspaar auf, die entweder dediziert oder nicht dediziert sind, wobei andere Master (nicht gezeigt) das Paar verwendet können, falls es nicht dediziert ist. Bei einem PCI-Entwurf der vorliegenden Erfindung umfasst die Arbitration die folgenden Schritte. Der Hot Plug-Controller 201 aktiviert wie ein typischer Master ein Aufforderungssignal (REQ, wenn er die Steuerung des PCI-Busses 104 übernehmen will. Es wird angemerkt, dass diese Aufforderung typischerweise von einem Endanwender ausgelöst wird, der ein Aufforderungssignal über eine Peripherievorrichtung (nicht gezeigt) an das Computersystem 200 liefert, die dann in einen Softwarebefehl übersetzt wird, der an den Hot Plug-Controller 201 geliefert wird.
  • Typischerweise besitzt jeder mit einem PCI-Bus gekoppelte Master seine eigenen dedizierten REQ (Aufforderungs)- und GNT (Bewilligungs)-Leitungen, die mit einem Arbiter gekoppelt sind. Der Arbiter bestimmt dann, welcher Master das Besitzrecht über den PCI-Bus erhalten soll, und aktiviert die GNT-Leitung, die diesem Master zugeordnet ist.
  • Die vorliegende Erfindung beseitigt auf vorteilhafte Weise die Notwendigkeit, dass der Hot Plug-Controller 201 wie ein typischer Master den PCI-Bus 104 direkt überwacht und steuert, wodurch eine kritische Last auf den PCI-Bus 104 verringert wird. Angesichts dieser reduzierten Funktionalität braucht der Hot Plug-Controller 201 die Logik zum Durchführen dieser Überwachungs- und Steuerfunktionen nicht mehr zu beinhalten. Stattdessen stellt der verbesserte Arbiter 210 gemäß der vorliegenden Erfindung die Überwachungs- und Steuerfunktionen an Stelle des Hot Plug-Controllers 201 zur Verfügung.
  • Es wird angemerkt, dass ein Endanwender die PCI-Bus-Schnittstelle an einem standardmäßigen Hot Plug-Controller (1) sperren und diesen Controller mit dem verbesserten Arbiter 210 verwenden könnte, um eine Hot Plug-Fähigkeit zur Verfügung zu stellen. Auf diese Weise können standardmäßige Hot Plug-Controller, bei denen es zwischen Herstellern beträchtliche Unterschiede gibt, gemäß der vorliegenden Erfindung immer noch verwendet werden.
  • Die Schnittstelle 212, welche die Bridge 213 und den verbesserten Arbiter 210 aufweist, stellt nur eine Last auf den PCI-Bus 104 dar. Auf diese Weise ermöglicht die vorliegende Erfindung eine Hot Plug-Fähigkeit auf dem PCI-Bus mit hohen Geschwindigkeiten wie etwa 66 MHz und stellt immer noch eine erhöhte Systemfunktionalität über die Erweiterungsschlitze 103A/103B und die zugeordneten Erweiterungskarten 102A/102B zur Verfügung.
  • 3A veranschaulicht ein Ablaufdiagramm 300 einer generischen Sequenz von Kommunikationen zwischen einem Hot Plug-Controller und einem verbesserten Arbiter der vorliegenden Erfindung. Um den PCI-Bus zu steuern, aktiviert der Hot Plug-Controller in Schritt 301 eine Aufforderung an den verbesserten Arbiter. Nach dem Abtasten der Aufforderung bestimmt der verbesserte Arbiter in Schritt 302, ob der PCI-Bus für die Hot Plug-Operation bereit ist. Falls der PCI-Bus für die Hot Plug-Operation nicht bereit ist, tritt der Hot Plug-Controller in eine Schleife 302A ein, bis der PCI-Bus bereit ist. Zu diesem Zeitpunkt aktiviert der verbesserte Arbiter in Schritt 303 die Bewilligung für den Hot Plug-Controller und lässt dadurch zu, dass eine Hot Plug-Operation beginnt.
  • Zusätzlich zum Überwachen von Aufforderungssignalen von dem Hot Plug-Controller und Aktivieren von Bewilligungssignalen an den Hot Plug-Controller treibt der Arbiter der vorliegenden Erfindung in Schritt 304 auch die Signale, welche die Vorrichtung konfigurieren, die hotplugged wird (d.h. die Erweiterungskarten). Beispielhafte Signale, darunter REQ64#, PCIXCAP, M66EN und DEVSEL#, werden zum Konfigurieren der Geschwindigkeit und Breite des PCI-Busses verwendet (im Nachfolgenden ausführlicher beschrieben). Sobald die Bewilligung an den Controller aktiviert wird und die Vorrichtung konfiguriert ist, initiiert der Hot Plug-Controller in Schritt 305 die Hot Plug-Operationen.
  • Gemäß der vorliegenden Erfindung kann jeglicher Arbitrationsalgorithmus verwendet werden. Veranschaulichende Arbitrationsalgorithmen sind ausführlich in der am 10.08.2000 hinterlegten US-Patentanmeldung [RCC-001] mit der Bezeichnung "Peripheral Component Interconnect Arbiter Implementation With Dynamic Priority Scheme" beschrieben, auf die hiermit vollinhaltlich Bezug genommen wird. Bei einer Ausführungsform behandelt der verbesserte Arbiter 210 (2) das Aufforderungs-/Bewilligungs-Paar als ein Aufforderungs-/Bewilligungs-Paar mit absoluter Priorität. Auf diese Weise kann ein anderer Master (nicht gezeigt) diese Operation nicht unterbrechen, sobald der Hot Plug-Controller 201 mit einer Operation des Einsetzens, Entfernens oder Austauschens einer Erweiterungskarte beginnt. Es wird angemerkt, dass der PCI-Bus 104 während einer jeden dieser Hot Plug-Operationen von dem verbesserten Arbiter 210 in den Ruhezustand versetzt wird. Unabhängig von dem verwendeten Arbitrationsalgorithmus tastet der verbesserte Arbiter 210 Signale auf dem PCI-Bus 104 ab, um zu bestimmen, wann eine angemessene Aktion von Masters oder Slaves ergriffen werden soll. Beispielsweise tastet der verbesserte Arbiter 210 standardmäßige PCI-Steuersignale wie etwa Cycle Frame (FRAME#)-, Initiator Ready (IRDY#)-, Target Ready (TRDY#)- und Stop (STOP#)-Signale ab.
  • 3B veranschaulicht eine beispielhafte Aufforderungs- und Bewilligungssequenz gemäß der vorliegenden Erfindung. An dem Zeitpunkt t1 aktiviert der Hot Plug-Controller ein HPC_REQ#-Signal (aktiv niedrig), um ausschließlichen Zugang zum PCI-Bus zu erhalten. Die Funktionalität dieses Signals ist von jedem anderen PCI-Master-Aufforderungssignal verschieden. Konkret gesprochen aktiviert der Hot Plug- Controller das HPC_REQ#-Signal nur, um den PCI-Bus in den Ruhezustand zu versetzten, und nicht, um darauf folgende PCI-Zyklen auszuführen. Es wird angemerkt, dass diese Aufforderung die gleiche Priorität wie jedes andere PCI-Aufforderungssignal besitzt.
  • An dem Zeitpunkt t2 aktiviert der Hot Plug-Controller ein FRAME#-Signal, das den Beginn eines Datentransferzyklus identifiziert, und dass der PCI-Bus über eine gültige Adresse verfügt. (Es wird angemerkt, dass die Zeitpunkte t1–t5 nicht unbedingt in aufeinander folgenden Taktzyklen durchgeührt werden. Daher kann eine beliebige Anzahl von Taktzyklen zwischen jeglichen zwei der angegebenen Zeitpunkte enthalten sein.) Das TRDY#-Signal (aktiv hoch), das von einer Zielvorrichtung an dem Zeitpunkt t3 aktiviert wird, zeigt an, dass die Zielvorrichtung (wie etwa eine der Erweiterungskarten 102) bereit ist, während eines Lesezyklus Daten zu liefern oder während eines Schreibzyklus Daten anzunehmen.
  • Nachdem der Hot Plug-Controller die PCI-Arbitration gewonnen hat und der PCI-Bus im Leerlauf ist, aktiviert der Hot Plug-Controller an dem Zeitpunkt t4 das Bewilligungssignal HPC_GNT# (aktiv niedrig). Der Hot Plug-Controller treibt auch das REQ64#-Signal (aktiv niedrig), welches die Bit-Schlitznummer sowie das PCI-Initialisierungsmuster identifiziert (Teil des DEVSEL#-Signals), an dem Zeitpunkt t5. Der Wert des Initialisierungsmusters wird für die Werte bestimmt, die während der letzten Frequenzänderungsaufforderung (oder Leistungsrücksetzkonfiguration) zwischengespeichert wurden.
  • Andere veranschaulichende Signale, die von dem verbesserten Arbiter abgetastet werden (in 3B nicht gezeigt), umfassen das M66EN-Signal, das die Frequenz des Busses identifiziert (d.h. 66 MHz), die PCIXCAP1/PCIXCAP2-Signale, welche die maximale und alternierend maximale Abkopplungskapazität des Schlitz-Leistungsschalters identifiziert, das IRDY#-Signal, das anzeigt, dass ein Master (wie etwa der verbesserte Arbiter 210) bereit ist, eine laufende Transaktion abzuschließen, und das STOP#-Signal, das anzeigt, dass die aktuelle Transaktion abgeschlossen ist (typischerweise von einer Zielvorrichtung (wie etwa einer der Erweiterungskarten 102) an einen Master (wie etwa den verbesserten Arbiter 210) gesendet).
  • Wie vorausgehend erwähnt wurde, unterstützt die PCI Hot Plug-Spezifikation drei verschiedene Typen von Operationen: Hot Add, Hot Remove/Delete, und Hot Swap.
  • Jede dieser Operationen umfasst standardmäßige Phasensequenzen mit: Power Enable Phase, Clock Enable Phase, Bus Enable Phase, Reset Phase, und Power Disable Phase. "PCI Hot-Plug Application & Design", geschrieben von Alan Goodrum, Herausgeber Annabooks 1998, S. 31–50, beschreibt diese Operationen und die standardmäßigen Phasensequenzen, was daher vorliegend nicht im Detail beschrieben wird.
  • Bei einer Ausführungsform der vorliegenden Erfindung sind der Mikroprozessor 204, die Schnittstelle 212 (einschließlich der Bridge 213 und des verbesserten Arbiters 210), der Hot Plug-Controller 201, der PCI-Bus 104 und die Schlitze 103 sowie jede Erweiterungskarte 102 auf separaten integrierten Schaltungen ausgeführt (somit sechs Chips bei dieser Ausführungsform). Auf diese Weise kann der Hot Plug-Controller 201 auf vorteilhafte Weise auf einem Chip ausgeführt sein, der mit einer vergleichsweise geringen Geschwindigkeit wie z.B. 8 MHz arbeitet, während der verbesserte Arbiter 210 auf einem anderen Chip ausgeführt sein kann, der mit der Geschwindigkeit des PCI-Busses 104 arbeitet.
  • Bei einer anderen Ausführungsform der vorliegenden Erfindung, die in 4 veranschaulicht ist, weist ein Computersystem 400 eine Schnittstelle 412 mit einem verbesserten Arbiter 410, einer Bridge 413 und einem Hot Plug-Controller 401 auf dem gleichen Chip auf, wodurch die Anzahl von Chips, die zum Implementieren der Hot Plug-Funktionalität notwendig ist, verringert wird. Es wird jedoch angemerkt, dass der Hot Plug-Controller 401 immer noch den PCI-Bus 104 weder überwacht noch steuert. Konkret gesprochen wird das Überwachen und Steuern des PCI-Busses 104 für den Hot Plug-Controller 401 von dem verbesserten Arbiter 410 durchgeführt.
  • Bei wieder einer anderen Ausführungsform eines Computersystems 500 gemäß der vorliegenden Erfindung, die in 5 gezeigt ist, sind mehrere Hot Plug-Controller 501A, 501B und 501C auf einem Chip 520 konsolidiert. Die Hot Plug-Controller 501A, 501B und 501C sind Erweiterungskarten zugeordnet, die mit den PCI-Bussen 504A, 504B bzw. 504C verbunden sind. Es wird angemerkt, dass, obgleich die Controller 501 als logische Subjekte innerhalb des Chip 520 gezeigt sind, in der Praxis ein großer Teil der von diesen Controllern benötigten Logik im Teilnehmerbetrieb stattfinden kann, wodurch eine beträchtliche Duplizierung von Logik beseitigt wird. Veranschaulichende Logik, die gemeinsam genutzt werden kann, umfasst die Busschnittstelle, die verwendet wird, um mit dem Mikroprozessor zu kommunizieren, die Zustandsmaschine, die in den Hot Plug-Sequenzen verwendet wird, und die von der Software-Schnittstelle verwendeten Register. Obgleich dies aus Gründen der Übersichtlichkeit in 5 nicht gezeigt ist, sind die PCI-Busses 504 mit der Bridge 213 verbunden.
  • Die konkreten Ausführungsformen der vorliegenden Erfindung werden nur zu Zwecken der Beschreibung und Veranschaulichung dargeboten. Diese Ausführungsformen sind nicht dazu gedacht, erschöpfend zu sein oder die Erfindung auf irgendeine Weise einzuschränken. Für den Fachmann werden Modifikationen und Variationen der vorliegenden Erfindung ersichtlich sein. Beispielsweise wird die Anzahl von Hot Plug-Controllern, PCI-Bussen, Erweiterungsschlitzen und Erweiterungskarten von einer Ausführungsform zu einer anderen variieren. Obgleich ferner 66 MHz in der oben stehenden Beschreibung als ein "Hoch"geschwindigkeitssystem bezeichnet wird, ist die vorliegende Erfindung ebenso auf Systeme mit anderen Geschwindigkeiten anwendbar, darunter solche, die schneller als 66 MHz sind. Daher ist die vorliegende Erfindung nur durch die beigefügten Ansprüche definiert.

Claims (10)

  1. Computersystem (200, 400, 500) mit einem PCI-Bus (104, 504), mindestens einem Erweiterungsschlitz (103) zum Aufnehmen einer Erweiterungskarte (102), wobei der Erweiterungsschlitz (103) mit dem PCI-Bus (104, 504) verbunden ist, einem Controller (201, 401, 501) zum Steuern der Leistung und von PCI-Bussignalen für die mindestens eine Erweiterungskarte (102) und zum Überwachen von PCI-Bussignalen während eines Einsetzens, Entfernens oder Auswechselns einer Erweiterungskarte (102), und einem Arbiter (210, 410) zum Steuern eines Zugriffs durch Master-Vorrichtungen auf den PCI-Bus (104, 504), wobei der Controller (201, 401, 501) mit sowohl der Erweiterungskarte (102) als auch dem Erweiterungsschlitz (103) verbunden ist und diese überwacht und steuert; und wobei der Arbiter (210, 410) bei Empfang einer Aufforderung von dem Controller (201, 401, 501) zum Überwachen und Steuern des PCI-Busses (104, 504) durch den Arbiter (210, 410) den PCI-Bus (104, 504) an Stelle des Controllers (201, 401, 501) überwacht und steuert, wenn eine Erweiterungskarte (102) in einem Erweiterungsschlitz (103) eingesetzt, entfernt oder ausgewechselt wird, wobei das Computersystem (200, 400, 500) dadurch gekennzeichnet ist, dass der Controller (201, 401, 501) mit einer ersten Geschwindigkeit arbeitet; der PCI-Bus (104, 504) mit einer zweiten Geschwindigkeit arbeitet; und der Arbiter (210, 410) zwischen den Controller (201, 401, 501) und den PCI-Bus (104, 504) gekoppelt ist.
  2. Computersystem (200, 400, 500) nach Anspruch 1, wobei der Arbiter (210, 410) Signale ansteuert, welche die Erweiterungskarte (102) konfigurieren, die eingesetzt, entfernt oder ausgewechselt wird.
  3. Computersystem (200, 400, 500) nach Anspruch 1 oder 2, wobei der Controller (201, 401, 501) und der Arbiter (210, 410) auf einem gleichen Chip (520) ausgeführt sind.
  4. Computersystem (200, 400, 500) nach den Ansprüchen 1, 2, oder 3, wobei eine Mehrzahl von Controllern (201, 401, 501) mit dem Arbiter (210, 410) gekoppelt ist, wobei jeder Controller (201, 401, 501) mit sowohl seiner jeweils min destens einen Erweiterungskarte (102) als auch ihrem jeweils mindestens einen Erweiterungsschlitz (103) verbunden ist und diese überwacht und steuert, wenn eine Erweiterungskarte (102) in einem Erweiterungsschlitz (103) eingesetzt, entfernt oder ausgewechselt wird, wobei der Arbiter (210, 410) bei Empfang einer Aufforderung zum Steuern des PCI-Busses (104, 504) von einem der Mehrzahl von Controllern (201, 401, 501) den PCI-Bus (104, 504) an Stelle eines der Controller (201, 401, 501) überwacht und steuert, wenn eine Erweiterungskarte (102) in einem Erweiterungsschlitz (103) eingesetzt, entfernt oder ausgewechselt wird.
  5. Computersystem (200, 400, 500) nach den Ansprüchen 1, 2, 3 oder 4, wobei der Controller ein Hot Plug Controller (201, 401, 501) für die Unterstützung von PCI Hot Plug-Operationen einschließlich Hot Add, Hot Remove/Delete und Hot Swap ist.
  6. Verfahren in einem Computersystem (200, 400, 500) mit einem PCI-Bus (104, 504), mindestens einem Erweiterungsschlitz (103) zum Aufnehmen einer Erweiterungskarte (102), wobei der Erweiterungsschlitz (103) mit dem PCI-Bus (104, 504) verbunden ist, einem Controller (201, 401, 501) zum Steuern der Leistung und von PCI-Bussignalen für die mindestens eine Erweiterungskarte (102) und zum Überwachen von PCI-Bussignalen während eines Einsetzens, Entfernens oder Auswechselns einer Erweiterungskarte (102), und einem Arbiter (210, 410) zum Steuern eines Zugriffs durch Master-Vorrichtungen auf den PCI-Bus (104, 504), wobei das besagte Verfahren zum Überwachen und Steuern des PCI-Busses (104, 504) während eines Einsetzens, Entfernens oder Auswechselns einer Erweiterungskarte (102) gekennzeichnet ist durch: Koppeln des Arbiters (210, 410) zwischen den Controller (201, 401, 501) und den PCI-Bus (104, 504); Betreiben des Controllers (201, 401, 501) mit einer ersten Geschwindigkeit; Betreiben des PCI-Busses (104, 504) mit einer zweiten Geschwindigkeit; Verbinden des Controllers (201, 401, 501) mit sowohl der Erweiterungskarte (102) als auch dem Erweiterungsschlitz (103), und deren Überwachen und Steuern; und bei Empfang einer Aufforderung von dem Controller (201, 401, 501) zum Überwachen und Steuern des PCI-Busses (104, 504) durch den Arbiter (210, 410) überwacht und steuert der Arbiter (210, 410) den PCI-Bus (104, 504) an Stelle des Controllers (201, 401, 501), wenn eine Erweiterungskarte (102) in einem Erweiterungsschlitz (103) eingesetzt, entfernt oder ausgewechselt wird.
  7. Verfahren nach Anspruch 6, welches ferner dadurch gekennzeichnet ist, dass der Arbiter Signale ansteuert, welche die Erweiterungskarte (102) konfigurieren, die eingesetzt, entfernt oder ausgewechselt wird.
  8. Verfahren nach Anspruch 6 oder 7, welches ferner dadurch gekennzeichnet ist, dass der Controller (201, 401, 501) und der Arbiter (210, 410) auf einem gleichen Chip (520) ausgeführt werden.
  9. Verfahren nach den Ansprüchen 6, 7, oder 8, ferner gekennzeichnet durch Koppeln des Arbiters (210, 410) mit einer Mehrzahl von Controllern (201, 401, 501), wobei jeder Controller (201, 401, 501) mit sowohl seiner jeweils mindestens einen Erweiterungskarte (102) als auch ihrem jeweils mindestens einen Erweiterungsschlitz (103) verbunden ist und diese überwacht und steuert, wenn eine Erweiterungskarte (102) in einem Erweiterungsschlitz (103) eingesetzt, entfernt oder ausgewechselt wird, wobei der Arbiter (210, 410) bei Empfang einer Aufforderung von einem der Mehrzahl von Controllern (201, 401, 501) zum Steuern des PCI-Busses (104, 504) den PCI-Bus (104, 504) an Stelle eines der Controller (201, 401, 501) überwacht und steuert, wenn eine Erweiterungskarte (102) in einem Erweiterungsschlitz (103) eingesetzt, entfernt oder ausgewechselt wird.
  10. Verfahren nach den Ansprüchen 6, 7, 8 oder 9, wobei der Controller ein Hot Plug Controller (201, 401, 501) für die Unterstützung von PCI Hot Plug-Operationen einschließlich Hot Add, Hot Remove/Delete und Hot Swap ist.
DE60125112T 2000-08-10 2001-08-09 PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung Expired - Lifetime DE60125112T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US637845 1996-04-25
US09/637,845 US6772263B1 (en) 2000-08-10 2000-08-10 PCI arbiter with hot plug controller support

Publications (2)

Publication Number Publication Date
DE60125112D1 DE60125112D1 (de) 2007-01-25
DE60125112T2 true DE60125112T2 (de) 2007-07-12

Family

ID=24557584

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60125112T Expired - Lifetime DE60125112T2 (de) 2000-08-10 2001-08-09 PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung

Country Status (3)

Country Link
US (2) US6772263B1 (de)
EP (1) EP1187033B1 (de)
DE (1) DE60125112T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006009617B4 (de) * 2005-03-10 2015-05-13 Dell Products L.P. Informationssystem und Verfahren zum Steuern von mehreren Hot Plug Vorgängen

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792494B2 (en) * 2001-03-30 2004-09-14 Intel Corporation Apparatus and method for parallel and serial PCI hot plug signals
US7336700B2 (en) * 2001-09-20 2008-02-26 Lockheed Martin Corporation System bus transceiver interface
US7191271B2 (en) * 2001-09-20 2007-03-13 Lockheed Martin Corporation Two level multi-tier system bus
US7069360B2 (en) * 2002-08-30 2006-06-27 Intel Corporation Method and apparatus for detecting a device's ability to run at a selected frequency in a PCI non-inhibit bus-connect mode
US6954813B2 (en) * 2002-12-18 2005-10-11 International Business Machines Corporation Method, system and program product for facilitating hotplugging of multiple adapters into a system bus and transparently optimizing configuration of the system bus
US7035954B1 (en) * 2003-04-03 2006-04-25 Advanced Micro Devices, Inc. Automatic bus speed and mode balancing after hot-plug events on hot-plug driver
US7234050B2 (en) * 2003-08-14 2007-06-19 Hewlett-Packard Development Company, L.P. Techniques for initializing a device on an expansion card
US7146519B2 (en) * 2003-08-22 2006-12-05 Hewlett-Packard Development Company, L.P. Bus clock frequency management based on device bandwidth characteristics
US7149913B2 (en) * 2003-08-22 2006-12-12 Hewlett-Packard Development Company, L.P. Bus clock frequency management based on characteristics of an application program
US7206960B2 (en) * 2003-08-22 2007-04-17 Hewlett-Packard Development Company, L.P. Bus clock frequency management based on device load
DE102005014837B4 (de) * 2004-08-02 2007-08-30 Mahltig, Holger Sicherheitsmodul und Verfahren zum Steuern und Kontrollieren eines Datenverkehrs eines Personalcomputers
US7191275B2 (en) * 2004-09-28 2007-03-13 Hewlett-Packard Development Company, L.P. System and method for the management of hardware triggered hotplug operations of input/output cards
US7934042B2 (en) * 2004-10-14 2011-04-26 International Business Machines Corporation Voltage indicator signal generation system and method
US7958290B2 (en) * 2004-11-19 2011-06-07 Intel Corporation Serial bit ordering of non-synchronous bus signals
JP4620483B2 (ja) * 2005-02-07 2011-01-26 富士通株式会社 コンピュータシステム,コンピュータ,io拡張装置およびio拡張装置接続認識方法
US7234015B1 (en) * 2005-06-14 2007-06-19 Advanced Micro Devices, Inc. PCIXCAP pin input sharing configuration for additional use as PCI hot plug interface pin input
US7260666B2 (en) * 2005-07-26 2007-08-21 Hewlett-Packard Development Company, L.P. Supporting multiple methods for device hotplug in a single computer
US20070033314A1 (en) * 2005-08-04 2007-02-08 Arad Rostampour Event generation for device hotplug
US7840732B2 (en) 2006-09-25 2010-11-23 Honeywell International Inc. Stacked card address assignment
JP2008158595A (ja) * 2006-12-20 2008-07-10 Sony Corp 情報処理装置
US7908418B2 (en) * 2007-11-16 2011-03-15 Fujitsu Limited Storage system, storage device, and host device
US7689751B2 (en) * 2008-02-15 2010-03-30 Sun Microsystems, Inc. PCI-express system
US8001313B2 (en) * 2008-11-20 2011-08-16 International Business Machines Corporation Insertion and removal of computing cards in server I/O slots
US8949499B2 (en) * 2010-06-24 2015-02-03 International Business Machines Corporation Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
US8769159B2 (en) 2011-12-14 2014-07-01 National Instruments Corporation Resource reservation for an external device that is not available at startup of a host computer
CN114936177A (zh) * 2022-05-20 2022-08-23 深圳市国微电子有限公司 热插拔控制器和热插拔控制系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784576A (en) 1996-10-31 1998-07-21 International Business Machines Corp. Method and apparatus for adding and removing components of a data processing system without powering down
US6035355A (en) * 1998-04-27 2000-03-07 International Business Machines Corporation PCI system and adapter requirements following reset
DE69942003D1 (de) 1998-09-29 2010-03-25 Texas Instruments Inc Verfahren und Vorrichtung zum Erleichtern vom Einbringen und der Entfernung von Modulen in einem Rechnersystem
US6170029B1 (en) * 1998-09-30 2001-01-02 International Business Machines Corporation Voltage overshoot control in hot plug system
US6286066B1 (en) * 1998-12-15 2001-09-04 Dell U.S.A., L.P. Hot-plug interface for detecting adapter card insertion and removal
US6338107B1 (en) * 1998-12-16 2002-01-08 International Business Machines Corporation Method and system for providing hot plug of adapter cards in an expanded slot environment
US6363452B1 (en) * 1999-03-29 2002-03-26 Sun Microsystems, Inc. Method and apparatus for adding and removing components without powering down computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006009617B4 (de) * 2005-03-10 2015-05-13 Dell Products L.P. Informationssystem und Verfahren zum Steuern von mehreren Hot Plug Vorgängen
DE102006062802B4 (de) * 2005-03-10 2015-05-13 Dell Products L.P. Informationsverarbeitungssystem und Verfahren zum Steuern von mehreren Hot Plug Vorgängen

Also Published As

Publication number Publication date
EP1187033A2 (de) 2002-03-13
US7076591B2 (en) 2006-07-11
EP1187033A3 (de) 2003-11-05
EP1187033B1 (de) 2006-12-13
DE60125112D1 (de) 2007-01-25
US6772263B1 (en) 2004-08-03
US20040268002A1 (en) 2004-12-30

Similar Documents

Publication Publication Date Title
DE60125112T2 (de) PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung
DE19680668C2 (de) Verfahren zum Überbrücken zweier Busse, transparente Brücke zum Koppeln zwischen zwei Bussen und Anordnung mit einem Computersystem
DE19580707C2 (de) PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
DE60037036T2 (de) Vier-gepumpte busarchitektur-/protokoll
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE69636452T2 (de) Mehrprozessor-cachespeicherkohärenzprotokoll für einen lokalbus
DE69432514T2 (de) Leistungssteuerung in einem Computersystem
DE69433130T2 (de) Rechnersystem mit verändertem lokalen Datenbus
DE3204905C2 (de)
DE19737214B4 (de) Verfahren zum Betreiben eines Computersystems, Computersystem und Sekundärbus-Controller
DE69733384T2 (de) Prozessoruntersystem für den Gebrauch mit einer universellen Rechnerarchitektur
DE69628609T2 (de) Distribuiertes Pipeline-Busarbitrierungssystem
DE69738530T2 (de) Erweiterungskartenadressraumreservierung
DE4035837A1 (de) Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation
DE3909948A1 (de) Mikrocomputersystem mit mehrfachbus und buszuteilung
DE4018481C2 (de)
DE3732798A1 (de) Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet
DE69726302T2 (de) Busschnittstellensteuerungsschaltung
DE19983506B3 (de) Verfahren zum Betreiben eines zeitlich gemultiplexten Adress- und Datenbusses in einem Computersystem und Busschnittstelle hierfür
EP0978047B1 (de) Kommunikationssystem mit einer meisterstation und mindestens einer sklavenstation
DE19828620A1 (de) Während des Betriebs aufteilbarer Computerbus für einen verbesserten Betrieb mit sich ändernden Bustaktfrequenzen
DE60036923T2 (de) Dram-auffrischungsüberwachung und taktgenaue verteilte busarbitrierung in einer multiprozessorumgebung
DE10344626A1 (de) Systeme und Verfahren zum Zugreifen auf busmastergesteuerte Systembetriebsmittel
DE19782017B4 (de) Verfahren und Computersystem zur Durchführung einer Burst-Leseoperation eines Bus-Masters aus einem Systemspeicher
DE10214067A1 (de) Hochgeschwindigkeitsdatenschnittstelle auf einem Chip

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M