DE69619646T2 - Schnittstellenarchitektur zur Verbindung mit einem PCI-Bus - Google Patents
Schnittstellenarchitektur zur Verbindung mit einem PCI-BusInfo
- Publication number
- DE69619646T2 DE69619646T2 DE69619646T DE69619646T DE69619646T2 DE 69619646 T2 DE69619646 T2 DE 69619646T2 DE 69619646 T DE69619646 T DE 69619646T DE 69619646 T DE69619646 T DE 69619646T DE 69619646 T2 DE69619646 T2 DE 69619646T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- bus
- module
- address
- read
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Description
- Diese Erfindung bezieht sich auf eine Schaltungsarchitektur zum Verbinden von Modulen im Inneren eines Datenverarbeitungssystems mit einem Bus einer peripheren Komponentenschnittstelle (PCI) und spezieller auf eine Schaltungsarchitektur, die es ermöglicht, daß eine einzelne Schnittstellenstruktur, einen PCI-Bus mit einer Mehrzahl von Multifunktionsvorrichtungsräumen verbinden kann.
- Die PCI-Schnittstelle wird innerhalb kurzer Zeit zu einer bevorzugten Schnittstelle für Eingangs-/Ausgangsfunktionen in einer computerverwandten Vorrichtung. Die PCI- Spezifikation ist ein Industriestandard, der Einzelheiten bezüglich Signalpegeln, Protokollen und Schaltungskonfigurationen zum Verbinden externer Vorrichtungen mit bestehenden internen Busstrukturen in einer Datenverarbeitungsausrüstung vorsieht. Die PCI-Spezifikation berücksichtigt die Erzeugung von Konfigurationsräumen, von denen jeder zumindest ein funktionales Modul enthält, und ermöglicht, daß eine Eingangsadresse auf dem PCI-Bus zu einem funktionalen Modul in einem Konfigurationsraum abgebildet wird. Im allgemeinen ist jeder Konfigurationsraum auf ein funktionales Modul begrenzt.
- Weil die PCI-Schnittstelle eine umfangreiche Logik für ihre Implementierung erfordert, ist es wünschenswert, eine einfache Schnittstelle zu schaffen, die eine Kommunikation zwischen einem PCI-Bus und mehreren funktionalen Modulen ermöglicht. Obwohl die PCI-Spezifikation eine multifunktionale Fähigkeit erwähnt, werden wenige Einzelheiten betreffend der Implementierung einer solchen Schnittstelleneinrichtung geboten. Nichtsdestotrotz besteht ein Bedarf nach einer kostengünstigen PCI-Schnittstelle, die nicht nur mehrere Konfigurationsräume ermöglicht (wie durch die PCI- Spezifikation ermöglicht ist), sondern auch ermöglicht, daß mehrere Funktionen mit der PCI-Funktionalität schnittstellenmäßig verbunden werden.
- Der Stand der Technik weist eine Anzahl von Lösungsansätzen zum Schaffen von Schnittstellenfunktionen zwischen internen modularen Funktionen eines Datenverarbeitungssystems und eines PCI-Busses auf. Eine Lösung ist die Forderung gewesen, daß jede Eingangs-/Ausgangsfunktion ihre eigene PCI- Schnittstelle aufweist und einfach jede Eingangs- /Ausgangsfunktion zusammen mit ihrer individuellen Schnittstelle zusammen auf einer einzelnen integrierten Schaltung anzuordnen.
- LSI-Logic, Inc. bietet eine "PCI-32 FlexCore"-Architektur zum schnittstellenmäßigen Verbinden von internen Computerfunktionen mit einem PCI-Bus an. Das FlexCore-Produkt stellt intern eine schnittstellenmäßige Verbindung mit einem Intel Corp. 486 "VL"-Bus her. Das FlexCore-Produkt bewegt sich in einer Größe von 10.000 bis 43.000 Gattern und ist infolgedessen eine komplexe und relativ teuere Lösung für ein Schnittstellenproblem. Obwohl das FlexCore-Produkt anscheinend einen Zugriff auf mehrere funktionale Module innerhalb eines Konfigurationsraums unterstützt, sind Einzelheiten dahingehend, wie dies erreicht wird, nicht bekannt.
- Die Synopsys Corporation bietet ein "DesignWare PCI Macro Set" an. Das Synopsys Produkt weist eine Anzahl von Blöcken eines Codes auf, die einem Kunden verkauft werden und der die funktionalen Entwürfe, die durch den Code dargestellt werden, in den Entwurf des Kunden einbaut. Infolgedessen ist die Schnittstelle mit dem Schaltungsaufbau des Kunden nicht gut definiert, und mehrere modulare Funktionen in einer Konfiguration werden nicht durch die resultierende Schnittstelle unterstützt. Wenn auf mehrere Eingangs- /Ausgangsfunktionen zugegriffen wird, müssen sie einen einzelnen Konfigurationsraum teilen.
- Die AMCC Corporation bietet einen "PCI Controller for addon applications" (PCI-Steuerung für Nachrüstanwendungen) an, der ein Verfahren zum schnittstellenmäßigen Verbinden eines eingebetteten Mikroprozessor-Teilsystems mit einem PCI-Bus vorsieht. Dieses Produkt ist nicht auf einen Nicht- Mikroprozessor-Bus gezielt, der genutzt wird, um auf mehrere Funktionen zuzugreifen, die im Mikroprozessor nicht intern sind.
- Die EP 0627 688 A beschreibt eine Hardwarelogik in einer Hostbrücke, die mit einem lokalen CPU-Bus mit einem peripheren Bus verbindet. Die Logik bestimmt, ob Daten, die auf den lokalen CPU-Bus übertragen werden sollen, nicht benachbart sind und, wenn dies der Fall ist, werden benachbarte Daten gegen die nicht-benachbarten Daten ausgetauscht, um sicherzustellen, daß der lokale CPU-Bus nicht defekt ist. Ein CPU-System, das die CPU, einen Cache-Speicher und Basisspeicher umfaßt, ist mit einem Systembus verbunden, mit dem wiederum eine PCI-Host-Brücke verbunden ist, die wiederum mit einem primären PCI-Bus verbunden ist. Mit dem PCI-Bus sind ferner funktionale Module verbunden. Eine Datenübertragung zwischen dem Systembus und dem PCI-Bus umfaßt eine aus zwei Schritten bestehende Prozedur. Während eines ersten Schritts ist die Hostbrücke entweder ein Neben- oder ein Master für eine Datenübertragung, davon abhängig, ob die Daten zum oder aus dem PCI-Bus übertragen werden. Anschließend wird die Hostbrücke in einem zweiten Schritt zu einem Master oder Slave. Während eines Schreibezyklus werden Daten in einem ersten Schritt durch die Hostbrücke in einem ihrer internen Register empfangen und in denselben gespeichert. Im nächsten Schritt überträgt die Hostbrücke die Adreßinformationen, die sie während dem vorangegangenen Zyklus empfangen hat, auf die entsprechenden Leitungen des Systembusses. Bei diesem System wird aufgrund der zwei Schritte umfassenden Prozedur eine Adresse, bevor sie dem gewünschten Modul zugeführt wird, zwischengespeichert, und nicht direkt auf das funktionale Modul angewendet.
- Es ist die Aufgabe der vorliegenden Erfindung, ein verbessertes Datenverarbeitungssystem zum Verbinden von funktionalen Modulen zu schaffen.
- Diese Aufgabe wird durch ein System gemäß Anspruch 1 gelöst.
- Ein Datenverarbeitungssystem umfaßt einen ersten Bus, der einen Prozessor und andere Komponenten koppelt und konfiguriert ist, um gemäß einem Standardprotokoll zu arbeiten. Mehrere funktionale Module, wobei ein jedes eine Funktion, die durch das Datenverarbeitungssystem angefordert wird, ausführt, sind mit einem zweiten Bus gekoppelt. Der zweite Bus umfaßt dedizierte Lese-/Schreibe-Freigabeleitungen für jedes funktionale Modul und mehrere Datenleitungen, die gemeinsam mit allen funktionalen Modulen gekoppelt sind. Ein Brückenmodul umfaßt eine Steuerung, die zwischen dem ersten und dem zweiten Bus gekoppelt ist. Die Steuerung spricht auf einen Lese- oder Schreibbefehl an, der aus dem Prozessor empfangen wird, um ein logisches Signal auf die Lese- /Schreibe-Freigabeschaltungen anzuwenden, die mit einem funktionalen Modul gekoppelt sind, das durch den empfangenen Befehl bezeichnet ist. Das funktionale Modul antwortet je nachdem entweder durch Liefern der angeforderten Daten auf die Datenleitungen des zweiten Busses oder Empfangen von Daten aus dem zweiten Bus in das funktionale Modul. Die dedizierten Lese-/Schreibe-Freigabeleitungen für jedes funktionale Modul ermöglichen mehreren funktionalen Modulen an den zweiten Bus angebracht und gesteuert zu werden, ohne eine spezielle Konfiguration von Befehlseingaben aus dem ersten Bus zu erfordern. Direktspeicherzugriffe werden ebenfalls sowohl zum als auch aus den funktionalen Modulen ermöglicht.
- Fig. 1 ist ein Blockdiagramm eines repräsentativen Datenverarbeitungssystems, das die Erfindung beinhaltet;
- Fig. 2 ist ein Blockdiagramm, das eine Brückenstruktur zum schnittstellenmäßigen Verbinden eines PCI-Bus mit mehreren funktionalen Modulen darstellt, die in einer anwendungsspezifischen integrierten Schaltung (ASIC) umfaßt sind;
- Fig. 3 ist ein Blockdiagramm von weiteren Einzelheiten von Teilen der ASIC von Fig. 2, die Schnittstellenfunktionen zwischen einem PCI-Bus und einem ASIC-Bus liefern, der alle funktionalen Module des ASICs verknüpft.
- Fig. 4 ist ein Wellenformdiagramm, das beim Verständnis für den Betrieb der Erfindung während einer einzigen Wort-Schreibe-Aktion hilfreich ist.
- Fig. 5 ist ein Wellenformdiagramm, das beim Verständnis für den Betrieb der Erfindung während einer einzigen Wort-Lese-Operation hilfreich ist.
- Fig. 6 ist ein Wellenformdiagramm, das den Betrieb der Erfindung während einer einzigen Wort- Direktspeicherzugriffs-Schreibe-Aktion darstellt.
- Fig. 7 ist ein Wellenformdiagramm, das den Betrieb der Erfindung während einer einzigen Wort- Direktspeicherzugriffs-Lese-Aktion darstellt.
- Unter Bezugnahme auf Fig. 1 wird ein Datenverarbeitungssystem 10 in Zusammenhang mit einem Drucker beschrieben, der entweder ein Laserdrucker oder ein Tintenstrahldrucker sein kann.
- Es sollte jedoch klar sein, daß die Erfindung gleichermaßen anwendbar ist auf ein beliebiges Datenverarbeitungssystem, das einen Eingangs-/Ausgangsbus verwendet, der mit einem allgemein akzeptierten Standardprotokoll wie z. B. einer PCI übereinstimmt.
- Das Datenverarbeitungssystem 10 umfaßt eine zentrale Verarbeitungseinheit (CPU) 12, mit der ein Direktzugriffsspeicher (RAM) 14 und ein Nur-Lese-Speicher (ROM) 16 gekoppelt ist. Der RAM 14 und der ROM 16 sind beide mit einer CPU 12 durch einen Prozessorbus 18 verbunden. Der Bus 18 koppelt auch eine Mehrzahl von Nachrüstspeicherschlitzen 20 mit der CPU 12.
- Ein Eingangs-/Ausgangs-Bus 22 ist konfiguriert, um die CPU 12 mit einer ASIC 24 zu koppeln. Die ASIC 24 umfaßt mehrere funktionale Module, die erforderliche Aktionen im Drucker 10 ausführen, um den Betrieb desselben zu ermöglichen. Die funktionalen Module in derselben arbeiten sowohl in einer Master- als auch einer Slave-Konfiguration. Bei der Slavekonfiguration werden die funktionalen Module durch Befehlseingaben aus der CPU 12 gesteuert, um ihre definierten Funktionen auszuführen. Ansprechend auf diese Befehle geben die funktionalen Module Signale auf separaten Ausgabeleitungen 26 an die entsprechenden verbundenen Hardwarekomponenten des Druckersystems 10 aus.
- In der Masterbeziehung führen die funktionalen Module Direktspeicherzugriffs-Aktionen (DMA) aus, die eine Zwischenspeicherung von Daten in der CPU 12 umgehen und bewirken, daß die Daten je nachdem direkt in den RAM 14 geschrieben und direkt aus dem RAM 14, gelesen werden.
- Ein PCI-Bus 22 verbindet die CPU 12 und die ASIC 24 mit mehreren Eingangs-/Ausgangs-Kartenschlitzen 28, wobei Vorrichtungen in den Drucker 10 eingebaut werden können. Der PCI-Bus 22 ist vorzugsweise konfiguriert, um gemäß einem allgemein akzeptierten Standardprotokoll, wie z. B. dem peripheren Komponentenverbindungsprotokoll, betrieben zu werden. Wie oben angegeben, ist die PCI-
- Schnittstellenarchitektur in der Datenverarbeitungsindustrie für Eingangs-/Ausgangskommunikationen zwischen einem Datenverarbeitungssystem und Nachrüstvorrichtungen allgemein akzeptiert.
- In die ASIC 24 ist eine ASIC-Busstruktur eingebaut, die jedes einer Mehrzahl von funktionalen Modulen, die darin eingebaut sind, verbindet. Diese ASIC-Busstruktur ist mit dem PCI-Bus 22 über eine Schnittstelle gekoppelt, die die Erfindung beinhaltet (und nachstehend ausführlich beschrieben wird). Doch bevor die Einzelheiten der Struktur der ASIC 24 erfolgen, ist eine kurze Einleitung zur PCI-Architektur vorgesehen.
- Bei jeder PCI-Datenübertragung gibt es zwei Teilnehmer; einen Initiator und ein Ziel. Der Initiator oder Busmaster ist die Vorrichtung, die eine Übertragung initiiert. Das Ziel oder der Slave ist die Vorrichtung, die aktuell durch den Initiator für den Zweck der Ausführung einer Datenübertragung adressiert wird. Jede PCI-Transaktion beginnt mit einer Adreßphase, bei der der Initiator die Zielvorrichtung und den Typ der Transaktion identifiziert. Die Zielvorrichtung wird durch Treiben einer Adresse in den zugewiesenen Bereich der Zielvorrichtung auf die PCI-Adreßleitungen auf dem PCI-Bus 22 identifiziert. Zur gleichen Zeit identifiziert der Initiator den Typ der Transaktion durch Treiben eines Befehlstyps auf den PCI-Bus 22.
- Die Schnittstellenfunktion in der Schnittstellen-ASIC 24 decodiert die Adresse auf dem Adreßbus, bestimmt den Befehlstyp und unternimmt weitere Schritte, die ermöglichen, daß das angeforderte Zielmodul in der erforderlichen Weise antwortet. Nach der Adreßphase beginnt die Datenphase, bei der der Initiator die erforderlichen Daten auf den PCI-Bus 22 treibt. Der Betrag der Daten, die während einer Datenphase übertragen werden, wird durch eine Anzahl von Signalen bestimmt, die durch den Initiator während der Datenphase bestätigt werden.
- Bezugnehmend auf Fig. 2 werden Einzelheiten der ASIC 24 weiter beschrieben. Die PCI-Architektur ermöglicht die Einrichtung von mehreren Konfigurationsräumen der funktionalen Module, die durch Adressen, die auf dem PCI-Bus 22 auftauchen, unabhängig adressierbar sind. In der ASIC 24 befindet sich eine Mehrzahl von funktionalen Modulen, die für den Betrieb des Druckers 10 erforderlich sind. Ein Videomodul 30 liefert einen Videorasterstrom an einen Druckmotor (nicht gezeigt). Ein funktionales NVRAM-Modul 32 (NVRAM = non-volatile random access memory = nicht flüchtiger Direktzugriffsspeicher) schafft Zugriff auf einen seriellen nicht-flüchtigen RAM (NVRAM). Ein Motorstatusmodul 34 liefert Statusinformationen bezüglich des Zustands des Druckmotors. Ein PLL-Modul 36 umfaßt einen oder mehrere Phasenregelschleifen, die die Ausgabe von Zeitgebungsignalen an Funktionalitäten in dem Drucker 10 ermöglichen. Ein Zeitgebermodul 38 liefert Zeitgebungsfunktionen. Ein Präsenzerfassungsmodul 40 wird genutzt, um die Konfiguration des Druckers 10 nach dem Hochfahren zu nutzen. Spezieller bestimmt das Präsenzerfassungsmodul 40, welche Vorrichtungen auf dem CPU-Bus 18 verbunden sind. Ein funktionales Kompressions-/Dekompressionsmodul 42 wird verwendet, um Druckdaten nach Bedarf zu komprimieren und zu dekomprimieren. Ein funktionales Unterbrechungsmodul 44 handhabt Systemunterbrechungsaktionen, die auf dem ASIC-Bus 54 auftauchen. Ein paralleles Schnittstellenmodul 46 wird verwendet, um den Drucker 10 mit einem Hostprozessor zu verbinden, und ein Unterbrechungs-/Parallelmodul 48 wird verwendet, um Unterbrechungen durch das funktionale parallele Schnittstellen-Port-Modul 46 handzuhaben. In ähnlicher Weise liefert ein serielles Portmodul 50 einen seriellen Port an einen Hostprozessor, und ein Unterbrechungs-/serielles Modul 52 handhabt Unterbrechungen für den seriellen Port.
- Alle der oben beschriebenen funktionalen Module sind über eine ASIC-Bus 54 verbunden, der sowohl Daten-, Adreß- und Steuerleitungen umfaßt. Eine Mehrzahl von Konfigurationsraummodulen 56, 58 und 60 ist ebenfalls mit dem ASIC-Bus 54 verbunden. Jedes Konfigurationsraummodul identifiziert die Adressen von einem oder mehreren funktionalen Modulen, die in dem definierten Konfigurationsraum enthalten sind. Daher sind die Adressen von funktionalen Modulen in einer PCI- Funktion 1 im Konfigurationsraummodul 56 aufgelistet; die Adressen der funktionalen Module, die einer PCI-Funktion Nr. 2 zugewiesen sind, sind im Konfigurationsraummodul 58 aufgelistet, und die Adressen der funktionalen Module 50 und 52 sind in einem funktionalen PCI-Bereich Nr. 3 in dem Konfigurationsraummodul 60 aufgelistet.
- Wenn eine Adresse über den PCI-Bus 22 für ein funktionales Modul, das einem der Konfigurationsräume zugewiesen ist, empfangen wird, liefert das entsprechende Konfigurationsraummodul ein "Hit"-Ausgangssignal an eine Steuerung 62, die ebenfalls mit dem ASIC-Bus 54 gekoppelt ist. Ansprechend auf ein "Hit"-Signal gibt die Steuerung 62 (eine) Lese-/Schreibe-Leitung(en) zu dem adressierten funktionalen Modul frei. Spezieller ist jedes funktionale Modul, das mit dem ASIC-Bus 54 gekoppelt ist, ebenfalls mit der Steuerung 62 über eine dedizierte Lese-/Schreibe-Leitung gekoppelt (die ein oder mehrere Leitungen umfassen kann). Daher ist die Steuerung 62 angepaßt, um Signalpegel auf den (der) dedizierten Lese-/Schreibe-Leitung(en) auf dem spezifisch adressierten funktionalen Modul einzuprägen, die dem Modul unmittelbar ermöglichen, zum Lesen oder Schreiben von Daten bereit zu sein. Daher ermöglicht bei einer Daten-Schreibe- Aktion ein Schreibsignal, das auf einer Lese-/Schreibe- Leitung zu einem Modul angelegt wird, daß das Modul (Schreibe-) Daten, die anschließend auf einem ASIC-Bus 54 eingeprägt werden, unmittelbar speichert, ohne daß eine weitere Adressierungsaktion über den ASIC-Bus 54 ausgeführt werden muss. Wenn ein funktionales Modul mehrere Register umfaßt, die extern adressierbar sind, weist das Ausgangssignal aus der Steuerung 62 ebenfalls Adreßwerte auf, die dem entsprechenden funktionalen Modul ermöglichen, die empfangenen Daten in seinen adressierbaren Registern nach dem Empfangen von Daten über den ASIC-Bus 54 zu speichern. Eine ähnliche Aktion tritt ansprechend auf eine Lesesignal auf, das auf die dedizierten Lese-/Schreibeleitungen eines Moduls angewendet wird. Unter solchen Umständen prägt das ausgewählte Modul unmittelbar die angeforderten Daten auf dem ASIC-Bus 54 ein, ohne daß eine weitere Adressierungsaktion angefordert wird.
- Fig. 3 stellt weitere Einzelheiten der Steuerung 62 und der Konfigurationsraummodule 54, 58 und 60 dar. Ein Adreß- /Datenregister 70 liefert einen Schnittstellenpufferbetrieb für sowohl Daten- als auch Adreßleitungen zwischen dem ASIC-Bus 54 und dem PCI-Bus 22. Ein Befehls-/Byte-Freigabe- Register 72 empfängt sowohl Befehls- als auch Byte- Freigabe-Daten aus dem entsprechenden ASIC-Bus 54 und dem PCI-Bus 22 und arbeitet, um diese Daten aus einem Bus zum anderen zu puffern.
- Vor der Beschreibung des Betriebs der in Fig. 3 gezeigten Vorrichtung im Einzelnen, wird jedes der Schnittstellen- Steuersignale, die beim Betrieb des Schnittstellensystems verwendet werden, nachstehend beschrieben.
- FRAME (Frame = Rahmen): Dieses Signal wird durch den Master erzeugt und zum Ziel übertragen.
- Das FRAME wird durch den Initiator getrieben und weist auf den Start (als dieser zuerst bestätigt wurde) und die Dauer der Transaktion an. Eine Transaktion kann aus ein oder mehreren Datenübertragungen zwischen einem Initiator und einem adressierten Ziel bestehen.
- TRDY: "Target ready" (Target ready = Ziel bereit) wird durch ein aktuell adressiertes Ziel getrieben. Es wird eingebracht, wenn das Ziel bereit ist, die aktuelle Datenübertragung zu vollenden. Eine Datenübertragung ist vollendet, wenn das Ziel TRDY bestätigt und der Master IRDY (initiator ready = Initiator bereit) an der steigenden Kante eines Taktsignals bestätigt. Während einer Leseaktion weist das bestätigte TRDY darauf hin, daß das Ziel gültige Daten auf den Datenbus treibt. Während eines Schreibens weist das bestätigte TRDY darauf hin, daß das Ziel bereit ist, Daten aus dem Master zu akzeptieren.
- IRDY: "Initiator ready" (Initiator bereit) wird durch den aktuellen Bus-Master (dem Initiator der Transaktion) getrieben. Während eines Schreibens weist das bestätigte IRDY darauf hin, daß der Initiator bereit ist, Daten aus einem aktuell adressierten Ziel zu akzeptieren.
- STOP: Ein Ziel bestätigt STOP, um darauf hinzuweisen, daß es wünscht, daß der Initiator die im Gang befindliche Transaktion auf der aktuellen Datenübermittlung anhält.
- DEVSEL: "Device Select" (Vorrichtung auswählen) wird durch ein Ziel bestätigt, wenn das Ziel seine Adresse decodiert hat. Es dient als Eingangssignal zum aktuellen Initiator. ASIC-Bus-Signale
- ADDR (31 : 2): Adresse. Dieses Signal enthält die Adresse eines 32-Bit-Worts, das übertragen wird. Funktionale Module empfangen eine Adresse, wenn sie als Slave dienen, und senden die Adresse, wenn sie als Master dienen. Als Slave ist die Adresse gültig, wenn Rd_Enable- oder Wr_Enable-Signale eines funktionalen Moduls bestätigt werden. Als Master ist die Adresse gültig, immer wenn nREQ bestätigt wird.
- Data (31 : 0): Daten. Daten werden aus dem Master zum Slave für Schreib-Aktionen und aus dem Slave zum Master für Lese- Aktionen getrieben. Als Slave findet ein funktionales Modul die Quelle von Daten, wenn sein Rd_Enable-Signal bestätigt ist, und empfängt Daten, wenn sein Wr_Enable-Signal bestätigt ist. Als Master findet das funktionale Modul die Quelle von Daten für Schreibe-Aktionen, bis eine Bestätigung von nPCIRdy darauf hinweist, daß die Daten akzeptiert sind, und für Lese-Aktionen akzeptiert es die Daten, wenn nPCIRdy bestätigt ist, was darauf hinweist, daß gültige Lesedaten zurückgesendet worden sind.
- nBE (3 : 0): Byte Enable (Byte-Freigabe). Das gleiche Byte- Freigabesignal, das in dem PCI-Bus verwendet wurde, wird an der Schnittstelle beibehalten. Byte-Freigabesignale werden aus dem Master zum Slave getrieben.
- Rd_Enable: Read Enable (Lese-Freigabe). Dieses Signal dient zum Lesen eines Registers in einem funktionalen Modul, wenn der PCI-Bus der Master ist und die ASIC der Slave ist. Wenn das Rd_Enable-Signal bestätigt ist, zeigt es an, daß die Adresse und die Byte-Freigaben gültig sind und daß das funktionale Modul die angeforderten Daten zurücksenden muß. Wr_Enable: Write Enable (Schreibe-Freigabe). Dieses Signal dient zum Schreiben von Registern in einem funktionalen Modul, wenn der PCI-Bus 22 der Master ist und der ASIC-Bus 54 der Slave ist. Wenn das
- Wr_Enable-Signal bestätigt ist, weist es darauf hin, daß die Adreß- und Byte-Freigabesignale gültig sind und daß das funktionale Modul die Daten, die gerade präsentiert werden, akzeptiert muss.
- nPCIRdy: PCI Interface Ready (PCI Schnittstelle bereit). Dies signalisiert, daß die PCI-Schnittstelle zum Datenübertragen bereit ist. Beim Empfangen von Daten (z. B. bei Direktspeicherzugriff-Leseaktionen) bedeutet dies, daß die Daten gültig sind. Beim Suchen der Quelle von Daten (z. B. von Direktspeicherzugriff-Schreibaktionen) bedeutet dies, daß die Schnittstelle bereit ist, Daten zu empfangen.
- nRetry: Retry (erneut versuchen). Dieses Signal weist darauf hin, daß die aktuelle DMA-Schreiben- Speicherzugriffsaktion erneut gestartet werden muß, wobei mit dem letzten Wort, das auf dem ASIC-Bus akzeptiert wurde, begonnen wird.
- nAbort: Abort (Abbruch). Dieses Signal wird bestätigt, wenn die ASIC-Bus-Master-Transaktion auf einen Fehlerzustand auf dem PCI-Bus trifft. Entweder wurde die auf dem PCI-Bus durchgeführte Transaktion nicht durch ein Ziel beantwortet oder das Ziel antwortete mit einer Ziel-Abbruch-Sequenz.
- nREQ: Request (Anfordern). Dieses Signal sagt einem funktionalen Entscheidungsmodul, daß dieses interne funktionale Modul die Verwendung des Busses wünscht. Jeder Master hat sein eigenes nREQ.
- nGnt: Grant (Gewähren). Dieses Signal informiert das funktionale Modul, daß ein Zugriff zum ASIC-Bus gewährt worden ist. Jeder Master hat sein eigenes nGnt.
- Unter erneuter Bezugnahme auf Fig. 3 übt die Steuerung 62 eine Gesamtsteuerung der Schnittstellenfunktion zwischen dem PCI-Bus 22 und dem ASIC-Bus 54 aus. Unter anderen Steuerleitungen ist die Steuerung 62 mit den FRAME-, IRDY-, TRDY-, STOP- und DEVSEL-Leitungen des PCI-Busses 22 gekoppelt. In ähnlicher Weise ist die Steuerung 62 mit jedem der funktionalen Module, die mit dem ASIC-Bus 54 über eine Rd_Enable-Leitung 74 und eine Wr_Enable-Leitung 76 verbunden sind, gekoppelt. Ein Adreß-/Datenregister 70 ist mit dem PCI-Bus 22 über 31 Adreßleitungen verbunden, und ein Befehls-/Byte-Freigaberegister 72 ist mit dem PCI-Bus 22 über drei Leitungen gekoppelt, die sowohl den Befehl als auch die Byte-Freigabedaten tragen. Das Adreß- /Datenregister 70 ist ebenfalls mit dem ASIC-Bus 54 über mehrere Adreß- und Datenleitungen 80 gekoppelt, und das Befehls-/Byte-Freigabe-Register 72 ist mit dem ASIC-Bus 54 über mehrere Leitungen 82 verbunden, um Befehls- und Byte- Freigabe-Daten auf ein ausgewähltes funktionales Modul zu übertragen.
- Durch geeignetes Aufbereiten der vorgenannten Leitungen kann ein ausgewähltes funktionales Modul für einen Befehl empfänglich gemacht und dazu gebracht werden, die Aktion, die durch den Befehl gefordert wird, auszuführen. Sobald eine Rd_Enable- oder Wr_Enable-Leitung aufbereitet ist, ist keine Bestätigung aus dem verbundenen funktionalen Modul erforderlich, da es bekannt ist, daß das funktionale Modul in der erforderlichen Weise antworten wird.
- Jedes der Konfigurationsraummodule 56, 58 und 60 umfaßt ebenfalls eine Wr_Enable- und Rd_Enable-Leitung, die mit der Steuerung 62 verbunden ist und ferner mit dem ASIC-Bus 54 gekoppelt ist, wie dies alle verbleibenden funktionalen Module sind. Daher wird jedes der Konfigurationsraummodule 56, 58 und 60 in einer Weise, die der von allen anderen funktionalen Modulen identisch ist, betrieben. Eine der Funktionen von jedem Konfigurationsraummodul ist, eine Adresse, die aus dem Register 70 empfangen wurde, zu untersuchen, um zu bestimmen, ob die Adreßdaten mit einer Basisadresse für den speziellen Konfigurationsraum übereinstimmt. Wenn ja gibt das Konfigurationsraummodul ein Hit- Signal zurück zur Steuerung 62 aus, was darauf hinweist, daß ein funktionales Modul das im Konfigurationsraum zugewiesen ist, adressiert worden ist. Ansprechend darauf untersucht die Steuerung 62 eine kleine Gruppe von Bits der Adresse, um zu bestimmen, welches funktionale Modul adressiert worden ist, und gemäß dem empfangenen Befehl, versorgt sie entweder die Rd_Enable- oder Wr_Enable-Leitungen zu diesem funktionalen Modul entsprechend mit Energie.
- Nachstehend wird die Funktion des Schnittstellenschaltungsaufbaus von Fig. 3 in Zusammenhang mit: (i) einer einzigen Wort-Schreibe-Aktion zu einem funktionalen Modul; (ii) einer einzigen Wort-Lese-Aktion aus einem funktionalen Modul; (iii) einer einzigen Wort-Direktspeicherzugriff- Schreibeaktion zum RAM aus einem funktionalen Modul und (iv) einer einzigen Wort-Direktspeicherzugriff-Leseaktion aus dem RAM zu einem funktionalen Modul beschrieben.
- Unter Bezugnahme auf das Wellenformdiagramm von Fig. 4 wird eine einzige Wort-Schreibe-Aktion beschrieben. Anfangs wird davon ausgegangen, daß die CPU 12 Daten an ein Register in einem der funktionalen Module schreiben soll, die mit dem ASIC-Bus 54 verbunden sind. Dementsprechend (siehe Fig. 4) gibt die CPU 12 einen Rahmen-Puls 90 (FRAME = Rahmen) aus, dem ein Initiator-Bereit-Signal (IRDY) 92 folgt, das darauf hinweist, daß die Daten bereit sind, zu einem funktionalen Modul übertragen zu werden. Die CPU 12 treibt auch Adreßdaten 94 und einen Schreibebefehl 96 auf den PCI-Bus 22.
- Nach dem Empfangen und Zwischenspeichern der Adreß- und der Befehlsdaten in den Registern 70 und 72, gibt die Steuerung 62 ein Ziel-Bereit- (TRDY) und Vorrichtung-Auswählen-Signal (DEVSEL) auf den Steuerleitungen aus, die einen Teil des PCI-Busses 22 bilden. Wenn das Befehl-/Byte-Freigabe- Register 72 einen Befehl empfängt, nachdem dieser Befehl zwischengespeichert worden ist, wird dieser ebenfalls an die Steuerung 62 übertragen, bei der der Befehl interpretiert und genutzt wird, um den Betrieb der Steuerung 62 zu steuern. Gleichzeitig bestätigt die Steuerung 62, nachdem sie durch eines der Konfigurationsraummodule 56, 58 oder 60 über ein "Hit"-Signal resultierend aus einem Vergleich der empfangenen Adresse und einer gespeicherten Basisadresse informiert worden ist, die Schreibe-Freigabe-Leitung (Wr_Enable) zum ausgewählten funktionalen Modul. Ferner legt sie die Adreßdaten, Daten, die geschrieben werden sollen, und Byte-Freigabe-Daten auf den ASIC-Bus 54.
- Ansprechend auf das Wr_Enable-Signal, zwischenspeichert das adressierte funktionale Modul die Daten aus dem ASIC-Bus 54, und die Prozedur ist an einem Ende angelangt. Man beachte, daß das bloße Decodieren von Adreßdaten, die von einem funktionalen Modul angefordert wurden, dazu dient, um zu bestimmen, welches Register (wenn eine Mehrzahl derselben vorhanden ist) in dem funktionalen Modul die Daten, die geschrieben werden sollen, empfangen soll. Das funktionale Modul bestätigt nicht das Wr_Enable-Signal, und es wird davon ausgegangen, daß die Schreibe-Aktion erfolgreich vollendet worden ist.
- Unter Bezugnahme auf Fig. 5 wird eine einzige Wort-Lese- Aktion beschrieben. In diesem Fall werden Daten, die in einem funktionalen Modul gespeichert sind, geholt und z. B. in einem Register in der CPU 12 gespeichert. Die CPU 12 gibt wiederum das Frame-Signal aus und treibt kurz darauf die Adreß- und Befehlsleitungen des PCI-Busses 22 mit der Adresse des funktionalen Moduls, aus dem die Daten gelesen werden sollen, und einen Lesebefehl an. Die Adreß- und Befehlsdaten werden in den Registern 70 und 72 in der ASIC 24 gepuffert. Ansprechend auf ein Hit-Signal aus einem der Konfigurationsraummodule 56, 58, 60 bestätigt die Steuerung 62 die Rd_Enable-Leitung dem adressierten funktionalen Modul, das die Daten, die gelesen werden sollen, hält. Gleichzeitig werden die Adreßdaten auf den ASIC-Bus 54 getrieben. Das adressierte funktionale Modul antwortet durch Treiben der angeforderten Daten auf die Datenleitungen des ASIC-Busses 54. Die Daten werden im Register 70 zusammen mit Byte-Freigabedaten im Register 72 zwischengespeichert. Auf einem nachfolgenden Taktsignal werden die adressierten Daten aus dem Adreßdatenregister 70 ausgelesen und auf dem PCI-Bus 22 eingeprägt, von woher sie durch die CPU 12 gefaßt werden.
- Hier erfolgt erneut keine Bestätigung durch das adressierte funktionale Modul des Rd_Enable-Signals. Eine Adreßdecodierung wird hauptsächlich durch die Konfigurationsraummodule 56, 58 und 60 ausgeführt. Man beachte ferner, daß jedes der Konfigurationsraummodule mit dem ASIC-Bus 54 in der gleichen Weise verbunden ist wie andere funktionale Module. Daher sind keine speziellen Schnittstellenfunktionen oder Steuerungsprozeduren zwischen der Steuerung 62 und dem Konfigurationsraummodul erforderlich, um Daten zu und aus den Konfigurationsraumregistern zu übertragen.
- Unter Bezugnahme auf Fig. 6 wird eine einzelne Wort-DMA Schreibe-Aktion beschrieben. In diesem Fall werden die Lese-/Schreibe-Freigabeleitungen nicht verwendet, da ein funktionales Modul als ein Master dient und bewirkt, daß Daten darin gespeichert werden, um direkt in den RAM 14 ohne Zwischenspeicherung in der CPU 12 geschrieben zu werden. Um eine DMA-Schreibe-Aktion zu beginnen, gibt das funktionale Modul ein nREQ-Signal 100 aus, das Zugriff auf den PCI-Bus 22 anfordert. Ein PCI-Buszuteiler (nicht gezeigt) untersucht den Zustand des PCI-Busses 22, und wenn dieser zur Verfügung steht, gibt er ein nGnt-Signal 102 zurück an das anfordernde funktionale Modul aus, das Zugriff auf den PCI-Bus 22 gewährt. Danach treibt das funktionale Modul, dem der PCI-Bus 22 gewährt worden ist, Adreß- und Datensignale zusammen mit Byte-Freigabedaten und einem Übertragungszählwert auf den ASIC-Bus 54. Ansprechend darauf, treibt die Steuerung 62 ein Frame-Signal auf den PCI-Bus 22, wodurch bewirkt wird, daß die Adreß- und Befehlsdaten aus den Registern 70 und 72 gelesen werden und auf den PCI- Bus 22 getrieben werden, wodurch eine Einstellung der notwendigen Gatter, die dem RAM 14 zugeordnet sind, ermöglicht wird. Zuvor hat das funktionale Modul, das versuchte, eine einzige DMA-Schreibe-Aktion auszuführen, ebenfalls ein Lese-/Schreibe-Signal (RnW) auf den ASIC-Bus 54 erteilt, was auf eine Daten-Schreibe-Aktion hinweist. Danach, wenn alle notwendigen Daten in die Register 70 und 72 zwischengespeichert worden sind, gibt die Steuerung 62 ein nPCIRdy-Signal 104 aus, das die Übertragung der Daten und Byte-Freigabe- Steuersignale zum RAM 14 ermöglicht.
- In Fig. 7 sind die Wellenformen, die zum Ausführen einer einzelnen Wort-DMA-Lese-Aktion aus dem RAM 14 erforderlich sind, gezeigt. Man beachte, daß das funktionale Modul erneut eine Busanforderungsebene (nReq) auf dem ASIC-Bus 54 einprägt. Nachdem der Zuteiler dem anfordernden funktionalen Modul Zugriff auf den Bus gewährt hat, werden sowohl die Adreß- als auch die Byte-Freigabedaten, die auf den Bereich im RAM 14, der gelesen werden soll, hinweisen, jeweils auf den ASIC-Bus 54 und in die Register 70 und 72 getrieben. Danach bewirkt die CPU 14 durch geeignete Steuersignale ein Auslesen der angeforderten Daten aus dem RAM 14 und prägt diese Daten auf dem PCI-Bus 22 ein, wo sie durch das Register 70 gefaßt werden. Nachdem diese Aktion vollendet ist, bestätigt die Steuerung 62 die nPCIRdy-Ebene, was bewirkt, daß die zwischengespeicherten Daten in Register 70, 72 auf den ASIC-Bus 54 und in das anfordernde funktionale Modul getrieben werden.
- Wie aus Vorstehendem zu ersehen ist, sieht die beschriebene Schnittstellenfunktionalität eine einfache Schnittstelle vor, die angebrachten funktionalen Modulen ermöglicht, auf den PCI-Bus zuzugreifen. Sie sieht auch eine Multifunktionsschnittstelle vor, die mehrere Funktionskonfigurationsräumen in der gleichen ASIC ermöglicht, ohne eine Verdoppelung der gesamten PCI-Schnittstelle für jedes funktionale Modul zu erfordern. Die Schnittstelle ermöglicht eine rasche Erweiterung, um zusätzliche funktionale Module sowie zusätzliche Konfigurationsräume zu realisieren und kann den Anforderung von jedem angebrachten Modul, z. B. die Anzahl der DMA-Kanäle, die Anzahl der Unterbrechungen, Prioritäten der DMA-Kanäle, Pulsbreite der Freigabesignale etc., angepaßt werden.
- Es sollte klar sein, daß die vorstehende Beschreibung die Erfindung nur veranschaulicht. Verschiedene Alternativen und Modifizierungen können von Experten entwickelt werden, ohne von der Erfindung abzuweichen. Dementsprechend soll die vorliegende Erfindung alle solchen Alternativen, Modifizierungen und Varianten, die in den Schutzbereich der angehängten Ansprüche fallen, umfassen.
Claims (7)
1. Ein Datenverarbeitungssystem (10), das einen Prozessor
(12) und einen Direktzugriffsspeicher (14) umfaßt,
wobei das Datenverarbeitungssystem (10) folgende
Merkmale aufweist:
eine erste Buseinrichtung (22), die konfiguriert ist,
um gemäß einem Standardprotokoll zu arbeiten, die mit
dem Prozessor (12) gekoppelt ist;
mehrere funktionale Module (30-52), jedes zum
Ausführen einer Funktion, die durch das
Datenverarbeitungssystem (10) angefordert wird;
eine zweite Buseinrichtung (54), die mit jedem der
mehreren funktionalen Module (30-52) gekoppelt ist und
dedizierte Lese-/Schreibe-Steuerleitungen (74, 76),
die mit jedem der funktionalen Module (30-52)
verbunden sind, und mehrere Datenleitungen (80), die
gemeinsam mit allen funktionalen Modulen (30-52) gekoppelt
sind, umfaßt; und
eine Brückenmoduleinrichtung (56, 58, 60, 62), die
zwischen die erste Buseinrichtung (22) und die zweite
Buseinrichtung (54) gekoppelt ist und eine
Steuereinrichtung (62) aufweist, die auf einen Befehl von der
ersten Buseinrichtung (22) anspricht, um Daten zu
einem bezeichneten funktionalen Modul (30-52) zu
schreiben, um ein Schreibe-Steuersignal an die dedizierten
Lese-/Schreibe-Steuerleitungen (74, 76) anzulegen, die
mit dem bezeichneten funktionalen Modul (30-52)
verbunden sind, und um ferner Daten anzulegen, die zu den
mehreren Datenleitungen (80) geschrieben werden
sollen, wobei das bezeichnete funktionale Modul (30-52)
durch Schreiben der Daten in ein Register, das in dem
bezeichneten funktionalen Modul (30-52) resident ist,
auf das Schreibe-Steuersignal anspricht.
2. Das Datenverarbeitungssystem (10) gemäß Anspruch 1,
bei dem die Steuereinrichtung (62) auf einen Befehl
anspricht, der über die erste Buseinrichtung (22)
empfangen wird, um zu einer gegebenen Adresse
gespeicherte Daten von einem bezeichneten funktionalen Modul
(30-52) zu lesen, um ein Lese-Steuersignal an den
dedizierten Lese-/Schreibe-Steuerleitungen (74, 76)
anzulegen, die mit dem bezeichneten funktionalen Modul
(30-52) verbunden sind, wobei das bezeichnete
funktionale Modul (30-52) durch Anlegen der gespeicherten
Daten auf die mehreren Datenleitungen (80) auf das Lese-
Steuersignal anspricht, wobei die Steuereinrichtung
(62) bewirkt, daß gespeicherte Daten von den mehreren
Datenleitungen (30) zu der ersten Buseinrichtung (22)
zur Übertragung zu der gegebenen Adresse übertragen
werden.
3. Das Datenverarbeitungssystem (10) gemäß Anspruch 2,
bei dem das Brückenmodul ferner folgende Merkmale
aufweist:
eine Konfigurationsmoduleinrichtung (56, 58, 60) zum
Identifizieren von zumindest einem Teilsatz von
funktionalen Modulen (30-52), die mit der zweiten
Buseinrichtung (54) gekoppelt sind, wobei die
Konfigurationsmoduleinrichtung (56, 58, 60) mit der zweiten
Buseinrichtung (54) gekoppelt ist und durch die
dedizierten Lese-/Schreibe-Steuerleitungen (74, 76) mit
der Steuereinrichtung (62) verbunden ist, wobei die
Konfigurationsmoduleinrichtung auf ein Steuersignal,
das an den dedizierten Lese-/Schreibe-Steuerleitungen
(74, 76) angelegt wird, und eine Adresse, die an die
zweite Buseinrichtung (54) durch die Steuereinrichtung
(62) angelegt wird, die zumindest eines des Teilsatzes
von funktionalen Modulen (30-52) identifiziert,
anspricht, um der Steuereinrichtung (62) eine Identität
des funktionalen Moduls (30-52), das adressiert wird,
anzuzeigen.
4. Das Datenverarbeitungssystem (10) gemäß Anspruch 3,
bei dem das Standardprotokoll eine periphere
Komponentenverbindung ist, die unter Steuerung des Prozessors
(12) implementiert ist.
5. Das Datenverarbeitungssystem (10) gemäß Anspruch 4,
bei dem die mehreren funktionalen Module (30-52), die
zweite Buseinrichtung (54), die Steuereinrichtung (62)
und die Konfigurationsmoduleinrichtung (56, 58, 60)
alle auf einer anwendungsspezifischen integrierten
Schaltung konfiguriert sind.
6. Das Datenverarbeitungssystem (10) gemäß Anspruch 1,
bei dem zumindest einige der mehreren funktionalen
Module (30-52) freigegeben sind, um einen Besitz der
ersten Buseinrichtung (22) anzufordern, um eine
Direktspeicherzugriff-Schreibaktion von Daten zu dem
Direktzugriffsspeicher (14) auszuführen; und
bei dem die Steuereinrichtung (62) der
Brückenmoduleinrichtung (56, 58, 60, 62) auf eine
Besitzanforderung für die erste Buseinrichtung (22) anspricht, um
die Anforderung daraufhin, daß die erste
Buseinrichtung (22) zur Verfügung steht, zu gewähren, wobei das
funktionale Modul (30-52), dem die Besitzanforderung
gewährt ist, nachfolgend Daten, die zum
Direktzugriffsspeicher (16) geschrieben werden sollen, und
eine Adresse in dem Direktzugriffsspeicher (16) an die
Daten geschrieben werden sollen, an die zweite
Buseinrichtung (54) anlegt, wobei die
Brückenmoduleinrichtung (56, 58, 60, 62) Daten, die geschrieben werden
sollen, und die Adresse an die erste Buseinrichtung
(22) anlegt, um den Direktspeicherzugriff zu
realisieren.
7. Das Datenverarbeitungssystem (10) gemäß Anspruch 1,
bei dem zumindest einige der mehreren funktionalen
Module (30-52) freigegeben werden, um den Besitz der
ersten Buseinrichtung (22) anzufordern, um eine
Direktspeicherzugriff-Leseaktion von Daten aus dem
Direktzugriffsspeicher (14) auszuführen; und
bei dem die Steuereinrichtung (62) der
Brückenmoduleinrichtung (56, 58, 60, 62) auf eine
Besitzanforderung für die erste Buseinrichtung (22) anspricht, um
die Anforderung daraufhin, daß die erste
Buseinrichtung (22) zu Verfügung steht, zu gewähren, wobei das
funktionale Modul (30-52), dem die Besitzanforderung
gewährt ist, nachfolgend eine Adresse in dem
Direktzugriffsspeicher (16), von der Daten gelesen werden
sollen, an die zweite Buseinrichtung (54) anlegt, wobei
die Brückenmoduleinrichtung (56, 58, 60, 62) die
Adresse an die erste Buseinrichtung (22) anlegt und
nach der Benachrichtigung, daß der
Direktzugriffsspeicher (16) bereit ist, Daten von der Adresse auf die
erste Buseinrichtung (22) auszugeben, die Daten von
der Adresse auf die zweite Buseinrichtung (54) treibt,
um eine Direktspeicherzugriffs-Leseaktion von Daten zu
realisieren.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/584,413 US5793997A (en) | 1996-01-11 | 1996-01-11 | Interface architecture for connection to a peripheral component interconnect bus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69619646D1 DE69619646D1 (de) | 2002-04-11 |
| DE69619646T2 true DE69619646T2 (de) | 2002-08-01 |
Family
ID=24337226
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69619646T Expired - Fee Related DE69619646T2 (de) | 1996-01-11 | 1996-08-16 | Schnittstellenarchitektur zur Verbindung mit einem PCI-Bus |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5793997A (de) |
| EP (1) | EP0784278B1 (de) |
| JP (1) | JPH09198341A (de) |
| DE (1) | DE69619646T2 (de) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6023736A (en) * | 1997-12-19 | 2000-02-08 | International Business Machines Corporation | System for dynamically configuring I/O device adapters where a function configuration register contains ready/not ready flags corresponding to each I/O device adapter |
| US6101557A (en) * | 1998-05-29 | 2000-08-08 | International Business Machines Corporation | Method and system for remote function control and delegation within multifunction bus supported devices |
| US6243774B1 (en) | 1998-06-30 | 2001-06-05 | International Business Machines Corporation | Apparatus program product and method of managing computer resources supporting concurrent maintenance operations |
| US6820157B1 (en) | 1998-06-30 | 2004-11-16 | International Business Machines Corporation | Apparatus, program product and method of replacing failed hardware device through concurrent maintenance operation |
| US6529978B1 (en) | 2000-02-23 | 2003-03-04 | International Business Machines Corporation | Computer input/output (I/O) interface with dynamic I/O adaptor processor bindings |
| WO2003019391A2 (en) | 2001-08-24 | 2003-03-06 | Intel Corporation | A general input/output architecture protocol and related methods to manage data integrity |
| US9836424B2 (en) | 2001-08-24 | 2017-12-05 | Intel Corporation | General input/output architecture, protocol and related methods to implement flow control |
| US6809547B2 (en) * | 2001-12-24 | 2004-10-26 | Broadcom, Corp. | Multi-function interface and applications thereof |
| US7107382B2 (en) * | 2003-04-03 | 2006-09-12 | Emulex Design & Manufacturing Corporation | Virtual peripheral component interconnect multiple-function device |
| US20050262391A1 (en) * | 2004-05-10 | 2005-11-24 | Prashant Sethi | I/O configuration messaging within a link-based computing system |
| US7568056B2 (en) * | 2005-03-28 | 2009-07-28 | Nvidia Corporation | Host bus adapter that interfaces with host computer bus to multiple types of storage devices |
| CN112667541B (zh) * | 2020-12-15 | 2023-06-02 | 厦门智多晶科技有限公司 | 一种ip动态配置电路和fpga |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4641261A (en) * | 1984-05-21 | 1987-02-03 | Rca Corporation | Universal interface circuit for microprocessor peripherals |
| JPH02226454A (ja) * | 1989-01-13 | 1990-09-10 | Internatl Business Mach Corp <Ibm> | コンピユータ・システムおよびそのデータ転送方法 |
| US5550989A (en) * | 1993-05-28 | 1996-08-27 | International Business Machines Corporation | Bridge circuit that can eliminate invalid data during information transfer between buses of different bitwidths |
| US5396602A (en) * | 1993-05-28 | 1995-03-07 | International Business Machines Corp. | Arbitration logic for multiple bus computer system |
| SG47015A1 (en) * | 1994-02-24 | 1998-03-20 | Intel Corp | Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer |
| US5664124A (en) * | 1994-11-30 | 1997-09-02 | International Business Machines Corporation | Bridge between two buses of a computer system that latches signals from the bus for use on the bridge and responds according to the bus protocols |
-
1996
- 1996-01-11 US US08/584,413 patent/US5793997A/en not_active Expired - Lifetime
- 1996-08-16 DE DE69619646T patent/DE69619646T2/de not_active Expired - Fee Related
- 1996-08-16 EP EP96113192A patent/EP0784278B1/de not_active Expired - Lifetime
-
1997
- 1997-01-09 JP JP9002099A patent/JPH09198341A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP0784278A1 (de) | 1997-07-16 |
| JPH09198341A (ja) | 1997-07-31 |
| US5793997A (en) | 1998-08-11 |
| EP0784278B1 (de) | 2002-03-06 |
| DE69619646D1 (de) | 2002-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69626485T2 (de) | Schnittstellenbildung zwischen Direktspeicherzugriffsvorrichtung und einem nicht-ISA-Bus | |
| DE69020220T2 (de) | Direktspeicherzugriff zwischen unterschiedlichen Bussystemen mit Cachespeicherübereinstimmung. | |
| DE69426447T2 (de) | Verfahren zur Durchführung von Bustransaktionen in einem Rechnersystem und Rechnersystem | |
| DE69032481T2 (de) | Buszugriff für Digitalrechnersystem | |
| DE68922784T2 (de) | Mehrfachbus-Mikrorechnersystem mit Busarbitrierung. | |
| DE69028066T2 (de) | Kombinierte synchrone und asynchrone Speichersteuerung | |
| DE69900916T2 (de) | Prozessorbrücke mit registern für verschiedenen daten | |
| DE3889366T2 (de) | Interface für ein Rechnersystem mit reduziertem Befehlssatz. | |
| DE69825915T2 (de) | Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system | |
| DE69324926T2 (de) | Doppelte pufferungspeicherung zwischen dem speicherbus und dem expansionsbus eines rechnersystems | |
| DE69319763T2 (de) | Verfahren und Gerät zur Durchführung eines Busarbitrierungsprotokolls in einem Datenverarbeitungssystem | |
| DE69027515T2 (de) | Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung | |
| DE19580707C2 (de) | PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus | |
| DE68915701T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. | |
| DE69828074T2 (de) | Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl | |
| DE69422221T2 (de) | Genaue und komplette Übertragung zwischen verschiedenen Busarchitekturen | |
| DE69223304T2 (de) | Arbitrierungsverriegelungverfahren und -vorrichtung für einen entfernten Bus | |
| DE69726302T2 (de) | Busschnittstellensteuerungsschaltung | |
| DE69619646T2 (de) | Schnittstellenarchitektur zur Verbindung mit einem PCI-Bus | |
| DE69228684T2 (de) | Verfahren und gerät zur erweiterung eines rückwandverbindungsbusses ohne zusätzliche byte-selektionssignale | |
| DE69724884T2 (de) | Gerät und Verfahren zur positiven und subtraktiven Adressdekodierung auf einem Bus | |
| DE69717232T2 (de) | Fehlertolerantes Bussystem | |
| DE69513211T2 (de) | Schnelles verteiltes Pipeline-Arbitrierungsschema | |
| DE69814005T2 (de) | Verfahren und Vorrichtung zum sicheren Datenrundsenden über einen PCI-bus | |
| DE69130946T2 (de) | Verfahren zur ausschliesslichen steuerung für einen gemeinsamen speicher |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |