DE19847642A1 - PCI-PCI-Brücke - Google Patents
PCI-PCI-BrückeInfo
- Publication number
- DE19847642A1 DE19847642A1 DE19847642A DE19847642A DE19847642A1 DE 19847642 A1 DE19847642 A1 DE 19847642A1 DE 19847642 A DE19847642 A DE 19847642A DE 19847642 A DE19847642 A DE 19847642A DE 19847642 A1 DE19847642 A1 DE 19847642A1
- Authority
- DE
- Germany
- Prior art keywords
- pci
- bus
- bridge
- pci bus
- primary
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
Die vorliegende Erfindung bezieht sich auf eine PCI-PCI-Brücke.
Insbesondere bezieht sich die vorliegende Erfindung auf eine
PCI-PCI-Brücke zwischen einem primären PCI-Bus und einem sekun
dären PCI-Bus, und insbesondere auf eine PCI-PCI-Brücke, welche
durch ein vorhandenes BIOS unterstützt wird und das Steuern
einer Mehrzahl von PCI-Vermittlern einschließlich einer VGA-
Vorrichtung durch den primären PCI ermöglicht.
Ein PCI(Peripheral Component Interconnect, programmierbare
Übertragungsschnittstelle)-Bus ist allgemein insbesondere für
Personalcomputer (Arbeitsplatzrechner) angepaßt. PCI ist ein
Bus-Standard, der durch Intel Corporation befürwortet wird und
dessen Spezifikation durch die PCI Special Interest Group (PCI
SIG) in den USA bestimmt und veröffentlicht wird.
Gemäß des PCI-Bus-Standards wird eine Vorrichtung, die an einer
PCI-Datenübertragung teilnimmt, als ein "Vermittler (Agent)"
bezeichnet. Gemäß des PCI-Standards werden Vermittler durch ein
BIOS gesteuert, welches durch eine CPU, durch einen Vorrich
tungstreiber und dergleichen ausgeführt wird. Der PCI-Bus-Stan
dard sieht eine automatische Konfigurationsfähigkeit bzw. Kon
figurierungsfähigkeit eines automatischen Erfassens einer Vor
richtung, welche mit dem Bus zum Zeitpunkt des Einschaltens
verbunden ist, und des Vorbereitens der Systemumgebung, wie
beispielsweise das Speicheraufteilen bzw. das Bilden eines
Speicherabbilds für jedes System, vor.
In der letzten Zeit, da Personalcomputer eine immer bessere
Leistungsfähigkeit aufweisen, wurde es eine allgemeine Verfah
rensweise, Bildverarbeitungsprogramme und dergleichen, welche
üblicherweise durch eine Workstation (Arbeitsplatzsystem) aus
geführt wurden, durch einen Personalcomputer auszuführen. Zu
diesem Zweck ist oft eine LSI (integrierte Halbleiterschaltung)
zum Ausführen eines derartigen bestimmten Verarbeitens mit
einem Hauptrechner-CPU durch einen PCI-Bus in dem Personalcom
puter verbunden. Verwirklichen bzw. Einbauen einer Mehrzahl von
PCI-Vorrichtungen in der integrierten Schaltung ist in einigen
Fällen wünschenswert. Dann ist es nötig, den PCI-Bus des Haupt
rechners an einem PCI-Bus einer hinzugefügten Vorrichtung anzu
schließen. Hier wird der PCI-Bus in der Hauptrechner-CPU als
ein primärer PCI-Bus bezeichnet, und der PCI-Bus einer Schal
tung (Ergänzungsplatine), welche mit dem primären PCI-Bus ver
bunden ist, wird als ein sekundärer PCI-Bus bezeichnet.
Falls ein sekundärer PCI-Bus mit dem primären PCI-Bus verbunden
ist und eine Mehrzahl von PCI-Vermittlern mit dem sekundären
PCI-Bus verbunden sind, ist es nötig, daß der Hauptrechner je
des PCI unabhängig voneinander steuert. Zu diesem Zweck verwen
det der PCI-Standard Daten, welche als PCI-Konfigurationskenn
satz bzw. PCI-Konfigurierungskennsatz (bzw. PCI-Konfigurie
rungskopf) bezeichnet werden. Der Kennsatz besteht aus zwei
Arten, d. h. "00" und "01". Der "00"-Kennsatz wird durch die
Hauptrechner-CPU als ein PCI-Vermittler erkannt, und der "01"-
Kennsatz ist für die PCI-PCI-Brücke vorgesehen.
Die PCI-PCI-Brücke der Art "01" weist jedoch verschiedene Pro
bleme auf. Zum Beispiel kann sie nur ein begrenztes BIOS unter
stützen, es ist schwierig, eine DMA(Direct Memory Access, di
rekter Speicherzugriff)-Funktion zu unterstützen, und es ist
schwierig, einen LSI-Kern in einer Vorrichtung mit dem sekundä
ren PCI-Bus einzubauen. Demgemäß ist das Verwenden des "01"-
Kennsatzes ziemlich nachteilig, wenn verschiedene Schaltungen
für die Bildverarbeitung in einer integrierten Halbleiterschal
tungsvorrichtung eingebaut sind, von denen eine ein PCI-Ver
mittler ist. Eine Datenübertragung durch die primären und se
kundären PCI-Busse muß stabil sein und bei einer hohen Ge
schwindigkeit stattfinden. Hier ist im allgemeinen der sekun
däre Bus schneller als der primäre Bus. Demgemäß wird ein FIFO
(First-In-First-Out-Speicher bzw. Eingangsfolgespeicher) für
die Datenübertragung benutzt. Falls es jedoch eine Spezifika
tionsänderung geben sollte, muß auch das FIFO-Design geändert
werden, was eine längere Zeitperiode, die für das Gesamtdesign
(bzw. den Gesamtentwurf) nötig ist, zur Folge hat.
Ferner ist es vorteilhaft, die Kompatibilität (Verträglichkeit)
mit einer vorhandenen VGA-Vorrichtung derart zu sichern, daß
keinerlei Schwierigkeiten oder Unfälle zum Zeitpunkt des Ladens
(Bootens) auf der VGA-Vorrichtung angezeigt werden. Obwohl es
möglich ist, eine Fehlermeldung zum Zeitpunkt des Ladens unter
Verwenden der Ergänzungsplatine für die oben erwähnte Grafik
verarbeitung anzuzeigen, ist eine derartige Verarbeitung im
Vergleich zu dem Vorgang, der die vorhandene VGA-Vorrichtung
benutzt, kompliziert. Deshalb ist es vorzuziehen, daß Komponen
ten einschließlich der VGA-Vorrichtung mit dem sekundären PCI-
Bus verbunden sind, und daß die Komponenten wie es nötig ist
geschaltet werden. Ein derartiger Ansatz ist jedoch schwierig
für die PCI-PCI-Brücke des "01"-Kennsatzes.
Deshalb ist es eine Aufgabe der vorliegenden Erfindung, eine
PCI-PCI-Brücke anzugeben, welche eine integrierte Halbleiter
schaltungsvorrichtung, die einen sekundären PCI-Bus aufweist,
mit einem primären PCI-Bus ohne Verwenden des "01"-Kennsatzes
verbindet und zu einem unabhängigen Steuern einzelner PCI-Ver
mittler fähig ist,
welche fähig ist, einen sekundären PCI-Bus und einen primären PCI-Bus in Fällen zu verbinden, in denen eine VGA-Vorrichtung wie auch PCI-Vermittler eingebaut sind,
welche in einer einfachen Weise eine Fehlermeldungsanzeige zum Zeitpunkt des Ladens unter Verwenden einer vorhandenen VGA-Vor richtung ermöglicht,
welche eine DMA-Übertragung ermöglicht,
welche zu einer Hochgeschwindigkeitsdatenübertragung zwischen einem Hauptspeicher und einem PCI-Vermittler oder einer Be triebsschaltung zum Ausführen einer bestimmten Betriebsweise auf dem sekundären PCI-Bus fähig ist, und
einen FIFO anzugeben, welcher für die PCI-Brücke benutzt wird und das Design bzw. den Aufbau der PCI-PCI-Brücke erleichtert.
welche fähig ist, einen sekundären PCI-Bus und einen primären PCI-Bus in Fällen zu verbinden, in denen eine VGA-Vorrichtung wie auch PCI-Vermittler eingebaut sind,
welche in einer einfachen Weise eine Fehlermeldungsanzeige zum Zeitpunkt des Ladens unter Verwenden einer vorhandenen VGA-Vor richtung ermöglicht,
welche eine DMA-Übertragung ermöglicht,
welche zu einer Hochgeschwindigkeitsdatenübertragung zwischen einem Hauptspeicher und einem PCI-Vermittler oder einer Be triebsschaltung zum Ausführen einer bestimmten Betriebsweise auf dem sekundären PCI-Bus fähig ist, und
einen FIFO anzugeben, welcher für die PCI-Brücke benutzt wird und das Design bzw. den Aufbau der PCI-PCI-Brücke erleichtert.
Diese Aufgabe wird gelöst durch eine PCI-PCI-Brücke nach An
spruch 1 bzw. einen Speicher nach Anspruch 12 bzw. 13.
Weiterbildungen der Erfindung sind in den Unteransprüchen ange
geben.
Die PCI-PCI-Brücke gemäß Ausführungsformen der vorliegenden Er
findung ist mit einem primären PCI-Bus und einem sekundären
PCI-Bus verbunden und weist eine Brückenschaltung zum Verbinden
des sekundären und primären PCI-Busses und zum Steuern der Da
tenübertragung dazwischen auf. Die Brückenschaltung besitzt
einen "00"-Konfigurationskennsatz und weist eine Schaltung zum
Identifizieren zu dem Zeitpunkt der Konfiguration eines einer
Mehrzahl von PCI-Vermittlern auf dem sekundären PCI-Bus auf der
Basis eines Wertes eines Funktionsnummernfeldes eines Konfigu
rationsbefehls, welcher von einem Vorrichtungstreiber angelegt
ist, und zum Ausführenlassen der Konfiguration durch die iden
tifizierten Vermittler auf.
Die PCI-PCI-Brücke, welche einen "00"-Kennsatz verwendet, wird
durch das BIOS auf sichere Weise unterstützt. Obwohl die Brücke
nicht durch das BIOS als eine PCI-PCI-Brücke erkannt wird, ist
die Brücke fähig, einen einer Mehrzahl von PCI-Vermittlern auf
dem sekundären PCI-Bus unter Verwendung des Funktionsnummern
feldes des Konfigurationskennsatzes derart zu identifizieren,
daß sie es dem identifizierten Vermittler ermöglicht, die Kon
figuration auszuführen. Als eine Folge wird es für einen Vor
richtungstreiber möglich, Vermittler auf dem sekundären PCI-Bus
auf flexible Weise zu steuern.
Die Mehrzahl von PCI-Vermittlern weist eine VGA-Vorrichtung und
andere PCI-Vermittler auf. Die Brückenschaltung ist auf selek
tive Weise in einem eines ersten Modus, in dem ein Speicherab
bild nur für die VGA-Vorrichtung aktiv ist, und eines zweiten
Modus, in dem PCI-Vermittlern, welche andere sind als das VGA,
aktiv sind, betreibbar.
Daß das Schalten zwischen dem ersten Modus, in dem nur die VGA-
Vorrichtung betreibbar ist, und dem zweiten Modus, in dem PCI-
Vermittler, welche andere sind als das VGA, betreibbar sind,
möglich ist, ermöglicht eine gleichzeitige Ausführung eines
Programmes, welches das VGA verwendet und in dem üblichen DOS
arbeitet, und einer neuen Prozedur (bzw. Verfahren) durch einen
PCI-Vermittler.
Die Brückenschaltung wird in dem ersten Modus geladen und in
den zweiten Modus geschaltet durch einen Vorrichtungstreiber,
welcher auf einem Prozessor arbeitet, der mit dem primären PCI-
Bus verbunden ist.
Da die Brückenschaltung in dem ersten Modus, in dem nur das
Speicherabbild für das VGA aktiv ist, aktiviert wird, kann die
Anzeige beispielsweise einer Fehlermeldung auf einfache Weise
durch das VGA durchgeführt werden. Hat der Vorrichtungstreiber
seinen Betrieb gestartet (bzw. begonnen), wird der Betriebsmo
dus in den zweiten Modus geschaltet, und deshalb kann das Aus
führen eines Verarbeitens unter Verwendung der PCI-Vorrichtung
ruhig gestartet werden.
Ferner weist die PCI-PCI-Brücke eine Betriebsschaltung zum Aus
führen eines bestimmten Verarbeitens, die fähig zu einer Daten
übertragung mit dem primären und dem sekundären PCI-Bus ist,
auf. Die Brückenschaltung verwaltet eine Datenübertragung/einen
Datenempfang zwischen der Betriebsschaltung und dem primären
und sekundären Bus.
Das Verwirklichen der Betriebsschaltung auf der PCI-PCI-Brücke
sichert eine leistungsfähige Bedienung für das Hauptrechner-
CPU. Insbesondere wenn die Menge der Berechnung gewaltig ist,
wie in einer Grafikverarbeitung, verringert das Vorsehen einer
zweckbestimmten Betriebsschaltung die Last auf das Hauptrech
ner-CPU.
Die PCI-PCI-Brücke weist ferner eine Schnellablaufdatenübertra
gungsschaltung auf, welche für ein Triggern einer direkten Da
tenübertragung von dem Hauptspeicher durch den Vorrichtungs
treiber zum Ausführen der folgenden zweckbestimmten Datenüber
tragung ohne ein Eingreifen des Vorrichtungstreibers verant
wortlich ist, und verantwortlich ist für eine Verbindungsliste,
welche an ein hinteres Ende eines zu übertragenden Datenblockes
angehängt ist, zum Ausführen einer Datenübertragung, welche
durch die Verbindungsliste neu bestimmt ist, ohne ein Eingrei
fen des Vorrichtungstreibers.
Ist die anfängliche DMA-Übertragung einmal eingesetzt, wird die
DMA-Übertragung in einem Schnellablauf konfiguriert, und die
nächste DMA-Übertragung wird automatisch ausgeführt. Demgemäß
gibt es keinen zusätzlichen Platzbedarf (bzw. Raumbedarf) des
Hauptrechners (Host; Vorrichtungstreibers) bei der Datenüber
tragung von dem Hauptspeicher zu anderen Komponenten, wodurch
eine effiziente Datenübertragung möglich ist.
Gemäß eines anderen Aspektes ist ein First-In-First-Out-Spei
cher (Eingangsfolgespeicher) zum Anschließen einer Datenüber
tragung zwischen Komponenten, welche auf verschiedenen Taktfre
quenzen arbeiten, vorgesehen und weist eine Schreibzustandsma
schine für einen Schreibanschluß, eine Lesezustandsmaschine für
einen Leseanschluß und eine Mehrzahl von Speicherbereichen
(bzw. Speicherbanken), welche parallel zwischen der Schreibzu
standsmaschine und der Lesezustandsmaschine angeordnet sind,
auf.
Die Größe des First-In-First-Out-Speichers kann auf einfache
Weise durch die Anzahl von Speicherbereichen, welche parallel
zwischen der Schreibzustandsmaschine und der Lesezustandsma
schine angeordnet sind, geändert werden. Mit dem auf diese
Weise aufgebauten First-In-First-Out-Speicher ist in einem
Design (bzw. in einer Anordnung), welches beispielsweise eine
Hardware-Beschreibungssprache verwendet, die Größe des First-
In-First-Out-Speichers auf einen Parameter verringert, d. h. auf
die Anzahl von angeordneten Speicherbereichen. Dies vereinfacht
das Modifizieren des Designs des First-In-First-Out-Speichers
bei einem plötzlichen Designwechsel oder Spezifikationswechsel,
und daher wird die Zeitspanne, welche für die Vorrichtungsent
wicklung nötig ist, kürzer.
Gemäß eines weiteren Aspektes ist die PCI-PCI-Brücke mit einem
primären PCI-Bus und einem sekundären PCI-Bus verbunden und
weist eine Brücke zum Verbinden des sekundären und des primären
PCI-Busses auf. Die Brücke besitzt einen "00"-Konfigurations
kennsatz und identifiziert zu dem Zeitpunkt der Konfiguration
einen einer Mehrzahl von PCI-Vermittlern auf dem sekundären
PCI-Bus auf der Basis eines Wertes eines Funktionsnummernfeldes
eines Konfigurationsbefehls, welcher von dem Vorrichtungstrei
ber angelegt ist, und läßt die identifizierten Vermittler die
Konfiguration ausführen.
Die Mehrzahl von PCI-Vermittlern weist eine VGA-Vorrichtung und
andere PCI-Vermittler auf. Die Brücke ist selektiv in einem
eines ersten Modus, in dem nur ein Speicherabbild für die VGA-
Vorrichtung aktiv ist, und eines zweiten Modus, in dem PCI-Ver
mittler, welche andere sind als das VGA, aktiv sind, betreib
bar.
Die Brücke wird in dem ersten Modus geladen und zu dem zweiten
Modus geschaltet durch den Vorrichtungstreiber, welcher auf
einem Prozessor arbeitet, welcher mit dem primären PCI-Bus ver
bunden ist.
Die PCI-PCI-Brücke weist ferner einen Betriebskern auf, der zu
einer Datenübertragung mit dem primären und dem sekundären PCI-
Bus fähig ist, zum Ausführen eines bestimmten Verarbeitens. Die
Brücke verwaltet eine Datenübertragung/einen Datenempfang zwi
schen dem Betriebskern und dem primären und dem sekundären PCI-
Bus.
Weitere Merkmale und Zweckmäßigkeiten ergeben sich aus der fol
genden Beschreibung von Ausführungsformen der vorliegenden Er
findung anhand der beiliegenden Figuren. Von diesen zeigen:
Fig. 1 ein Blockdiagramm einer Gesamtkonfiguration
eines Systems, welches eine PCI-PCI-Brücke gemäß
einer ersten Ausführungsform der vorliegenden
Erfindung aufweist,
Fig. 2 ein Blockdiagramm der PCI-PCI-Brücke gemäß der
ersten Ausführungsform der vorliegenden Erfin
dung,
Fig. 3 eine Bitkonfiguration des "00"-Kennsatzes,
Fig. 4 eine Tabelle einer Beziehung zwischen Funktions
nummern und entsprechenden Vorrichtungen,
Fig. 5 eine Tabelle der Bedeutungen von Koppelleitungs
signalwerten, welche anzeigen, ob eine VGA-Vor
richtung enthalten ist oder nicht,
Fig. 6 das Lesen aus einem Ergänzungsregister (bzw.
nicht-adressierbaren Register),
Fig. 7 das Schreiben in ein Ergänzungsregister,
Fig. 8, 9 und 10 ein Maskieren zum Zeitpunkt des Schreibens in
das Register,
Fig. 11 ein allgemeines schematisches Speicherabbild,
Fig. 12 ein schematisches VGA-Speicherabbild
Fig. 13 die Beziehung einer IDSEL-Verbindung zwischen
der Brücke und einer VGA-Vorrichtung,
Fig. 14 eine Tabelle von Registern zum Einstellen einer
DMA-Übertragung
Fig. 15, 16, 17 und 18 ein Verfahren der Schnellablaufkonfiguration zur
DMA-Übertragung,
Fig. 19 niederwertige (bzw. untere) 2 Bits einer
"DMA_Quelle" von Verbindungsdaten,
Fig. 20 einen asynchronen Quittungsaustausch (d. h. Hand
shake-Betrieb) eines FSM und eines SSO FSM in
einem primären I/O,
Fig. 21 die Beziehung einer Signaleingabe/ausgabe zwi
schen dem SSO FSM und einem sekundären FSM,
Fig. 22 ein Zustandsschaubild des SSO FSM,
Fig. 23 eine Darstellung von Signalformen, wenn ein
"P2S"-POST-Betrieb (power on self testing,
Einschaltselbsttesten) auf kontinuierliche Weise
für eine Mehrzahl von Zyklen ermöglicht wird,
Fig. 24A und 24B eine Beziehung zwischen einem Wert eines
"P2S_Burst"-Registers und einem Datenübertra
gungszeitablauf,
Fig. 25A und 25B eine Beziehung zwischen einem Wert eines
"C2S_Burst"-Registers und einem Datenübertra
gungszeitablauf,
Fig. 26A und 26B eine Beziehung zwischen einem Wert eines
"DMA_Burst"-Registers und einem Datenübertra
gungszeitablauf,
Fig. 27 eine schematische Konfiguration eines POST-
Betriebs-FIFO-Puffers, und
Fig. 28 eine Konfiguration einer Positionsscheibe in dem
POST-Betriebs-FIFO.
Im folgenden wird eine Ausführungsform beschrieben, welche als
eine Ergänzungsplatine unter Verwendung einer PCI-PCI-Brücke,
die in einem Grafikprozessor eingebaut ist, verwirklicht ist.
Es versteht sich von selbst, daß Ausführungsformen der vorlie
genden Erfindung in der Form einer beliebigen Platine verwirk
licht werden können, welche nicht nur für den Grafikprozessor,
sondern auch für andere Verarbeitungen geeignet sind.
Es wird auf Fig. 1 Bezug genommen; eine PCI-PCI-Brücke 40 gemäß
einer Ausführungsform der PCI-PCI-Brücke der vorliegenden Er
findung ist auf einer Ergänzungsplatine 24 verwirklicht (d. h.
eingebaut) und ist mit einem primären PCI-Bus 20 verbunden.
Eine Hauptplatine 22 ist mit dem primären PCI-Bus 20 verbunden.
Verschiedene Schaltungen auf der Ergänzungsplatine werden durch
ein BIOS gesteuert, das durch einen Prozessor 32 oder einen
Vorrichtungstreiber auf der Hauptplatine 22 ausgeführt wird.
Die Hauptplatine 22 weist einen Prozessor 32, ein Cache 34,
einen Speicher 38 und einen Chipsatz 36 zum Steuern der Daten
übertragung jeweils zwischen dem Prozessor 32, dem Speicher 38
und dem primären PCI-Bus 20 auf.
Die Ergänzungsplatine 24 weist einen sekundären PCI-Bus 46,
welcher durch die PCI-PCI-Brücke 40 mit dem primären PCI-Bus 20
verbunden ist, einen RC (Rendering Controller, Bildaufberei
tungssteuerung) 48 zur Grafikbildaufbereitung, zwei verschie
dene Vorrichtungen 50 und 52 bzw. eine VGA-Vorrichtung 54, wel
che mit dem sekundären PCI-Bus 46 verbunden sind, auf. Die PCI-
PCI-Brücke 40 weist einen GE(Geometric Engine, geometrische
Maschine)-Kern 44 zum Ausführen einer geometrischen Betriebs
weise unter den Bildverarbeitungen und einen Brückenabschnitt
42 zum Anschließen einer Datenübertragung jeweils zwischen dem
primären PCI-Bus 20, dem sekundären PCI-Bus 46 und dem GE-Kern
44 auf. Es versteht sich von selbst, daß die PCI-Vorrichtungs
konfiguration nicht auf das in dieser Ausführungsform gezeigte
Beispiel beschränkt ist.
Es wird auf Fig. 2 Bezug genommen; die PCI-PCI-Brücke 40 wird
nun detaillierter beschrieben. Die PCI-PCI-Brücke 40 weist
einen Kern-I/O (d. h. Kern-Eingabe/Ausgabe) 66 zwischen dem
Brückenabschnitt 42 und dem GE-Kern 44, einen primären I/O
(d. h. Eingabe/Ausgabe) 62 zwischen dem Brückenabschnitt 42 und
dem primären PCI-Bus 20 und einen sekundären I/O 64 zwischen
dem Brückenabschnitt 42 und dem sekundären PCI-Bus 46 auf. Der
GE-Kern 44 sichert eine leistungsfähige Unterstützung für die
Bildverarbeitung und verringert die Last auf den Prozessor 32.
Der primäre I/O 62 weist einen Ziel-FSM (target-FSM; Finite
State Machine, endlicher Automat oder Zustandsmaschine) 72 und
einen Haupt-FSM (d. h. Master-FSM) 74 auf. Der sekundäre I/O 64
weist einen Haupt-FSM 76 auf, welcher die Eingabe/Ausgabe in
und aus dem sekundären PCI-Bus 46 steuert. Der sekundäre I/O 64
weist SSO (Simultaneous Switching Outputs, gleichzeitige
Schaltausgaben) auf, welche nicht gezeigt sind, als einen Auto
mat, der die Betriebsweisen des primären und sekundären PCI-
Busses 20 und 46 steuert, wie später beschrieben wird.
Der Brückenabschnitt 42 weist ein FIFO 82 zwischen dem primären
I/O 62 und dem sekundären I/O 64 und FIFOs 84 und 86 auf,
welche zwischen dem primären I/O 62 und dem GE-Kern 44
bzw. zwischen dem sekundären I/O 64 und dem GE-Kern 44 vorgesehen
sind.
Von den Konfigurationsplatzkennsätzen (bzw. Konfigurationskenn
sätzen oder Konfigurationsraumkennsätzen) gemäß des PCI-Bus-
Standards wird der "00"-Kennsatz in der Ergänzungsplatine 24
gemäß der vorliegenden Ausführungsform benutzt, und wird auf
sichere Weise durch alle BIOS unterstützt. Aufgrund des Fehlens
der BIOS-Unterstützung für PCI-PCI-Brücken, welche den "01"-
Konfigurationsplatz aufweisen, wurde ein besonderer Ansatz in
der vorliegenden Ausführungsform durchgeführt, wie im folgenden
erklärt wird.
Der Konfigurationsplatz bzw. Konfigurationsraum, der sich in
neralb der Ergänzungsplatine 24 befindet, wird nur durch das
Brückenchip vertreten, wenn der "00"-Kennsatz benutzt wird.
Verschiedene PCI-Vermittler und dergleichen, welche darin ent
halten sind, können nicht durch das BIOS, das durch den Prozes
sor 32 ausgeführt wird, erfaßt werden. Die PCI-Vermittler oder
das VGA in der Ergänzungsplatine 24 kann nicht einen beliebigen
Speicherplatz bzw. Speicherraum von dem BIOS abrufen, wenn eine
POST(Power-On Self Testing, Einschaltselbsttesten) -Routine,
welche ein Teil des BIOS ist, zum Erhalten einer Information
für die Konfiguration (bzw. für das Konfigurieren) beim Ein
schalten ausgeführt wird. Daher muß in der Ergänzungsplatine 24
gemäß der vorliegenden Ausführungsform die PCI-PCI-Brücke den
Speicherraum für die Vermittler oder das VGA abrufen. Da sich
die VGA-Vorrichtung 54 auf der Ergänzungsplatine 24 der vorlie
genden Ausführungsform befindet, muß die Verwaltung des Spei
cherraumes zusätzlich zu dem Zeitpunkt des Ladens berücksich
tigt werden, was später beschrieben wird.
Alle Register mit Ausnahme von ID-Registern (wie beispielsweise
Verkäufer/Vorrichtungs- und Nachprüfungs-ID), welche einzigar
tige IDs liefern, vertreten (d. h. repräsentieren) die Ergän
zungsplatine 24, wie sie an dem primären PCI-Bus erfaßt wird.
Beispielsweise bestimmen die Zustands/Befehl's-Bits in einem
Register 04h das Verhalten der Ergänzungsplatine auf dem
primären PCI-Bus. Falls Speicherzyklen über das Bit [1] des
Registers 04h in dem Konfigurationsraum der Brücke gesperrt
werden, können keine Daten zu den Vorrichtungen auf dem sekun
dären PCI-Bus übertragen werden, sogar falls ihre Konfigura
tionseinstellung Speicherzyklen freigibt.
Nach dem Initialisieren/Zurücksetzen befindet sich die Ergän
zungsplatine in einem gesperrten Zustand. Während der POST-
Routine wird der Brücke durch das BIOS Speicherplatz (bzw.
Speicherraum) zugeordnet gemäß des Wertes in einem Register 10h
des Konfigurationsplatzes der Brücke. Die Zuordnung des Spei
cherplatzes wird durch die PCI-PCI-Brücke 40 im Auftrag der
Ergänzungsplatine angefordert. Das BIOS ordnet den Platz bzw.
Raum der PCI-PCI-Brücke 40 zu, während es keinen Einfluß auf
die Zuordnungsgrenzen innerhalb dieses Raumes ausübt. Die
Zuordnungsgrenzen werden nur durch die PCI-PCI-Brücke 40 und
den Vorrichtungstreiber, der auf dem Prozessor 32 arbeitet,
bestimmt.
Das BIOS erkennt nicht die Existenz des sekundären PCI-Busses,
da kein "01"-Kennsatz für die PCI-PCI-Brücke der vorliegenden
Ausführungsform benutzt wurde. Daher muß der Vorrichtungstrei
ber die Vorrichtungen auf dem sekundären PCI-Bus initialisieren
und konfigurieren, anstelle des BIOS. Dies beinhaltet zunächst
das Setzen von Basisadressenregistern (BAR). Der Inhalt der
BARs vertritt (d. h. repräsentiert) den Offset (d. h. Versatz)
des Speicherraumes, der entsprechenden Vorrichtungen zugewiesen
ist. Da kein Speicherraum entsprechenden Vorrichtungen zu
geordnet ist, kann auf die Vorrichtungen nicht über "Speicher
lese/schreib"-Befehle zugegriffen werden. Jedoch kann der Vor
richtungstreiber auf die Konfigurationsplätze der Vorrichtungen
über einen bestimmten "Konfigurationslese/schreib"-Befehl
(welcher im folgenden beschrieben wird) zugreifen.
Auf der Basis des Wertes, welcher in das Register 10h des Kon
figurationsraumes der Brücke durch das BIOS geschrieben wurde,
ordnet der Vorrichtungstreiber die Basisadresse (bzw. Grund
adresse) der Vorrichtungen, die mit dem sekundären PCI-Bus
verbunden sind, gemäß des Speicherabbildes zu. Daher muß der
Vorrichtungstreiber die entsprechenden Werte in das Register
10h des Konfigurationsraumes der entsprechenden Vorrichtung auf
dem sekundären PCI-Bus schreiben.
Der Konfigurationsmechanismus #1 verwendet, wie durch die PCI-
Spezifikation (Überarbeitung 2.1) vorgeschlagen ist, zwei
DWort-(DWort vertritt zwei 16-Bit-Wörter)-I/O-Stellen für das
Erzeugen von Konfigurationszyklen (bzw. Konfigurierungszyklen)
über die Hauptrechnerbrücke. Die erste DWort-Stelle (CF8h) be
zieht sich auf ein R/W-Register mit dem Namen "CONFIG_ADDRESS".
Fig. 3 zeigt ein Format dieses Registers 90.
Es wird auf Fig. 3 Bezug genommen; das Register 90 weist die
Registernummer (Bits [7 : 2]) und die Funktionsnummer (Bits
[10 : 8]) des Ziel-Konfigurationsraumes auf. Da die Brücke einen
"00"-Kennsatz verwendet, wird die Brücke nicht als eine Mehr
funktions-Vorrichtung (multifunktionale Vorrichtung) betrach
tet, und drei Bits der Funktionsnummer werden nicht durch das
BIOS benutzt. Deshalb können diese drei Bits frei durch den
Vorrichtungstreiber verwendet werden. Der Ziel-Konfigurations
raum wird durch Verwenden dieser drei Bits bestimmt, und die
Weise der Bestimmung ist in Fig. 4 in der Form einer Tabelle
angezeigt.
In Fig. 4 vertritt "AD" Daten auf einem Adreß-Vorrichtungsbus
(bzw. Adreß•Vorrichtungsbus). "Bestimmungsort" vertritt den
Bestimmungsort. Die rechte Spalte der Fig. 4 vertritt Beispiele
(bzw. stellt diese dar) von Zielvorrichtungen, welche den Be
stimmungsorten entsprechen. Unter den Beispielen der Fig. 4 ist
die Funktionsnummer ohne Fehler zugeordnet, wenn es eine VGA-
Vorrichtung gibt. Mit Ausnahme der VGA-Vorrichtung können alle
Vorrichtungen willkürlich durch den Systemplaner bzw. System
entwerfer) angesteuert werden.
Auf den Konfigurationsraum der Brücke kann direkt und ohne
Wartezeit zugegriffen werden durch Setzen der Funktionsnummer
auf 000b (oder voreingestellte Werte 101b, 110b, 111b). Falls
beispielsweise auf eine Vorrichtung 1 (VORR_1) zugegriffen wer
den soll, muß die Funktionsnummer auf 001b gesetzt sein. Auf
dem primären PCI-Bus wird ein Konfigurationszyklus (bzw. Konfi
gurierungszyklus) erzeugt und durch die Brücke beansprucht, da
sein VIDSEL" zu diesem Zeitpunkt aktiviert ist.
Dieses Signal entspricht einem sogenannten Chipauswahlsignal
zum Auswählen einer Vorrichtung zum Ausführen der Konfiguration
bzw. der Konfigurierung. Die Adresse wird durch einen primären
FSM (Finite State Machine, endlicher Automat) in dem Brückenab
schnitt 42 analysiert. Wenn das "100b" in den Funktionsnummern
bits erfaßt wird, wird ein "Brückendatenweg" (Verbinden des
primären I/O 62 mit dem sekundären I/O 64 in Fig. 2) innerhalb
der Brücke verwendet, und der Zyklus schreitet zu dem zweiten
FSM innerhalb der PCI-PCI-Brücke fort. Gemäß der Tabelle der
Fig. 4 wird eine entsprechende "S_A_D" (Secondary Address Data,
Sekundäradreßdaten) -Leitung aktiviert, und der fortgeschrittene
Konfigurationszyklus wird auf dem zweiten PCI-Bus erzeugt. Hier
wird die Funktionsnummer auf 000b zurückgesetzt.
Ein VGA hat einen festen, DOS-kompatiblen (bzw. DOS-verträgli
chen) Speicherbereich (A0000-BFFFFh) und einen festen Satz von
I/O-Anschlüssen (3B0-3BB, 3C0-3DFh). VGA-Vorrichtungen auf
einem PCI haben außerdem relativierbare (d. h. verschiebbare)
Optionen für den Speicher und für den IO-Raum.
Falls mehrere VGA-Vorrichtungen in dem System vorhanden sind,
können sie nicht denselben Speicher und denselben IO-Raum tei
len. Deshalb relativiert (d. h. verschiebt) das BIOS diese, wie
es nötig ist, bevor es die VGA-Vorrichtungen freigibt. Es ist
erforderlich, daß alle PCI-Vorrichtungen mit gesperrtem zuge
hörigen Speicher und I/O-Raum eingeschaltet werden, um Kon
flikte zu verhindern, bis die POST-Routine beendet ist.
Die PCI-PCI-Brücke der vorliegenden Ausführungsform unterstützt
sowohl voreingestellten, DOS-kompatiblen Speicherraum und sein
relativiertes Gegenstück. Jedoch unterstützt es nur DOS-kompa
tiblen voreingestellten I/O-Raum und sein relativiertes Gegen
stück innerhalb der unteren 64 KB, wie auch einige bestimmte
Adressen.
Die Vorrichtungen, die sich an dem sekundären PCI-Bus befinden,
können nicht durch das BIOS erfaßt werden, wenn der "00"-Kenn
satz in der PCI-PCI-Brücke benutzt wird. Falls es eine VGA-
Vorrichtung auf dem sekundären Bus gibt, muß sie dem BIOS wäh
rend der POST-Routine angezeigt werden.
Die PCI-PCI-Brücke der vorliegenden Ausführungsform muß im vor
aus wissen, ob es eine VGA-Vorrichtung auf dem sekundären PCI-
Bus gibt. Diese Information wird durch ein Koppelleitungssignal
gesetzt, welche an einen bestimmten Anschlußstift, wie bei
spielsweise in Fig. 5 gezeigt, angelegt wird. Das Signal wird
beispielsweise durch einen DIP-Schalter angelegt und nur einmal
gesetzt in Abhängigkeit davon, ob die Vorrichtungen, die mit
der sekundären PCI-Brücke verbunden sind, eine VGA-Vorrichtung
aufweisen oder nicht. In dem in Fig. 5 gezeigten Beispiel ist,
falls das Signal, welches an den Anschlußstift angelegt ist, 0b
lautet, eine VGA-Vorrichtung nicht vorhanden bzw. falls das
Signal 1b lautet, ist eine VGA-Vorrichtung vorhanden.
Falls der Wert des Koppelleitungssignals "an" lautet, d. h. wenn
der Wert des Anschlußstiftes 1b beträgt, müssen die mit dem VGA
in Beziehung stehenden Register innerhalb des Konfigurations
raumes durch die PCI-PCI-Brücke ergänzt werden. Hier bedeutet
"ergänzen" kurz gesagt das Halten einer Kopie. Insbesondere ist
außer den Voreinstellungsregistern (bzw. voreingestellten Regi
stern) ein zweckbestimmtes Register für VGA-bezogene Zugriffe
in der PCI-PCI-Brücke vorgesehen. Abhängig von dem Koppellei
tungssignalwert wird entweder das Voreinstellungsregister oder
das zweckbestimmte VGA-Register für einen Lese/Schreib-Zugriff
auf den Konfigurationsraum der PCI-PCI-Brücke ausgewählt.
Register, die ergänzt werden sollen, weisen Befehlsregister
[04h], Ergänzungsplatinen-Speicherbasisadreßregister [10h] und
erweiterte ROM-Basisadreßregister [30h] auf.
Es wird auf Fig. 6 Bezug genommen; eine Kopie des Registers 04h
der VGA-Vorrichtung 54 wird in der PCI-PCI-Brücke 40 gehalten.
Wenn das Koppelleitungssignal an ist und es einen Konfigura
tionslesezugriff gibt, wird ein Wert nicht von dem Register 04h
der VGA-Vorrichtung 54, sondern von der Kopie, welche dem Regi
ster 04h der PCI-PCI-Brücke 40 entspricht, gelesen, wie es in
Fig. 6 gezeigt ist. Im Falle des Schreibens werden kopierte Re
gister der PCI-PCI-Brücke 40 geschrieben, und der Zyklus wird
in der PCI-PCI-Brücke 40 maskiert, und durch den sekundären
PCI-Bus 46 wird das Register 04h in den Konfigurationsraum der
VGA-Vorrichtung 54 geschrieben.
Daher werden die wesentlichen Register des Konfigurationsraumes
der VGA-Vorrichtung während des POST-Betriebes wie erforderlich
initialisiert. Das BIOS gibt den Speicher und den I/O-Raum frei
durch Setzen der entsprechenden Bits in das Befehlsregister,
dessen Information ebenfalls zu der VGA-Vorrichtung geliefert
wird, wodurch die VGA-Vorrichtung initialisiert/konfiguriert
wird.
Besondere Sorgfalt muß angewendet werden, wenn die VGA-bezoge
nen Konfigurationszyklen zu der VGA-Vorrichtung auf dem sekun
dären Bus geliefert werden. Zum Beispiel unterstützt die PCI-
PCI-Brücke nicht das Abtasten einer DAC(Digital/Analog Conver
sion, Digital/Analog-Umwandlung)-Palette. Daher wird Bit [5]
des Konfigurationsraumes der PCI-PCI-Brücke auf "0" festver
drahtet und sind nicht beschreibbar. Falls der vollständige
Konfigurationszyklus zu dem sekundären PCI-Bus fortgeschritten
ist, wird fehlerhaftes Schreiben in das Register 04h des Konfi
gurationsraumes der VGA-Vorrichtung möglich, wodurch ein Abta
sten auf dem sekundären PCI-Bus freigegeben werden kann.
Demgemäß werden kritische Bitbereiche gegen ein beliebiges zu
fälliges Schreiben durch Maskieren der entsprechenden Bits ge
schützt. Im Falle des Registers 04h werden die Bits [15 : 2]
zwangsweise auf "0" gesetzt, wie in Fig. 8 gezeigt ist.
Das selektive Maskieren ermöglicht, daß die Zustandsbits ge
löscht werden und der Speicher und der I/O-Raum der VGA-Vor
richtung freigegeben wird. Das Löschen der Zustandsbits ist
eine Vorsichtsmaßnahme, um eine Fehlfunktion der VGA-Vorrich
tung nach dem Zurücksetzen zu verhindern, falls seine Zustands
bits nicht gelöscht sind. Das BIOS löscht typischerweise jene
Bits während der Initialisierung vor anderen Zugriffen auf die
VGA-Vorrichtung.
Das Register 10h ist nicht von der Koppelleitung abhängig, so
weit Lese/Schreibzulassungen betroffen sind. Falls ein Konfigu
rationsschreibzugriff auf dieses Register stattfindet, wird
jedoch der Zugriff zu der sekundären Seite geliefert. Fig. 9
zeigt ein Maskieren zu dem Zeitpunkt des Lieferns (bzw. Fort
schreitens).
Das Maskieren der unteren (bzw. niederwertigsten) 27 Bits, wie
sie in Fig. 9 gezeigt sind, sichert, daß der Speicherraum der
VGA-Vorrichtung auf 128 Mbyte ausgerichtet wird. In anderen
Worten wird die untere Grenze des Speicherraumes der VGA-Vor
richtung mit dem unteren Bereich des Speicherbereiches, der
durch die PCI-PCI-Brücke abgerufen wird, ausgerichtet.
Register 30h ist vollständig abhängig von der Koppelleitung und
wird nicht beschreibbar sein, falls das Koppelleitungssignal
aus ist. Falls das Koppelleitungssignal an ist, findet ein Mas
kieren, wie es in Fig. 10 gezeigt ist, statt. Das Maskieren der
unteren (bzw. niederwertigsten) 24 Bits (unter der Annahme, daß
LSB "0" beträgt) sichert, daß der ROM-Raum der VGA-Vorrichtung
auf 16 Mbyte ausgerichtet ist, und gibt dem BIOS die Fähigkeit,
das Erweiterungs-ROM über den LSB freizugeben/zu sperren.
Die Größe des Speicherraumes, der durch das Register 10h des
Konfigurationsraumes der VGA-Vorrichtung abgerufen wird, hängt
von der entsprechenden VGA-Vorrichtung ab. Die Größe kann von
mehreren Mbit bis 64 Mbyte oder mehr reichen. Um so viele VGA-
Vorrichtungen wie möglich zu unterstützen, wird der folgende
besondere Ansatz gemacht.
Insbesondere wird der Vorrichtungstreiber angepaßt, um zwischen
einem auswählbaren (bzw. kompatiblen) Speicherabbild, wie es in
Fig. 11 gezeigt ist, und dem VGA-Speicherabbild, wie es in Fig.
12 gezeigt ist, zu schalten. Schalten ist möglich durch Betrei
ben des Bit [0] eines Registers 40h des PCI-PCI-Brücken-Konfi
gurationsraumes. Es wird auf Fig. 11 Bezug genommen; gemäß des
auswählbaren Speicherabbilds wird ein Speicherraum 120 in einen
Raum 132 zum Überbrücken (Steuerung) der unteren 4 Mbyte, einen
Raum 134 zum Überbrücken (Kern) der darüber angeordneten 4
Mbyte und einen Raum 136 für entsprechende Vorrichtungen ge
teilt. Das VGA-Speicherabbild wird in einen VGA-Raum 138 von
124 Mbyte und einen Raum 140 (4 Mbyte) zum Überbrücken (Steue
rung) darüber geteilt.
Beim Starten läuft die PCI-PCI-Brücke mit dem aktiven VGA-Spei
cherabbild an. Nachdem das BIOS den 5-Bit-Offset festsetzt,
d. h. 128-Mbyte-Speicherbereich zuordnet, liefert die PCI-PCI-
Brücke die unteren 124 Mbyte an den sekundären PCI-Bus. Da alle
Vorrichtungen mit Ausnahme der VGA-Vorrichtung mit gesperrtem
Speicher und I/O-Raum anlaufen, beansprucht nur das VGA, wel
ches durch das BIOS freigegeben wurde, die Zyklen. Nach dem
Laden startet der Vorrichtungstreiber seine Funktion (seinen
Betrieb). Der Vorrichtungstreiber sperrt das VGA, gibt andere
Vorrichtungen frei und wählt das auswählbare Speicherabbild
aus. Beim Starten wird das VGA-Speicherabbild ausgewählt, und
es erleichtert die Anzeige einer Fehlermeldung, falls vorhan
den, durch Verwenden der VGA-Vorrichtung. Das Speicherabbild
der Fig. 11 und das Speicherabbild der Fig. 12 kann durch den
Betrieb des Bit [0] des Registers 40h des PCI-PCI-Brücken-Kon
figurationsraumes geschaltet werden. Demgemäß wird, wenn ein
DOS-kompatibles Programm benutzt wird, das Programm durch
Schalten des Speicherabbildes zu demjenigen, das in Fig. 12 ge
zeigt ist, ausgeführt.
Um eine Fehlerbehandlung zu unterstützen, müssen die entspre
chenden Antworten ausgewählt werden, die Hilfsmittel müssen
freigegeben werden, und die Zustands-Flags müssen zum Freigeben
des Treibers zugreifbar (bzw. erreichbar) sein, um die Anfragen
(bzw. das Abrufen) zu bedienen (bzw. zu senden). Dies kann
nicht erfolgen, falls der PCI-PCI-Brückenspeicherraum nicht
freigegeben ist, d. h. falls das auf den Speicher abgebildete
Konfigurationsraumregister nicht zugreifbar ist. Deshalb wird
der PCI-PCI-Brückenspeicherraum, der an bzw. in den unteren 4
Mbytes des auswählbaren Speicherabbildes ansässig ist, derart
angepaßt, daß er zu den oberen 4 Mbyte des VGA-Speicherabbildes
verschiebbar (bzw. relativierbar) ist.
Um fähig zu sein, die VGA-bezogenen Konfigurationszyklen zu der
VGA-Vorrichtung zu liefern, muß die VTDSEL"-Leitung einer VGA-
Vorrichtung 54 mit einer festen Leitung wie in Fig. 13 ange
zeigt verbunden sein. Die Verbindung entspricht der in der
Tabelle der Fig. 4.
Wenn ein DMA (Direct Memory Access, Direktspeicherzugriff) aus
geführt wird, arbeitet die PCI-PCI-Brücke als ein Master auf
dem primären PCI-Bus mit dem Hauptspeicher, d. h. der "Haupt
rechnerbrücke" (welche in einem Chipset vorhanden ist) als ein
Ziel. Daten werden entweder zu einem GE-Kern 44 oder zu dem se
kundären PCI-Bus 46 übertragen.
Um einen DMA-Zugriff auszulösen, muß der Vorrichtungstreiber
DMA-bezogene Register mit Werten in der PCI-PCI-Brücke laden
und ein Flag setzen, welches den DMA-Zugriff triggert (d. h.
durch Impulse ansteuert). Die Startadresse des Blockes, welcher
übertragen werden soll, ist in einem Register "DMA_Quelle" ge
speichert. Diese Adresse muß eine gültige Adresse innerhalb des
Speicherraumes des Hauptspeichers sein. Insbesondere muß ein
von der PCI-PCI-Brücke unterschiedliches Ziel auf dem primären
PCI-Bus antworten.
Das tatsächliche Ziel des DMA-Zugriffs wird durch die Adresse
bestimmt, welche in dem Register "DMA_Bestimmungsort geladen
ist. Die Adresse wird mit dem in Fig. 11 gezeigten Speicherab
bild überprüft, und gemäß des Ergebnisses werden Daten zur PCI-
PCI-Brücke übertragen, d. h. zu dem sekundären PCI-Bus.
Die Menge von Daten, welche übertragen werden sollen, wird
durch das Laderegister "DMA_DWorte" mit der Anzahl von DWorten,
welche den Block bilden, bestimmt.
Ferner ist es nötig, wie oben erwähnt wurde, den Flag
"DMA_Trigger" zu setzen, um einen DMA-Zugriff auszulösen.
Von den oben beschriebenen DMA-bezogenen Registern werden die
Register "DMA_Quelle" und "DMA_Bestimmungsort" auf sukzessive
Weise erhöht, wobei sie als Zeiger (bzw. Adressenverweis) der
Stromquelle und der Zieladressen dienen. Das Register
"DMA_DWorte" wird nicht erhöht und wird mit einem Wert eines
zweckbestimmten Zählers, welcher für die DMA-Übertragung vorbe
reitet ist, verglichen. Falls die Zieladresse nicht innerhalb
des Speicherabbildes liegt, bleibt die PCI-PCI-Brücke frei
(IDLE, d. h. nicht in Betrieb), und keine DMA-Übertragung wird
getriggert.
Falls die DMA-Übertragung auf dem primären PCI-Bus erkannt
wird, muß die Erkenntnis dem Vorrichtungstreiber angezeigt wer
den. Zwei Optionen können für diesen Zweck ausgewählt werden.
Nach dem Erkennen der Übertragung auf dem primären PCI-Bus wird
eine Interrupt-Anfrage immer durch ein bestimmtes Bit in dem
Hauptspeicher (MM)-PCI-Register gesetzt. Jedoch kann diese
Interrupt-Anfrage durch ein anderes Steuerregister maskiert
werden.
Da die Interrupt-Option nicht sehr effizient ist, wird eine
andere Benachrichtigungsoption durch ein MM-PCI-Register
"DMA_Semaphor" vorgesehen. Der Vorrichtungstreiber schreibt
eine Adresse innerhalb des Hauptspeichers nur einmal nach der
Initialisierung vor der DMA-Übertragung in das Register. Die
Stelle innerhalb des Hauptspeichers ist erreichbar bzw. zu
greifbar durch den Vorrichtungstreiber und wird als ein Sema
phor benutzt, welches das Ende der DMA-Übertragung anzeigt. Der
Vorrichtungstreiber schreibt überall Null in die Stelle, so daß
der Semaphor initialisiert wird. Nach dem Erkennen der Übertra
gung auf dem primären PCI-Bus gibt das DMA-FSM einen Speicher
schreibzyklus, welcher auf den innerhalb des Hauptspeichers
sich befindenden Semaphor abzielt, aus, und überträgt ein MM-
PCI-Register "Global_Zustand". Der LSB des Semaphor wird da
durch auf "1" gesetzt, welches dem Treiber anzeigt, daß die
DMA-Übertragung vervollständigt ist.
Zusätzlich zu dem einzelnen Bit, welches das Ende der DMA-
Übertragung anzeigt, wird eine vollständige "Momentaufnahme"
der PCI-PCI-Brücke durch die verbleibenden 31 Bits des Semaphor
vorgesehen. Dies gibt dem Vorrichtungstreiber die Möglichkeit,
den Zustand der PCI-PCI-Brücke in einem Schnellablauf (bzw. in
einem Schnelldurchlauf bzw. ohne Pause) zu analysieren, ohne
jeden zusätzlichen Platzbedarf bzw. Raumbedarf (Schnellablauf
bedeutet, daß eine Reihe von Betriebsvorgängen verschiedener
Art ausgeführt werden, ohne die Ausführung der Betriebsvorgänge
zu unterbrechen. Dies beinhaltet, daß, falls eine Art von Re
konfiguration zwischen einem Betriebsvorgang und einem anderen
nötig ist, die Betriebsvorgänge selbst die Struktur, welche die
Betriebsvorgänge ausführt, dynamisch rekonfigurieren.).
Die Länge eines DMA-Burst wird durch folgendes bestimmt:
- (1) Die Nummer der DWorte, die übertragen werden sollen, d. h. der in dem Register "DMA_DWorte" geladene Wert.
- (2) Die Zielantwort, d. h. die Antwort auf die Verbindungsunter brechung.
- (3) Der Wartezeit-Zeitgeberwert, d. h. der Wert des Registers 0Ch des PCI-PCI-Brückenkonfigurationsraumes.
- (4) Der POST-Betriebs-Pufferzustand.
Falls die POST-Betriebs-Puffer voll sind, beendet der Master
die Übermittlung und wartet, bis der Puffer wieder Daten emp
fangen kann und gibt dann einen neuen Zyklus aus. Dies ist auch
der Fall, wenn der Wartezeit-Zeitgeber der PCI-PCI-Brücke ab
läuft und ein Signal "P_GNT" für den Quittungsaustausch (bzw.
für den Handshake-Betrieb) des primären PCI-Busses deaktiviert
wird. Der Vorrichtungstreiber überprüft den Wert des Wartezeit-
Zeitgebers nach dem Starten und kann einen verschiedenen Wert
laden, falls es notwendig ist.
Ein Wartezeit-Zähler wird in jedem Zyklus erhöht, sogar falls
keine Daten übertragen werden. In anderen Worten wird der
Wartezeit-Zähler unabhängig von der Antwort der Ziele hochge
zählt. Falls der Wartezeit-Zähler einen Wert gleich dem in ein
Register "Wartezeit-Zähler" geschriebenen Wert aufweist, wird
ein Signal "P_RAHMEN" deaktiviert, und der Master wird ausge
schaltet.
Falls ein Masterabbruchfehler auf dem primären PCI-Bus auf
tritt, wird ein Flag "DMA_Trigger" zurückgesetzt, die DMA-Über
tragung wird beendet, und eine entsprechende Fehlerbehandlung
wird ausgeführt. Dies trifft sowohl für die tatsächliche (bzw.
aktuelle) DMA-Übertragung als auch für das Semaphorschreiben
zu.
DMA wird immer über POST-Betriebs-Puffer ausgeführt. Der DMA-
FSM überprüft nicht MM-PCI-Register "FIFO_Steuerung" vor dem
Zugreifen auf die POST-Betriebs-Puffer.
Eine "Verbindungs"-Option (bzw. "Link"-Option) wird zu dem DMA-
Master der PCI-PCI-Brücke gemäß der vorliegenden Ausführungs
form hinzugefügt, um die DMA-Leistungsfähigkeit zu verbessern.
Diese Option ermöglicht, daß der Vorrichtungstreiber mehrfache
DMA-Übertragungen auf automatische Weise ohne zusätzlichen
Platzbedarf des Ausgebens mehrfacher Anfragen von DMA-Übertra
gungen ausführt.
Deswegen muß der Vorrichtungstreiber Linkdaten, d. h. Verbin
dungsdaten zwischen die Datenblocks des Hauptspeichers vor dem
Triggern der DMA-Übermittlung einsetzen. Die Verbindungsdaten
bestehen aus drei DWorten einschließlich einer Adreß- und
Steuerinformation, welche in entsprechende MM-PCI-Register ge
schrieben sind. Die Beziehung zwischen den DWorten und den MM-
PCI-Registern ist wie es in Fig. 14 gezeigt ist.
Es wird auf Fig. 15 Bezug genommen; in dem Hauptspeicher wird,
nachdem der Vorrichtungstreiber die DMA-Daten eingestellt hat,
der Verbindungsdatenblock, welcher aus drei DWorten besteht,
unmittelbar auf einen Datenblock n folgend eingesetzt (bzw.
eingefügt). Der nächste Block folgt den Verbindungsdaten. Der
Datenübertragungsbestimmungsort des Datenblocks n+1 wird durch
"DMA_Bestimmungsort" in den Verbindungsdaten bestimmt, welche
an das hintere Ende des Datenblocks n angefügt sind.
Ob mehrfache Datenübertragungen auf automatische Weise ausge
führt werden sollten oder nicht unter Verwenden der Verbin
dungsdaten, kann durch ein Bit [29] ("DMA_Fortsetzung") des MM-
PCI-Registers "DMA_Steuerung" freigegeben/gesperrt werden.
Dieses Bit zeigt an, ob es die Verbindungsdaten gibt, welche an
das hintere Ende des Datenblocks, der übertragen werden soll,
angefügt sind. Falls das Bit auf "1" gesetzt ist, erwartet der
DMA-FSM, daß die Verbindungsdaten folgen, und als eine Folge
werden die nächsten drei DWorte in die MM-PCI-Register ge
schrieben. Nach dem Rekonfigurieren durch die letzten Verbin
dungsdaten ("DMA_Steuerung") beim Schnellablauf versucht der
DMA-Master, den nächsten Datensatz ohne Beendigung der Zyklen
zu lesen. Falls "DMA Fortsetzung" auf 0 gesetzt ist, wird die
Übermittlung abgeschlossen, nachdem das letzte DWort des
Datenblocks übertragen ist.
Daher kann eine neue DMA-Übermittlung auf automatische Weise
bei dem Beendigen einer DMA-Übertragung getriggert werden. Der
Vorrichtungstreiber muß nur die Verbindungsliste einmal in den
Hauptspeicher schreiben, und danach können mehrfache DMA-Über
tragungen ausgeführt werden durch die PCI-PCI-Brücke, ohne daß
eine Bestimmung von dem Vorrichtungstreiber erforderlich ist.
Falls es erwünscht ist, daß das Semaphor zwischen DMA-Übertra
gungen innerhalb der Verbindungsliste aktualisiert wird, bei
spielsweise zum Verwirklichen langer Übertragungen, kann ein
Bit demgemäß gesetzt werden.
Fig. 16 stellt dar, wie dieses Schema arbeitet. Der Vorrich
tungstreiber konfiguriert anfänglich den DMA-Master, um vier
Daten-DWorte zu übertragen und danach die Verbindungsdaten (a1)
fortzusetzen. Darauffolgt, daß der DMA-FSM durch die Verbin
dungsdaten konfiguriert wird, um die nächsten vier DWorte zu
empfangen, und die Verarbeitung wird fortgesetzt (a2). Die
zweiten Verbindungsdaten konfigurieren den DMA-Master, um acht
DWorte zu empfangen, und beenden die DMA-Übermittlung und be
schreiben ein Semaphor (a3). Nachdem acht DWorte übertragen
sind und der Semaphor beschrieben ist, kehrt der DMA-FSM in den
freien Zustand (zu IDLE bzw. in den betriebslosen Zustand)
zurück.
Fig. 17 stellt eine DMA-Verbindung mit einem verschachtelten
Semaphor-Schreiben dar. Ähnlich zu dem in Fig. 16 gezeigten
Beispiel konfiguriert der Vorrichtungstreiber anfänglich den
DMA-Master, um vier DWorte von Daten zu übertragen und danach
die DMA-Übertragungen fortzusetzen. In diesem Beispiel gibt der
Vorrichtungstreiber die Semaphor-Option frei. Als eine Folge
werden vier DWorte gelesen, ein Semaphor wird beschrieben und
der Master setzt seine Verarbeitung (b2) fort. Demgemäß wird
der DMA-Master derart eingestellt, daß andere vier DWorte gele
sen werden und die Verarbeitung gemäß der Verbindungsdaten (b2)
fortgesetzt werden. Da die Semaphor-Option hier nicht freigege
ben wurde, beschreibt die PCI-PCI-Brücke ein Semaphor nicht.
Die Konfiguration ist derart, daß acht DWorte empfangen werden,
die DMA-Übermittlung beendet und ein Semaphor beschrieben wird
(b3).
Es gibt drei Faktoren, die die Effizienz der DMA-Übermittlungen
beeinflussen.
- (1) Aufgrund der Beschränkungen, die durch den SSO-Zuteiler, welcher später beschrieben wird, auf der PCI-PCI-Brücke gesetzt werden, wann immer eine neuen Adressenphase auf dem primären PCI-Bus eingeleitet wird, kann die sekundäre Seite keine Daten ausliefern. Die Daten können von der sekundären Seite jedoch ausgeliefert werden, wenn die Adressenphase vorüber ist und die Datenphase beginnt. Daher gibt es, falls eine DMA-Übermittlung sehr lang ist, nur eine anfängliche Adressenphase, und deshalb ist die Leistungsfähigkeit der DMA-Übermittlung am besten. Der Grund dafür ist, daß die sekundäre Seite Daten parallel mit der primären Seite ausliefern kann durch Lesen von Daten von dem Systemspeicher. In diesem Fall hat nur die anfängliche Warte zeit einen Einfluß auf die Übertragung (welcher später als ein SSO-Nachteil bzw. als SSO-Strafe bezeichnet wird).
- (2) Ferner muß, falls ein primärer PCI-Bus-Zuteiler die Erlaub nis zum Benutzen des Busses nach oder während der Übermittlung aufhebt, die PCI-PCI-Brücke die Inhaberschaft des primären Bus ses wieder abrufen (Rück-Zuteilungs-Nachteil).
- (3) Viele Hauptrechnerbrücken haben eine sehr lange anfängliche Wartezeit (bis zu 16 Zyklen). Daher muß, falls die DMA-Über mittlung früh beendet wird, sich die PCI-PCI-Brücke nicht nur mit dem SSO-Zuteiler und der Primärbuszuteilerverzögerung be fassen, sondern zusätzlich dazu auch mit der anfänglichen Zu griffsverzögerung der Hauptrechnerbrücke.
Daher wurde ein neues Merkmal, welches als "Domino" bezeichnet
wird und im folgenden beschrieben wird, hinzugefügt. Dieses
Merkmal ermöglicht kontinuierliche Speicherlesebursts von dem
Systemspeicher, bis die Hauptrechnerbrücke die Übermittlung
beendet. Um die laufende DMA-Einstell-Umgebung aufrechtzuerhal
ten, wird der LSB des Registers "DMA_Quelle" benutzt.
Es wird auf Fig. 18 Bezug genommen; die letzten zwei Bits 150
der "DMA_Quelle" werden nicht benutzt, da ein Adressieren DWort
für DWort ausgeführt wird. Von diesen zwei Bits 152 und 154
wird das LSB 154 benutzt. Falls das LSB gesetzt ist, erwartet
die PCI-PCI-Brücke, daß die folgenden "DMA_Quellen-Adressen
fortlaufend sind, und daher fährt sie einfach fort, einen in
ternen Quellenzähler zu erhöhen. Eine neue Adreßphase ist nicht
notwendig, da auf kontinuierliche Adressen zugegriffen wird.
Deshalb fährt nach der "DMA_Steuerungs"-Phase die PCI-PCI-
Brücke fort, Daten ohne Beendigung des Zyklus abzufragen.
Falls der primäre I/O (32 Bits) und der sekundäre I/O (32 Bits)
die A_D-Linien gleichzeitig schalten, ergibt sich folgendes
Problem. Falls alle 64 Bits aktiv zu derselben Zeit betrieben
würden, würde die sich ergebende Spannungsfluktuation verursa
chen, daß die PCI-PCI-Brücke eine Fehlfunktion hat. Falls der
A_D-Bus schwebt, oder nicht kippt, d. h. denselben Wert behält,
ist fast keine Spannung erforderlich. Deshalb ist es wichtig,
daß die PCI-PCI-Brücke auf effiziente Weise das Betreiben der
zwei Busse steuert.
Deshalb wurde ein auf spezielle Weise entworfener SSO-Zuteiler
innerhalb der PCI-PCI-Brücke eingebaut. Der SSO-Zuteiler ge
währt die Erlaubnis zum Betreiben entweder der primären AD-Lei
tung oder der sekundären AD-Leitung. Dies verringert die Mög
lichkeit, daß die PCI-PCI-Brücke eine Fehlfunktion wegen der
Spannungsfluktuation der Spannungsquelle aufweist.
Die PCI-PCI-Brücke betreibt die AD-Leitung des primären PCI-
Busses in den folgenden Fällen.
Die PCI-PCI-Brücke betreibt die AD-Leitung des sekundären PCI-
Busses in den folgenden Fällen.
Auf dem sekundären PCI-Bus garantieren Endwiderstände auf der
Platine, daß die AD-Leitungen nicht schwebend belassen werden.
Daher muß der sekundäre FSM die AD-Leitungen nicht betreiben,
falls die AD-Leitungen in dem freien Zustand (VIDLEV) sind.
Es gibt drei Quellen zum Betreiben der sekundären AD-Leitungen.
Die erste ist ein Brückendatenweg, welcher für die Konfigura
tion und für I/O-Zyklen benutzt wird. Der Datenweg umgeht
FIFOs, wenn die FIFOs gesperrt sind. Die zweite ist ein
P2S (Primary-to-Secondary)-Datenweg, der für den POST-Betrieb
durch den Abrechner benutzt wird. Die dritte ist ein C2S(Core
to Secondary)-Datenweg, welcher für den POST-Betrieb durch den
GE-Kern benutzt wird.
Ferner gibt es zwei unabhängige Quellen zum Betreiben der pri
mären AD-Leitungen. Eine ist der Hauptrechner, und der andere
ist das DMA. Wie in Fig. 20 gezeigt ist, bezieht sich der
Hauptrechner auf das Ziel-FSM 72 im primären I/O 62. Der
Master-FSM 74 im primären I/O 62 entspricht dem DMA. Da das
primäre FSM und das sekundäre FSM, d. h. der Kern sich in einer
unterschiedlichen Taktdomäne (bzw. Taktbereich) befindet, muß
der SSO-Zuteiler (SSO-FSM), welcher in dem zweiten I/O 62 vor
gesehen ist, mit einem asynchronen Quittungsaustausch (d. h.
Handshake-Betrieb) fertigwerden. Verschiedene Frequenzen werden
für den primären und sekundären PCI-Bus wie oben erwähnt be
nutzt, da ein asynchroner Ansatz vorteilhaft ist in Bezug auf
die Geschwindigkeit des Betriebs im Vergleich zu dem synchronen
Ansatz. Ferner ist im allgemeinen die Taktfrequenz für den Be
trieb des sekundären PCI-Busses höher als diejenige für den
primären PCI-Bus.
Um einen ruhigen und ausgewogenen Fluß der Daten in der PCI-
PCI-Brücke zu ermöglichen, wurde ein besonderes Schema, wie es
unten beschrieben wird, verwirklicht.
Es wird auf Fig. 20 Bezug genommen; insbesondere gibt es zwei
asynchrone unabhängige Quittungsaustausche zwischen dem SSO-
Zuteiler und dem Hauptrechner und dem DMA. In Fig. 20 sind für
einen entsprechenden asynchronen Quittungsaustausch Synchroni
sationspunkte 162 und 166, und 164 und 168 gesetzt. Wie von
Fig. 20 ersichtlich ist, wird der primäre I/O 62 durch eine
primäre Seitenuhr @P_CLK, während der SSO-Zuteiler des zweiten
I/O 64 durch die sekundäre Seitenuhr @S_CLK entsprechend be
trieben wird.
Quittungsaustausche bestehen aus einem Anfragesignal von den
Primärstatusmaschinen und einem entsprechenden Gewährsignal des
SSO-Zuteilers. Da hauptsächlich Schreibzugriffe auf das primäre
Ziel stattfinden, und Lesezugriffe überwiegend nicht derart
kritisch im Zeitablauf sind, ist der SSO-Zuteiler für einen ru
higen und schnellen Wechsel unter den Datenquellen zu dem se
kundären PCI-Bus optimiert, hauptsächlich unter den zwei POST-
Betriebs-Puffern.
Deshalb muß der SSO-Zuteiler zwischen jenen Quellen wechseln
ohne einen Nachteil aufgrund von Synchronisier-Anfragen und
Gewähr-Mitteilungen. Daher können, falls der Kern und ein
Hauptrechner miteinander konkurrieren, die Daten von dem sekun
dären PCI-Bus in einer extrem effizienten Weise ausgeliefert
werden.
Es wird auf Fig. 21 Bezug genommen; der SSO-Zuteiler (SSO-FSM)
78 hat drei Anfrage-Eingänge und drei Anfrage-Ausgänge. Abhän
gig von dem Zustand des SSO-FSM selbst wird der SSO-FSM eine
der Anfragen zu dem sekundären FSM 76 liefern, oder, falls
einem der primären FSM die Erlaubnis zum Betreiben der AD-Lei
tungen gewährt ist, wird der Zuteiler alle drei Anfragen mas
kieren, um sicherzustellen, daß nicht beide AD-Leitungen
gleichzeitig betrieben werden. Zu diesem Zweck wird ein Signal
"WECHSELN" von dem sekundären FSM 76 an den SSO-FSM 78 ange
legt. Durch ein UND (AND) des Signals "WECHSELN" und jedes der
Anfragesignale (182, 183, 184) wird ein gleichzeitiges Betrei
ben der zwei AD-Leitungen vermieden, wie oben beschrieben ist.
Das Signal "WECHSELN", das in Fig. 21 gezeigt ist, wird durch
den sekundären FSM erzeugt. Dieses Signal teilt dem SSO-FSM
mit, daß er prüfen soll, ob ein Übergang zu dem nächsten Zu
stand gemacht werden soll. Die Wechsel werden nach jedem bean
spruchten Zyklus mit einer Datenübertragung auf dem zweiten
PCI-Bus angefragt. Daher wird im Falle eines wiederholten Ver
suchs kein Wechsel erzwungen.
Fig. 22 ist ein Zustandsschaubild des SSO-FSM. In dieser Figur
bezeichnen Kreise (HAUPTRECHNER, DMA, P2S, C2S, BRÜCKE, FREI
(bzw. IDLE)) entsprechende Zustände, und Pfeile zwischen den
Zuständen vertreten Übergänge zwischen Zuständen, welche bei
Auftauchen eines Ereignisses durchgeführt werden. Bezugszeichen
in Klammern, wie beispielsweise (b1, p2) auf den Pfeilen ver
treten Startpunkte von Übergängen und Prioritäten (d. h. Vorrän
gen) von Übergängen. Startpunkte von Übergängen werden durch
Bezugszeichen, die in Fig. 22 gezeigt sind, vertreten. Die
Priorität ist derart bestimmt, daß sie ein ausgewogenes Gewäh
ren einer Erlaubnis zum Betreiben der AD-Leitungen sichern,
wenn eine Mehrzahl von Anfragen gleichzeitig erzeugt werden. In
Bezug auf die Nummer, welche die Priorität anzeigt, ist anzu
merken, daß je niedriger die Nummer ist, desto höher die Prio
rität ist. Durch Zuordnen einer geeigneten Priorität zu ent
sprechenden Übergängen werden AD-Leitungserlaubnisse auf ausge
wogene Weise entsprechenden Quellen zugeordnet, wobei ein ruhi
ger Datentransfer ermöglicht wird.
Einige Beispiele von Zustandsübergängen durch den SSO-FSM, der
in Fig. 22 gezeigt ist, werden nun beschrieben.
- (1) Falls der SSO-FSM sich in dem Zustand "FREI" (IDLE, d. h. freier Zustand) befindet und eine gleichzeitige Anfrage von Quellen "P2S" und "C2S" erfaßt werden, sind ein Übergang "i1" zu dem Zustand "P2S" und ein Übergang "i2" zu dem Zustand "C2SV Auswahlmöglichkeiten. Von diesen hat die erstere höhere Priori tät, und daher findet der Übergang "i1" zu dem Zustand "P2S" statt.
- (2) Falls der SSO-FSM sich in dem Zustand "BRÜCKE" befindet, wird der SSO-FSM gewechselt, und es gibt zwei gleichzeitige An fragen von den Quellen "P2S" und "HAUPTRECHNER" zu genau diesem Moment, und ein Übergang "b1" zu dem Zustand "HAUPTRECHNER" und ein Übergang "b3" zu dem Zustand "P2S" sind möglich. Hier hat der erstere höhere Priorität, und daher findet der Übergang "b1" zu dem Zustand "HAUPTRECHNER" statt.
Es wird darauf hingewiesen, daß in Fig. 22 Übergänge von den
höchsten Prioritäten im Uhrzeigersinn auf der äußeren Peri
pherie angeordnet sind. Dieses sichert einen ausgewogenen Wech
sel. Es versteht sich von selbst, daß das Beispiel von Fig. 22
nicht beschränkend ist. Ein anderer Zustandsübergang kann
durchgeführt werden, vorausgesetzt daß ähnliche Effekte gesi
chert sind.
In einigen Fällen kann es ineffizient sein, nach jedem abge
schlossenen Übergang zu wechseln. Demgemäß werden die POST-
Bebriebs-Puffer "P2S" und "C2S" (kundenspezifisch) angepaßt, um
die Erlaubnis zum Benutzen der AD-Leitungen für verschiedene
Übermittlungen zu halten, sogar falls eine andere Quellenan
frage aktiv ist. Fig. 23 stellt diesen Ansatz dar.
Zu diesem Zweck wird der Zeitablauf zum Aktivieren des Signals
"WECHSELN" auf geeignete Weise gesteuert, wie in Fig. 23 ge
zeigt ist. Dieses Signal zeigt das Ende einer erfolgreichen Da
tenübermittlung an und ist nicht aktiv im Falle eines wieder
holten Versuchs. In dem in Fig. 23 gezeigten Beispiel ist das
Signal zu dem Zeitpunkt des wiederholten Versuchs nicht akti
viert, aber an dem Ende des Zyklus ist es aktiviert.
Für ein System, das große Bursts zum Speicherschreiben unter
stützt, kann ein POST-Betrieb ein effizienter Weg zum Übertra
gen von Daten an den sekundären PCI-Bus sein.
Zyklen, die durch einen POST-Betriebs-Puffer getriggert sind,
sind auf dem sekundären PCI-Bus gemäß der Größe der Speicherbe
reiche aufgeteilt. Insbesondere wird, falls ein 16 DWort-Burst-
POST betrieben wird, dieser in 8 DWort-Zyklen auf dem sekundä
ren PCI-Bus aufgeteilt. Durch Voreinstellung wechselt der SSO-
FSM, nachdem die ersten 8 DWorte geschrieben sind und noch eine
andere Anfrage aktiv ist. Falls nur kleine Blöcke von Daten
POST-betrieben werden, wechselt der SSO-FSM ungeachtet der Zahl
von DWorten, die gelesen wurden. Beispielsweise wechselt, wenn
zwei 1-DWort-Zyklen POST-betrieben werden, durch Voreinstellung
der SSO-FSM, nachdem das erste DWort geschrieben und eine ande
re Anfrage aktiv ist.
In einigen Fällen jedoch kann es erwünscht sein, den "P2S"-
Puffer mehrere Zyklen ausführen zu lassen, bevor er zu einem
anderen Zustand wechselt. Deshalb weist der PCI-PCI-Bus gemäß
der vorliegenden Ausführungsform ein MM-PCI-Register
"P2S_Burst" auf, welches den PCI-PCI-Bus steuert. Der Wert des
Registers bestimmt die Anzahl von Zyklen, die der "P2S"-Puffer
ausführen kann, bevor der SSO-Zuteiler wechselt.
Es wird auf Fig. 24A Bezug genommen; beispielsweise die POST-
Betriebsdaten des "P2S", z. B. 16 DWorte, werden in zwei 8
DWorte durch Voreinstellung aufgeteilt. Deshalb gibt es eine
Zeitlücke zwischen diesen zwei 8 DWorten. Falls eine kurze
Wartezeit für "P25"-POST-Betriebsdaten erwünscht ist, kann eine
hohe Priorität dem POST-Betriebs-Puffer über das Register
"P2S_Burst" angezeigt werden. Es wird auf Fig. 24B Bezug genom
men; insbesondere kann, falls das Register "P2S_Burst" auf "2"
gesetzt ist, der POST-Betriebs-Puffer von "P2S" das
Ausschreiben der Enddaten (zwei) auf dem sekundären PCI-Bus zu
einem Zeitpunkt bzw. auf einmal fortsetzen, ohne die Erlaubnis
zum Betreiben der AD-Leitungen aufzugeben. Dies verringert die
Wartezeit für die "P2S"-POST-Betriebsdaten.
Eine ähnliche Steuerung ist auf den "C2S"-POST-Betriebs-Puffer
anwendbar. Obwohl zwei Speicherbereiche für "P2S" vorausgesetzt
sind, setzt die PCI-PCI-Brücke gemäß der vorliegenden Ausfüh
rungsform einen "C2S"-POST-Betriebs-Puffer mit vier Speicherbe
reichen voraus. Der "C2S"-POST-Betriebs-Puffer unterscheidet
sich von "P2S" in diesem Punkt, und zusätzlich unterscheidet er
sich von dem "P2S"-POST-Betriebs-Puffer darin, daß er eine
Quelle hat, welche "GE-Kern" genannt wird. Der "C2S"-POST-Be
triebs-Puffer weist zweckbestimmte Daten für die sekundäre PCI-
Vorrichtung auf, und es kann erwünscht sein, den gesamten Da
tenblock auf einmal zu übertragen, sogar falls die Daten über
mehrere Speicherbereiche verteilt sind. Diese Steuerung ist
möglich durch Verwenden des MM-PCI-Registers "C2S_Burst" in der
PCI-PCI-Brücke gemäß der vorliegenden Ausführungsform. Das Re
gister "C2S_Burst" bestimmt die Anzahl von Zyklen, welche aus
zuführen dem "C2S"-Puffer erlaubt sind, bevor der SSO-Zuteiler
wechselt.
Es wird auf Fig. 25A Bezug genommen; beispielsweise muß, falls
das Register "C2S_Burst" auf 1 gesetzt ist, der "C2S"-POST-Be
triebs-Puffer die Erlaubnis zum Betreiben der AD-Leitungen bei
jedem Zyklus aufgeben. Falls das Register "C2S_Burst" auf 3 ge
setzt ist, sind drei fortlaufende Zyklen möglich, wie es in
Fig. 25B gezeigt ist. Da die Anzahl von Zyklen, welche durch
den "C2S"-POST-Betriebs-Puffer auf kontinuierliche Weise ausge
führt werden können, steuerbar ist, können Daten, die sich über
mehrere Speicherblöcke verteilen, gemeinsam zu einem Zeitpunkt
von dem GE-Kern zu der sekundären PCI-Vorrichtung übertragen
werden.
Wie oben erwähnt wurde, ist der SSO-Zuteiler in der Taktdomäne
für die sekundäre PCI-Busseite angeordnet. In anderen Worten
arbeitet er gemäß der Taktsignale für den sekundären PCI-Bus.
Deshalb ist es für den SSO-Zuteiler notwendig, einen vollstän
dig asynchronen Quittungsaustausch für den DMA-FSM zu erhalten.
Als eine Folge muß, jedesmal, wenn in den "DMA"-Zustand des
SSO-FSM eingetreten wird oder wenn dieser verlassen wird, ein
Synchronisationsnachteil in Kauf genommen werden.
Falls der DMA-Burst sehr kurz ist, d. h. falls die Hauptrechner
brücke nur einen kleinen Puffer aufweist bzw. unterstützt, läßt
der Synchronisationsnachteil die gesamte Durchsatzverzögerung
ansteigen. Deshalb kann es effizienter sein, den DMA-FSM ver
schiedene Bursts ausführen zu lassen, bevor er zu dem "P2S"-Zu
stand wechselt. In dem PCI-PCI-Bus gemäß der vorliegenden Aus
führungsform kann dies durch das MM-PCI-Register "DMA_Burst"
gesteuert werden. Das Register "DMA_Burst" bestimmt die Anzahl
von Zyklen, welche auszuführen dem DMA-FSM erlaubt sind, bevor
er seine Anfrage an den SSO-Zuteiler aufgeben muß.
Fig. 26A zeigt eine DMA-Übermittlung, welche durch den "HAUPT-
RECHNER" unterbrochen ist. In diesem Fall muß der DMA-FSM einen
zusätzlichen Zyklus ausgeben. Dies läßt die Gesamtwartezeit der
DMA-Übermittlung um das Zweifache des Synchronisationsnachteils
(dargestellt durch die Schraffierung in den Fig. 26A und 26B)
ansteigen (falls "DMA_Burst" auf 1 gesetzt ist). Falls der
"DMA_Burst" auf 2 gesetzt ist, wird jedoch der Synchronisa
tionsnachteil auf ein Minimum verringert, und die Gesamtverar
beitungszeit kann um den Zeitraum verringert werden, der als
t diff in den Fig. 26A und 26B dargestellt ist.
Der "P2SV"-POST-Betriebs-Puffer, der "C2S"-POST-Betriebs-Puffer
usw., welche oben beschrieben wurden, bestehen aus FIFOs. Das
Design der POST-Betriebs-FIFOs ist meistens ein Kompromiß zwi
schen der verfügbaren Fläche, dem erforderlichen Durchsatz und
der maximalen Wartezeit. Diese Bedingungen bestimmen die Kör
nigkeit (bzw. die Beschaffenheit einer Einheit) der FIFOs für
POST-Betriebs-Übermittlungen. Abhängig von den Beschränkungen,
die durch die Umgebung auferlegt sind, ist es sehr nützlich,
einen weiten Bereich von möglichen Architekturen zu haben, um
eine FIFO-Verwirklichung auszuwählen. Deshalb wird in der PCI-
PCI-Brücke gemäß der vorliegenden Ausführungsform ein FIFO-
Design mit gesetzten Parametern verwendet.
Fig. 27 zeigt eine Blockdarstellung eines POST-Betriebs-FIFOs
mit gesetzten Parametern. Es wird auf Fig. 27 Bezug genommen;
der POST-Betriebs-FIFO weist einen kleinen Leseanschluß-FSM und
einen kleinen Schreibanschluß-FSM, welche beide zum Steuern des
Betriebs des FIFOs vorgesehen sind, und mehrere "Scheiben",
welche zwischen diesen zwei FSMs angeordnet sind, auf. Mehrere
Scheiben, die in dieser Weise angeordnet sind, bilden einen
passenden POST-Betriebs-Puffer.
Es wird auf Fig. 28 Bezug genommen; jede "Scheibe" weist einen
Speicherbereich mit der Größe von n DWorten zum Speichern von
Daten, ein 32-Bit-Register zum Speichern der entsprechenden
(Start-)Adresse, einen "vollen" Flag und einen "leeren" Flag
und einen vollen asynchronen Quittungsaustausch für die Flags
auf.
Da der FIFO derart gebildet ist, daß er eine Konfiguration mit
zwei FSMs mit Speicherbereichsscheiben dazwischen angeordnet
aufweist, kann der POST-Betriebs-FIFO auf bequeme Weise (kun
denspezifisch) angepaßt werden durch einfaches Auswählen der
erwünschten Parameter, d. h. der Anzahl von Scheiben. Wenn das
Design auf einer beispielsweise Hardware-Beschreibungssprache
basiert, ist es nötig, einfach den Parameter entsprechend der
Anzahl von Scheiben gemäß der Spezifikation zu wechseln (bzw.
zu ändern). Dies gibt dem Entwerfer die Flexibilität für Spezi
fikationswechsel oder für die Nachprüfung (bzw. Überarbeitung)
der Spezifikation, und vereinfacht auf signifikante Weise die
Verwirklichung verschiedener POST-Betriebs-Puffer.
Obwohl die vorliegende Erfindung in Bezug auf eine bestimmte
Ausführungsform beschrieben wurde, ist diese nur ein Beispiel,
und die vorliegende Erfindung ist nicht auf die bestimmte Aus
führungsform beschränkt. Wie oben beschrieben wurde, ist es
möglich, durch die PCI-PCI-Brücke, welche keinen "01"-Kennsatz
verwendet, eine integrierte Halbleiterschaltungsvorrichtung,
welche einen sekundären PCI-Bus aufweist, mit einem primären
PCI-Bus zu verbinden, und auf unabhängige Weise einzelne PCI-
Vermittler zu steuern.
Ferner ist eine PCI-PCI-Brücke, welche die Verbindung zwischen
einem primären PCI-Bus und einem sekundären PCI-Bus, mit denen
eine VGA-Vorrichtung und PCI-Vermittler verbunden sind, angege
ben.
Ferner kann eine Fehlermeldung zu dem Zeitpunkt des Ladens auf
einfache Weise durch eine vorhandene VGA-Vorrichtung gegeben
werden, und, sobald der Vorrichtungstreiber aktiviert ist, ist
das Verarbeiten unter Verwenden einer PCI-Vorrichtung möglich.
Ferner ermöglicht die PCI-PCI-Brücke eine effiziente DMA-Über
tragung. Ferner ist eine Hochgeschwindigkeitsdatenübertragung
zwischen dem Hauptspeicher und einem PCI-Vermittler oder einer
Betriebsschaltung zum Ausführen eines bestimmten Betriebes auf
dem sekundären PCI-Bus möglich.
Ferner ist die Größe des FIFOs auf einen Parameter verringert,
und daher ist eine Entwurfsänderung (bzw. ein Entwurfswechsel)
auf einfache Weise möglich. Deshalb wird der Entwurf einer PCI-
PCI-Brücke mit einem FIFO vereinfacht.
Ferner können durch die PCI-PCI-Brücke Daten bei hoher Ge
schwindigkeit mit einer hohen Effizienz übertragen werden, und
die Größe des First-In-First-Out-Speichers (FIFO-Speicher),
welcher für die Datenübertragung benutzt wird, kann auf einfa
che Weise geändert werden. Deshalb kann der Entwurf der PCI-
PCI-Brücke auf einfache Weise modifiziert werden, sogar wenn es
eine Spezifikationsänderung oder eine plötzliche Designänderung
gibt. Dies verkürzt die Zeit, die zum Entwickeln der Vorrich
tung nötig ist.
Claims (17)
1. PCI-PCI-Brücke, welche mit einem primären PCI-Bus (20) und
einem sekundären PCI-Bus (46) verbunden ist, mit
einer Verbindungseinrichtung (42) zum Verbinden des sekundären
PCI-Busses (46) mit dem primären PCI-Bus (20) zum Steuern einer
Datenübertragung dazwischen,
wobei die Verbindungseinrichtung (42) einen "00"-Konfigura
tionskennsatz aufweist, eine Einrichtung aufweist zum Identifi
zieren, auf der Basis eines Wertes eines Funktionsnummernfeldes
eines Konfigurationsbefehles von einem Vorrichtungstreiber, zu
einem Zeitpunkt der Konfiguration, eines in einer Mehrzahl von
PCI-Vermittlern (48, 50, 52, 54) auf dem sekundären PCI-Bus
(46) und den identifizierten Vermittler die Konfiguration aus
führen läßt.
2. PCI-PCI-Brücke nach Anspruch 1, bei der
die Mehrzahl von PCI-Vermittlern (48, 50, 52, 54) eine VGA-Vor richtung (48) und andere PCI-Vermittler (50, 52, 54) aufweist und
die Verbindungseinrichtung (42) selektiv in einem eines ersten Modus, in welchem ein Speicherabbild für die VGA-Vorrichtung (48) aktiv ist, und eines zweiten Modus arbeitet, in dem die PCI-Vermittler (50, 52, 54), die andere sind als die VGA-Vor richtung (48), aktiv sind.
die Mehrzahl von PCI-Vermittlern (48, 50, 52, 54) eine VGA-Vor richtung (48) und andere PCI-Vermittler (50, 52, 54) aufweist und
die Verbindungseinrichtung (42) selektiv in einem eines ersten Modus, in welchem ein Speicherabbild für die VGA-Vorrichtung (48) aktiv ist, und eines zweiten Modus arbeitet, in dem die PCI-Vermittler (50, 52, 54), die andere sind als die VGA-Vor richtung (48), aktiv sind.
3. PCI-PCI-Brücke nach Anspruch 1 oder 2, bei der die Verbin
dungseinrichtung (42) in dem ersten Modus geladen wird und zu
dem zweiten Modus geschaltet wird durch einen Vorrichtungstrei
ber, welcher auf einer Verarbeitungseinrichtung (32) arbeitet,
welche mit dem primären PCI-Bus (20) verbunden ist.
4. PCI-PCI-Brücke nach einem der Ansprüche 1 bis 3, mit
einer Betriebseinrichtung (44) zum Ausführen eines bestimmten
Betriebs, welche zu einer Datenübertragung zwischen dem primä
ren PCI-Bus (20) und dem sekundären PCI-Bus (46) fähig ist,
wobei die Verbindungseinrichtung (42) eine Datenübertra
gung/einen Datenempfang zwischen der Betriebseinrichtung (44)
und dem primären PCI-Bus (20) und dem sekundären PCI-Bus (46)
verwaltet.
5. PCI-PCI-Brücke nach einem der Ansprüche 1 bis 4, mit
einer Schnellablaufdirektdatenübertragungseinrichtung, welche
für das Triggern einer direkten Datenübertragung von einem
Hauptspeicher (38) durch den Vorrichtungstreiber verantwortlich
ist, zum Ausführen einer zweckbestimmten Datenübertragung da
nach ohne Eingreifen des Vorrichtungstreibers, und welche für
eine Verbindungsliste verantwortlich ist, die an ein hinteres
Ende eines zu übertragenden Datenblockes angehängt ist, zum
Ausführen einer Datenübertragung, die durch die Verbindungsli
ste neu bestimmt ist, ohne ein Eingreifen des Vorrichtungstrei
bers.
6. PCI-PCI-Brücke nach einem der Ansprüche 1 bis 5, bei der die
Verbindungseinrichtung (42) eine Zustandsmaschine (78) auf
weist, welche für Bus-Anfragen von einem PCI-Vermittler auf dem
primären PCI-Bus (20) und einem Vermittler (48, 50, 52, 54) auf
dem sekundären PCI-Bus (46) verantwortlich ist, zum Zuteilen
einer Erlaubnis zum Betreiben des primären PCI-Busses (20) und
des sekundären PCI-Busses (46) derart, daß nicht beide des
primären PCI-Busses (20) und des sekundären PCI-Busses (46)
gleichzeitig betrieben werden.
7. PCI-PCI-Brücke nach einem der Ansprüche 1 bis 6, bei der die
Zustandsmaschine (78) in derselben Taktdomäne wie der sekundäre
PCI-Bus (46) arbeitet.
8. PCI-PCI-Brücke nach einem der Ansprüche 1 bis 7, bei der die
Zustandsmaschine (78) bestimmt, ob ein Zustandsübergang bei je
dem Erkennen einer Übertragung einer vorgeschriebenen Menge von
Daten gemacht werden soll, und einen Zustandsübergang abhängig
von dem Ergebnis der Bestimmung durchführt.
9. PCI-PCI-Brücke nach einem der Ansprüche 1 bis 8, bei der die
Zustandsmaschine (78) das Setzen der Menge der bis zur Bestim
mung übertragenen Daten danach setzt, ob ein Zustandsübergang
in einem bestimmten Zustand umfangreicher ausgeführt werden
soll als in anderen Zuständen.
10. PCI-PCI-Brücke nach einem der Ansprüche 1 bis 9, bei der
die Schnellablaufdirektdatenübertragungseinrichtung die Zu
standsmaschine (78) derart einstellen kann, daß die Datenüber
tragungsdauer durch sie selbst gesteuert wird.
11. PCI-PCI-Brücke nach einem der Ansprüche 1 bis 10, bei der
die Verbindungseinrichtung (42) einen Eingangsfolge-Speicher
(82, 84, 86) aufweist, welcher eine Datenübertragung zwischen
Komponenten, welche mit verschiedenen Taktfrequenzen arbeiten,
anschließt,
der Eingangsfolge-Speicher (82, 84, 86) eine Schreibzustands maschine für einen Schreibanschluß aufweist,
eine Lesezustandsmaschine für einen Leseanschluß aufweist, und eine Mehrzahl von Speicherbereichen aufweist, welche parallel zwischen der Schreibzustandsmaschine und der Lesezustandsma schine angeordnet ist.
der Eingangsfolge-Speicher (82, 84, 86) eine Schreibzustands maschine für einen Schreibanschluß aufweist,
eine Lesezustandsmaschine für einen Leseanschluß aufweist, und eine Mehrzahl von Speicherbereichen aufweist, welche parallel zwischen der Schreibzustandsmaschine und der Lesezustandsma schine angeordnet ist.
12. Eingangsfolge-Speicher (82, 84, 86), welcher eine Daten
übertragung zwischen Komponenten, welche auf verschiedenen
Taktfrequenzen arbeiten, anschließt, mit
einer Schreibzustandsmaschine für einen Schreibanschluß,
eine Lesezustandsmaschine für einen Leseanschluß, und
eine Mehrzahl von Speicherbereichen, welche parallel zwischen der Schreibzustandsmaschine und der Lesezustandsmaschine ange ordnet sind.
einer Schreibzustandsmaschine für einen Schreibanschluß,
eine Lesezustandsmaschine für einen Leseanschluß, und
eine Mehrzahl von Speicherbereichen, welche parallel zwischen der Schreibzustandsmaschine und der Lesezustandsmaschine ange ordnet sind.
13. PCI-PCI-Brücke, welche mit einem primären PCI-Bus (20) und
einem sekundären PCI-Bus (46) verbunden ist, mit
einer Brücke (42), welche den sekundären PCI-Bus (46) mit dem
primären PCI-Bus (20) verbindet, wobei
die Brücke (42) einen "00"-Konfigurationskennsatz aufweist und
auf der Basis eines Wertes eines Funktionsnummernfeldes eines
Konfigurationsbefehles von einem Vorrichtungstreiber zu dem
Zeitpunkt der Konfiguration einen aus einer Mehrzahl von PCI-
Vermittlern (48, 50, 52, 54) auf dem sekundären PCI-Bus (46)
identifiziert und die identifizierten Vermittler die Konfigura
tion ausführen läßt.
14. PCI-PCI-Brücke nach Anspruch 13, wobei
die Mehrzahl von PCI-Vermittlern (48, 50, 52, 54) eine VGA-Vor richtung (48) und andere PCI-Vermittler (50, 52, 54) aufweist und
die Brücke (42) selektiv in einem eines ersten Modus, in dem ein Speicherabbild nur für die VGA-Vorrichtung (48) aktiv ist, und eines zweiten Modus, in dem die PCI-Vermittler (50, 52, 54), die andere sind als die VGA-Vorrichtung (48), aktiv sind, betreibbar ist.
die Mehrzahl von PCI-Vermittlern (48, 50, 52, 54) eine VGA-Vor richtung (48) und andere PCI-Vermittler (50, 52, 54) aufweist und
die Brücke (42) selektiv in einem eines ersten Modus, in dem ein Speicherabbild nur für die VGA-Vorrichtung (48) aktiv ist, und eines zweiten Modus, in dem die PCI-Vermittler (50, 52, 54), die andere sind als die VGA-Vorrichtung (48), aktiv sind, betreibbar ist.
15. PCI-PCI-Brücke nach einem der Ansprüche 13 bis 14, bei der
die Brücke (42) in dem ersten Modus geladen wird und in den
zweiten Modus geschaltet wird durch einen Vorrichtungstreiber,
welcher auf einem Prozessor (32) arbeitet, der mit dem primären
PCI-Bus (20) verbunden ist.
16. PCI-PCI-Brücke nach einem der Ansprüche 13 bis 15, mit
einem Betriebs-Kern (44) zum Ausführen eines bestimmten Be
triebs, der zu einer Datenübertragung zwischen dem primären
PCI-Bus (20) und dem sekundären PCI-Bus (46) fähig ist, wobei
die Brücke (42) eine Datenübertragung/einen Datenempfang zwi
schen dem Betriebskern (44) und dem primären PCI-Bus (20) und
dem sekundären PCI-Bus (46) verwaltet.
17. PCI-PCI-Brücke nach einem der Ansprüche 13 bis 16, mit
einer Schnellablaufdirektdatenübertragungseinrichtung, welche
für das Triggern einer Direktdatenübertragung von einem Haupt
speicher (38) durch einen Vorrichtungstreiber verantwortlich
ist, zum Ausführen einer zweckbestimmten Datenübertragung
danach ohne ein Eingreifen durch den Vorrichtungstreiber, und
welche für eine Verbindungsliste verantwortlich ist, welche an
ein hinteres Ende eines zu übertragenden Datenblockes angehängt
ist, zum Ausführen einer Datenübertragung, welche durch die
Verbindungsliste neu bestimmt ist, ohne ein Eingreifen durch
den Vorrichtungstreiber.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10038841A JPH11238030A (ja) | 1998-02-20 | 1998-02-20 | Pci−pciブリッジおよびそのための先入れ先出しメモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19847642A1 true DE19847642A1 (de) | 1999-08-26 |
DE19847642C2 DE19847642C2 (de) | 2003-07-31 |
Family
ID=12536440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19847642A Expired - Fee Related DE19847642C2 (de) | 1998-02-20 | 1998-10-15 | PCI-PCI-Brücke |
Country Status (3)
Country | Link |
---|---|
US (1) | US6272582B1 (de) |
JP (1) | JPH11238030A (de) |
DE (1) | DE19847642C2 (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3206570B2 (ja) * | 1998-11-12 | 2001-09-10 | 日本電気株式会社 | Pci機能拡張制御装置、及びpci機能拡張制御方法 |
JP3791742B2 (ja) * | 1999-05-28 | 2006-06-28 | 株式会社沖データ | Pciバス制御システム |
US6668299B1 (en) | 1999-09-08 | 2003-12-23 | Mellanox Technologies Ltd. | Software interface between a parallel bus and a packet network |
US6484222B1 (en) * | 1999-12-06 | 2002-11-19 | Compaq Information Technologies Group, L.P. | System for incorporating multiple expansion slots in a variable speed peripheral bus |
US7107383B1 (en) * | 2000-05-03 | 2006-09-12 | Broadcom Corporation | Method and system for multi-channel transfer of data and control information |
US6745369B1 (en) * | 2000-06-12 | 2004-06-01 | Altera Corporation | Bus architecture for system on a chip |
US6691200B1 (en) * | 2001-05-01 | 2004-02-10 | Pericom Semiconductor Corp. | Multi-port PCI-to-PCI bridge with combined address FIFOs but separate data FIFOs for concurrent transactions |
US7072996B2 (en) * | 2001-06-13 | 2006-07-04 | Corrent Corporation | System and method of transferring data between a processing engine and a plurality of bus types using an arbiter |
US6826628B2 (en) * | 2001-10-26 | 2004-11-30 | O2Micro International Limited | PCI-PCMCIA smart card reader |
US20030097503A1 (en) * | 2001-11-19 | 2003-05-22 | Huckins Jeffrey L. | PCI compatible bus model for non-PCI compatible bus architectures |
US8219736B2 (en) * | 2002-02-12 | 2012-07-10 | Ati Technologies Ulc | Method and apparatus for a data bridge in a computer system |
US6973525B2 (en) | 2002-03-19 | 2005-12-06 | Dell Products L.P. | System and method for managing bus numbering |
US7451456B2 (en) * | 2002-06-19 | 2008-11-11 | Telefonaktiebolaget L M Ericsson (Publ) | Network device driver architecture |
US7370072B2 (en) * | 2002-07-08 | 2008-05-06 | Electronic Evidence Discovery, Inc. | System and method for collecting electronic evidence data |
US7475107B2 (en) * | 2002-07-08 | 2009-01-06 | Electronic Evidence Discovery, Inc. | System and method for managing distributed computer processes |
TW200410140A (en) * | 2002-12-03 | 2004-06-16 | Via Tech Inc | An initialization process in a device driver |
JP4313607B2 (ja) | 2003-05-08 | 2009-08-12 | 富士通株式会社 | バス接続回路及びバス接続システム |
US7345689B2 (en) * | 2003-12-19 | 2008-03-18 | Intel Corporation | Interfacing a digital display card through PCI express connector |
DE102004023329B4 (de) * | 2004-05-12 | 2013-01-17 | Robert Bosch Gmbh | Verfahren zum Durchführen von Resets bei zwei Rechnern |
US7356628B2 (en) * | 2005-05-13 | 2008-04-08 | Freescale Semiconductor, Inc. | Packet switch with multiple addressable components |
US7519754B2 (en) * | 2005-12-28 | 2009-04-14 | Silicon Storage Technology, Inc. | Hard disk drive cache memory and playback device |
JP4831317B2 (ja) * | 2006-02-24 | 2011-12-07 | 日本電気株式会社 | Pci多段ブリッジ構成コンピュータにおけるacpiマシン語テーブル記述方法及び装置とそのプログラム |
US8386654B2 (en) | 2008-03-25 | 2013-02-26 | Hewlett-Packard Development Company, L.P. | System and method for transforming PCIe SR-IOV functions to appear as legacy functions |
JPWO2012124431A1 (ja) * | 2011-03-17 | 2014-07-17 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US8943257B2 (en) * | 2011-09-30 | 2015-01-27 | Intel Corporation | Protocol neutral fabric |
US9495723B2 (en) * | 2013-08-09 | 2016-11-15 | Nvidia Corporation | Scale-up techniques for multi-GPU passthrough |
JP6294732B2 (ja) * | 2014-03-31 | 2018-03-14 | 株式会社メガチップス | データ転送制御装置及びメモリ内蔵装置 |
US10162775B2 (en) * | 2015-12-22 | 2018-12-25 | Futurewei Technologies, Inc. | System and method for efficient cross-controller request handling in active/active storage systems |
CN114389947B (zh) * | 2022-03-24 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 数据传输方法、系统及计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5542055A (en) * | 1993-05-28 | 1996-07-30 | International Business Machines Corp. | System for counting the number of peripheral buses in each hierarch connected to primary bus for creating map of peripheral buses to locate peripheral devices |
JPH09237246A (ja) | 1995-12-25 | 1997-09-09 | Hitachi Ltd | Pciエージェント制御カードおよびpciエージェント制御方法 |
DE19603850A1 (de) * | 1996-02-05 | 1997-08-07 | Miro Computer Prod Ag | Grafikkarte zum Ansteuern zweier Bildschirme |
US5878237A (en) * | 1997-07-11 | 1999-03-02 | Compaq Computer Corp. | Apparatus, method and system for a comuter CPU and memory to PCI bridge having a pluarlity of physical PCI buses |
US5996034A (en) * | 1997-10-14 | 1999-11-30 | Advanced Micro Devices, Inc. | Bus bridge verification system including device independent bus monitors |
-
1998
- 1998-02-20 JP JP10038841A patent/JPH11238030A/ja not_active Withdrawn
- 1998-08-26 US US09/140,317 patent/US6272582B1/en not_active Expired - Fee Related
- 1998-10-15 DE DE19847642A patent/DE19847642C2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE19847642C2 (de) | 2003-07-31 |
JPH11238030A (ja) | 1999-08-31 |
US6272582B1 (en) | 2001-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19847642C2 (de) | PCI-PCI-Brücke | |
DE69028066T2 (de) | Kombinierte synchrone und asynchrone Speichersteuerung | |
DE69626485T2 (de) | Schnittstellenbildung zwischen Direktspeicherzugriffsvorrichtung und einem nicht-ISA-Bus | |
DE69714472T2 (de) | Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung | |
DE69724463T2 (de) | Verfahren und gerät um einen gleichzeitigen zugriff von mehreren agenten auf einem gemeinsamen speicher zu gewährleisten | |
DE69523395T2 (de) | Datenprozessor mit gesteuertem Stoss-Speicherzugriff und Vorrichtung dafür | |
DE69604294T2 (de) | Zusätzliche karte mit programmierbaren konfigurationsregistern für pci-bus-rechner | |
DE69906156T2 (de) | Mikroprozessorvorrichtung mit programmierbaren wartezuständen | |
DE19580606C2 (de) | Plattenlaufwerksverbinderschnittstelle zur Verwendung an einem PCI-Bus | |
DE69322310T2 (de) | Busarchitektur für integrierten Daten/- und Videospeicher | |
DE69817725T2 (de) | Mikroprozessor Testsystem | |
DE69032481T2 (de) | Buszugriff für Digitalrechnersystem | |
DE3587439T2 (de) | Gemeinsam benutzter Mehrprozessor-Pipeline-Cachespeicher. | |
DE69132652T2 (de) | Rechnerdatenleitweglenkungssystem | |
DE69228582T2 (de) | Vorrichtung zur Vermeidung von Prozessorblockierungen in einem Multiprozessorsystem | |
DE3650092T2 (de) | E/a-steuerung mit zwei funktionen. | |
DE68918754T2 (de) | Datenverarbeitungsgerät mit selektivem Befehlsvorausholen. | |
DE69031547T2 (de) | Befehlsausgabe für ein Rechnersystem | |
DE2944419C2 (de) | ||
DE60100848T2 (de) | Virtuelles rom für geräte-aufzählung | |
DE19729618C2 (de) | Mikroprozessor und Mehrprozessorsystem | |
DE69131823T2 (de) | Verfahren und Einrichtung zum Zuweisen von Ein-/ und Ausgabeadressen in einer Datenverarbeitungsanlage | |
JP3167027B2 (ja) | 直接メモリアクセス用制御器 | |
DE69513113T2 (de) | Verfahren zum synchronen Speicherzugriff | |
DE69601311T2 (de) | Wecksystem für pcmcia karte |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8304 | Grant after examination procedure | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |