-
Querreferenz zu relevanter Anmeldung
-
Diese Anmeldung beansprucht den Prioritätsnutzen der
taiwanesischen Patentanmeldung mit der Seriennummer 095113610 , ausgestellt am 17. April 2006, deren vollständige Veröffentlichung hier als Referenz eingearbeitet ist.
-
Hintergrund der Erfindung
-
1. Bereich der Erfindung
-
Diese Erfindung bezieht sich im Allgemeinen auf ein System zum gemeinsamen Nutzen von Bandbreite in Bussen, und spezieller ausgedrückt auf ein System zum gemeinsamen Nutzen von Bandbreite in Bussen mit einer zentralen Verarbeitungseinheit, welche die höchste Priorität besitzt.
-
2. Beschreibung des Standes der Technik
-
In der
US 6,505,265 B1 ist ein Bus-Entscheidungs-System beschrieben, welches unterschiedliche Entscheidungsregeln zu verschiedenen Zeitpunkten verwendet.
-
In der
US 6,571,306 B1 ist ein Verfahren und ein Mechanismus für die Entscheidung für den Zugriff auf einen Bus beschrieben. Einem Client, welcher auf einen Bus abgestellt ist, kann auf den Bus zugreifen ohne vorher durch eine Entscheidung gehen zu müssen.
-
In der
US 6,034,542 ist eine Busstruktur beschrieben, welche in einem Chip eines integrierten Schaltkreises, welcher FPGA-Module aufweist, verwendet wird.
-
In der
US 4,987,529 ist ein Entscheidungssystem für eine gemeinsame Adresse, gemeinsame Daten und einen gemeinsamen Steuer-Bus beschrieben, welches einen Stossbetrieb zum Übertragen von Daten zwischen einem Peripheriegerät und einem Speicher über einen Bus-Master zur Verfügung stellt.
-
1 zeigt ein Blockschaltbilddiagramm eines herkömmlichen Systems 10 zum gemeinsamen Nutzen von Bandbreite in einem gemeinsam genutzten Bus. Das System 10 beinhaltet eine zentrale Verarbeitungseinheit (CPU) 12, eine Speichereinheit 14, eine Vielzahl von Mastern 16a, 16b und 16c, einen gemeinsam genutzten Bus 18 und einen Bus-Zuteiler 20. Die Zentraleinheit 12, die Speichereinheit 14 und die Vielzahl der Master 16a, 16b und 16c sind an den gemeinsam genutzten Bus 18 angeschlossen und senden Daten über den gemeinsam genutzten Bus 18. Zusätzlich dient der Bus-Zuteiler 20 zum Zuteilen des Rechtes für das Benutzen des gemeinsam genutzten Busses 20 innerhalb der Zentraleinheit 12 und der Master 16a, 16b und 16c.
-
Im Allgemeinen besitzt ein Master, welcher den Bedarf zur Echtzeitverarbeitung besitzt, z. B. ein Master eines Monitors oder eines DVD-Spielers gewöhnlich eine höhere Priorität und ein Master, welcher keine Echtzeitverarbeitungs-Bedarf besitzt, z. B. ein Master für eine Festplatte, besitzt gewöhnlich eine niedrigere Priorität. Zusätzlich ist die Priorität der Zentraleinheit 12 im Allgemeinen niedriger als die eines Masters, welcher den Bedarf für Echtzeitverarbeitung besitzt und sie ist höher als die eines Masters, welcher keinen Echtzeitverarbeitungsbedarf besitzt.
-
In dem System 10 besitzt der Master 16a eine Notwendigkeit für Echtzeitverarbeitung und besitzt damit die höchste Priorität und die Zentraleinheit 12 ist im Rang an zweiter Stelle, welche niedriger als der des Masters 16a ist und höher als der des Masters 16b und 16c ist. Wenn die Zentraleinheit 12 und die Master 16a, 16b und 16c den gemeinsam genutzten Bus 18 zu gleicher Zeit benötigen, senden sie Anforderungssignale REQ1, REQ2, REQ3 und REQ4 jeweils an den Bus-Zuteiler 20. Der Bus-Zuteiler 20 empfängt die Busanforderungssignale REQ1, REQ2, REQ3 und REQ4 und sendet ein Bus-Gewährungssignal GNT, entsprechend den Reihenfolgen oder den Prioritäten, wobei dem Master 16a gestattet wird, den gemeinsam genutzten Bus 18 als erster zu benutzen, um die Daten zu senden.
-
Entsprechend dem Stand der Technik ist die Wahrscheinlichkeit, dass die Zentraleinheit 12 den gemeinsam genutzten Bus 18 benutzt, nicht vorhersagbar. Z. B. ist die Wahrscheinlichkeit verhältnismäßig hoch, wenn die Zentraleinheit 12 die Codes ausführt, welche viele Lese- oder Schreib-Instruktionen besitzen. Auf der anderen Seite ist die Wahrscheinlichkeit relativ gering, wenn die Zentraleinheit 12 Codes ausführt, welche wenige Lese- oder Schreib-Instruktionen besitzen. Deshalb ist die Priorität der Zentraleinheit 12 im Allgemeinen so gesetzt, dass sie niedriger als die des Masters 16a ist, wodurch vermieden wird, dass der Echtzeitmaster 16a Probleme bezüglich ungeeigneter Operationen besitzt. Mit anderen Worten, falls die Priorität der Zentraleinheit 12 so eingestellt ist, dass sie höher als die des Masters 16a ist, welcher Echtzeitverarbeitungserfordernisse besitzt, dann kann der Master 16a unrichtig arbeiten, aufgrund dessen, dass er nicht in der Lage ist, den gemeinsam genutzten Bus 18 zeitgerecht zu nutzen, um die Daten zu senden, während die Zentraleinheit 12 ständig den gemeinsam genutzten Bus 18 belegt. Wenn z. B. der Master 16a eine Display- bzw. Anzeige-Steuerschaltung ist und nicht die höchste Priorität für das Benutzen des gemeinsam genutzten Busses 18 besitzt, um Daten zu senden, dann kann er veranlassen, dass ein Display-Gerät, welches durch ihn gesteuert wird, nicht in der Lage ist, ein vollständiges Bild anzuzeigen.
-
Wenn jedoch die Priorität der Zentraleinheit 12 so eingestellt ist, dass sie niedriger als die des Echtzeitmasters 16a ist, gibt es dennoch einige Nachteile, wie z. B. die Folgenden:
Falls die Zentraleinheit 12 eine Instruktion ausführt, z. B. das Laden, Speichern, Lesen oder Schreiben von Instruktionen, um auf die Speichereinheit 14 zuzugreifen und demnach es für sie notwendig ist, den gemeinsam genutzten Bus 18 während der Zeitdauer zu nutzen, wenn der Echtzeitmaster 16a den gemeinsam genutzten Bus 18 nutzt, um Echtzeitdaten zu senden, dann muss die Zentraleinheit 12 warten, bis der Echtzeitmaster 16a die Sitzung des Benutzens des gemeinsam genutzten Busses 18 beendet, um das Recht zum Benutzen des gemeinsam genutzten Busses 18 zu erhalten. Deshalb kann die Zeitdauer, in der die Zentraleinheit 12 wartet, um den gemeinsam genutzten Bus 18 zu nutzen, die MIPS-(Millionen Instruktionen pro Sekunde-)Rate reduzieren und damit die Leistungsfähigkeit der Zentraleinheit 12 beeinträchtigen. Um es klarer auszudrücken wird nachfolgend eine allgemeine Formel für die MIPS-Rate der Zentraleinheit 12 gegeben: MIPS = F/(P·C+(1 – P)·I) (1) , wobei ”F” die Taktgeschwindigkeit der Zentraleinheit 12 darstellt;
”P” die Cache-Fehltrefferrate darstellt;
”C” die Zyklusanzahl darstellt, welche die Zentraleinheit 12 benötigt, um zu warten, bis ein Cache-Fehltreffer auftritt;
”I” die Zykluszahl darstellt, welche die Zentraleinheit 12 benötigt, um jede Instruktion auszuführen.
-
In der allgemeinen Formel (1) kann davon ausgegangen werden, dass, wenn sich die Zeitdauer erhöht, bei der die Zentraleinheit 12 darauf wartet, um den gemeinsam benutzten Bus 18 zu benutzten, die Zykluszahl C sich entsprechend erhöhen wird, so dass die MIPS-Rate reduziert wird.
-
Zusammenfassung der Erfindung
-
Es ist eine Aufgabe der vorliegenden Erfindung, ein System und ein Verfahren zum gemeinsamen Nutzen von Bandbreite in Bussen zu liefern, um so die MIPS-Rate einer Zentraleinheit zu erhöhen.
-
Um diese obige Aufgabe zu erreichen, liefert die vorliegende Erfindung ein System zum gemeinsamen Nutzen von Bandbreite in Bussen, welches aufweist: einen gemeinsam genutzten Bus, ein Zeitglied zum Zählen einer vorher festgelegten Zeitdauer, einen Echtzeitmaster, welcher eine Priorität besitzt, um den gemeinsam genutzten Bus zu benutzen und eine Zentraleinheit, welche eine Priorität besitzt, welche höher als die des Echtzeitmasters ist, um den gemeinsam genutzten Bus zu benutzen, wobei die Zentraleinheit eine vorher festgelegte begrenzte Anzahl von Bus-Anforderungssignalen während der vorher festgelegten Zeitdauer sendet, wodurch angefordert wird, den gemeinsam genutzten Bus zu benutzen, um Daten zu senden.
-
In einer Ausführungsform der vorliegenden Erfindung ist das Zeitintervall zwischen zwei aufeinander folgenden Bus-Anforderungssignalen, welche durch die Zentraleinheit gesendet wurden, begrenzt, um gleich oder größer als die vorher festgelegte Zeitdauer zu sein, so dass die Wahrscheinlichkeit, dass die Zentraleinheit den gemeinsamen genutzten Bus benutzt, vorauszusagen ist.
-
In einer anderen Ausführungsform der vorliegenden Erfindung weist das System ferner auf: ein Zählglied zum Zählen der Anzahl der Bus-Anforderungssignale, welche durch die Zentraleinheit während der vorher festgelegten Zeitdauer gesendet wurden, wobei die Anzahl der Bus-Anforderungssignale, welche durch die Zentraleinheit während der vorher festgelegten Zeitdauer gesendet wurden, auf eine vorher festgelegte Anzahl derart begrenzt ist, dass die Wahrscheinlichkeit, dass die Zentraleinheit den gemeinsam genutzten Bus benutzt, vorhersagbar ist.
-
Das System entsprechend der vorliegenden Erfindung weist ferner auf: einen Bus-Zuteiler, welcher zum Senden von Zuteilungssignalen dient, um auf die Bus-Anforderungssignale zu antworten, wobei der Zentraleinheit gewährt wird, den gemeinsam genutzten Bus zu benutzen.
-
In einer alternativen Ausführungsform der vorliegenden Erfindung ist ein Zeitintervall zwischen zwei aufeinander folgenden Bus-Zuteilungssignalen, welche durch den Bus-Zuteiler gesendet wurden darauf begrenzt, gleich oder größer als die vorher festgelegte Zeitdauer derart zu sein, dass die Wahrscheinlichkeit, dass die Zentraleinheit den gemeinsam genutzten Bus benutzt, vorhersagbar ist.
-
In einer anderen alternativen Ausführungsform der vorliegenden Erfindung weist das System ferner ein Zählglied auf, um die Anzahl der Bus-Zuteilungssignale zu zählen, welche durch den Bus-Zuteiler während der vorher festgelegten Zeitdauer gesendet wurden, wobei die Anzahl der Bus-Zuteilungssignale, welche durch den Bus-Zuteiler während der vorher festgelegten Zeitdauer gesendet wurden, so auf eine vorher festgelegte Anzahl begrenzt ist, dass die Wahrscheinlichkeit, dass die Zentraleinheit den gemeinsam genutzten Bus benutzt, vorhersagbar ist.
-
Die vorliegenden Erfindung liefert auch ein Verfahren zum gemeinsamen Nutzen von Bandbreite in Bussen, welches aufweist: Einstellen einer Zentraleinheit, so dass diese eine höchste Priorität zum Benutzen eines gemeinsam genutzten Busses besitzt; Bestimmen einer vorher festgelegten Zeitdauer; und Senden einer vorher festgelegten begrenzten Anzahl von Bus-Anforderungssignalen durch die Zentraleinheit während der vorher festgelegten Zeitdauer, um anzufordern, den gemeinsam genutzten Bus zu benutzen, um Daten zu senden.
-
Die vorliegenden Erfindung liefert auch ein Verfahren zum gemeinsamen Nutzen von Bandbreite in Bussen, welches aufweist:
Einstellen einer Zentraleinheit derart, dass sie eine höchste Priorität für das Benutzen eines gemeinsam genutzten Busses besitzt; Bestimmen einer vorher festgelegten Zeitdauer; Senden einer Vielzahl von Bus-Anforderungssignalen durch die Zentraleinheit, um das Benutzen des gemeinsam genutzten Busses anzufordern, um Daten zu senden; und Senden einer vorher festgelegten begrenzten Anzahl von Bus-Zuteilungssignalen durch einen Bus-Zuteiler, während der vorher festgelegten Zeitdauer, um auf die Bus-Anforderungssignale zu antworten, wodurch der Zentraleinheit gewährt wird, den gemeinsam genutzten Bus zu benutzen.
-
Das System und das Verfahren entsprechend der vorliegenden Erfindung, die Wahrscheinlichkeit, dass die Zentraleinheit den gemeinsam genutzten Bus benutzt ist derart vorhersagbar, dass der Echtzeit-Master noch von Zeit zu Zeit den gemeinsam genutzten Bus nutzen kann, um Daten zu senden und demnach die Probleme von unrichtigen Operationen verhindert, während die MIPS-Rate der Zentraleinheit effektiv erhöht wird.
-
Kurze Beschreibung der Zeichnungen
-
Andere Objekte, Vorteile und neue Merkmale der vorliegenden Erfindung werden aus der nachfolgenden detaillierten Beschreibung offensichtlicher, wenn diese in Verbindung mit den beigefügten Zeichnungen hergenommen werden.
-
1 zeigt ein Blockschaltbild eines herkömmlichen Systems 10 zum gemeinsamen Nutzen von Bandbreite in einem gemeinsam genutzten Bus.
-
2 zeigt ein Blockschaltbild eines Systems zum gemeinsamen Nutzen von Bandbreite in Bussen entsprechend einer Ausführungsform der vorliegenden Erfindung.
-
3 zeigt die Bus-Anforderungssignale REQ1, welche aufeinander folgend durch die Zentraleinheit, welche in 2 gezeigt wird, gesendet werden.
-
4 zeigt ein Blockschaltbild eines Systems zum gemeinsamen Nutzen von Bandbreite in Bussen entsprechend einer anderen Ausführungsform der vorliegenden Erfindung.
-
5 zeigt die Bus-Zuteilungssignale GNT, welche aufeinander folgend durch den Bus-Zuteiler gesendet werden, welcher in 4 gezeigt wird.
-
6 zeigt ein Blockschaltbild eines Systems zum gemeinsamen Nutzen von Bandbreite in Bussen entsprechend einer anderen Ausführungsform der vorliegenden Erfindung.
-
7 zeigt die Bus-Anforderungssignale REQ1, welche aufeinander folgend durch die Zentraleinheit, welche in 6 gezeigt wird, gesendet werden.
-
8 zeigt ein Blockschaltbild eines Systems zum gemeinsamen Nutzen von Bandbreite in Bussen entsprechend einer anderen Ausführungsform der vorliegenden Erfindung.
-
9 zeigt die Bus-Zuteilungssignale GNT, welche aufeinander folgend durch den Bus-Zuteiler, welcher in 8 gezeigt wird, gesendet werden.
-
Detaillierte Beschreibung der bevorzugten Ausführungsform
-
2 zeigt ein Blockschaltbild eines Systems 100 zum gemeinsamen Nutzen von Bandbreite in Bussen entsprechend einer Ausführungsform der vorliegenden Erfindung. Das System 100 ist vorzugsweise in einem System auf einem Chip (SOC) implementiert und beinhaltet: eine Zentraleinheit (CPU) 102, eine Speichereinheit 104, eine Vielzahl von Mastern 106a, 106b und 106c, einen gemeinsam genutzten Bus 108, einen Bus-Zuteiler 110 und ein Zeitglied 112. Die Zentraleinheit 102, die Speichereinheit 104 und die Master 106a, 106b und 106c sind an den gemeinsam genutzten Bus 108 angeschlossen und senden Daten über den gemeinsam genutzten Bus 108. Der gemeinsam genutzte Bus 108 ist ein auf Priorität basierender gemeinsam genutzter Bus und die Zentraleinheit 102 und die Master 106a, 106b und 106c besitzen unterschiedliche Prioritäten, um den gemeinsam genutzten Bus 108 zu benutzen. Der Bus-Zuteiler 110 dient zum Zuteilen des Rechtes zum Benutzen des gemeinsam genutzten Busses 108 zwischen der Zentraleinheit 102 und den Mastern 106a, 106b und 106c entsprechend den Rangordnungen der Prioritäten der Zentraleinheit 102 und den Mastern 106a, 106b und 106c. Das Zeitglied 112 dient zum Zählen einer vorher festgelegten Zeitdauer T und sendet ein Freigabesignal ENA an die Zentraleinheit 102 nach Beenden des Zählens der vorher festgelegten Zeitdauer T. Die vorher festgelegte Zeitdauer T kann die Zeit sein, die das Zeitglied 112 zum Aufwärtszählen (oder Abwärtszählen) von einem Anfangswert, z. B. 0 (oder 99), zu einem vorher festgelegten Wert, z. B. 99 (oder 0) verbraucht.
-
In dieser Ausführungsform stellt jeder der Master 106a, 106b und 106c eine Einheit dar, welche die Fähigkeit besitzt, auf Speicher oder Peripheriegeräte zuzugreifen und Datenzugriffsoperationen selbst vollenden zu können, ohne das Intervenieren einer Zentraleinheit, z. B. der Zentraleinheit 102. Zusätzlich kann jeder der Master 106a, 106b und 106c irgendeine Steuereinheit in peripheren Geräten, wie z. B. DVD-Spielern, Monitoren, Festplatten, Netzwerkgeräten etc. sein, und beinhaltet jeweils ein Direktspeicherzugriff-(DMA-)-Steuergerät, um seine Datenübertragung mit anderen Einheiten zu steuern, welche an den gemeinsam genutzten Bus 108 angeschlossen sind.
-
In dem System 100 entsprechend einer Ausführungsform der vorliegenden Erfindung besitzt die Zentraleinheit 102 die höchste Priorität, um den gemeinsam genutzten Bus 108 zu benutzen. Der Master 106a ist ein Master, welcher Echtzeitverarbeitungs-bedarf besitzt (nachfolgend der Echtzeit-Master) und besitzt eine zweithöchste Priorität, um den gemeinsam genutzten Bus 108 zu benutzen. Die Master 106b und 106c sind Master, welche keinen Echtzeitverarbeitungsbedarf besitzen und haben die niedrigste Priorität, um den gemeinsam genutzten Bus 108 zu benutzen. Wenn die Zentraleinheit 102 und die Master 106a, 106b und 106 den Bedarf besitzen, den gemeinsam genutzten Bus 108 zur gleichen Zeit zu benutzen, werden sie Bus-Anforderungssignale REQ1, REQ2, REQ3 und REQ4 jeweils an den Bus-Zuteiler 110 senden. Als nächstes empfängt der Bus-Zuteiler 110 die Bus-Anforderungssignale REQ1, REQ2, REQ3 und REQ4 und gewährt das Recht zum Benutzen des zugeteilten Busses 108 entsprechend der Rangordnung der Prioritäten der Zentraleinheit und der Master 106a, 106b und 106c, demjenigen, welcher die höchste Priorität besitzt. In dieser Ausführungsform besitzt die Zentraleinheit 102 die höchste Priorität; deshalb sendet der Bus-Zuteiler 110 nach dem Empfangen der Bus-Anforderungssignale REQ1, REQ2, REQ3 und REQ4 als erstes ein Bus-Zuteilungssignal GNT, um auf das Bus-Anforderungssignal REQ1 zu antworten, welches durch die Zentraleinheit 102 gesendet wurde, womit der Zentraleinheit 102 gewährt wird, den gemeinsam genutzten Bus 108 zu benutzen, um zuerst die Daten zu senden. Wenn die Zentraleinheit 102 aufhört, den gemeinsam genutzten Bus 108 zu benutzen, sendet der Bus-Zuteiler 110 jeweils andere Bus-Zuteilungssignale GNT, um auf die Bus-Anforderungssignale REQ2, REQ3 und REQ4 zu antworten, wodurch er den Mastern 106a, 106b und 106c gewährt, den gemeinsam genutzten Bus 108 zu benutzen, um Daten zu senden.
-
Wie in 2 und 3 gezeigt wird, beginnt das Zeitglied 112, die vorher festgelegte Zeitdauer T zu zählen, nachdem die Zentraleinheit 102 ein Bus-Anforderungssignal REQ1 sendet, z. B. das Bus-Anforderungssignal REQ1, welches bei einer Zeit t0 gesendet wird, wie in 3 gezeigt. Wenn das Zeitglied 102 das Zählen der vorher festgelegten Zeitdauer T beendet, sendet es ein Freigabesignal ENA an die Zentraleinheit 102, um die Zentraleinheit 102 freizugeben, das nächste Bus-Anforderungssignal REQ1 zu senden, z. B. das Bus-Anforderungssignal REQ1, welches zur Zeit t1 gesendet wird, gezeigt in 3. In dieser Ausführungsform muss nach dem Senden eines Bus-Anforderungssignals REQ1 die Zentraleinheit 102 warten, bis das Zeitglied 112 das Zählen der vorher festgelegten Zeitdauer T beendet, und empfängt das Freigabesignal ENA, um das nächste Bus-Anforderungssignal REQ1 an den Bus-Zuteiler 110 zu senden. Deshalb ist das Zeitintervall zwischen zwei aufeinander folgenden Bus-Anforderungssignalen REQ1, welche durch die Zentraleinheit 102 gesendet werden, durch die vorher festgelegte Zeitdauer T begrenzt; d. h. das Zeitintervall zwischen zwei aufeinander folgenden Bus-Anforderungs-signalen REQ1 ist so begrenzt, dass es gleich oder größer als die vorher festgelegte Zeitdauer T ist, so dass die Wahrscheinlichkeit, dass die Zentraleinheit 102 den gemeinsam genutzten Bus 108 benutzt, vorhersagbar ist. Nimmt man z. B. 3 her, so kann für die Zentraleinheit 102 vorhergesagt werden, dass diese höchstens drei Bus-Anforderungssignale REQ1 sendet, d. h. die Bus-Anforderungssignale REQ1, welche zur Zeit t0, t1 und t2, gezeigt in 3, gesendet werden, an den Bus-Zuteiler 110 innerhalb der Zeitdauer zwischen der Zeit t0 und t2. Zusätzlich, wenn der Bus-Zuteiler 110 ein Bus-Anforderungssignal REQ1 jedes Mal empfängt, sendet er ein entsprechendes Bus-Zuteilungssignal GNT aus, um auf das empfangene Bus-Anforderungssignal REQ1 zu antworten, womit der Zentraleinheit 102 gewährt wird, den gemeinsam genutzten Bus 108 zu benutzen, um Daten zu senden.
-
In dieser Ausführungsform ist die Wahrscheinlichkeit, dass die Zentraleinheit 102 den gemeinsam genutzten Bus 108 benutzt, vorhersagbar. Deshalb, wenn die Priorität der Zentraleinheit 102 so eingestellt ist, dass sie höher als die des Masters 106a ist, welcher Echtzeitverarbeitungsbedarf besitzt, kann der Echtzeit-Master 106a so gestaltet oder in der Zeit eingeteilt werden, entsprechend der Wahrscheinlichkeit, dass der gemeinsam genutzte Bus 108 durch die Zentraleinheit 102 benutzt wird, wodurch die Probleme unrichtiger Operationen verhindert werden, welche durch nicht zeitgerechtes Nutzen des gemeinsam genutzten Busses 108, um Daten zu übertragen, ausgelöst werden. Z. B., wenn die Wahrscheinlichkeit vorhersagbar ist, dass die Zentraleinheit 102 den gemeinsam genutzten Bus 108 benutzt, kann der Echtzeit-Master 106a einen Puffer auswählen, welcher eine geeignete Größe entsprechend der Wahrscheinlichkeit besitzt, dass der gemeinsam genutzte Bus 108 durch die Zentraleinheit 102 benutzt wird, wodurch die Probleme unrichtiger Operationen verhindert werden, welche durch nicht zeitgerechtes Nutzen des gemeinsam genutzten Busses 108, um Daten zu übertragen, verursacht werden.
-
4 zeigt ein Blockschaltbild eines Systems 200 zum gemeinsamen Nutzen von Bandbreite in Bussen entsprechend einer alternativen Ausführungsform der vorliegenden Erfindung. Das System 200 ist vorzugsweise in einem System auf einem Chip (SOC) implementiert. In 4 werden die Bauelemente, welche identisch zu denen sind, welche in 2 gezeigt werden, durch die gleichen Ziffern bezeichnet und sie werden nicht im Detail beschrieben. Der Hauptunterschied zwischen dem System 200 und dem System 100, welches in 2 gezeigt wird, besteht darin, dass der Bus-Zuteiler 110 das Zeitintervall zwischen zwei aufeinander folgenden Bus-Zuteilungssignalen GNT, welche an die Zentraleinheit 102 zu senden sind, um eine vorher festgelegte Zeitdauer T begrenzen kann, welche durch ein Zeitglied 212 gezählt wird und in 5 gezeigt wird; d. h. das Zeitintervall zwischen zwei aufeinander folgenden Bus-Zuteilungssignalen GNT ist so begrenzt, dass es gleich oder größer als die vorher festgelegte Zeitdauer T ist, so dass die Wahrscheinlichkeit, dass die Zentraleinheit 102 den gemeinsam genutzten Bus 108 benutzt, vorhersagbar ist, wodurch verhindert wird, dass der Master 106a unrichtig arbeitet, aufgrund dessen, dass er nicht zeitgerecht den gemeinsam genutzten Bus 108 benutzt, um Daten zu übertragen.
-
6 zeigt ein Blockschaltbild eines Systems 300 zum gemeinsamen Nutzen von Bandbreite in Bussen entsprechend einer anderen Ausführungsform der vorliegenden Erfindung. Das System 300 ist vorzugsweise in einem System auf einem Chip implementiert. In 6 werden die Bauelemente, welche identisch zu denen in 2 sind, mit den gleichen Ziffern bezeichnet und werden nicht im Detail beschrieben. Der Hauptunterschied zwischen dem System 300 und dem System 100, welches in 2 gezeigt wird besteht darin, dass das System 300 ein Zeitglied 312 und ein Zählglied 314 beinhaltet. Das Zeitglied 312 dient zum Zählen einer vorher festgelegten Zeitdauer T und kann ein Rücksetzsignal RST an das Zählglied 314 nach dem Beenden des Zählens der vorher festgelegten Zeitdauer T senden und startet dann ein erneutes Zählen.
-
Das Zählglied 314 dient zum Zählen der Anzahl der Bus-Anforderungssignale REQ1, welche durch die Zentraleinheit 102 während der vorher festgelegten Zeitdauer T gesendet werden, und zum erneuten Zählen, nachdem es das Rücksetzsignal RST empfangen hat.
-
Mit Bezug nun auf 6 und 7, wenn das Zeitglied 312 die vorher festgelegte Zeitdauer T zählt (z. B. Zeit t0 bis t3), zählt das Zeitglied 314 die Anzahl der Bus-Anforderungs-signale REQ1, welche durch die Zentraleinheit 102 gesendet werden. In dem System 300 der vorliegenden Erfindung kann der Bus-Zuteiler 110, wenn der Zähler bzw. das Zählglied 314 bis zu einer vorher festgelegten Anzahl von Bus-Anforderungs-signalen REQ1 zählt, z. B. drei Anforderungssignale REQ1 zur Zeit t0, t1 und t2, wie in 7 gezeigt, innerhalb der vorher festgelegten Zeitdauer T die Priorität der Zentraleinheit 102 einstellen, so dass diese niedriger als die Priorität des Masters 106a ist; deshalb erhält der Master 106a das Recht, den gemeinsam genutzten Bus 108 zu benutzen, nachdem die Zentraleinheit 102 drei Bus-Anforderungssignale REQ1 an den Bus-Zuteiler 110 sendet. Wenn das Zeitglied 312 das Zählen der vorher festgelegten Zeitdauer T beendet, beginnt es die nächste vorher festgelegte Zeitdauer T erneut zu zählen und sendet das Reset- bzw. Rücksetzsignal RST an das Zählglied 314, so dass das Zählglied 314 auch beginnen kann, die Anzahl der Bus-Anforderungssignale REQ1 erneut zu zählen, welche durch die Zentraleinheit 102 während der nächsten vorher festgelegten Zeitdauer T gesendet werden. Außerdem, wenn das Zeitglied 312 das Zählen der vorher festgelegten Zeitdauer T beendet, kann der Zuteiler 110 die Priorität der Zentraleinheit 102 so einstellen, dass sie die höchste ist, so dass die Zentraleinheit 102 das Recht bekommen kann, den gemeinsam genutzten Bus 108 zu benutzen, um Daten als erste zu übertragen.
-
In dieser Ausführungsform ist die Anzahl der Bus-Anforderungssignale REQ1, welche durch die Zentraleinheit 102 innerhalb der vorher festgelegten Zeitdauer T gesendet werden, auf eine vorher festgelegte Anzahl (wenigstens auf eins) begrenzt; deshalb ist die Wahrscheinlichkeit, dass die Zentraleinheit 102 den gemeinsam genutzten Bus 108 benutzt, vorhersagbar, so dass der Echtzeit-Master 106a entsprechend der Wahrscheinlichkeit, dass der gemeinsam genutzte Bus 108 durch die Zentraleinheit 102 benutzt wird, gestaltet oder zeitlich festgelegt werden kann, wodurch die Probleme unrichtiger Operationen verhindert werden, welche durch nicht zeitgerechtes Benutzen des gemeinsam genutzten Busses 108, um Daten zu übertragen, verursacht sind.
-
8 zeigt ein Blockschaltbild eines Systems 400 zum gemeinsamen Nutzen von Bandbreite in einem gemeinsam genutzten Bus entsprechend einer anderen alternativen Ausführungsform der vorliegenden Erfindung. Das System 400 ist vorzugsweise in einem System auf einem Chip implementiert. In 8 werden die Bauelemente, welche mit denen identisch sind, welche in 2 gezeigt werden, durch die gleichen Ziffern angezeigt und werden nicht im Detail beschrieben. In 8 beinhaltet das System 400 ein Zeitglied 412 und ein Zählglied 414. Das Zeitglied 412 dient zum Zählen einer vorher festgelegten Zeitdauer T und es kann ein Rücksetz-Signal RST an das Zählglied 414 nach dem Beenden des Zählens der vorher festgelegten Zeitdauer T senden und beginnt dann mit einem erneuten Zählen. Das Zählglied 414 dient zum Zählen der Anzahl der Bus-Zuteilungssignale GNT, welche durch den Bus-Zuteiler 110 an die Zentraleinheit 102 während der vorher festgelegten Zeitdauer T gesendet werden, und zum erneuten Zählen, nachdem es das Rücksetz-Signal RST empfangen hat.
-
Nun mit Bezug auf 8 und 9, wenn das Zeitglied 412 die vorher festgelegte Zeitdauer T (z. B. Zeit t0 bis t3) zählt, zählt das Zählglied 414 die Anzahl der Bus-Zuteilungssignale GNT, welche durch den Bus-Zuteiler 110 an die Zentraleinheit 102 gesendet werden. In dem System 400 der vorliegenden Erfindung, wenn das Zählglied 414 eine vorher festgelegte Anzahl von Bus-Zuteilungssignalen GNT zählt, z. B. drei Bus-Zuteilungssignale GNT zur Zeit t0, t1 und t2, wie in 9 gezeigt, innerhalb der vorher festgelegten Zeitdauer T, kann der Bus-Zuteiler 110 die Priorität der Zentraleinheit 102 so einstellen, dass sie niedriger als die Priorität des Masters 106a ist; deshalb kann der Master 106a das Recht zum Benutzen des gemeinsam genutzten Busses 108 während der Dauer der Zeit von t2 bis t3 erhalten, nachdem der Bus-Zuteiler 110 drei Bus-Zuteilungssignale GNT an die Zentraleinheit 102 aufeinander folgend sendet. Wenn das Zeitglied 412 das Zählen der vorher festgelegten Zeitdauer T beendet, beginnt es die nächste vorher festgelegte Zeitdauer erneut zu zählen und sendet das Rücksetz-Signal RST an das Zählglied 414, so dass das Zählglied 414 auch beginnen kann, die Anzahl der Bus-Zuteilungssignale GNT erneut zu zählen, welche durch den Bus-Zuteiler 110 während der nächsten vorher festgelegten Zeitdauer T gesendet werden. Außerdem, wenn das Zeitglied 414 das Zählen der vorher festgelegten Zeitdauer beendet, kann der Bus-Zuteiler 110 die Priorität der Zentraleinheit 102 so einstellen, dass sie die höchste ist, so dass die Zentraleinheit 102 das Recht besitzen kann, den gemeinsam genutzten Bus 108 zu benutzen, um Daten als erste zu übertragen.
-
In dieser Ausführungsform ist die Anzahl der Bus-Zuteilungs-signale GNT, welche durch den Bus-Zuteiler 110 innerhalb der vorher festgelegten Zeitdauer T gesendet werden, auf eine vorher festgelegte Anzahl (wenigstens auf eins) begrenzt; deshalb ist die Wahrscheinlichkeit, dass der Zentraleinheit 102 gewährt wird, den gemeinsam genutzten Bus 108 zu benutzen vorhersagbar, so dass der Echtzeit-Master 106a entsprechend der Wahrscheinlichkeit, dass der gemeinsam genutzte Bus 108 durch die Zentraleinheit 102 benutzt wird, gestaltet oder zeitlich festgelegt werden kann, wodurch die Probleme unrichtiger Operationen verhindert werden, welche durch nicht zeitgerechtes Benutzen des gemeinsam genutzten Busses 108, um Daten zu übertragen, verursacht sind.
-
In den Systemen 100, 200, 300 und 400 entsprechend den Ausführungsformen der vorliegenden Erfindung kann die Zentraleinheit 102 ein Direktspeicherzugriffs(DMA)-Steuergerät (nicht gezeigt) benutzen, um die Bus-Anforderungssignale REQ1 zu erzeugen und an den Bus-Zuteiler 110 zu senden, und es auch dazu zu nutzen, die Bus-Zuteilungssignale GNT, welche von dem Bus-Zuteiler 110 erwidert werden, zu empfangen.
-
Zusätzlich besitzt die Zentraleinheit 102 entsprechend den Ausführungsformen der vorliegenden Erfindung die höchste Priorität zum Benutzen des gemeinsam genutzten Busses 108; deshalb kann die MIPS-Rate der Zentraleinheit 102 effektiv erhöht werden. Zusätzlich ist die Wahrscheinlichkeit, dass die Zentraleinheit 102 den gemeinsam genutzten Bus 108 benutzt, vorhersagbar; deshalb kann der Echtzeit-Master 106a noch zeitgerecht den gemeinsam genutzten Bus 108 benutzen, um Daten zu übertragen und damit die Probleme unrichtiger Operationen verhindern, während die MIPS-Rate der Zentraleinheit 102 effektiv erhöht wird.
-
Entsprechend anderen Ausführungsformen der vorliegenden Erfindung kann der gemeinsam genutzte Bus 10 auch daran gehindert werden, ungenutzt zu verbleiben. Wenn der gemeinsam genutzte Bus 108 ungenutzt verbleibt, dann kann die Begrenzung, welche in den oberen Ausführungsformen beschrieben wird, z. B. die Begrenzung auf die Anzahl der Anforderungs-Signale REQ oder die Anzahl der Zuteilungssignale GNT und die Begrenzung auf das Zeitintervall zwischen zwei aufeinander folgenden Anforderungs-Signalen REQ oder zwischen zwei aufeinander folgenden Zuteilungssignalen GNT aufgehoben werden. Z. B. können die Begrenzungen durch Zurücksetzen des Zählgliedes so aufgehoben werden, dass die Zentraleinheit 102 Zugriffsoperationen ausführen kann, z. B. Lesen oder Schreiben von Operationen, mit ihrer höchsten Geschwindigkeit.
-
Das Verfahren zum gemeinsamen Nutzen von Bandbreite in Bussen entsprechend der vorliegenden Erfindung wird durch das Setzen der Priorität der Zentraleinheit 102, dass diese die höchste ist und durch das Bewerkstelligen, dass die Wahrscheinlichkeit, dass die Zentraleinheit 102 den gemeinsam genutzten Bus 108 nutzt, vorhersagbar ist, realisiert, wodurch die Aufgabe der vorliegenden Erfindung erreicht wird. Zusätzlich ist davon auszugehen, dass in den obigen Ausführungsformen das Verfahren zum gemeinsamen Nutzen von Bandbreite in Bussen entsprechend der vorliegenden Erfindung an einem System zum gemeinsamen Nutzen von Bandbreite in Bussen angewendet wird, welchem das Recht zum Benutzen des gemeinsam genutzten Busses 108, basierend auf einem Prioritätsschema zugeteilt wird. Jedoch kann in anderen Ausführungsformen das Verfahren zum gemeinsamen Nutzen von Bandbreite in Bussen entsprechend der vorliegenden Erfindung auch an einem System zum gemeinsamen Nutzen von Bandbreite in Bussen angewendet werden, in welchem das Recht, um den gemeinsam genutzten Bus 108 zu benutzen, basierend auf einem zyklischen Schema bzw. Warteschlangenbetrieb-Schema oder einem Zeitmultiplexzugriffs-(TDMA-)Schema, zugeteilt wird.
-
Obwohl die Erfindung in Bezug auf ihre bevorzugten Ausführungsformen erklärt wurde, dient dies nicht dazu, die Erfindung zu begrenzen. Es ist davon auszugehen, dass viele andere mögliche Modifikationen und Variationen von Fachleuten durchgeführt werden können, ohne vom Geist und Umfang der Erfindung, wie sie nachfolgend beansprucht wird, abzuweichen.