DE69932400T2 - Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen - Google Patents

Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen Download PDF

Info

Publication number
DE69932400T2
DE69932400T2 DE69932400T DE69932400T DE69932400T2 DE 69932400 T2 DE69932400 T2 DE 69932400T2 DE 69932400 T DE69932400 T DE 69932400T DE 69932400 T DE69932400 T DE 69932400T DE 69932400 T2 DE69932400 T2 DE 69932400T2
Authority
DE
Germany
Prior art keywords
port
access
main component
functional module
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69932400T
Other languages
English (en)
Other versions
DE69932400D1 (de
Inventor
Michele Z. Quakertown Dale
Farrukh A. Lansdale Latif
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Application granted granted Critical
Publication of DE69932400D1 publication Critical patent/DE69932400D1/de
Publication of DE69932400T2 publication Critical patent/DE69932400T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft Computer- und Kommunikationssysteme. Insbesondere betrifft die Erfindung die Technologie zum Verbinden von externen Geräten mit einem Computer oder einem Kommunikationssystem.
  • Beschreibung des Standes der Technik
  • Zahlreiche Computer und Kommunikationssysteme, die periphere Eingabe-/Ausgabefunktionen sowie weitere Netzwerk-Datenaustauschfunktionen aufweisen, beruhen auf einem oder mehreren Funktionsmodulen zum Verbinden des Systems mit einem oder mehreren externen Geräten. Ein Funktionsmodul ist ein Eingabe-/Ausgabeblock, der die Datenkommunikation zwischen einem externen Gerät eines Computers oder Kommunikationssystems und internen Komponenten innerhalb dieses Systems erleichtert. Beispiele für Funktionsmodule beinhalten Prozessorkerne und Schnittstellenkerne. Beispiele für interne Komponenten beinhalten Hauptkomponenten wie beispielsweise den Systemspeicher und zentrale Verarbeitungseinheiten (CPUs). Beispiel für externe Geräte beinhalten Festplattenlaufwerk, Drucker, externe Modems, Floppy-Disk-Laufwerke und CD-ROMs. Traditionell befinden sich Funktionsmodule und Hauptkomponenten auf einer einzelnen Schaltungsplatine oder auf einem einzigen integrierten Chip.
  • Funktionsmodule müssen mit den internen Komponenten verbunden werden. Diese Verbindung erleichtert die gemeinsame Benutzung von Dateninformation unter den verschiedenen Funktionsmodulen. Beispielsweise kann ein Funktionsmodul Daten von einem externen Gerät empfangen und die Daten zu dem Systemspeicher senden (auch als "Schreiben" in den Systemspeicher bekannt). Alternativ kann das Funktionsmodul Daten von dem Systemspeicher empfangen (auch als "Lesen" des Systemspeichers bekannt), um die Daten an ein externes Gerät zu senden.
  • 1 ist ein Blockdiagramm, welches ein herkömmliches System 100 zeigt, in welchem fünf Funktionsmodule 101108 miteinander über einen lokalen Bus 120 verbunden sind. In einem beispielhaften Fall ist das Funktionsmodul 101 ein IEEE 1394-95-Controller, das Funktionsmodul 103 ist eine Peripheriekomponenten-Verbindungsbrücke (PCI-Brücke), Funktionsmodul 105 ist ein Ethernet-Controller (gemäß der IEEE 802.3-Norm), Funktionsmodul 107 ist ein universeller serieller Bus (USB) und Funktionsmodul 109 ist ein integrierter Hochgeschwindigkeits-Controller für Bauelementelektronik (IDE). Darüber hinaus ist jedes Funktionsmodul direkt an ein externes Gerät 151159 angeschlossen (extern bezüglich der integrierten Schaltung, wo sich die Funktionsmodule und die Hauptkomponenten befinden).
  • Der lokale Bus 120 ist an einen zentralen Entscheider 122 angeschlossen, das einerseits direkt mit einer Hauptkomponente 130 (zum Beispiel einem Systemspeicher oder der CPU) verbunden ist. Der Entscheider 122 steuert den Verkehr auf dem lokalen Bus 120. Der Verkehr auf dem lokalen Bus 120 repräsentiert Daten, die zwischen der Hauptkomponente 130 und Funktionsmodul 101109 ausgetauscht werden. Wann immer ein Funktionsmodul 101109 Daten in eine Hauptkomponente 130 schreiben und/oder Daten daraus lesen muss, benötigt das Funktionsmodul Zugang zu dem lokalen Bus 120. Um Zugang zu dem lokalen Bus 120 zu erhalten, sendet das Funktionsmodul eine Zugriffsanforderung an den Entscheider 122. Abhängig von dem derzeitigen Verkehr auf dem lokalen Bus 120 gibt der Entscheider 122 einer Anforderung statt und weist sie ab. Wird der Zugriff gewährt, führt das Funktionsmodul den Datenaustausch während einer vorbestimmten Zeitspanne oder für eine vorab definierte Anzahl von Bytes durch. Nach Abschluss des Datenaustauschs wird der Zugang zu dem lokalen Bus 120 aufgegeben. Zu diesem Zeitpunkt kann ein anders Funktionsmodul (oder auch dasselbe Funktionsmodul) Zugang zu dem lokalen Bus 120 anfordern, und der gesamte Zyklus wird wiederholt.
  • Jedes Funktionsmodul ist direkt mit dem lokalen Bus 120 verbunden, allerdings kann nur ein Funktionsmodul zu einem gegebenen Zeitpunkt Daten über den lo kalen Bus 122 senden oder Daten von ihm empfangen. Der Entscheider 122 kann zu gegebener Zeit nur eine Zugangsanforderung bearbeiten. Der Entscheider 122 führt eine Busentscheidung aus, indem sämtliche Funktionsmodule nach ausstehenden Anforderungen abgefragt werden und dann ein Zugang nur einem Funktionsmodul basierend auf einer festliegenden Prioritätsfolge gewährt wird. Wenn der lokale Bus 120 bereits für ein erstes Funktionsmodul in Betrieb ist (das heißt, wenn dieses einen Datenaustausch ausführt) und dann ein zweite Funktionsmodul Zugang zu dem Bus anfordert, platziert der Entscheider 122 die Anforderung seitens des zweiten Funktionsmoduls in einen Verzögerungszustand. Erst wenn das erste Funktionsmodul seinen Zugriff auf den lokalen Bus 120 abgeschlossen hat (das heißt, seinen Datenaustausch abgeschlossen hat), gibt der Entscheider der Anforderung seitens des zweiten Funktionsmoduls statt. Insoweit muss das zweite Funktionsmodul solange warten, bis das erste Funktionsmodul seinen Datenaustausch abgeschlossen hat. Diese Wartezeit (das heißt diese Latenzzeit) addiert sich auf die tatsächliche Zeit, die benötigt wird, um einen Datenaustausch seitens des zweiten Funktionsmoduls abzuwickeln, was die Leistungsfähigkeit des Computers oder Kommunikationssystems abträglich beeinflusst.
  • Das zum Stand der Technik zählende System 100 macht es außerdem erforderlich, dass die Funktionsmodule 101109 über interne Puffer (das heißt Speicherraum) zur Zwischenspeicherung von Daten verfügen. Wenn ein Funktionsmodul Daten von einem externen Gerät empfängt, allerdings keinen sofortigen Zugang zu dem lokalen Bus 120 hat, muss das Funktionsmodul die Daten in seinem internen Puffer solange halten, bis Zugang zu dem Bus gewährt wird. Es sind größere interne Puffer erforderlich, um längere Wartezeiten zu ermöglichen. Interne Puffer sind teuer, sodass die Erstellungskosten mit zunehmender Anzahl/Größe der Puffer steigen.
  • Im Allgemeinen ist in dem herkömmlichen System 100 der lokale Bus 120 für den Betrieb bei maximaler Betriebsfrequenz ausgeglichen. Wenn neue Funktionsmodule an den lokalen Bus 120 angeschlossen werden oder wenn irgendwelche alten Funktionsmodule von dem lokalen Bus 120 getrennt werden, macht der Stand der Technik eine Neuverteilung notwendig, um maximale Betriebsfrequenz zu erreichen. Diese Umordnung erhöht die Erstellungskosten. Wenn der Entwurf oder die Architektur des lokalen Busses aktualisiert oder verbessert wird, muss alternativ die Ausgestaltung der Funktionsmodule für den Zugriff auf den lokalen Bus 120 verbessert oder ersetzt werden. Dies erhöht weiter die Erstellungskosten.
  • In dem herkömmlichen System 100 besitzt jedes Funktionsmodul einen vorab definierten Durchsatz (das heißt maximale Bandbreite). Wenn also ein spezielles Funktionsmodul eine zusätzliche Bandbreite auf dem lokalen Bus 120 zur Beendigung eines Datenaustauschs erfordert, so darf das Funktionsmodul die ihr zugewiesene maximale Bandbreite auch dann nicht überschreiten, wenn zusätzliche Bandbreite verfügbar ist (die von anderen Funktionen nicht benutzt wird). Zur Abwicklung des Datenaustauschs muss das Funktionsmodul auf einen weiteren Zugang zu dem lokalen Bus 120 nach Anforderung warten. Dies führt zu einer ineffizienten Nutzung der verfügbaren Bandbreite auf dem lokalen Bus 120 und verlangsamt die Leistung.
  • Ein weiteres herkömmliches System ist in dem US-Patent 5 809 538 offenbart. Dieser Stand der Technik zeigt einen DRAM-Entscheider für einen Videodecoder. Der Entscheider kann Daten zwischen einem ausgewählten Kundenprozess und dem DRAM in Paketform transferieren. Damit der Transfer abläuft, muss der Kunde kontinuierlich die Zugriffsanforderung vorbringen.
  • Offenbarung der Erfindung
  • Erfindungsgemäß wird eine Portmanager-Steuerung gemäß Anspruch 1 geschaffen.
  • Ein verbessertes Verfahren und eine verbesserte Vorrichtung zum Verbinden verschiedener Funktionsmodule innerhalb eines Computers oder Kommunikationssystems wird dementsprechend vorgeschlagen. Gemäß den Ausführungsformen der Erfindung wird ein Portmanager-Controller (PMC) mit einer direkten Schnittstelle zu jedem der Funktionsmodule und eine Hauptkomponente, beispielsweise einem Systemspeicher oder einer CPU, geschaffen. Der PMC ersetzt sowohl den lokalen Bus als auch den Entscheider herkömmlicher Systeme. Sämtliche durch Funktionsmodule für den Zugriff auf die Hauptkomponente abgesetzte An forderungen werden zunächst von dem PMC verarbeitet. Der PMC plant die ankommenden Anforderungen nach Maßgabe vorab definierter Parameter wie beispielsweise Priorität, Effizienz und/oder Zeitablauf.
  • Der PMC ist in der Lage, mehr als eine Anforderung gleichzeitig zu handhaben. Der PMC ist außerdem in der Lage, die Lastbedingungen dynamisch anzupassen und die ankommenden Anforderungen umzuordnen, um die verfügbare Bandbreite effizient zu nutzen. Damit verringert der PMC die Latenzzeit und verbessert die Leistungsfähigkeit von Computer oder Kommunikationssystem. Der PMC beseitigt außerdem das Erfordernis, Änderungen der Busarchitektur vorzunehmen wenn neue Funktionsmodule hinzugefügt oder alte Funktionsmodule entfernt werden, und er ermöglicht die erneute Verwendung alter Funktionsmodule. Der PMC beseitigt auch das Erfordernis interne Puffer und reduziert damit die Fertigungskosten.
  • In einer Ausführungsform besteht die Erfindung aus einer Portmanager-Steuerung (Controller) zum Steuern des Zugangs zu einer Hauptkomponente durch eine Mehrzahl von Funktionsmodulen, wobei der PMC aufweist: (a) ein Hauptkomponenten-Port, konfiguriert für den Anschluss an die Hauptkomponente; und (b) mindestens zwei Funktionsmodul-Ports, jeweils konfiguriert für den Anschluss an eines der Funktionsmodulen über eine punktweise Verbindung. Der PMC ist konfiguriert, um (1) eine erste Zugangsanforderung seitens eines ersten Funktionsmoduls an einem ersten Funktionsmodul-Port des PMC zu empfangen und (2) eine erste Zugangssitzung für den Datenaustausch zwischen dem ersten Funktionsmodul und der Hauptkomponente über den Hauptkomponenten-Port und den ersten Funktionsmodul-Port zu planen.
  • Kurze Beschreibung der Zeichnungen
  • Weitere Aspekt, Merkmale und Vorteile der Erfindung ergeben sich deutlicher aus der nachfolgenden detaillierten Beschreibung, den beigefügten Ansprüchen und den begleitenden Zeichnungen. In letzteren zeigen:
  • 1 ein Blockdiagramm verschiedener Komponenten eines herkömmlichen Computers oder Kommunikationssystems;
  • 2 ein Blockdiagramm eines Computers oder Kommunikationssystems gemäß einer Ausführungsform der Erfindung; und
  • 3 ein Blockdiagramm verschiedener Komponenten, die in der Portmanager-Steuerung gemäß 2 enthalten sind.
  • Detaillierte Beschreibung einer bevorzugten Ausführungsform
  • 2 ist Blockdiagramm, welches einen Computer oder ein Kommunikationssystem gemäß einer bevorzugten Ausführungsform der Erfindung zeigt. 2 veranschaulicht einen beispielhaften Fall, bei dem eine Portmanager-Steuerung (-Controller) (PMC) 200 direkt über punktweise Verbindungen 202 mit Funktionsmodulen 101109 verbunden ist. Der PMC 200 ist außerdem direkt über einen mit Port H bezeichneten Hauptport an eine Hauptkomponente 130 angeschlossen.
  • Bei dem in 2 gezeigten Ausführungsbeispiel enthält der PMC 200 sieben verschiedene Funktionsmodul-Ports, bezeichnet mit Port A–G. Die Ports A–C sind mit dem Funktionsmodul 101 verbunden, wobei jeder Port so ausgerüstet ist, dass er unidirektionale Datenströme zu dem oder von dem Funktionsmodul 101 handhaben kann. Die Ports A und B dienen für Operationen, bei denen Daten von der Hauptkomponente 130 empfangen und an das Funktionsmodul 101 übertragen werden (Lesen von der Hauptkomponente 130). Der Port C dient zum Senden von Daten von dem Funktionsmodul 101 zu der Hauptkomponente 130 (Schreiben in die Hauptkomponente 130). Port D–G des PMC 200 sind mit den Funktionsmodulen 103109 verbunden. Jeder der Ports D–G kann bidirektionale Datenströme handhaben (das heißt Lesen und Schreiben).
  • 2 zeigt einen beispielhaften Fall, bei dem ein Funktionsmodul 101 mit drei Ports gekoppelt ist, wobei jedes der anderen Funktionsmodulen 103109 mit nur einem Port gekoppelt ist. Es ist dies nur eine Veranschaulichung, um darzustel len, dass jedes der Funktionsmodulen mit einem oder mehreren Ports gekoppelt werden kann. Bei alternativen Ausführungsformen können außerdem die PMCs gemäß der Erfindung weniger oder mehr als sieben Ports besitzen.
  • Erfindungsgemäß besitzt jeder Port eine Option, die Datenübertragung unterschiedlicher Arten abzuwickeln. In einem beispielhaften Fall kann der Port A den Datentyp behandeln, bei dem ein Datenaustausch mit minimalen Fehlern ablaufen muss, beispielsweise beim Schreiben in einen Speicher. Der Port B kann Datenübertragungen handhaben, bei denen die zeitliche Bereitstellung von Daten kritisch ist, so zum Beispiel Audio- oder Videodatenübertragung. Damit haben die Ports A und B unterschiedliche Bandbreiten- und Bereitstellungsanforderungen, die von dem PMC erfüllt werden sollten. Der PMC 200 gemäß der Erfindung dient diesem Zweck.
  • Weil außerdem jedes Funktionsmodul mit dem PMC 200 über eine dauerhafte punktweise Verbindung 202 verbunden ist, können mehrere Funktionsmodulen Zugriffsanforderungen parallel an den PMC 200 senden. Der PMC 200 ist in der Lage, Zugangsanforderungen zu empfangen und zu behandeln (das heißt, zukünftige Zugriffe zu planen), auch wenn gerade ein Datenaustausch abläuft, wodurch die verfügbare Bandbreite effizient genutzt wird. In einem beispielhaften Fall plant der PMC 200 Zugriffe in kontinuierlicher Reihenfolge derart, dass bei jedem Taktzyklus Daten von der Hauptkomponente 130 transferiert (gesendet oder empfangen) werden. Im Stand der Technik kann eine nachfolgende Zugangsanforderung nur nach Beendigung des Datenaustauschs für den vorhergehenden Zugriff gesendet werden, und in der Verzögerungszeitspanne zwischen der Beendigung des einen Datenaustauschs und der Planung des nächsten Zugriffs gehen Taktzyklen verloren.
  • Im Vergleich zu dem in 1 gezeigten herkömmlichen seriellen lokalen Bus 120 wird also die Latenzzeit bei der Behandlung von zu großen Anforderungen durch die vorliegende Erfindung verkürzt. Da die Latenzzeit beim Zugriff verkürzt wird, verringert sich auch der Bedarf an internen Puffern innerhalb der Funktionsmodulen 101109, was wiederum die Erstellungskosten bei der Fertigung verringert.
  • In dem in 2 gezeigten Aufbau identifiziert jedes Funktionsmodul 101109 eine spezielle Operation, die unter Verwendung einer Systemspeicheradresse oder einer anderen Identifikationseinrichtung auszuführen ist. Eine solche Identifikationseinrichtung wird immer dann verwendet, wenn ein Funktionsmodul eine Operation über den PMC 200 ausführen will (das heißt, Daten zu der Hauptkomponente 130 senden oder von ihr empfangen muss). Wenn ein Funktionsmodul Daten zu der Hauptkomponente 130 senden oder Daten von ihr empfangen muss, präsentiert das Funktionsmodul seine Identifizierungsinformation (Kennung) zusammen mit den Daten dem PMC 200 und fordert einen Zugang an. Der PMC 200 wertet die ankommende Zugangsanforderungen aus und vergleicht sie mit anderen anhängigen Zugangsanforderungen seitens anderer Funktionsmodule. Der PMC 200 kann mehrere ankommende Zugangsanforderungen gleichzeitig handhaben und kann sie in einer Reihenfolge anordnen, basierend auf Priorität, Effizienz, Zeitablauf und/oder anderen vorab festgelegten Parametern. Der PMC 200 kann mit einer Liste vorab definierter Parameter programmiert sein, die später aktualisiert oder modifiziert werden.
  • 3 ist ein Blockdiagramm verschiedener Komponenten innerhalb des PMC 200 nach 2 gemäß einer Ausführungsform der Erfindung. Der PMC 200 enthält eine Data Valid Logic (DVL; also Datenzulässigkeitslogik) 301, eine Priority Resolution Logic (PRL; Prioritätsauflösungslogik) 303, eine Access Granted Logic (AGL; Zugangsgewährungslogik) 305, eine Direction and Data Format Control Logic (DDFCL; Richtungs- und Datenformat-Steuerlogik) 307 und eine System Interface Core Logic (SICL; Systemschnittschnellen-Kernlogik) 309.
  • Die SICL 309 bildet eine Schnittstelle zwischen der Hauptkomponente 130 und dem PMC 200. Die SICL 309 ist direkt mit der Hauptkomponente 130 über eine bidirektionale Steuerverbindung 321, eine bidirektionale Datenverbindung 322 und eine unidirektionale Adressenverbindung 323 verbunden. Die bidirektionale Steuerverbindung 321 kann eine oder mehrere individuelle Steuerverbindungen umfassen. Wenn die Hauptkomponente 130 ein Systemspeicher ist, so bestehen diese Steuerverbindungen aus Chipauswahl (chip select), Schreibfreigabe (write enable), Lese-/Schreiboperationindikator und Ausgabefreigabe. Die bidirektionale Datenverbindung 322 dient für den Datenaustausch während einer Operation "Lesen" oder "Schreiben". Die unidirektionale Adressverbindung 323 dient zum Identi fizieren der Hauptkomponenten-Adressen oder einer anderen Identifikationseinrichtung für ein spezielles Funktionsmodul, welches gerade mit der Hauptkomponente 130 kommuniziert.
  • Zusätzlich ist die SICL 309 direkt mit der DDFCL 307 über eine bidirektionale Datenverbindung 325 und eine bidirektionale Steuerdatenverbindung 326 verbunden. Die DDFCL 307 umfasst sieben unterschiedliche Ports mit den Bezeichnungen Port A–G, die in 2 so konfiguriert dargestellt sind, dass sie Funktionsmodule 101109 sind. Jeder der Ports A–G enthält weiterhin zwei unidirektionale Eingangsdatenverbindungen: Eine Adressenverbindung 329 und eine Lese-/Schreib- (R/W)Steuerverbindung 331. Darüber hinaus besitzt jeder Port eine dritte Verbindung, bei der es sich um eine unidirektionale Ausgangsdatenverbindung 333 handeln kann, eine undirektionale Eingangsdatenverbindung 335 oder eine bidirektionale Datenverbindung 337. Die Adressenverbindung 329 ist zum Empfangen von Eingangsdaten gekoppelt, beispielsweise von Systemspeicheradressen oder anderen Identifikationsmitteln von dem entsprechenden Funktionsmodul. Die Steuerverbindung 331 ist so geschaltet, dass sie den Steuerungs-Handshake von dem entsprechenden Funktionsmodul empfängt. In der in 2 dargestellten beispielhaften Konfiguration sind Port A und Port B als unidirektionale Datenausgangsverbindungen 333 konfiguriert. Port C ist als unidirektionale Dateneingangsverbindung 335 konfiguriert und Port D–G sind als bidirektionale Datenverbindungen 337 konfiguriert.
  • Die DDFCL 307 ist außerdem mit der DVL 301, der PRL 303 und der AGL 305 über eine Internetverbindung 339 gekoppelt. Die Funktionsmodulen besitzen Datenverbindungen und Adressenverbindungen nur zu der DDFCL 307, es existieren aber Steuerverbindungen auch zwischen den Funktionsmodulen und der DVL 301, der PRL 303 und der AGL 305.
  • Die DVL 301 ist mit Funktionsmodulen 101109 über unidirektionale Ausgangssteuerverbindungen 343 gekoppelt. Die DVL 301 enthält sieben Ports (Port A–G), wobei jeder Port einem der Funktionsmodule 101109 entspricht. Jede Steuerverbindung 343 ist eine unidirektionale Ausgangssteuerverbindung, die in der Lage ist, ein Signal "datenzulässig" (DV) an das entsprechende Funktionsmodul 101109 zu senden. Ein Signal DV kennzeichnet, ob in dem DDFCL 307 ein Datenaus tausch möglich ist. Für Ports mit einer unidirektionalen Ausgangsdatenverbindung 333 wird das Signal DV auf "hoch" gestellt, um zu signalisieren, dass das Funktionsmodul Daten für einen Lesevorgang empfängt. Für Ports mit einer unidirektionalen Eingangsdatenverbindung 335 wird das Signal DV auf "niedrig" gestellt, um zu signalisieren, dass das Funktionsmodul keine Daten für einen Lesevorgang empfängt. Für Ports mit einer bidirektionalen Datenverbindung 337 ist das Signal DV während eines Schreibvorgangs niedrig und während eines Lesevorgangs hoch.
  • Die PRL 303 ist mit Funktionsmodulen 101109 über unidirektionale Eingangssteuerverbindungen 345 gekoppelt. Die PRL 303 umfasst sieben Ports (Ports A–G), wobei jeder Port einem der Funktionsmodule 101109 entspricht. Die PRL 303 kann Zugriffsanforderungssignale (REQ) von jedem der Funktionsmodule 101109 über eine andere unidirektionale Eingangssteuerverbindung 345 empfangen.
  • Die AGL 305 ist mit Funktionsmodulen 101109 über Ausgangssteuerverbindungen 342 verbunden. Die AGL 305 umfasst sieben Ports (Port A–G), von denen jeder Port einem der Funktionsmodulen 101109 entspricht. Die AGL 305 kann Signale "Zugang gewährt" (AG) über unidirektionale Ausgangssteuerverbindungen 341 an Funktionsmodule 301309 senden.
  • Ein spezielles Funktionsmodul leitet eine Kommunikation zu dem PMC 200 dadurch ein, dass es über die entsprechende Eingangssteuerverbindung 345 ein entsprechendes REQ-Signal an die PRL 303 gibt und ein R/W-Steuersignal über die entsprechende R/W-Steuerverbindung 331 an die DDFCL 307 gibt. Das REQ-Signal signalisiert, dass ein Zugriff zu der Hauptkomponente 130 angefordert wird, und das R/W-Steuersignal bedeutet, ob es sich um eine Lese- oder eine Schreibanforderung handelt. Wenn das Funktionsmodul 130 zum Beispiel mit der Hauptkomponente 130 kommunizieren will, leitet das Funktionsmodul 103 eine Kommunikation mit dem PMC 200 dadurch ein, dass es ein Signal REQ über die Eingangssteuerverbindung 345 an den entsprechenden Port D der PRL 303 sendet und ein Steuersignal über die R/W-Steuerverbindung 331 an den entsprechenden Port D der DDFCL 307 sendet. Die PRL 303 analysiert das Signal REQ und stellt fest, ob dem Funktionsmodul 101 Zugang gewährt werden soll. Falls die PRL 303 einen Zugang gewährt, wird von der PRL 303 ein Steuersignal an die AGL 305 und die DVL 301 über die interne Verbindung 339 gesendet. Die AGL 305 sendet dann ein Signal "Zugang gewährt" (AG) über die Ausgangssteuerverbindung 341 des Ports D an das Funktionsmodul 103.
  • Beabsichtigt das Funktionsmodul 103 eine Schreiboperation zum Einschreiben in die Hauptkomponente 130, so werden nach dem Senden des Signals AG auf die Steuerverbindung 341 die entsprechende Adressenverbindung 339 und Datenverbindung 337 in der DDFCL 307 getaktet. Nur dann werden Daten von dem Funktionsmodul 103 über die DDFCL 307 und die SICL 309 in die Hauptkomponente 330 eingeschrieben. Das Signal DV bleibt für diesen Vorgang im niedrigen Zustand.
  • Alternativ wird, wenn das Funktionsmodul 103 die Absicht hat, einen Lesevorgang aus der Hauptkomponente 130 vorzunehmen, wenn das Signal AG eingerichtet wird, die entsprechende getaktete Adresse auch von dem Funktionsmodul 103 zu der Hauptkomponente 130 geleitet. Wenn die Daten aus der Hauptkomponente 130 gelesen sind, wird von der DVL 301 das Signal DV an das Funktionsmodul 103 geliefert, um zu signalisieren, dass die gelesenen Daten jetzt verfügbar sind.
  • Wenn in dem Beispielfall das Funktionsmodul 103 mehr als ein Datenwort besitzt, welches zu der Hauptkomponente 130 zu transferieren ist, so wird das Signal REQ andauernd von dem Funktionsmodul 103 an die PRL 303 gegeben. Die PRL 303 wiederum gibt laufend Steuersignale über die interne Verbindung 339 an die AGL 305, wobei die Dauer der Signale REQ und der Steuersignale der Anzahl der Taktsignale gleichen, wobei während jedem Taktsignal ein Datenwort transferiert wird. Zum Vereinfachen der Implementierung für die Hauptkomponente 130 kann ein Burstsignal als Eingangssignal seitens des Funktionsmoduls 103 in Richtung des DDFCL 307 verwendet werden, um eine vorbestimmte Anzahl von Wörtern zu signalisieren, die möglicherweise während der Existenz des Burstsignals transferiert werden.
  • Der PMC 200 und die dazugehörige Logikschaltung sind in ihrer Betriebsweise flexibel. Wenn die Hauptkomponente 130 ein Systemspeicher ist, kann eine so kleine Einheit wie ein Datenwort zu oder von dem Funktionsmodul von bzw. zu der Hauptkomponente 130 transferiert werden, bevor ein anderes Funktionsmodul bedient wird. Wenn die Hauptkomponente 130 eine CPU ist, besteht der Datenaustausch typischerweise in Datenbursts oder Datenströmen. In diesem Fall entspricht die Anzahl transferierter Datenwörter der Größe des Bursts, des Pakets oder des Stroms. Der PMC 200 besitzt die Fähigkeit, Anforderungen von mehreren Funktionsmodulen mit Datenlängen zu akzeptieren, die von einem Wort bis zu mehreren Worten variieren. Auf diese Weise kann der PMC 200 eine hohe Leistung mit minimalen Pufferungsanforderungen innerhalb der Funktionsmodule erbringen.
  • Der PMC 200 implementiert außerdem eine dynamische Lastverteilung zwischen den Funktionsmodulen 101109. Innerhalb des PMC 200 analysiert die PRL 303 jede ankommende Anforderung, um sicherzustellen, dass ein Funktionsmodul mit höherer Priorität mehr Zugänge gewährt bekommt als ein Funktionsmodul mit niedriger Priorität. Um dies zu erreichen, kann man von zwei Typen von Prioritätsschemata Gebrauch machen. Bei dem ersten Schema besitzen Funktionsmodule Fähigkeiten und Entscheidungsfähigkeiten darüber, wann Prioritätsanforderungen erfüllt werden. Bei diesem Schema ist jedes Funktionsmodul mit der Zuordnung von zwei Typen von Anforderungen ausgestattet, "normale Anforderung" und Prioritätsanforderung. Im Allgemeinen werden nur normale Anforderungen behandelt, wenn aber das Funktionsmodul einen Zugang zu der Hauptkomponente 130 unmittelbar erhalten muss (zum Beispiel dann, wenn das Funktionsmodul möglicherweise einen Datenverlustzustand erleidet), so wird eine Prioritätsanforderung eingerichtet.
  • Bei dem zweiten Prioritätsschema ist der PMC 200 mit einer Prioritätsauflösungslogik ausgestattet, um Prioritätsanforderungen auszuwerten und zu bestätigen. Um dies zu erreichen, besitzt jedes Port der PRL 303 ein Prioritätsregister, welches das Gewicht jedes Ports enthält. Das Gewicht eines Ports wird dadurch berechnet, dass die Anzahl von pro Zeiteinheit gewährten Anforderungen gezählt wird. Der Port mit der höchsten Anforderungszahl erhält höchstes Gewicht, und das an dieses Port angeschlossene Funktionsmodul wird als Funktionsmodul hoher Priorität behandelt. Das Port mit der kleinsten Anzahl von Anforderungen erhält niedrigstes Gewicht, und das an dieses Port angeschlossenen Funktionsmodul wird als Funktionsmodul geringer Priorität behandelt. Die Summe sämtlicher Gewichte für sämtliche Ports ist gleich oder kleiner als der Bandbreiten-Schwellenwert der Hauptkomponente 130. Der Bandbreiten-Schwellenwert repräsentiert die maximale Anzahl von Anforderungen, die pro Zeiteinheit gewährt werden können. Wenn die Gesamtanzahl ankommender Anforderungen kleiner ist als der verfügbare Bandbreiten-Schwellenwert, so wird das Gewicht für jedes Port neu verteilt, um sicherzustellen, dass ein spezielles Port nicht verhungert (das heißt, keine Gelegenheit bekommt) bei Erlangen von Zugang zu der Hauptkomponente 130. Das Gewicht oder die Priorität jedes Ports wird konstant überwacht und periodisch eingestellt, indem die Anforderungsrate pro Port ausgewertet wird. Diese Einstellung führt zu einer dynamischen Anpassung an die Lastbedingungen und führt zu einer gesteigerten Effizienz bei der Nutzung der Bandbreite.
  • Der PMC 200 ermöglicht außerdem die erneute Verwendung von Funktionsmodulen ohne jegliche Modifikation. Wenn die Funktionsmodule in einem Computer oder Kommunikationssystem in einem anderen System eingesetzt werden sollen, welches von einer neuen Halbleitertechnologie Gebrauch macht, so können die punktweisen Anschlüsse des alten System ohne Modifikationen verlagert werden. Im Gegensatz zur bekannten Busarchitektur werden punktweise Anschlüsse gemäß der Erfindung nicht durch neue Technologie beeinträchtigt, und es ist keine Neuverteilung erforderlich, um die maximal mögliche Betriebsfrequenz zu erreichen. Auf diese Weise können die Funktionsmodule mit minimalem Kostenaufwand auf die neue Technologie angewendet werden.
  • Der PMC 200 kann außerdem Änderungen in den Funktionsmodulen handhaben, ohne dass irgendwelche Änderungen an der Architektur oder dem Busdesign erforderlich wären. Werden irgendwelche Funktionsmodule entfernt oder hinzugefügt, so werden ihre entsprechenden punktweisen Verbindungen mit dem PMC 200 einfach entfernt oder hinzugefügt. Dies hat keinen abträglichen Einfluss auf die punktweisen Verbindungen anderer Funktionsmodule und ihrer Betriebskennwerte.
  • Während beispielhafte Ausführungsformen der Erfindung an Hand der Arbeitsweisen von Schaltungen erläutert wurden, ist die Erfindung nicht hierauf beschränkt. Wie für den Fachmann ersichtlich ist, können verschiedene Funktionen der Schaltungselemente auch im digitalen Bereich als Verarbeitungsschritte in ei nem Softwareprogramm implementiert werden. Diese Software kann beispielsweise in einem digitalen Signalprozessor, einem Microcontroller oder einem Mehrzweckrechner eingesetzt werden.
  • Es versteht sich außerdem, dass verschiedene Änderungen in Einzelheiten, Werkstoffen und Ausgestaltungen der Teile möglich sind, die hier beschrieben und dargestellt wurden, um das Wesen der Erfindung zu erläutern, wobei diese Abwandlungen für den Fachmann ersichtlich sind, ohne dabei von dem durch die beigefügten Ansprüche umrissenen Schutzumfang der Erfindung abzuweichen.

Claims (14)

  1. Portmanager-Steuerung (200), PMC, zum Steuern des Zugangs zu einer Hauptkomponente (130) durch eine Mehrzahl von Funktionsmodulen (101...109), wobei die PMC aufweist: (a) einen Hauptkomponentenport, konfiguriert für den Anschluss an die Hauptkomponente; und (b) mindestens zwei Funktionsmodulen-Ports, jeweils konfiguriert für den Anschluss an eines der Funktionsmodulen über eine Punkt-zu-Punkt-Verbindung, dadurch gekennzeichnet, dass die PMC konfiguriert ist, um (1) eine erste Zugangsanforderung von einem ersten Funktionsmodul an einem ersten Funktionsmodul-Port der PMC zu empfangen; (2) eine erste Zugangssitzung für den Datenaustausch zwischen dem ersten Funktionsmodul und der Hauptkomponente über den Hauptkomponenten-Port und den ersten Funktionsmodul-Port zu planen; (3) Daten direkt zwischen dem Hauptkomponenten-Port und dem ersten Funktionsmodul-Port zu transferieren; (4) eine zweite Zugangsanforderung von einem zweiten Funktionsmodul zu empfangen, welches von dem ersten Funktionsmodul verschieden ist, und zwar an einem zweiten Funktionsmodul-Port der PMC; und (5) eine zweite Zugangssitzung für den Datenaustausch zwischen dem zweiten Funktionsmodul und der Hauptkomponente über den Hauptkomponenten-Port und den zweiten Funktionsmodul-Port zu planen, so dass der erste Taktzyklus der zweiten Zugangssitzung unmittelbar anschließt an den letzten Taktzyklus der ersten Zugangssitzung und Daten zu der Hauptkomponente gesendet oder von der Hauptkomponente empfangen werden während des ersten Taktzyklus der zweiten Zugangssitzung.
  2. Steuerung nach Anspruch 1, wobei der die PMC so konfiguriert ist, dass entweder die zweite Zugangsanforderung während der ersten Zugangssitzung akzeptiert wird, oder die erste Zugangssitzung basierend auf einer Prioritätsebene für das erste Funktionsmodul in Relation zu anderen Funktionsmodulen geplant wird.
  3. Steuerung nach Anspruch 2, bei der die PMC konfiguriert ist, um entweder die zweite Zugangssitzung zu planen, ohne das zweite Funktionsmodul aufzufordern, eine weitere Zugangsanforderung zu senden, oder um den Startzeitpunkt und/oder die Dauer der ersten Zugangssitzung anhand der Prioritätsebene des ersten Funktionsmoduls zu steuern.
  4. Steuerung nach Anspruch 1, bei der mindestens zwei Funktionsmodul-Ports für den Anschluss an ein einzelnes Funktionsmodul konfiguriert sind.
  5. Steuerung nach Anspruch 1, bei der jeder Funktionsmodul-Port individuell programmierbar ist, um entweder als bidirektionaler Port oder als unidirektionaler Port zu arbeiten.
  6. Steuerung nach Anspruch 1, bei der die Punkt-zu-Punkt-Verbindung entweder eine unidirektionale oder eine bidirektionale Verbindung ist.
  7. Steuerung nach Anspruch 1, bei der die PMC aufweist: (a) eine Systemschnittstellen-Kernlogik (309) SICL, konfiguriert zur Verbindung mit der Hauptkomponente; (b) eine Richtungs- und Datenformat-Steuerlogik (307) DDFCL, angeschlossen an die SICL und konfiguriert für die Verbindung mit den Funktionsmodulen über eine Mehrzahl von DDFCL-Ports; (c) eine Zugangsgewährungslogik (305) AGL, angeschlossen an die DDFCL und konfiguriert für die Verbindung mit den Funktionsmodulen über eine Mehrzahl von AGL-Ports; (d) eine Prioritätsauflösungslogik (303) PRL, angeschlossen an die DDFCL und konfiguriert für die Verbindung mit den Funktionsmodulen über eine Mehrzahl von PRL-Ports; und (e) eine Datenzulässigkeitslogik (301) DVL, angeschlossen an die PRL und konfiguriert für die Verbindung mit den Funktionsmodulen über eine Mehrzahl von DVL-Ports, wobei: die PRL und die DDFCL ein oder mehrere Steuersignale von einem Funktionsmodul über zugehörige PRL- und DDFCL-Ports empfangen und Zugang zu der Hauptkomponente anfordern; die PRL bestimmt, ob Zugang zu dem Funktionsmodul gewährt wird; dann, wenn die PRL festlegt, dass Zugang zu gewähren ist, die AGL ein Zugangsgewährungssignal über den entsprechenden AGL-Port an das Funktionsmodul sendet; und während des Zugangs durch das Funktionsmodul Daten ausgetauscht werden zwischen dem Funktionsmodul und der Hauptkomponente über die SICL und die DDFCL über den zugehörigen DDFCL-Port, und die DVL ein Datenzulässigkeitssignal über den entsprechenden DVL-Port an das Funktionsmodul sendet.
  8. Steuerung nach Anspruch 7, bei der die PRL, die AGL, die DVL und die DDF-CL über einen internen Bus kommunizieren.
  9. Steuerung nach Anspruch 7, bei der die PRL ein Register enthält, wobei das Register Prioritätsinformation über jedes der Funktionsmodulen speichert.
  10. Steuerung nach Anspruch 9, bei der die PRL in der Lage ist, entweder die Anzahl von Zugangsanforderungen von jedem der Funktionsmodulen zu überwachen und die Prioritätsinformation in dem Register basierend auf der Überwachungsinformation zu aktualisieren, oder die Prioritätsinformation in dem Register auszuwerten, bevor das Steuersignal für die AGL erzeugt wird.
  11. Steuerung nach Anspruch 7, bei der PRL in der Lage ist, eine normale Zugangsanforderung oder eine Prioritätszugangsanforderung von jedem der Funktionsmodulen zu handhaben.
  12. Steuerung nach Anspruch 7, bei der jeder Port der DDFCL auswählbar und unabhängig konfigurierbar ist als ein unidirektionaler Eingangsport, ein unidirektionaler Ausgangsport oder ein bidirektionaler Port.
  13. Steuerung nach Anspruch 1, bei der die PMC weiterhin konfiguriert ist, um (6) eine Mehrzahl von zusätzlichen Zugangsanforderungen gleichzeitig mit der ersten Zugangsanforderung zu akzeptieren; und (7) eine Mehrzahl von Zugangssitzungen zu planen, wobei jede Sitzung für einen Datenaustausch zwischen (i) einem anfordernden Funktionsmodul, welches sich von dem ersten Funktionsmodul unterscheidet, und (ii) der Hauptkomponente über den Hauptkomponenten-Port und einen entsprechenden Funktionsmodul-Port dient, ohne das anfordernde Funktionsmodul aufzufordern, eine weitere diskrete Zugangsanforderung zu senden.
  14. Steuerung nach Anspruch 1, bei der zu jedem Taktzyklus der ersten und der zweiten Zugangssitzung Daten zu der Hauptkomponente gesendet oder von dieser empfangen werden.
DE69932400T 1999-01-05 1999-12-15 Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen Expired - Lifetime DE69932400T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11477099P 1999-01-05 1999-01-05
US114770P 1999-01-05
US416625 1999-10-12
US09/416,625 US6574688B1 (en) 1999-01-05 1999-10-12 Port manager controller for connecting various function modules

Publications (2)

Publication Number Publication Date
DE69932400D1 DE69932400D1 (de) 2006-08-31
DE69932400T2 true DE69932400T2 (de) 2007-07-19

Family

ID=26812529

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69932400T Expired - Lifetime DE69932400T2 (de) 1999-01-05 1999-12-15 Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen

Country Status (6)

Country Link
US (1) US6574688B1 (de)
EP (1) EP1018687B1 (de)
JP (1) JP2000259557A (de)
KR (1) KR20000053380A (de)
DE (1) DE69932400T2 (de)
TW (1) TW528955B (de)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3843667B2 (ja) * 1999-10-15 2006-11-08 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP2001186162A (ja) * 1999-12-24 2001-07-06 Toshiba Corp Av機器ネットワークシステム
US6567272B1 (en) * 2001-11-09 2003-05-20 Dell Products L.P. System and method for utilizing system configurations in a modular computer system
US20030163507A1 (en) * 2002-02-26 2003-08-28 Zarlink Semiconductor V.N. Inc. Task-based hardware architecture for maximization of intellectual property reuse
KR100429543B1 (ko) * 2002-05-25 2004-04-29 삼성전자주식회사 네트워크 프로세서에서 다양한 개수의 포트들을 처리하기위한 방법
US6996651B2 (en) * 2002-07-29 2006-02-07 Freescale Semiconductor, Inc. On chip network with memory device address decoding
US7200137B2 (en) * 2002-07-29 2007-04-03 Freescale Semiconductor, Inc. On chip network that maximizes interconnect utilization between processing elements
US7051150B2 (en) 2002-07-29 2006-05-23 Freescale Semiconductor, Inc. Scalable on chip network
US7139860B2 (en) * 2002-07-29 2006-11-21 Freescale Semiconductor Inc. On chip network with independent logical and physical layers
US7277449B2 (en) * 2002-07-29 2007-10-02 Freescale Semiconductor, Inc. On chip network
KR100475093B1 (ko) * 2002-09-13 2005-03-10 삼성전자주식회사 둘 이상의 입력포트를 구비하는 집적 회로 장치 및 시스템
KR100455396B1 (ko) * 2002-10-14 2004-11-06 삼성전자주식회사 마스터 블록들의 우선 순위를 결정하는 파라미터 발생회로 및 파라미터 발생 방법.
KR100929143B1 (ko) 2002-12-13 2009-12-01 삼성전자주식회사 컴퓨터 및 그 제어방법
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7426586B2 (en) * 2003-12-15 2008-09-16 Finisar Corporation Configurable input/output terminals
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8223647B2 (en) * 2004-07-21 2012-07-17 Nokia Corporation System and method for increasing data throughout using a block acknowledgement
JP2008507928A (ja) 2004-07-23 2008-03-13 サイトリックス システムズ, インコーポレイテッド ネットワークノード間の通信を最適化するためのシステムおよび方法
EP2264956B1 (de) * 2004-07-23 2017-06-14 Citrix Systems, Inc. Verfahren zur sicherung von zugriff aus der ferne auf private netze
CA2576569A1 (en) 2004-08-13 2006-02-23 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
CN1780293B (zh) * 2004-11-25 2010-04-28 华为技术有限公司 在有状态会话初始协议服务器上实现过负荷控制的方法
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
AU2005325674A1 (en) 2005-01-24 2006-08-03 Citrix Systems, Inc. Systems and methods for performing caching of dynamically generated objects in a network
US7493426B2 (en) * 2005-01-31 2009-02-17 International Business Machines Corporation Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control
US20060174050A1 (en) * 2005-01-31 2006-08-03 International Business Machines Corporation Internal data bus interconnection mechanism utilizing shared buffers supporting communication among multiple functional components of an integrated circuit chip
US7136954B2 (en) * 2005-01-31 2006-11-14 International Business Machines Corporation Data communication method and apparatus utilizing credit-based data transfer protocol and credit loss detection mechanism
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US8116207B2 (en) 2006-08-21 2012-02-14 Citrix Systems, Inc. Systems and methods for weighted monitoring of network services
US8493858B2 (en) 2006-08-22 2013-07-23 Citrix Systems, Inc Systems and methods for providing dynamic connection spillover among virtual servers
US8312120B2 (en) * 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
KR100881275B1 (ko) 2006-12-08 2009-02-05 한국전자통신연구원 Sca 멀티 컴포넌트 및 멀티 포트 환경에서의 우선 순위제어 장치 및 방법
US7685346B2 (en) * 2007-06-26 2010-03-23 Intel Corporation Demotion-based arbitration
US20090198876A1 (en) * 2008-01-31 2009-08-06 Jimmy Kwok Lap Lai Programmable Command Sequencer
US8667197B2 (en) 2010-09-08 2014-03-04 Intel Corporation Providing a fine-grained arbitration system
US20130227180A1 (en) * 2012-02-24 2013-08-29 Pradeep Bisht Method for input/output load balancing using varied performing storage devices
KR102285749B1 (ko) * 2014-11-10 2021-08-05 삼성전자주식회사 세마포어 기능을 갖는 시스템 온 칩 및 그것의 세마포어 구현 방법
KR20180083572A (ko) * 2017-01-13 2018-07-23 삼성전자주식회사 전자장치 및 그 제어방법
CN108874461B (zh) * 2017-11-30 2021-05-14 视联动力信息技术股份有限公司 一种视联网模块的加载方法及视联网终端
CA3057347A1 (en) 2018-10-02 2020-04-02 Alarm.Com Incorporated Security system with smart connection module
EP3874377A1 (de) * 2018-11-30 2021-09-08 Huawei Technologies Co., Ltd. Elektronische vorrichtung zur speicherzugriffssteuerung und betriebsverfahren dafür
CN112817778A (zh) * 2021-01-27 2021-05-18 惠州Tcl移动通信有限公司 一种移动终端复用模块管理方法、系统、终端及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218740A (en) * 1974-10-30 1980-08-19 Motorola, Inc. Interface adaptor architecture
US4400771A (en) * 1975-12-04 1983-08-23 Tokyo Shibaura Electric Co., Ltd. Multi-processor system with programmable memory-access priority control
US4972365A (en) * 1987-05-01 1990-11-20 Allen-Bradley Company, Inc. Executing downloaded user programs in a programmable controller
US5416909A (en) * 1990-09-14 1995-05-16 Vlsi Technology, Inc. Input/output controller circuit using a single transceiver to serve multiple input/output ports and method therefor
US5734334A (en) * 1991-10-30 1998-03-31 I-Cube, Inc. Programmable port for crossbar switch
WO1996007139A1 (en) * 1994-09-01 1996-03-07 Mcalpine Gary L A multi-port memory system including read and write buffer interfaces
US5640495A (en) * 1994-12-20 1997-06-17 Lexmark International, Inc. Computer-printer interface control for bidirectional/undirectional data communications
US5850530A (en) * 1995-12-18 1998-12-15 International Business Machines Corporation Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data
US5781927A (en) * 1996-01-30 1998-07-14 United Microelectronics Corporation Main memory arbitration with priority scheduling capability including multiple priorty signal connections
US5809538A (en) * 1996-02-07 1998-09-15 General Instrument Corporation DRAM arbiter for video decoder
US5944809A (en) * 1996-08-20 1999-08-31 Compaq Computer Corporation Method and apparatus for distributing interrupts in a symmetric multiprocessor system
US6157963A (en) * 1998-03-24 2000-12-05 Lsi Logic Corp. System controller with plurality of memory queues for prioritized scheduling of I/O requests from priority assigned clients
US6122680A (en) * 1998-06-18 2000-09-19 Lsi Logic Corporation Multiple channel data communication buffer with separate single port transmit and receive memories having a unique channel for each communication port and with fixed arbitration
US6286083B1 (en) * 1998-07-08 2001-09-04 Compaq Computer Corporation Computer system with adaptive memory arbitration scheme

Also Published As

Publication number Publication date
JP2000259557A (ja) 2000-09-22
KR20000053380A (ko) 2000-08-25
US6574688B1 (en) 2003-06-03
EP1018687A3 (de) 2004-01-07
DE69932400D1 (de) 2006-08-31
EP1018687B1 (de) 2006-07-19
TW528955B (en) 2003-04-21
EP1018687A2 (de) 2000-07-12

Similar Documents

Publication Publication Date Title
DE69932400T2 (de) Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE69936225T2 (de) Gleichzeitige serielle verbindung zur integrierung von funktionellen blöcken in eine integrierte schaltungsvorrichtung
EP0929041B1 (de) Verfahren und Anordnung zum Betreiben eines Bussystems
DE3909948C2 (de)
DE69733857T2 (de) Steuerungsübertragungsbus für Netzwerkgeräte
DE60200210T2 (de) Über das World-Wide-Web zugängliche, eingebettete Programmier-Software
DE4121446C2 (de) Terminal-Server-Architektur
EP1456722B1 (de) Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer
DE10152970B4 (de) Halbleiterbauelement mit Systembus und externem Bus sowie Halbleiterchip-Betriebsverfahren und Speichermedium
DE69834519T2 (de) Bussteuerungssystem und -verfahren
DE60222191T2 (de) Übermittlung von Transaktionstypen zwischen Agenten eines Computersystems unter Verwendung von Paketköpfen mit erweitertem Typen-/erweitertem Längenfeld
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE69914425T2 (de) Modulare Übertragungssteuerung und -Verfahren
DE2944497A1 (de) Datenverarbeitungsanlage mit mehreren geraeteeinheiten
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
DE602005006338T2 (de) Vorrichtung und Verfahren zur Datenübertragungsverarbeitung
DE60123134T2 (de) Verfahren und vorrichtung für einen rekonfigurierbaren prozessor
DE60017774T2 (de) Verfahren und vorrichtung zur unterstützung von mehrtaktübertragung in einem rechnersystem mit einer punkt-zu-punkt halb-duplex verbindung
WO2007039620A1 (de) Teilnehmerschnittstelle zwischen einem flexray-kommunikationsbaustein und einem flexray-teilnehmer und verfahren zur übertragung von botschaften über eine solche schnittstelle
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
DE10296700T5 (de) Flusssteuerungssystem zur Verringerung der Speicherpufferanforderungen und zur Herstellung einer Prioritätsbedienung zwischen Netzen
DE10214067A1 (de) Hochgeschwindigkeitsdatenschnittstelle auf einem Chip
DE10061770B4 (de) Zugriffsregelung für Steuerchipsätzen bei Bustransaktion
DE60023429T2 (de) Geräteregistrierung in einem Netzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition