DE602004011351T2 - Datenverarbeitungssystem und verfahren zur datenverarbeitung - Google Patents

Datenverarbeitungssystem und verfahren zur datenverarbeitung Download PDF

Info

Publication number
DE602004011351T2
DE602004011351T2 DE602004011351T DE602004011351T DE602004011351T2 DE 602004011351 T2 DE602004011351 T2 DE 602004011351T2 DE 602004011351 T DE602004011351 T DE 602004011351T DE 602004011351 T DE602004011351 T DE 602004011351T DE 602004011351 T2 DE602004011351 T2 DE 602004011351T2
Authority
DE
Germany
Prior art keywords
data
data processing
rate
bus
bandwidth
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.)
Active
Application number
DE602004011351T
Other languages
English (en)
Other versions
DE602004011351D1 (de
Inventor
Kornelis A. Vissers
Christian Hentschel
Abraham K. Riemens
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.)
Entropic Communications LLC
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE602004011351D1 publication Critical patent/DE602004011351D1/de
Application granted granted Critical
Publication of DE602004011351T2 publication Critical patent/DE602004011351T2/de
Anticipated expiration legal-status Critical
Active legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)

Description

  • Die Erfindung betrifft ein Datenverarbeitungssystem.
  • Die Erfindung betrifft ferner ein Verfahren zur Datenverarbeitung.
  • Nach Stand der Technik ist erkannt worden, dass Echtzeit-Multimedia-Datenverarbeitungsfunktionen in zunehmendem Maße auf programmierbaren Architekturen durchgeführt werden. Derartige Funktionen können in Hardware, in Software oder in einer Mischung daraus bewirkt werden. Multimedia kann Audio, Grafik, Video und anderes beinhalten. Derartige programmierbare Architekturen können eine Zentraleinheit, Ein- und Ausgangseinheiten, optional Koprozessoren wie z.B. für Multimedia-Bildverarbeitung, einen gemeinsam genutzten Bus und einen Busarbiter, der mit dem Hauptspeicher gekoppelt ist, enthalten.
  • Nach Stand der Technik wird ein zentraler Busarbiter verwendet, um zu bestimmen, welcher Datenverarbeitungseinheit Zugriff auf den Speicher gewährt wird. Dieser Busarbiter disponiert die Busanfragen, um zwei verschiedene Ziele zu erreichen. Erstens stellt er sicher, dass der Speicher jeweils nur eine einzige Anfrage zu behandeln braucht. Zweitens stellt er sicher, dass Busanfragen von Clients hoher Priorität öfter als Anfragen von anderen behandelt werden, also die gesamte verfügbare Buskapazität in eine gewisse Bandbreitengrenze für jeden Busclient aufzuteilen. In Systemen nach Stand der Technik versuchen die Verarbeitungseinheiten das Ausführen mit der schnellstmöglichen Geschwindigkeit. Dieses Maximum ist eine Konstruktionseigenschaft. In vielen Fällen impliziert dies, dass die Verarbeitungsgeschwindigkeit nur durch die verfügbaren Daten begrenzt ist, die tatsächliche Verarbeitungsgeschwindigkeit folglich durch den Arbiter bestimmt ist.
  • Die betreffenden Erfinder haben erkannt, dass in vielen Fällen abhängig von Systemmodi oder Verwendungsfällen bei Datenverarbeitungseinheiten das Ausführen auf einem Arbeitslastniveau erfolgt, das signifikant niedriger als ihr Maximum ist. Außerdem erzeugen die Verarbeitungseinheiten derartige Arbeitslast in sich wiederholender Weise, wie z.B. Verarbeiten von Bildern bei einer gewissen Bildrate. In derartigen Situationen versuchen die Verarbeitungseinheiten von Systemen nach Stand der Technik, während des Anfangs der Wiederholperiode so viel Bandbreite wie möglich zu verbrauchen, während am Ende der Periode ungenutzte Bandbreite verblieben sein kann. In der vorliegenden Er findung zielt ein neuartiger Ansatz darauf, den Bandbreitenverbrauch während der Wiederholperiode gleichmäßiger zu verteilen. Diese Verteilung von Bandbreitenverbrauch wird durch Verzögern tatsächlicher Busübertragungen auf kontrollierte Weise erreicht. Dies würde bedeuten, dass statt des Beschränkens der momentanen Bandbreite der Busschnittstelle vielmehr die mittlere Bandbreite der Busschnittstelle beschränkt werden sollte, wie auf der obigen Verzögerung basierend. Dies impliziert, dass, wenn die anfordernde Einrichtung dann weniger Busbandbreite als ihre eigene angegebene Bandbreite verfügbar haben würde, sie im Prinzip diese Abweichung in einem nachfolgenden Zeitintervall aufholen könnte. Nun ist gemäß einer besonders vorteilhaften Ausführungsform der vorliegenden Erfindung derartige Aufholzeit in einem kurzen so genannten Schlupfzeitintervall bereitgestellt, das am Ende des Zeitintervalls gelegen ist, für das die verfügbare mittlere Busbandbreite spezifiziert worden ist. Typischerweise hat sich ein Wert im Bereich von 5% Schlupfzeitintervall des mittelnden Zeitintervalls als vorteilhaft herausgestellt. Jedoch würden abhängig von Konfiguration und Anwendung Bereiche von 3–8% oder sogar von 1–12% und dergleichen machbar sein.
  • Als Folge der Verbesserung können die Anforderungen und Bedingungen für einen zentralen Busarbiter gelockert werden, und die Konstruktion desselben würde merklich vereinfacht. Außerdem wird die Softwaresteuerung oder Hardwaresteuerung des zentralen Busarbiters vereinfacht. Diese Vorteile werden durch die Beobachtung verursacht, dass eine der Aufgaben des zentralen Busarbiters vereinfacht wird. Da die Prozessoren selbst ihre Bandbreitennutzung begrenzen, braucht der zentrale Arbiter diese Begrenzung nicht zu vollziehen. Beim Steuern eines zentralen Arbiters sollte man sich aller potenziellen Benutzer und ihrer jeweiligen Bandbreitenanforderungen bewusst sein, um darauf basierend die gegenwärtig verfügbare Übertragungsrate zu definieren. Derartige Anforderungen können sogar abhängig von tatsächlichen Moduseinstellungen variieren. In der vorliegenden Erfindung wird der Bandbreitenverbrauch jedes Prozessors individuell gesteuert, wobei nur sein eigener Betriebsmodus berücksichtigt wird. Auch hier ist die Vereinfachung der Steuerung markant.
  • In der Tat haben die Erfinder auch erkannt, dass das Bewirken einer relativen Verringerung der momentanen Übertragungsanforderungen in einer direkten Art und Weise durch Wartezyklen realisiert werden kann. In diesem Fall kennt der anfragende Teilnehmer jedoch stets die maximale Langzeit-Übertragungsrate der Kommunikationsbuseinrichtung. Insbesondere beschreibt US2003-0025698 A1 , dem ein Erfinder mit der vorliegenden Erfindung gemein ist und das ebenfalls dem vorliegenden Inhaber erteilt wurde, die Nutzung von Wartezyklen zum Senken der tatsächlichen Übertragungsrate.
  • Demzufolge ist es unter anderem eine Aufgabe der vorliegenden Erfindung, die Konstruktion und die Steuerung des Systems zu vereinfachen, während zur gleichen Zeit für akzeptable Übertragungsanforderungen Echtzeitbedingungen garantiert werden. Eine andere Aufgabe der vorliegenden Erfindung ist es, eine intelligente Busschnittstellen-Lösung bereitzustellen, die keine Umkonstruktion der verschiedenen Verarbeitungsstationen erfordert, auch nicht die der Busarchitektur.
  • Nun ist daher gemäß eines ihrer Aspekte die Erfindung in Anspruch 1 beschrieben. Insbesondere beinhalten die zusätzlichen Merkmale der vorliegenden Erfindung das Erweitern zweckentsprechender Busschnittstellen um eine Bandbreitensteuerungseinheit. Mithilfe dieser Bandbreitensteuerungseinheiten kann der Verbrauch an Bandbreite gesteuert werden, wodurch die mittlere Datenverarbeitungsgeschwindigkeit der Medienverarbeitungseinheit effektiv verlangsamt wird. Der Busarbiter ist immer noch nötig, da die verschiedenen Medienverarbeitungseinheiten immer noch gleichzeitig Busübertragungen auslösen können. Jedoch wird, weil die Bandbreitensteuerungseinheiten der Datenverarbeitungseinheiten die Datenübertragungsrate dezentral steuern, die Aufgabe des Busarbiters vereinfacht.
  • Es ist bekannt, dass US-A-5 953 685 einen Speichercontroller 106 beschreibt, der Zugriffsanfragen von einer Anzahl von PCI-Geräten an einen Systemspeicher verwaltet. Innerhalb des Speichercontrollers enthält eine verzögernde Entscheidungslogik einen „Schreibmaximum-Quad-Word"-Zähler, der die Anzahl der Schreibzugriffsanfragen innerhalb eines „schreibverzögernden Überwachungsfensters" zählt. Wenn der Zähler im Zähler den Wert in einem „Schreibmaximum-Quad-Word-Register" überschreitet, unterdrückt ein Maskierungssignal bis zum Ende des Zeitfensters weitere Schreibanfragen. In dem bekannten Gerät ist die Zugriffssteuerung in dem Bauteil zentralisiert, wo die Temperatur niedrig zu halten ist.
  • Eine bestimmte Medienverarbeitungseinheit kann eine oder vielmehr ein Paar Busschnittstellen aufweisen, die in zueinander entgegengesetzten Richtungen arbeiten und die jeweils mit einer zweckentsprechenden Bandbreitensteuerungseinheit versehen sind. Wenn mehr als eine Bandbreitensteuerungseinheit für eine einzelne Medienverarbeitungseinheit oder einen Prozessor zweckentsprechend wäre, können diese Bandbreitensteuerungseinheiten miteinander verbunden oder sogar zu einer einzigen Bandbreitensteuerungseinheit bezüglich der zugeordneten Medienverarbeitungseinheit vereinigt sein oder auch nicht.
  • Auch betrifft die Erfindung ein Verfahren nach Anspruch 6. Weitere vorteilhafte Aspekte der Erfindung sind in abhängigen Ansprüchen dargelegt.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Diese und weitere Merkmale, Aspekte und Vorteile der Erfindung werden nachstehend ausführlicher diskutiert unter Bezug auf die Beschreibung bevorzugter Ausführungsformen der Erfindung und insbesondere unter Bezug auf die Zeichnung:
  • Darin:
  • zeigt 1 ein busorientiertes System nach Stand der Technik;
  • zeigt 2 eine verbesserte Version desselben gemäß der vorliegenden Erfindung;
  • zeigt 3 ausführlicher eine Bandbreitensteuerung in einer ersten Ausführungsform des in 2 gezeigten Systems,
  • zeigt 4 ausführlicher einen Aspekt der in 3 gezeigten Bandbreitensteuerung,
  • zeigt 5 ausführlicher einen Aspekt einer alternativen Implementierung der in 3 gezeigten Bandbreitensteuerung,
  • zeigt 6 ausführlicher einen Aspekt einer anderen alternativen Implementierung der in 3 gezeigten Bandbreitensteuerung,
  • zeigt 7 schematisch ein Verfahren gemäß der Erfindung,
  • zeigt 8 ein erstes Zeitdiagramm,
  • zeigt 9 ein zweites Zeitdiagramm.
  • AUSFÜHRLICHE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • 1 stellt ein typisches busorientiertes System nach Stand der Technik dar. Das System weist einen Bus BUS, gemeinsam genutzten Speicher MEM, einen Busarbiter ARB, eine Medienverarbeitungseinheit PU1 und unidirektionale Busschnittstelleneinrichtungen IB1, OB1 auf, die jeweilige Puffer umfassen. Der Bus BUS und der Speicher MEM werden durch mehrere Medienverarbeitungseinheiten PU1, PU2, PU3 gemeinsam genutzt, von denen mindestens eine typischerweise eine Zentraleinheit ist, die auch das Gesamtsystem steuert. Andere Kategorien von Medienverarbeitungseinheiten umfassen Koprozessoren und physikalische Signalquelleneinheiten, wie z.B. Sprach- oder Bildeingabe- oder -ausgabeeinheiten oder Massenspeicher. Da verschiedene derartiger Medienverarbeitungseinheiten eine Busübertragung unabhängig von den anderen auslösen können, wird aus zwei Gründen ein Arbiter benötigt: erstens sequentialisiert er die Busübertragungen, und zweitens weist er jeder der Verarbeitungseinheiten Busbandbreitenbegrenzungen zu.
  • 2 stellt eine verbesserte Version der Anordnung nach 1 gemäß einer Ausführungsform der vorliegenden Erfindung dar. Wie gezeigt, sind die Busschnittstelleneinrichtungen IB1, OB1 jeweils um eine Busbandbreitensteuerungseinheit CTRLI, CTRLO erweitert. Mithilfe derselben kann der Busbandbreitenverbrauch gesteuert werden, während in diesem Fall die Datenverarbeitungsgeschwindigkeit der Medienverarbeitungseinheit PUI effektiv verlangsamt wird. Die zwei Steuerungseinheiten CTRLI, CTRLO können miteinander verbunden und/oder zu einer einzigen Steuerungseinheit vereinigt sein. In der Tat kann eine einzige Medienverarbeitungseinheit eine oder mehrere Busschnittstellen aufweisen. Das Puffer kann sachgerecht gemäß einer FIFO-Verfahrensweise erfolgen. Der zentrale Arbiter ist immer noch nötig, um die Busübertragungen zu sequentialisieren, aber die Anforderungen für die Bandbreitenbegrenzung können gelockert werden, da die Busbandbreitensteuerungseinheiten die Bandbreitennutzung begrenzen.
  • 3 zeigt eine Verarbeitungseinheit PU1, die über eine Busschnittstelleneinrichtung OB1 mit einem Bus BUS gekoppelt ist, und ausführlicher eine Ausführungsform einer Bandbreitensteuerungseinheit CTRL. Die Bandbreitensteuerungseinheit umfasst eine Mittelwertberechnungseinheit AV, um eine mittlere Datenmenge Sta zu berechnen, die über die Busschnittstelleneinrichtung OB zum Bus übertragen wird. Zu jenem Zweck empfängt die Mittelwertberechnungseinheit ein Signal St, das für die Datenübertragungsmenge bezeichnend ist, die über die Busschnittstelleneinrichtung OB1 stattfindet. Obgleich in diesem Beispiel die Steuerung eines Ausgangspuffers gezeigt ist, ist es gleicherweise auf einen Eingangspuffer oder einen kombinierten E/A-Puffer anwendbar. Die Bandbreitensteuerungseinheit CTRL umfasst ferner ein Register LIM zum Speichern einer Angabe für die zulässige mittlere Datenrate Stl. Ein Komparator CMP vergleicht diese Signale und steuert mit Steuersignal CT ein Tor G. Normalerweise sendet das Tor G eine Busanfrage BRI von der Busschnittstelle OB1 als Signal BRO zum Arbiter, und der Arbiter antwortet mit einem Bestätigungssignal ACK, wenn der Bus verfügbar ist. Jedoch veranlasst das Steuersignal CT, wenn die mittlere Datenmenge Sta, die über die Busschnittstelleneinrichtung OB1 zum Bus übertragen wird, die zulässige mittlere Datenrate Stl überschreitet, dass das Tor G das Busanfragesignal BRI blockiert. In jenem Fall wird keine Anfrage BRO durch den Arbiter empfangen, und weitere Datenübertragung wird verhindert, bis der mittlere Wert Sta auf einen Wert unterhalb des zulässigen Wertes Stl abgenommen hat.
  • Andererseits ist, wenn es vorkommt, dass der Bus BUS eine Zeit lang nicht verfügbar gewesen ist, weil ein anderes Gerät, beispielsweise eine Zentraleinheit, die eine hohe Priorität besitzt, den Bus belegt hat, die übertragene mittlere Datenmenge Sta wesentlich kleiner als der zulässige Wert Stl. In jenem Fall hat die Verarbeitungseinrichtung PU1 die Gelegenheit, die Datenübertragung vorübergehend zu steigern, bis der mittlere Wert Sta wieder den zulässigen Wert Stl erreicht.
  • Für das Bewirken von Bandbreitensteuerung gibt es verschiedene Gründe. An erster Stelle kann die Bandbreitensteuerungseinheit CTRL den Verbrauch an Bandbreite durch eine Medienverarbeitungseinheit auf eine Höhe anpassen, die für die tatsächlich ausgeführte Funktion geeignet ist. Dies bedeutet, dass die Bandbreite funktionsabhängig statt stationsabhängig ist. Nun beschreibt die Referenz-Patentanmeldung oben die Verwendung von Wartezyklen durch Bereitstellen einer programmierbaren Hardwareschaltung. Die vorliegende Erfindung stellt einen alternativen Weg bereit, den Prozessor zu verzögern und daher seinen Bandbreitenverbrauch zu verringern. Auch ist die vorliegende Erfindung insofern allgemeiner, als sie nur einmal in Busschnittstelleneinheiten implementiert zu werden braucht und auf zahlreiche unterschiedliche Medienverarbeitungseinheiten angewendet werden kann. Die für die vorliegende Erfindung nötige Steuerungssoftware ist leichter zu entwickeln, weil die Eigenschaft „Übertragungsbandbreite" sofort gesteuert wird, wohingegen keine spezielle Kenntnis über die fragliche Medienverarbeitungseinheit zum Berechnen der Verlangsamungszahlen erforderlich ist. Die letztgenannten Zahlen beziehen sich nur indirekt auf den Bandbreitenverbrauch.
  • Zum Berechnen einer mittleren Datenübertragungsrate sind mehrere Ausführungsformen möglich, von denen zwei in 4 bzw. 5 gezeigt sind.
  • In 4 umfasst die Mittelwertberechnungseinheit AV einen Zähler CNT, einen Zeitgeber TIM, eine Verzögerungsleitung DL und eine Gewichtungs- und Summiereinheit W bzw. Σ. Der Zähler CNT zählt jede Datenübertragung, die durch die Busschnittstelle OB1 signalisiert wird. Der Zeitgeber TIM taktet den gezählten Wert in die Verzögerungsleitung DL und setzt den Zähler periodisch zurück. Die Gewichtungs- und Summiereinheit W bzw. Σ berechnet einen gleitenden Mittelwert Sta.
  • 5 zeigt eine einfachere Implementierung der Mittelwertberechnungseinheit AV. Jetzt wird die Ausgabe des Zählers durch einen Gewichtungsfaktor W gewichtet. Ein mittlerer Wert Sta, der in Register REG gespeichert ist, wird durch einen Faktor (1–W) ebenfalls gewichtet. Diese gewichteten Werte werden summiert und durch Zeitgeber TIM periodisch in das Register REG getaktet. Der Gewichtungsfaktor W ist, abhängig von der Länge des gewünschten Integrationszeitraums, ein Wert zwischen 0 und 1.
  • In der in 4 und 5 gezeigten Implementierung berechnet die Bandbreitensteuerungseinheit einen gleitenden Mittelwert Sta der Datenübertragung und blockiert eine weitere Datenübertragung, wenn der gleitende Mittelwert die zulässige mittlere Datenrate Stl überschreitet.
  • In einer anderen Ausführungsform, die in 6 gezeigt ist, startet die Bandbreitensteuerungseinheit periodisch eine Integration der Datenübertragung und blockiert Datenübertragung, wenn der integrierte Wert einen Schwellwert überschreitet, der aus der zulässigen mittlere Datenrate berechnet wird. Zu jenem Zweck umfasst die in 6 gezeigte Ausführungsform einen ersten Zähler CNT1 zum Berechnen der zulässigen Daten menge NSt und einen zweiten Zähler CNT2 zum Berechnen der in einem bestimmten Zeitintervall tatsächlich übertragenen Datenmenge NRt und einen Komparator CMP zum Vergleichen jener Werte und Bereitstellen eines Steuersignals CT zum vorübergehenden Blockieren einer Datenübertragung, wenn die tatsächlich übertragene Datenmenge NRt den zulässigen Wert überschreitet. Der erste Zähler weist eine Schrittweitensteuerung STP auf, die die Schrittweite abhängig von der Länge der Zeitdauer TS, innerhalb der eine Datenmenge NS übertragen werden darf, und der Datenmenge NRt bestimmt, die in der abgelaufenen Zeit t tatsächlich übertragen wurde. Beide Zeitgeber werden nach jedem Zeitrahmen TF zurückgesetzt.
  • Der Betrieb der in 6 gezeigten Bandbreitensteuerungseinheit ist ausführlicher unter Bezug auf 7 beschrieben.
  • In Schritt S1 werden beide Zähler CNT1, CNT2 auf 0 initialisiert.
  • In Schritt S2, S2A, S2B berechnet die Schrittweitensteuerung die Schrittweite ΔNSt abhängig vom Wert von t:
    Ist t ≤ TS, wird der Wert für die Schrittweite berechnet zu:
    Figure 00080001
  • Anderenfalls, wenn t > TS ist, wird die Schrittweite auf 0 gesetzt: ΔNSt = 0.
  • In Schritt S3 werden die Zähler CNT1, CNT2 inkrementiert.
  • Der erste Zähler CNT1 wird um die Schrittweite ΔNSt inkrementiert.
  • Der zweite Zähler CNT2 wird um ΔNR inkrementiert, das für die Anzahl Bytes bezeichnend ist, die nach dem vorherigen Inkrement übertragen werden.
  • In Schritt S4 wird verglichen, ob die gezählte Anzahl tatsächlich übertragener Bytes NR die zulässige Anzahl Bytes NS überschreitet.
  • Ist dies der Fall, wird in Schritt S5 ein Blockiersignal CT generiert, um weitere Datenübertragung über die Busschnittstelle zu verhindern, die durch die Bandbreitensteuerungseinheit gesteuert wird.
  • Dann wird in Schritt S6 geprüft, ob die abgelaufene Zeit t kleiner als die Dauer TF des Zeitrahmens ist. Die Dauer des Zeitrahmens TF kann gleich der Zeitdauer TS sein, für die die übertragene Datenmenge NS geplant ist, alternativ kann es aber eine Schlupfzeit Tsi = TF – TS geben. Auf diese Weise wird die Möglichkeit berücksichtigt, dass die geforderte Datenmenge NS bis zum Ende der Zeitdauer TS nicht übertragen werden konnte, und die Schlupfzeit Tsl ermöglicht es, jene Menge zu erreichen, bevor der Zeitrahmen TF beendet ist.
  • Obgleich beide Ausführungsformen der Erfindung die mittlere Buslast eines Geräts dezentral steuern, weist die Ausführungsform nach 6 einen zusätzlichen Vorteil einer ausgeglicheneren Verteilung der Buslast auf. Dies ist in 8 dargestellt. Wie darin gezeigt, hat die Bandbreitensteuerungseinheit geplant SC1, dass die Datenmenge NS als regelmäßiger Datenstrom in der Zeitdauer TS übertragen wird. Jedoch tritt bei t1 eine wesentliche Verzögerung auf, die beispielsweise durch ein Gerät hoher Priorität wie der Zentraleinheit oder einen direkten Speicherzugriff verursacht ist. Dies verursacht, dass die tatsächlich übertragene Menge wesentlich kleiner ist als das, was geplant ist. Zur Zeit t berechnet die Bandbreitensteuerungseinheit eine neue Planung SC2, die es der Verarbeitungseinheit erlaubt, den Rückstand, der im Intervall t1 – t verursacht wurde, in der verbliebenen Zeit TS – t aufzuholen. Auf diese Weise wird verhindert, dass alle Verarbeitungseinheiten, die am Bus angeschlossen sind, sofort, nachdem eine hohe Buslast aufgetreten ist, ihren Rückstand gleichzeitig aufzuholen versuchen. Stattdessen erreichen die Bandbreitensteuerungseinheiten, dass die Datenübertragungen, die zum Aufholen benötigt werden, zeitlich verteilt werden.
  • Unterschiedliche Bandbreitensteuerungseinheiten können unterschiedliche Einstellungen der Parameter TS, TF, NS sowie unterschiedliche Einstellungen für die Häufigkeit aufweisen, mit der eine neue Planung berechnet wird.
  • 9 zeigt ein Beispiel, in dem der Zeitrahmen TF eine Schlupfzeit Tsl beinhaltet. Zur Zeit t3 tritt ein Rückstand bei der tatsächlichen übertragenen Datenmenge TR im Vergleich zur geplanten Menge SC3 auf. Obgleich es keine Gelegenheit gibt, diesen Rückstand während der geplanten Zeitdauer TS aufzuholen, stellt die Bandbreitensteuerungseinheit eine Möglichkeit des Aufholen während der Schlupfzeit Tsl bereit. Im gezeigten Beispiel tritt dies nach der Zeit t4 auf.
  • Wenn diese Erfindung auf eine Zentraleinheit angewendet wird, kommen gewisse spezielle Betrachtungen zur Anwendung. Eine derartige Zentraleinheit führt typi scherweise viele Aufgaben in einer Zeitmultiplex-Organisation aus. Gewisse Aufgaben erfordern eine relativ größere Bandbreite als andere. Dies verursacht typischerweise periodisch variierende Bandbreitenverbrauchs-Anforderungsmuster mit Spitzen zu den Zeitpunkten, wenn Aufgaben mit den höheren Anforderungen ausgeführt werden. Systeme nach Stand der Technik weisen der Zentraleinheit sachgerecht die höchste Priorität zu und verursachen minimale Latenzzeit für den Speicher, um aufwendige Wartezyklen zu vermeiden. Dieser Ansatz nach Stand der Technik macht das Systemverhalten schwer voraussagbar, da die Bandbreite gänzlich durch das Programm bestimmt ist, das tatsächlich auf der Zentraleinheit ausgeführt wird.
  • Nun wird, wenn die vorliegende Erfindung ohne spezielle Maßnahmen verwendet wird, die Zentraleinheit lediglich verlangsamt, was zusätzliche Wartezyklen während Programmen verursacht, die Spitzenbandbreitenverbrauch erfordern. In vielen Fällen ist dies nicht nötig. Daher können die Bandbreitensteuerungseinheiten den verwendeten Zentraleinheiten hinzugefügt werden und wie folgt verwendet werden:
    • a. im Allgemeinen Bandbreitenspitzen auch dann zulassen, wenn der mittlerer Bandbreitenverbrauch überschritten wird, vorausgesetzt, dass die physikalische Buskapazität nicht überschritten wird;
    • b. nur im Falle, dass der mittlere Bandbreitenverbrauch dazu tendiert, den Sollwert zu überschreiten, aktiv ändern, um die Bandbreite zu beschränken, die durch die Zentraleinheit genutzt wird.
  • Wenn nun ein System betrachtet wird, das eine Zentraleinheit und eine oder mehrere andere Medienverarbeitungseinheiten umfasst, würde dies der Zentraleinheit gestatten, vorübergehend eine übermäßige Menge an Bandbreite zu verbrauchen. Später in dem Zeitraum verbraucht die Zentraleinheit dann beträchtlich weniger Bandbreite, und alle anderen Einheiten können aufholen. Solang die gesamte mittlere Bandbreite innerhalb der verfügbaren Busübertragungskapazität bleibt, passt das Gesamtsystem sich selbst ohne zentrale Steuerung an die dynamischen Buslasten der individuellen Einheiten an. Somit kombiniert das System hohe Busnutzung mit dem Garantieren von Echtzeitbetrieb, während ein einzelner Steuerungspunkt vermieden wird.

Claims (7)

  1. Datenverarbeitungssystem, das mehrere Datenverarbeitungseinrichtungen (PU1, PU2, PU3) umfasst, die mittels einer Datenkommunikationseinrichtung (BUS) mit einer Einrichtung gemeinsam genutzten Speichers gekoppelt sind, dadurch gekennzeichnet, dass die Datenverarbeitungseinrichtungen (PU1) jeweils eine Bandbreitensteuerungseinheit (CTRLI, CTRLO) zum Steuern einer Rate (NRt) ihrer Datenübertragung entlang der Datenkommunikationseinrichtung (BUS) aufweisen, wobei die Bandbreitensteuerungseinheit die Datenübertragung beschränkt, wenn die Datenübertragungsrate eine zulässige mittlere Datenrate (NSt) überschreitet.
  2. Datenverarbeitungssystem nach Anspruch 1, wobei die Bandbreitensteuerungseinheit (CTRLI, CTRLO) einen gleitenden Mittelwert der Datenübertragungsrate berechnet und eine weitere Datenübertragung blockiert, wenn der gleitende Mittelwert die zulässige mittlere Datenrate überschreitet.
  3. Datenverarbeitungssystem nach Anspruch 1, wobei die Bandbreitensteuerungseinheit (CTRLI, CTRLO) periodisch eine Integration der Datenübertragungsmenge startet und Datenübertragung blockiert, wenn der integrierte Wert (NRt) einen Schwellwert (NSt) überschreitet, der aus der zulässigen mittlere Datenrate (NS) berechnet wird.
  4. Datenverarbeitungssystem nach Anspruch 3, wobei Zeitrahmen (TF), in denen die Bandbreitensteuerungseinheit (CTRLI, CTRLO) periodisch eine Integration startet, eine Schlupfzeit (Tsl) nach einer geplanten Zeitdauer (TS) zum Übertragen der zulässigen Datenmenge (NS) beinhalten, wobei es die Schlupfzeit (Tsl) einer Verarbeitungseinrichtung ermöglicht, einen Rückstand aufzuholen, der währen der geplanten Zeitdauer (TS) aufgetreten ist.
  5. Datenverarbeitungssystem nach Anspruch 3, wobei die Bandbreitensteuerungseinheit (CTRLI, CTRLO) die zulässige mittlere Datenrate (SC1, SC2) während des Integrationszeitraums anpasst, um vorübergehenden Bandbreitenmangel auszugleichen.
  6. Datenverarbeitungssystem nach Anspruch 1, wobei die Datenverarbeitungseinrichtung getrennte Bandbreitensteuerungseinheiten (CTRLI, CTRLO) zum Steuern der Rate der ankommenden und der abgehenden Datenübertragung aufweist.
  7. Verfahren zum Übertragen von Daten in einem Datenverarbeitungssystem, das mehrere Datenverarbeitungseinrichtungen (PU1, ...) umfasst, die mittels einer Datenkommunikationseinrichtung (BUS) mit einer Einrichtung gemeinsam genutzten Speichers (MEM) gekoppelt sind, durch dezentrales Steuern der Datenübertragungsrate, gekennzeichnet durch Berechnen einer mittleren übertragenen Datenmenge (NRt) für jede Datenverarbeitungseinrichtung (PU1, ...), Vergleichen der Menge mit einer zulässigen mittleren Datenrate (NSt) und Blockieren von Datenübertragung, wenn die berechnete mittlere Datenmenge (NRt) die zulässige mittlere Datenrate (NSt) überschreitet.
DE602004011351T 2003-07-07 2004-07-05 Datenverarbeitungssystem und verfahren zur datenverarbeitung Active DE602004011351T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US48526703P 2003-07-07 2003-07-07
US485267P 2003-07-07
PCT/IB2004/051114 WO2005003961A2 (en) 2003-07-07 2004-07-05 Data processing system and method for data processing

Publications (2)

Publication Number Publication Date
DE602004011351D1 DE602004011351D1 (de) 2008-03-06
DE602004011351T2 true DE602004011351T2 (de) 2008-05-21

Family

ID=33564050

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004011351T Active DE602004011351T2 (de) 2003-07-07 2004-07-05 Datenverarbeitungssystem und verfahren zur datenverarbeitung

Country Status (6)

Country Link
EP (1) EP1646950B1 (de)
JP (1) JP4732340B2 (de)
CN (1) CN1856778A (de)
AT (1) ATE384297T1 (de)
DE (1) DE602004011351T2 (de)
WO (1) WO2005003961A2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4436367B2 (ja) 2004-06-24 2010-03-24 パナソニック株式会社 低バンド幅で局所集中アクセスを保証する調停装置、調停方法、及び調停装置を含む動画処理装置
JP4699858B2 (ja) * 2005-10-13 2011-06-15 シャープ株式会社 メモリ装置およびメモリ制御方法
JP2008071036A (ja) * 2006-09-13 2008-03-27 Matsushita Electric Ind Co Ltd リソース管理装置
US7653773B2 (en) * 2007-10-03 2010-01-26 International Business Machines Corporation Dynamically balancing bus bandwidth
GB2500915B (en) * 2012-04-05 2018-03-14 Stmicroelectronics Grenoble2 Sas Arrangement and method
JP6551049B2 (ja) * 2015-08-24 2019-07-31 富士通株式会社 帯域制御回路、演算処理装置、および装置の帯域制御方法
EP3997579B1 (de) * 2020-07-29 2023-09-27 Fingerprint Cards Anacatum IP AB Adaptive auslesung von einem optischen biometrischen sensor zu einer host-vorrichtung

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04359352A (ja) * 1991-06-05 1992-12-11 Ricoh Co Ltd ディスク装置
JPH05265932A (ja) * 1992-03-18 1993-10-15 Fujitsu Ltd バス制御方式
US5606359A (en) * 1994-06-30 1997-02-25 Hewlett-Packard Company Video on demand system with multiple data sources configured to provide vcr-like services
US6035360A (en) * 1997-10-29 2000-03-07 International Business Machines Corporation Multi-port SRAM access control using time division multiplexed arbitration
US5953685A (en) * 1997-11-26 1999-09-14 Intel Corporation Method and apparatus to control core logic temperature
JP2001142843A (ja) * 1999-11-17 2001-05-25 Canon Inc データ転送制御装置及びその方法
US6662278B1 (en) * 2000-09-22 2003-12-09 Intel Corporation Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system
US20030025698A1 (en) * 2001-08-01 2003-02-06 Riemens Abraham Karel Programmed stall cycles slow-down video processor

Also Published As

Publication number Publication date
EP1646950B1 (de) 2008-01-16
WO2005003961B1 (en) 2005-05-26
CN1856778A (zh) 2006-11-01
DE602004011351D1 (de) 2008-03-06
EP1646950A2 (de) 2006-04-19
JP2007519058A (ja) 2007-07-12
WO2005003961A2 (en) 2005-01-13
WO2005003961A3 (en) 2005-03-31
JP4732340B2 (ja) 2011-07-27
ATE384297T1 (de) 2008-02-15

Similar Documents

Publication Publication Date Title
DE3300262C2 (de)
DE3300260C2 (de)
EP0929041B1 (de) Verfahren und Anordnung zum Betreiben eines Bussystems
DE102004059996B4 (de) Verfahren und Vorrichtung zum Einstellen der Taktfrequenz eines Prozessors
DE69834519T2 (de) Bussteuerungssystem und -verfahren
DE10231668B4 (de) Multitaskingbetriebssystem zur Verringerung des Stromverbrauchs und elektronische Steuerung im Fahrzeug, die selbiges benutzt
DE112005000307T5 (de) Verfahren zum Verringern des Energieverbrauchs gepufferter Anwendungen, die einen simultanen Multi-Thread-Prozessor verwenden
DE602005003506T2 (de) Methode und Apparat zum Verbessern der Synchronisierung einer Verarbeitungseinheit für Multimedia-streams in einer multi-threaded Umgebung
WO2006050967A1 (de) Verfahren zur verteilung von rechenzeit in einem rechnersystem
DE102014011021B4 (de) System und Verfahren für Speicherdirektzugriff-Transfers
DE60122085T2 (de) Datenverarbeitungsgerät für serielles Kommunikationssystem
EP3631597A1 (de) Mehrkernprozessor und verfahren zur dynamischen einstellung einer versorgungsspannung und einer taktfrequenz
DE602004011351T2 (de) Datenverarbeitungssystem und verfahren zur datenverarbeitung
EP1076847B1 (de) Verfahren zum a/d-wandeln analoger signale sowie entsprechende a/d-wandleranordnung
DE60032805T2 (de) Vorrichtung zur arbitrierung eines speicherressources basiert auf zuteilung von zeitschlitzen
DE10206865C1 (de) Reaktionszeit-Beschränkung eines Software-Prozesses
DE10085501B3 (de) Ein Verfahren und eine Einrichtung für einen isochronen Datentransport über einen asynchronen Bus
EP1482402A2 (de) Erfassung des Füllstands eines Puffers
DE19756885B4 (de) Verfahren zum Austausch von Signalen zwischen über einen Bus verbundenen Modulen sowie Vorrichtung zur Durchführung des Verfahrens
DE10360319B3 (de) Verfahren zum Steuern der Auslastung einer Datenverarbeitungsanlage
EP1047990B1 (de) Vorrichtung und verfahren zur steuerung von prozessen auf einem computersystem
DE19928798C2 (de) Verfahren zur Erfassung der Auslastung eines Prozessors
DE102008012285B3 (de) Rechnerkernsystem mit Selbstschutz
EP0566985B1 (de) Verfahren und Vorrichtung zur Übertragung von Datenpaketen
DE102023104025A1 (de) Paketverzögerungen für zeitdeterministische Firewalls

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NXP B.V., EINDHOVEN, NL

8327 Change in the person/name/address of the patent owner

Owner name: TRIDENT MICROSYSTEMS (FAR EAST) LTD., GRAND CA, KY

8328 Change in the person/name/address of the agent

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCHAFT

R082 Change of representative

Ref document number: 1646950

Country of ref document: EP

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCH, DE

R081 Change of applicant/patentee

Ref document number: 1646950

Country of ref document: EP

Owner name: ENTROPIC COMMUNICATIONS, INC., US

Free format text: FORMER OWNER: TRIDENT MICROSYSTEMS (FAR EAST) LTD., GRAND CAYMAN, KY

Effective date: 20121023

R082 Change of representative

Ref document number: 1646950

Country of ref document: EP

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCH, DE

Effective date: 20121023