DE69621309T2 - Verfahren und Gerät zur Optimierung von gemeinsamen PCI-Unterbrechungen und entsprechender Latenz in den PCI-Bussen mit Erweiterung oder Brücke - Google Patents

Verfahren und Gerät zur Optimierung von gemeinsamen PCI-Unterbrechungen und entsprechender Latenz in den PCI-Bussen mit Erweiterung oder Brücke

Info

Publication number
DE69621309T2
DE69621309T2 DE69621309T DE69621309T DE69621309T2 DE 69621309 T2 DE69621309 T2 DE 69621309T2 DE 69621309 T DE69621309 T DE 69621309T DE 69621309 T DE69621309 T DE 69621309T DE 69621309 T2 DE69621309 T2 DE 69621309T2
Authority
DE
Germany
Prior art keywords
interrupt
pci
register
registers
master
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
DE69621309T
Other languages
English (en)
Other versions
DE69621309D1 (de
Inventor
Ross L. Armstrong
John Lenthall
Sean N. Mcgrane
Alan P. Milne
Vikas G. Sontakke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of DE69621309D1 publication Critical patent/DE69621309D1/de
Application granted granted Critical
Publication of DE69621309T2 publication Critical patent/DE69621309T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

    Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf das Gebiet von Bussen, und insbesondere auf das Gebiet des Optimierens einer PCI-Unterbrechungsbindung und der damit zusammenhängenden Latenz bei erweiterten/überbrückten PCI-Bussen.
  • Hintergrund der Erfindung
  • Ein Peripheriekomponenten-Verbindungsbus (peripheral component interconnect bus/PCI-Bus) ist ein lokales Bussystem, das zur Bewegung von 32 oder 64 Bits von Daten mit 33 MHz oder 66 MHz fähig ist. Der PCI-Bus nimmt Peripheriegeräte von einem Eingabe/Ausgabe-Bus (I/O-Bus) entgegen und verbindet sie über einen breiteren und schnelleren Datenpfad mit einer Zentraleinheit (CPU) und einem Speicheruntersystem.
  • Das Ergebnis ist ein schnellerer Datentransfer zwischen der CPU und den Peripheriegeräten. Dies ist wichtig für Server und grafikintensive Software wie Windows® und OS/2. Die meisten PCI-Systeme unterstützen drei bis fünf leistungskritische Peripheriegeräte. Diese Peripheriegeräte sind entweder direkt auf einem Motherboard integriert oder können über PCI-Erweiterungskarten hinzugefügt werden, wie zum Beispiel Multimedia-, Grafik-, Platten- und LAN-Adapter-Karten.
  • So gut wie alle mit Pentium-Prozessoren ausgestatteten PCs zum Beispiel, die heutzutage ausgeliefert werden, unterstützen den PCI-Bus. Der Pentium- Prozessor kommuniziert mit seinen PCI-Peripheriegeräten über einen speziellen Schnittstellenchipsatz, und die Konstruktion und die Leistung dieses Chipsatzes kann sich ganz besonders auf die Leistung des PCI-Busses eines Computers auswirken.
  • Softwarefunktionen niederer Ebene (low level), zum Beispiel PCI-BIOS- Funktionen bieten gegenüber der Hardware eine Software-Schnittstelle, die zur Implementierung eines PCI-Systems eingesetzt wird. Sein Hauptverwendungszweck ist zur Systemkonfiguration, z. B. Adressabbildung, Unterbrechungsrouting, usw.
  • Wie ebenfalls wohl bekannt ist, haben als Industriestandard vorherrschende PCI-Vorgaben eine "zusammen genutzte" oder mit einem "verdrahteten ODER" arbeitende Unterbrechungsbindungsarchitektur, die typischerweise in der Ätzung des eigentlichen Motherboards implementiert ist, d. h. die Einsteck-Unterbrechungsspuren sind so geführt, dass sie für das Interrupt-Verfahren gemeinsam genutzt werden können. Dieses Verfahren zur gemeinsamen Nutzung ist in der PCI-Lokal-Bus- Spezifikation, Revision 2.1, empfohlen.
  • In einem solchen Verfahren muss die Host-CPU PCI-Geräte abfragen, nachdem sie eine Unterbrechungsanforderung empfangen hat, um festzustellen, welches PCI-Gerät die Unterbrechung eingeleitet hat. Erst dann kann die Unterbrechungs-Dienstroutine eingeleitet werden. Dieses so genannte "Abfrage- Verfahren" kann zu seiner vollständigen Durchführung bis maximal n-1 Dienstroutinen in Anspruch nehmen, wenn n PCI-Geräte vorhanden sind. Die Zeit zur Identifikation des unterbrechenden Geräts ist jedoch nicht vorhersagbar, z. B. kann es sein, dass das initiierende PCI-Gerät nach nur einer Abfrage lokalisiert ist, oder dass dies erst beim letzten Versuch gelingt.
  • Wie wohl bekannt ist, ist bei kleinen Anzahlen von PCI- Unterbrechungsquellen, z. B. weniger als vier, diese Abfrageverfahrensimplementierung akzeptabel. Für eine größere Anzahl von PCI- Geräten, die möglicherweise über eine PCI-zu-PCI-Brückenbildung implementiert sind, fängt das Verfahren zur gemeinsamen Nutzung der Unterbrechungsbindung an, sich beträchtlich auf die Unterbrechungslatenz auszuwirken, d. h. auf die Zeit, die dazu benötigt wird festzustellen, welches PCI-Gerät die Unterbrechung eingeleitet hat.
  • Es besteht also ein Bedarf nach einer PCI-Unterbrechungssteuerung, die sowohl das standardmäßig in der Industrie eingesetzte Verfahren der gemeinsamen Nutzung als auch eine Architektur zum vorhersagbaren Feststellen des die Unterbrechung einleitenden PCI-Geräts mit einer beträchtlich verringerten Latenz unterstützt.
  • In der EP 0 511 769 A1 ist eine Unterbrechungssteuerung beschrieben, die Unterbrechungssignale von mehreren I/O-Geräten entgegennimmt, die Unterbrechungen in eine Prioritätsrangfolge bringt und sie dann an einen Prozessor weiterleitet.
  • Zusammenfassung der Erfindung
  • Die Erfindung besteht allgemein in einem Verfahren zum Identifizieren einer Quelle einer Peripherie-Komponenten-Verbindungsunterbrechung in einem Computersystem und in einem entsprechenden System, wie es in den Ansprüchen 1 beziehungsweise 7 angeführt ist.
  • Wie nachfolgend beschrieben, ist ein als Beispiel angegebenes Computersystem mit den folgenden Komponenten vorgesehen: einer Zentraleinheit (CPU), einem Speicher; einer PCI-Host-zu-PCI-Busschnittstelle, wobei die PCI-Hostzu-PCI-Busschnittstelle über einen CPU-Bus mit dem Speicher und der CPU verbunden ist, mehreren PCI-Geräten, wobei die mehreren PCI-Geräte über einen primären PCI-Bus mit der PCI-Host-zu-PCI-Busschnittstelle verbunden sind, einer Unterbrechungssteuerungseinheit, wobei die Unterbrechungssteuerungseinheit ein Konfigurationsregister, ein Master-Unterbrechungsregister und mehrere Unterbrechungsregister aufweist, wobei die mehreren Unterbrechungsregister eine Verbindung zwischen dem Master-Unterbrechungsregister und jeder der mehreren PCI-Geräte herstellt. Mit einer solchen Anordnung wird eine zweifache Funktionalität der Handhabung von PCI-Unterbrechungen implementiert, d. h. eine Übereinstimmung mit dem Industriestandard und der erfindungsgemäße nicht abfragende (Unterbrechungsbeschleunigungs-)Modus.
  • In einer solchen Anordnung ist auch eine deterministische Art und Weise zum Identifizieren einer Quelle einer PCI-Unterbrechung ohne die Notwendigkeit einer Abfrage vorgesehen. Dies wird über eine Registerarchitektur und einen stufenweisen Initiator-Code bewerkstelligt.
  • Kurzbeschreibung der Zeichnungen
  • Ein detaillierteres Verständnis der Erfindung ergibt sich aus der folgenden Beschreibung einer bevorzugten Ausführungsform, die als Beispiel und im Zusammenhang mit den Zeichnungen gegeben wird. Es zeigt:
  • Fig. 1 ein Blockdiagramm eines beispielhaften Computersystems, das mehrere PCI-Geräte beinhaltet;
  • Fig. 2 ein beispielhaftes Blockdiagramm eines Industriestandards der Handhabung von PCI-Unterbrechungen im beispielhaften Computersystem von Fig. 1, und
  • Fig. 3 ein Blockdiagramm der Abwicklung von PCI-Unterbrechungen nach einer erfindungsgemäßen Ausführungsform.
  • Detaillierte Beschreibung
  • Fig. 1 ist ein Blockdiagramm eines beispielhaften Computersystems, bei dem die vorliegende Erfindung eingesetzt werden kann, das eine Host-Zentraleinheit (CPU) 10 und einen Host-Speicher 12 aufweist. Die Host-CPU 10 und der Host- Speicher 12 sind über einen CPU-Bus 16 mit einer Host-zu-PCI-Busschnittstelle 14 verbunden. Die Host-zu-PCI-Busschnittstelle 14 stellt über einen primären PCI-Bus 26 eine Verbindung zu einer Anzahl von PCI-Geräten her, die mit 18, 20, 22 beziehungsweise 24 bezeichnet sind. In dem in Fig. 1 gezeigten beispielhaften Computersystem ist gezeigt, dass das PCI-Gerät 24 eine PCI-zu-PCI-Brücke ist. Die PCI-zu-PCI-Brücke 24 schafft über einen sekundären PCI-Bus 30 eine weitere Verbindung zu PCI-Gerät 27 und PCI-Gerät 28.
  • In der bevorzugten Ausführungsform ist die Erfindung in der Unterbrechungssteuerungseinheit 32 untergebracht, die am primären PCI-Bus 26 angeordnet ist. Es gibt jedoch keinen technischen Einschränkungsfaktor, der verhindern würde, dass die vorliegende Erfindung an anderen Orten des beispielhaften Computersystems untergebracht würde, wie zum Beispiel im CPU-Bus 16 oder an einem anderen Ort, der direkt oder indirekt mit der CPU 10 verbunden ist.
  • Fig. 2 zeigt einen beispielhaften Schaltplan des Industriestandards der Abwicklung von PCI-Unterbrechungen, der vier Unterbrechungsleitungen aufweist, die mit INTA, INTB, INTC beziehungsweise INTD bezeichnet sind, für jedes der PCI- Geräte im beispielhaften Computersystem von Fig. 1. Im Fall des PCI-Geräts 24, das eine PCI-zu-PCI-Brücke ist, können bis zu 16 Unterbrechungsleitungen verwendet werden, d. h. diejenigen, die den PCI-Geräten zugeordnet sind, die mit dem sekundären PCI-Bus 30 verbunden sind. Auf diese Weise sind beim in Fig. 2 gezeigten Industriestandard alle PCI-Unterbrechungen einfach in einer Verdrahtungs-ODER-Unterbrechungs-Routinglogik 50 als verdrahtetes ODER geschaltet, um die Unterbrechungen INTA 52, INTB 54, INTC 56 und INTD 58 zur Unterbrechungssteuerungseinheit 32 zu bilden.
  • In Fig. 3 ist ein erfindungsgemäßes Blockdiagramm gezeigt, bei dem die Verdrahtungs-ODER-Unterbrechungs-Routinglogik 50 nicht verwendet wird. Insbesondere ist gezeigt, dass die vorliegende Erfindung eine Anzahl von Unterbrechungsregistern verwendet, die mit 70, 72, 74 beziehungsweise 76 bezeichnet sind. Das System weist ein Register für jedes primäre Gerät auf, um für jede von diesem PCI-Gerät unterstützte PCI-Unterbrechung einen Status zu liefern. Da das PCI-Gerät eine PCI-zu-PCI-Brücke mit vier (oder einer anderen Anzahl) weiteren PCI-Geräten hinter ihr sein kann, muss jedes Register dazu fähig sein, 16 Bits INT#-Daten, vier pro PCI-Gerät, zu enthalten. Jede Unterbrechungsquellenleitung hat auch ein entsprechendes Maskierungsbit. Fig. 3 weist auch ein Konfigurationsregister 78 und ein Master-Unterbrechungsregister 80 auf. Das Konfigurationsregister 78 gibt im Einzelnen an, ob ein primäres PCI-Gerät eine physische Verbindung oder eine Rückebenen-PCI-zu-PCI-Brücke ist, d. h. ob ein primäres PCI-Gerät eine Brücke zu einem sekundären PCI-Bus mit Geräten ist, deren Unterbrechungsanforderungen an die vorliegenden Erfindung weitergeleitet werden, oder nicht. Wie in Fig. 3 gezeigt, ist jedes der Unterbrechungsregister mit einem jeweiligen der PCI-Geräte einzeln ausgerichtet. Insbesondere ist gezeigt, dass das PCI-Gerät 18 mit dem Unterbrechungsregister 70, das PCI-Gerät 20 mit dem Unterbrechungsregister 72, das PCI-Gerät 22 mit dem Unterbrechungsregister 74 und das PCI-Gerät 24 mit dem Unterbrechungsregister 76 ausgerichtet ist. Die Ausrichtung von PCI-Geräten mit Unterbrechungsregistern ist im Folgenden näher beschrieben. In Fig. 3 ist ebenfalls ein Konfigurationsregister 78 und ein Master- Unterbrechungsregister 80 gezeigt. Das in Fig. 3 gezeigte System kann auch als "Unterbrechungsbeschleunigungsmodus" bezeichnet werden, um es so vom Industriestandardmodus zu unterscheiden, der in Fig. 2 gezeigt ist.
  • Das Konfigurationsregister 7ß ist immer aktiv und steuert das Verhalten des Systems im Unterbrechungsbeschleunigungsmodus. Das Konfigurationsregister 78 enthält ebenfalls ein Modus-Freischaltungsbit, das, wenn es während des Systemstarts gesetzt wird, anzeigt, dass der in Fig. 3 gezeigte Unterbrechungsbeschleunigungsmodus zu verwenden ist. Wenn das Modus- Freischaltungsbit nicht gesetzt ist, dann greift das System auf das in Fig. 2 gezeigte Verfahren zurück. Auf diese Weise unterstützt die vorliegende Erfindung sowohl den Industriestandardmodus von Fig. 2 und den in Fig. 3 gezeigten Unterbrechungsbeschleunigungsmodus.
  • Während des Systemstarts sind, wenn das Modus-Freischaltungsbit im Konfigurationsregister 78 gesetzt ist, die Unterbrechungsregister 70, 72, 74 und 76 zugänglich und mit dem jeweiligen PCI-Gerät oder der jeweiligen PCI-zu-PCI-Brücke ausgerichtet, wie in Fig. 3 gezeigt ist. Zusätzlich wird beim Systemstart ein Adresszeiger für die vier Unterbrechungsregister 70, 72, 74 und 76 im Konfigurationsregister 78 gespeichert. Das Master-Unterbrechungsregister 80 wird nur freigeschaltet, wenn das Modus-Freischaltungsbit gesetzt ist. Das Master- Unterbrechungsregister 80 wird von den vier mit 70, 72, 74 beziehungsweise 76 bezeichneten Unterbrechungsregistern direkt über Flags angesprochen. Das Master- Unterbrechungsregister 80 wird dazu verwendet festzustellen, auf welches Unterbrechungsregister 70, 72, 74 oder 76 zum Auffinden der Quelle der PCI- Unterbrechung zugegriffen werden soll. Auf diese Weise kann die PCI- Unterbrechungsquelle zuverlässig und vorhersagbar in zwei Bus-Lesezyklen festgestellt werden, d. h. ein Lesezyklus an das Master-Unterbrechungsregister 80 und ein Lesezyklus an das spezifische Unterbrechungsregister, d. h. 70, 72, 74 oder 76.
  • Das mit Registern arbeitende Verfahren der vorliegenden Erfindung reicht zur Unterstützung von mehreren Implementierungen aus. Zum Beispiel kann in der Grundimplementierung die vorliegende Erfindung bis zu vier primäre PCI-Geräte oder PCI-zu-PCI-Brücken und sechzehn sekundäre PCI-Geräte unterstützen, d. h. vierundsechzig einzelne Unterbrechungsleitungen, vier Unterbrechungsleitungen pro sekundärem PCI-Gerät. Ein zusätzliches erfindungsgemäßes Merkmal besteht darin, dass alle Unterbrechungsbits sowohl im Master-Unterbrechungsregister 80 als auch in den vier Unterbrechungsregistern maskierbar sind. Im Konfigurationsregister 78 ist ein Maskierungs-Freischaltungs/Modus-Bit. Dieses Maskierungs/Freischaltungs-Bit kann automatisch das Durchlassen maskierter Unterbrechungsleitungen und damit inhärent die Eingabe an das Master-Unterbrechungsregister 80 blockieren. Dieses Merkmal ist auch für die Master-Unterbrechungs-Maskierungsbits implementiert. Hierdurch wird die Unterbrechungslatenz verbessert, da es nicht länger notwendig ist, dass die einzelnen Maskierungsbits in einem getrennten Buszyklus gelesen werden. Außerdem wird dadurch die Flexibilität für die Unterbrechungsabfrage beibehalten, d. h. die vier (oder eine andere Zahl) von Unterbrechungs-Statusbits, die im Master-Unterbrechungsregister 80 gespeichert sind, stimmen mit dem Status der Unterbrechungsregisterquellen überein. Außerdem können gegebenenfalls eine Vielzahl von Unterbrechungsquellen erfasst und in eine Prioritätsrangfolge gebracht werden.
  • Nach der Beschreibung einer bevorzugten Ausführungsform der Erfindung wird es dem Fachmann ersichtlich, dass andere, diese Konzepte beinhaltende Ausführungsformen vorgesehen werden können. Es versteht sich daher, dass die vorliegende Erfindung nicht auf die offenbarten und oben beschriebenen Ausführungsformen der Erfindung, sondern nur durch den Umfang der folgenden Ansprüche eingeschränkt ist.

Claims (10)

1. Computersystem, mit:
mehreren an einen PCI-Bus (26) angeschlossenen PCI-Geräten (18...24), wobei die PCI-Geräte Unterbrechungsanforderungen aussenden können;
gekennzeichnet durch:
mehrere Unterbrechungsregister (70...76), wobei jedes Unterbrechungsregister nur einem PCI-Gerät zugeordnet ist und jedes PCI- Gerät nur einem Unterbrechungsregister zugeordnet ist, wobei jedes Unterbrechungsregister zum Aussenden eines Unterbrechungssignals nach dem Empfang einer Unterbrechungsanforderung von dem diesem Unterbrechungsregister zugeordneten PCI-Gerät eingerichtet ist; und
ein Master-Unterbrechungsregister (80), das mit jedem Unterbrechungsregister (70...76) verbunden ist, zum Empfangen eines Unterbrechungssignals, das von einem der Unterbrechungsregister in Reaktion auf eine Unterbrechungsanforderung ausgesendet wurde, wobei das Master-Unterbrechungsregister Bits enthält, wobei jedes Bit einem der Unterbrechungsregister entspricht und anzeigt, ob das entsprechende Unterbrechungsregister das Unterbrechungssignal ausgesendet hat, wobei das Master-Unterbrechungsregister identifiziert, welches der Unterbrechungsregister das Unterbrechungssignal ausgesendet hat, um das dem identifizierten Unterbrechungsregister zugeordnete PCI-Gerät (18...24) als eine Quelle der Unterbrechungsanforderung zu identifizieren.
2. Computersystem nach Anspruch 1, weiter mit einem Konfigurationsregister (78), das eine Adresse der Unterbrechungsregister (70...76) speichert, wobei die Adresse zum Zugreifen auf das Unterbrechungsregister verwendet wird, das vom Master-Unterbrechungsregister (80) als dasjenige identifiziert wurde, welches das Unterbrechungssignal ausgesendet hat.
3. Computersystem nach Anspruch 1, bei dem jedes Unterbrechungsregister (70...76) Bits aufweist, wobei jedes Bit eines Unterbrechungsregisters einer Unterbrechungsleitung entspricht, die von dem dem Unterbrechungsregister zugeordneten PCI-Gerät (18...24) zum Aussenden einer Unterbrechungsanforderung verwendet werden kann, wobei jedes Bit anzeigt, ob eine Unterbrechungsanforderung auf dieser entsprechenden Unterbrechungsleitung ausgesendet wurde; und das weiter Folgendes aufweist:
eine Einrichtung zum Ausblenden eines oder mehrerer Bits eines Unterbrechungsregisters, um das Unterbrechungsregister daran zu hindern, ein Unterbrechungssignal auszusenden, wenn das dem Unterbrechungsregister zugeordnete PCI-Gerät auf der einem ausgeblendeten Bit entsprechenden Unterbrechungsleitung eine Unterbrechungsanforderung aussendet.
4. Computersystem nach Anspruch 1, weiter mit:
einer Einrichtung zum Ausblenden eines oder mehrerer Bits des Master- Unterbrechungsregisters, um das Master-Unterbrechungsregister daran zu hindern, ein Signal auszusenden, wenn das Bit ausgeblendet ist, das dem Unterbrechungsregister entspricht, welches das Unterbrechungssignal aussendete.
5. Computersystem nach Anspruch 1, weiter mit:
einer Unterbrechungs-Weiterleitungslogik (50), die mit jedem PCI-Gerät am PCI-Bus verbunden ist, wobei die Unterbrechungs-Weiterleitungslogik ein Signal liefert, wenn eines der PCI-Geräte eine Unterbrechungsanforderung aussendet, und
einer Einrichtung (78) zum Freischalten der Unterbrechungsregister und des Master-Unterbrechungsregisters, während die Unterbrechungs- Weiterleitungslogik gesperrt wird, so dass die Unterbrechungsregister und das Master-Unterbrechungsregister zum Bestimmen der Quelle der Unterbrechungsanforderung anstelle der Unterbrechungs-Weiterleitungslogik ausgewählt werden.
6. Computersystem nach Anspruch 1, weiter mit:
einer PCI-zu-PCI-Brücke (24), die zwischen den PCI-Bus (26) und einen zweiten PCI-Bus (30) geschaltet ist, wobei die PCI-zu-PCI-Brücke einem der Unterbrechungsregister (76) zugeordnet ist; und
PCI-Geräten (27, 28), die an den zweiten PCI-Bus (30) angeschlossen sind, wobei jedes davon Unterbrechungsanforderungen aussenden kann, wobei die PCI-zu-PCI-Brücke (24) zum Weiterleiten von Unterbrechungsanforderungen von den an den zweiten PCI-Bus angeschlossenen PCI-Geräten an das der PCI-zu-PCI-Brücke zugeordnete Unterbrechungsregister (76) eingerichtet ist.
7. Unterbrechungssteuerung, gekennzeichnet durch:
mehrere Unterbrechungsregister (70...76), wobei jedes Unterbrechungsregister nur einem von mehreren an einen PCI-Bus (26) angeschlossenen PCI-Geräten (18...24) zugeordnet ist und jedes PCI-Gerät nur einem Unterbrechungsregister zugeordnet ist, wobei jedes Unterbrechungsregister nach dem Empfangen einer Unterbrechungsanforderung auf einer von mehreren Unterbrechungsleitungen vom zugeordneten PCI-Gerät ein Unterbrechungssignal aussendet;
ein Master-Unterbrechungsregister (80), das mit jedem Unterbrechungsregister (70...76) verbunden ist, zum Empfangen eines von einem dem Unterbrechungsregister in Reaktion auf eine Unterbrechungsanforderung ausgesendeten Unterbrechungssignals, wobei das Master-Unterbrechungsregister Bits aufweist, wobei jedes Bit einem der Unterbrechungsregister entspricht und anzeigt, ob das entsprechende Unterbrechungsregister das Unterbrechungssignal aussendete, wobei das Master-Unterbrechungsregister identifiziert, welches der Unterbrechungsregister das Unterbrechungssignal aussendete; und
ein Konfigurationsregister (78), das eine Adresse des Unterbrechungsregisters (70...76) speichert, wobei die Adresse zum Zugreifen auf das Unterbrechungsregister verwendet wird, das vom Master- Unterbrechungsregister als dasjenige identifiziert wurde, welches das Unterbrechungssignal ausgesendet hat, wobei das identifizierte Unterbrechungsregister eine Unterbrechungsleitung identifiziert, die von dem dem identifizierten Unterbrechungsregister zugeordneten PCI-Gerät (18...24) zum Aussenden der Unterbrechungsanforderung verwendet wurde.
8. Verfahren zum Bestimmen einer Quelle von Unterbrechungsanforderungen, gekennzeichnet durch die folgenden Schritte:
Zuordnen von Unterbrechungsregistern (70...76) und an einen PCI-Bus (26) angeschlossenen PCI-Geräten (18...24), wobei jedes Unterbrechungsregister nur einem PCI-Gerät zugeordnet ist und jedes PCI-Gerät nur einem Unterbrechungsregister zugeordnet ist, wobei jedes PCI-Gerät an das diesem PCI-Gerät zugeordnete Unterbrechungsregister Unterbrechungsanforderungen aussenden kann;
Aussenden eines Unterbrechungssignals an ein Master- Unterbrechungsregister (80) durch eines der Unterbrechungsregister in Reaktion auf eine Unterbrechungsanforderung, wobei das Master- Unterbrechungsregister Bits aufweist, wobei jedes Bit einem der Unterbrechungsregister (70...76) entspricht, wobei jedes Bit anzeigt, ob das entsprechende Unterbrechungsregister das Unterbrechungssignal ausgesendet hat; und
Identifizieren aus den Bits des Master-Unterbrechungsregisters, welches der Unterbrechungsregister das Unterbrechungssignal ausgesendet hat.
9. Verfahren nach Anspruch 8, weiter mit den folgenden Schritten:
Lesen eines Konfigurationsregisters (78) zum Erhalten einer Adresse des Unterbrechungsregisters (70...76), das als dasjenige identifiziert wurde, welches das Unterbrechungssignal ausgesendet hat; und
Lesen des identifizierten Unterbrechungsregisters zum Bestimmen, welche Unterbrechungsleitung das dem identifizierten Unterbrechungsregister zugeordnete PCI-Gerät zum Aussenden der Unterbrechungsanforderung verwendet hat.
10. Verfahren nach Anspruch 8, weiter mit den folgenden Schritten:
Lesen eines Freischaltungsbits; und wobei die Schritte des Zuordnens, Aussendens und Identifizierens nur dann erfolgen, wenn das Freischaltungsbit gesetzt ist, wobei sonst jedes der PCI-Geräte abgefragt wird, um zu bestimmen, welches der PCI-Geräte die Unterbrechungsanforderung ausgesendet hat.
DE69621309T 1995-11-27 1996-11-11 Verfahren und Gerät zur Optimierung von gemeinsamen PCI-Unterbrechungen und entsprechender Latenz in den PCI-Bussen mit Erweiterung oder Brücke Expired - Fee Related DE69621309T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/563,221 US5764996A (en) 1995-11-27 1995-11-27 Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses

Publications (2)

Publication Number Publication Date
DE69621309D1 DE69621309D1 (de) 2002-06-27
DE69621309T2 true DE69621309T2 (de) 2002-10-24

Family

ID=24249611

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69621309T Expired - Fee Related DE69621309T2 (de) 1995-11-27 1996-11-11 Verfahren und Gerät zur Optimierung von gemeinsamen PCI-Unterbrechungen und entsprechender Latenz in den PCI-Bussen mit Erweiterung oder Brücke

Country Status (4)

Country Link
US (1) US5764996A (de)
EP (1) EP0775959B1 (de)
JP (1) JPH09185578A (de)
DE (1) DE69621309T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978860A (en) * 1995-06-07 1999-11-02 Dell Usa, L.P. System and method for disabling and re-enabling at least one peripheral device in a computer system by masking a device-configuration-space-access-signal with a disable or re-enable signal
US6240065B1 (en) 1996-01-08 2001-05-29 Galileo Technologies Ltd. Bit clearing mechanism for an empty list
IL116707A (en) * 1996-01-08 2000-01-31 Galileo Technology Ltd Method and apparatus for managing packet memory
IL116986A (en) * 1996-01-31 2000-01-31 Galileo Technology Ltd Switching ethernet controller providing packet routing
IL116989A (en) * 1996-01-31 1999-10-28 Galileo Technology Ltd Switching ethernet controller
IL116988A (en) * 1996-01-31 1999-12-31 Galileo Technology Ltd Bus protocol
DE19731634A1 (de) * 1997-07-23 1999-01-28 Nokia Telecommunications Oy Vorrichtung und Verfahren zum Auffinden einer einer Quelle zugeordneten Unterbrechungsanforderung
KR100448931B1 (ko) * 1997-08-11 2004-11-16 삼성전자주식회사 피씨아이 인터럽트 공유장치
US6003109A (en) * 1997-08-15 1999-12-14 Lsi Logic Corporation Method and apparatus for processing interrupts in a data processing system
JP3287283B2 (ja) * 1997-10-20 2002-06-04 日本電気株式会社 Pciバスの割り込みステアリング回路
US6141703A (en) * 1998-07-21 2000-10-31 Hewlett-Packard Company Interrupt sharing system assigning each interrupt request signal to a select one of system interrupt signals based on characteristic data of each peripheral device
US6553443B1 (en) * 1999-09-28 2003-04-22 Legerity, Inc. Method and apparatus for prioritizing interrupts in a communication system
US6636916B1 (en) 2000-02-14 2003-10-21 Hewlett-Packard Development Company, L.P. Assigning PCI device interrupts in a computer system
US6816935B1 (en) * 2001-03-02 2004-11-09 Advanced Micro Devices, Inc. Interrupt and status reporting structure and method for a timeslot bus
GB0212262D0 (en) * 2002-05-28 2002-07-10 Sendo Int Ltd Accessory detection and identification
US20040064620A1 (en) * 2002-09-30 2004-04-01 Kaushik Shivnandan D. Device representation apparatus and methods
US20050021894A1 (en) * 2003-07-24 2005-01-27 Renesas Technology America, Inc. Method and system for interrupt mapping
DE102004042170B4 (de) * 2004-08-31 2009-02-19 Advanced Micro Devices, Inc., Sunnyvale Nachrichtenbasierte Interrupttabelle
JP4839484B2 (ja) 2007-04-06 2011-12-21 日本電気株式会社 バス接続デバイス、バス接続方法およびバス接続用プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3611305A (en) * 1969-02-10 1971-10-05 Scanders Associates Inc Data processor interrupt system
US3719930A (en) * 1971-03-25 1973-03-06 Hitachi Ltd One-bit data transmission system
US4519028A (en) * 1981-02-17 1985-05-21 Digital Equipment Corporation CPU with multi-stage mode register for defining CPU operating environment including charging its communications protocol
US4908745A (en) * 1986-10-08 1990-03-13 Hitachi, Ltd. Sequence controller
JPH01126751A (ja) * 1987-11-11 1989-05-18 Fujitsu Ltd グルーピング装置
KR940001878B1 (ko) * 1990-03-08 1994-03-10 가부시끼가이샤 히다찌세이사꾸쇼 멀티 프로세서시스템 및 인터럽션 제어장치
JP3003968B2 (ja) * 1991-05-01 2000-01-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 割込み処理プログラム選択装置及び処理方法
US5542076A (en) * 1991-06-14 1996-07-30 Digital Equipment Corporation Method and apparatus for adaptive interrupt servicing in data processing system
US5530875A (en) * 1993-04-29 1996-06-25 Fujitsu Limited Grouping of interrupt sources for efficiency on the fly
AU1261995A (en) * 1993-12-16 1995-07-03 Intel Corporation Multiple programmable interrupt controllers in a multi-processor system
US5519872A (en) * 1993-12-30 1996-05-21 Intel Corporation Fast address latch with automatic address incrementing

Also Published As

Publication number Publication date
EP0775959A2 (de) 1997-05-28
EP0775959B1 (de) 2002-05-22
DE69621309D1 (de) 2002-06-27
US5764996A (en) 1998-06-09
JPH09185578A (ja) 1997-07-15
EP0775959A3 (de) 1997-07-09

Similar Documents

Publication Publication Date Title
DE69621309T2 (de) Verfahren und Gerät zur Optimierung von gemeinsamen PCI-Unterbrechungen und entsprechender Latenz in den PCI-Bussen mit Erweiterung oder Brücke
DE69626485T2 (de) Schnittstellenbildung zwischen Direktspeicherzugriffsvorrichtung und einem nicht-ISA-Bus
DE69825623T2 (de) Mechanismen zum umwandeln von unterbrechungsanfragesignalen auf addressen und datenleitungen zur generierung von interruptsignalen
DE69519926T2 (de) Verfahren und vorrichtung zum einhalten der transaktionssteuerung und zur unterstützung von verzögerten antworten in einer busbrücke
DE3586352T2 (de) Busarbiter fuer datenverarbeitungssystem mit einem ein-/ausgabekanal.
DE69032614T2 (de) Verfahren zur Datenverteilung in einer Speicherplattenanordnung
DE69030640T2 (de) Multiprozessorarbitrierung in für Einzelprozessor bestimmten Arbitrierungsschemas
DE69905689T2 (de) Verfahren und System zum Einstecken unter Spannung von Anpassungskarten in einer Buserweiterungsumgebung
DE602004012106T2 (de) Multikanal-DMA mit gemeinsamem FIFO-Puffer
DE69030861T2 (de) Bus-Master-Steuerprotokoll
DE3788805T2 (de) Prioritaetstechnik für einen zerteilten transaktionsbus in einem multiprozessorrechnersystem.
DE69421755T2 (de) Initialisierung von Mehrfachbus-Netzwerken
DE102008035120B4 (de) Prozessorauswahl für einen Interrupt, die einen Prozessorcluster identifiziert
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
DE69828074T2 (de) Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl
DE69901247T2 (de) Direktspeicherzugriff in einer brücke für ein mehrprozessorsystem
DE69621212T2 (de) Busfehlerverarbeiter in einem Zweifachbussystem
DE69903630T2 (de) Mehrprozessorsystembrücke
DE69228684T2 (de) Verfahren und gerät zur erweiterung eines rückwandverbindungsbusses ohne zusätzliche byte-selektionssignale
DE60000285T2 (de) Vorrichtung und verfahren zur unterbrechungsverarbeitung von peripheriegeräten
DE60304455T2 (de) Usb host controller
DE3855300T2 (de) Schnittstellenschaltung zur Datenübertragung zwischen Prozessor und Ein-/Ausgabevorrichtung
DE69726302T2 (de) Busschnittstellensteuerungsschaltung
DE69531270T2 (de) Unterbrechungssteuerungsgeräte in symmetrischen Mehrprozessorsystemen
DE69717232T2 (de) Fehlertolerantes Bussystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee