DE69935852T2 - Host-Zugriff zu gemeinschaftlichem Speicher mit Hochprioritätsbetriebsart - Google Patents

Host-Zugriff zu gemeinschaftlichem Speicher mit Hochprioritätsbetriebsart Download PDF

Info

Publication number
DE69935852T2
DE69935852T2 DE69935852T DE69935852T DE69935852T2 DE 69935852 T2 DE69935852 T2 DE 69935852T2 DE 69935852 T DE69935852 T DE 69935852T DE 69935852 T DE69935852 T DE 69935852T DE 69935852 T2 DE69935852 T2 DE 69935852T2
Authority
DE
Germany
Prior art keywords
priority
circuit
memory
request
access
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
DE69935852T
Other languages
English (en)
Other versions
DE69935852D1 (de
Inventor
Laurent Six
Armelle Laine
Daniel Mazzocco
Gerald Ollivier
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE69935852D1 publication Critical patent/DE69935852D1/de
Publication of DE69935852T2 publication Critical patent/DE69935852T2/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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

  • Diese Erfindung bezieht sich allgemein auf Mikroprozessoren und insbesondere auf Verbesserungen in Speicherschaltungen und -systemen mit gemeinsamem Zugriff sowie bei Herstellungsverfahren für Speicher mit gemeinsamem Zugriff.
  • Mikroprozessoren sind Universalprozessoren, die hohe Befehlsdurchsätze bereitstellen, um darauf ablaufende Software auszuführen, und können je nach den besonderen betroffenen Software-Anwendungen einen weiten Bereich von Verarbeitungsanforderungen haben. Häufig ist einem Prozessor eine Direktspeicherzugriffs-Steuereinheit (DMA-Steuereinheit) zugeordnet, um die Belastung der Übertragung von Datenblöcken von einem Speicher oder von einem Peripheriebetriebsmittel zu einem anderen zu übernehmen und dadurch die Leistungsfähigkeit des Prozessors zu verbessern.
  • Es sind viele verschiedene Typen von Prozessoren bekannt, von denen Mikroprozessoren nur ein Beispiel sind. Zum Beispiel werden, insbesondere für spezifische Anwendungen wie etwa Mobilverarbeitungsanwendungen, umfassend digitale Signalprozessoren (DSPs) verwendet. DSPs sind üblicherweise so konfiguriert, dass sie die Leistungsfähigkeit der betroffenen Anwendungen optimieren, wobei sie spezialisiertere Verarbeitungseinheiten und Befehlssätze nutzen, um dies zu erreichen. Insbesondere, aber nicht ausschließlich, in Anwendungen wie etwa der Mobiltelekommunikation ist es erwünscht, eine ständig wachsende DSP-Leistungsfähigkeit bereitzustellen, während der Leistungsverbrauch so niedrig wie möglich gehalten wird.
  • Um die Leistungsfähigkeit eines digitalen Systems weiter zu verbessern, können zwei oder mehr Prozessoren miteinander verbunden sein. Zum Beispiel kann ein DSP in einem digitalen System mit einem Universalprozessor verbunden sein. Der DSP führt rechenaufwändige Signalverarbeitungsalgorithmen aus, während der Universalprozessor den Gesamtsteuerablauf managt. Die zwei Prozessoren kommunizieren über einen gemeinsam genutzten Speicher miteinander und übertragen über ihn Daten für die Signalverarbeitung. Eine solche Anordnung ist in der als WO99/26154 veröffentlichten Patentanmeldung gezeigt, in der der ausschließliche Speicherzugriff von einem Prozessor zu einem anderen geändert wird, wenn sich die relative Priorität ändert.
  • Die vorliegende Erfindung schafft eine Vorrichtung und ein Verfahren, wie sie in den Ansprüchen dargelegt sind.
  • Die vorliegende Erfindung offenbart ein digitales System und ein Verfahren zu dessen Betreiben, um die Leistungsfähigkeit von Prozessoren wie etwa z.B., jedoch nicht ausschließlich, digitalen Signalprozessoren zu verbessern.
  • Dementsprechend wird ein digitales System mit einer Speicherschaltung geschaffen, auf die durch mehrere Anforderungsschaltungen zugegriffen werden kann. Mit den Anforderungsschaltungen ist eine Planungsschaltung verbunden, die so betreibbar ist, dass sie Speicherzugriffe auf die Speicherschaltung sequentiell plant. Mit einer der Anforderungsschaltungen und mit dem Ausgang der Planungsschaltung ist eine Auswahlschaltung verbunden. Es ist eine Prioritätsschaltungsanordnung zum Vergleichen einer ersten Priorität für den ersten Anforderer und einer zweiten Priorität für den zweiten Anforderer bereitgestellt. Die Prioritätsschaltungsanordnung ist steuerbar mit der Auswahlschaltung verbunden, derart, dass sowohl die erste Anforderungsschaltung als auch die zweite Anforderungsschaltung sequentiell auf die Speicherschaltung zugreifen können, wenn die Prioritätsschaltungsanordnung einen ersten relativen Prioritätszustand zwischen der ersten Priorität und der zweiten Priorität angibt, und derart, dass die erste Anforderungsschaltung einen ausschließlichen Zugriff auf die Speicherschaltung hat, wenn die Prioritätsschaltungsanordnung einen zweiten relativen Prioritätszustand angibt.
  • Außerdem können ein erstes Prioritätsregister zum Halten der ersten Priorität für die erste Anforderungsschaltung und ein zweites Prioritätsregister zum Halten der zweiten Priorität für den zweiten Anforderer vorgesehen sein. Das erste Prioritätsregister und das zweite Prioritätsregister können in Reaktion auf eine Schreitransaktion durch wenigstens eine der Anforderungsschaltungen geändert werden.
  • Außerdem kann eine Taktschaltung bereitgestellt sein, die mit dem zweiten Anforderer und mit der Speicherschaltung verbunden ist. Wenn die Prioritätsschaltungsanordnung angibt, dass der erste relative Prioritätszustand vorliegt, arbeitet die Speicherschaltung synchron mit der Taktschaltung. Wenn die Prioritätsschaltungsanordnung den zweiten relativen Prioritätszustand angibt, arbeitet die Speicherschaltung asynchron.
  • Außerdem wird hier ein Verfahren zum Betreiben eines digitalen Systems mit einer Speicherschaltung offenbart, die von mehreren Anforderungsschaltungen, wovon jede ein Prioritätsniveau hat, gemeinsam genutzt wird, wobei das Verfahren die folgenden Schritte umfasst: (a) Setzen der Prioritätsniveaus, damit sie eine erste Gruppe relativer Werte haben, (b) gemeinsames Zugreifen auf die Speicherschaltung zwischen den mehreren Anforderungsschaltungen, wenn die Prioritätsniveaus die erste Gruppe von relativen Werten haben, (c) Setzen der Prioritätsniveaus, damit sie eine zweite Gruppe relativer Werte haben, und (d) Beschränken des Zugriffs auf die Speicherschaltung lediglich auf den Ersten der mehreren Anforderer, wenn die Prioritätsniveaus die zweite Gruppe von relativen Werten haben, derart, dass der erste Anforderer während eines beschränkten Zugriffs einen schnelleren Speicherzugriff hat.
  • Es werden nun besondere Ausführungsformen in Übereinstimmung mit der Erfindung lediglich beispielhaft und mit Bezug auf die beigefügte Zeichnung beschrieben, in der:
  • 1 ein Blockschaltplan von zwei Prozessoren ist, die einen Speicherblock gemeinsam nutzen, wobei einer der Prozessoren die Planungsschaltungsanordnung in einer Betriebsart hoher Priorität umgehen kann;
  • 2 ein Blockschaltplan eines alternativen digitalen Systems zu dem in 1 veranschaulichten ist;
  • 3 ein ausführlicherer Blockschaltplan einer Megazelle aus 2 ist;
  • 4 ein ausführlicherer Blockschaltplan der DMA-Steuereinheit aus 3 ist;
  • 5 ein Blockschaltplan ist, der Abschnitte der Host-Port-Schnittstelle der DMA-Steuereinheit zeigt;
  • 6 ein Zeitablaufplan ist, der einen Speicherzugriff in der SAM-Betriebsart veranschaulicht;
  • 7 ein Zeitablaufplan ist, der einen Speicherzugriff in der HOM-Beriebsart veranschaulicht;
  • 8 eine schematische Darstellung einer integrierten Schaltung ist, die das digitale System aus 1 enthält; und
  • 9 eine beispielhafte Realisierung eines Beispiels einer solchen integrierten Schaltung in einer Mobiltelekommunikationsvorrichtung wie etwa in einem Mobiltelephon veranschaulicht.
  • Soweit nichts anderes angegeben ist, beziehen sich entsprechende Bezugszeichen und Symbole in den verschiedenen Figuren und Tabellen auf entsprechende Teile. Zur Bezeichnung gleicher Teile sind gleiche Bezugszeichen verwendet, wobei sich die Figuren, sofern nichts anderes angegeben ist, auf das digitale System aus 3 beziehen.
  • Obgleich Ausführungsformen der Erfindung besondere Anwendung in digitalen Signalprozessoren (DSPs) finden, die z.B. in einer anwendungsspezifischen integrierten Schaltung (ASIC) realisiert sind, können diese Ausführungsformen auch in anderen Formen von Prozessoren Anwendung finden. Eine ASIC kann eine oder mehrere Megazellen enthalten, die jeweils kundenspezifisch entworfene Funktionsschaltungen enthalten, die mit im Voraus entworfenen Funktionsschaltungen, die durch eine Entwurfsbibliothek bereitgestellt werden, kombiniert werden.
  • 1 ist ein Blockschaltplan eines digitalen Systems 1, das einen Host-Prozessor 10 und einen DSP 20 aufweist, die einen Speicherblock 60 gemeinsam nutzen. Ein Planungsblock 40 empfängt Übertragungsanforderungen von einem mit dem Bus 11 verbundenen Speicherzugriffsknoten im Host-Prozessor 10 und überträgt Anforderungen von einem mit dem Bus 21 verbundenen Speicherzugriffsknoten im DSP 20. Der Planer 40 verschachtelt diese Anforderungen sequentiell und übergibt sie über einen mit dem Bus 41 verbundenen Anforderungsausgangsknoten an den Speicherblock 60. Der DSP 20, der Planer 40 und der Speicher 60 arbeiten synchron zu einem durch die Taktschaltung 22 bereitgestellten DSP-Taktsignal. Der Host 10 arbeitet anhand eines durch die Taktschaltung 12 bereitgestellten Host-Taktsignals. Die Planungsschaltung 40 enthält Synchronisationsschaltungen, um die Speicherzugriffe durch den Host mit dem DSP-Taktsignal zu synchronisieren.
  • Zugriffe durch den Host-Prozessor können entweder als Zugriffe mit niedriger Priorität oder als Zugriffe mit hoher Priorität klassifiziert werden. Zugriffe durch den DSP-Prozessor können gleichfalls entweder als Zugriffe mit niedriger Priorität oder als Zugriffe mit hoher Priorität klassifiziert werden. Die Prioritätsschaltungsanordnung 54 empfängt über das Signal 55 Prioritätsindikatoren von dem Host und über das Signal 56 Prioritätsindikatoren von dem DSP und vergleicht die Priorität anstehender Anforderungen. Wenn eine Zugriffsanforderung durch den Host 10 eine höhere Priorität als eine anstehende Zugriffsanforderung durch den DSP 20 hat, umgeht der Zugriff durch den Host die Synchronisationsschaltungsanordnung innerhalb des Planers 40, der die Zeitgebung mit der DSP-Zeitgebung synchronisiert. Der Auswahl-MUX 50 empfängt an einem Eingang den Bus 11 und an einem zweiten Eingang den Bus 41 und stellt über einen mit dem Bus 51 verbundenen Ausgangsknoten einen Zugriff auf die Speicherschaltung 60 bereit. Der Auswahl-MUX 50 wird durch ein Auswahlsignal 57 von der Prioritätsschaltung 54 gesteuert. Der Bus 11 wird ausgewählt, wenn die Priorität des Hosts höher als die Priorität des DSP ist. Der Bus 41 wird ausgewählt, wenn die Priorität des Hosts die gleiche oder niedriger als die Priorität des DSP ist. In der Betriebsart hoher Priorität wird durch den Bus 11 in einer Weise, die den Planer 40 umgeht, direkt auf die Speicherschaltung 60 zugegriffen. Wenn durch den Host 10 in der Betriebsart hoher Priorität direkt auf die Speicherschaltung 60 zugegriffen wird, arbeitet die Speicherschaltung 60 in Reaktion auf das Signal 57 in einer asynchronen Betriebsart, sodass der Host-Zugriff nicht mit dem DSP-Signal synchronisiert zu werden braucht. Da keine Synchronisations- und Planungsverzögerung zugezogen wird, sind die Host-Zugriffe in der Betriebsart hoher Priorität somit schneller.
  • In einer alternativen Ausführungsform können der Host und der DSP beide in Bezug auf dasselbe Taktsignal arbeiten. In einer solchen Ausführungsform ist keine Synchronisation beteiligt, wobei aber ein Host-Zugriff mit hoher Priorität eine durch den Planer 40 auferlegte Planungsverzögerung weiter umgeht.
  • 2 ist ein Blockschaltplan eines alternativen digitalen Systems zu dem in 1 veranschaulichten. Eine Megazelle 100 enthält eine CPU, eine DMA-Steu ereinheit und Speicherschaltungen und wird später ausführlicher beschrieben. Mit der Megazelle 100 ist über eine verbesserte Host-Port-Schnittstelle (EHPI) 112 ein Host-Prozessor 110 verbunden. Die EHPI 112 stellt eine Multiplexierung der Host-Adresse und des Datenbusses 111 bereit, um an die durch die Megazelle 100 bereitgestellte Host-Port-Schnittstelle 115 anzupassen. Durch den Host-Prozessor 110 oder durch die CPU innerhalb der Megazelle 100 kann auf den Speicher 122, auf die Universalperipheriegeräte 132 und auf die dedizierten Peripheriegeräte 134 zugegriffen werden. Eine Steuerschaltungsanordung 170 stellt Taktsignale für die Schaltungsanordnung innerhalb der Megazelle 100 bereit. Die MCU 110 enthält ihre eigene Zeitgeberschaltungsanordnung, die erfordert, dass Zugriffe durch die MCU 110 auf Betriebsmittel, die durch die Megazelle 100 gesteuert werden, mit der Zeitbasis der Megazelle 100 synchronisiert werden müssen.
  • Ein JTAG-Prüfport 160 enthält Hardware-Erweiterungen für fortgeschrittene Austestmerkmale. Diese helfen bei der Anwenderentwicklung des Anwendungssystems (Software und die Hardware) lediglich unter Nutzung der JTAG-Schnittstelle, eines Prüfzugriffs-Ports und der durch die Norm IEEE 1149.1 definierten Boundary-Scan-Architektur mit erweiterten Betriebsartverbesserungen, wie sie im US-Patent 5.828.824 beschrieben sind. Eine Emulationsschaltungsanordnung 150 stellt eine Austestprogrammsteuerung und Ausführungsverfolgungseinrichtungen bereit.
  • 3 ist ein ausführlicherer Blockschaltplan der Megazelle 100. Die CPU 200 ist ein digitaler Signalprozessor (DSP). Die CPU 200 greift über eine Speicherschnittstellen-Schaltungsanordnung 202 auf die Speicherschaltungen 220, 222 und 224 und auf die EMIF 120 zu. Über die RHEA-Brücke 230 zum RHEA-Bus 130 greift die CPU 200 auf weitere Betriebsmittel zu. Die DMA-Steuereinheit 210 ist eine Mehrkanal-DMA-Steuereinheit mit getrennten Kanal- und Portsteuereinheiten, wobei jeder Port eine lokale Planungsschaltungsanordnung aufweist. Der DMA 210 kann zum Übertragen von Daten zwischen verschiedenen Quellen und Zielen innerhalb des digitalen Systems 10 wie etwa dem Einzelzugrifts-RAM 220, dem Doppelzugriffs-RAM 222, dem erweiterten Speicher 122 über eine externe Speicherschnittstelle 120 und Peripheriegeräten am Betriebsmittelbus (RHEA) 130 über die RHEA-Brücke 230 programmiert werden. Die MCU 110 kann auf diese Betriebsmittel über die Host-Port-Schnittstelle (HPI) 115, die mit der DMA- Steuereinheit 210 verbunden ist, ebenfalls zugreifen. Der Weg zwischen dem HPI-Port und dem Speicher ist ein DMA-Kanal.
  • Die Speicherschaltung 220 ist ein 128 k × 16-Einzelzugriffs-RAM (SARAM), der sechzehn 32 kByte-Module umfasst. Der DMA 210 kann über einen 16-Bit-DMA-Bus auf den SARAM zugreifen. Der DMA-Bus-Zugriff (R/W) kann in der SAM-Betriebsart (Betriebsart mit gemeinsamen Zugriff) oder in der HOM-Betriebsart (Nur-Host-Betriebsart) erfolgen. Ein Zugriff durch die MCU 110 in der HOM-Betriebsart umgeht die Synchronisationsschaltungsanordnung innerhalb des DMA 210, die die MCU-Zeitgebung mit der Zeitgebung der Megazelle 100 synchronisiert. Es kann ein HOM-Größenregister bereitgestellt sein, sodass die Größe des HOM-Speichers durch den Host-Prozessor spezifiziert werden kann.
  • Das Prioritätsschema zwischen der CPU 200 und dem DMA 210 ist programmierbar. Die Prioritätsschaltungsanordnung ist in dem SARAM realisiert, während sich das Steuerregister in dem DMA-EA-Raum befindet, auf den über den RHEA-Bus-Zweig 130a zugegriffen werden kann.
  • Die Speicherschaltung 222 ist ein 32 k × 16-Doppelzugriffs-RAM (DARAM), der vier 16 kByte-Module umfasst. Die CPU 200 kann in einem Zyklus zwei Zugriffe auf ein DARAM-Speichermodul ausführen; z.B. einen Einzel-Lesevorgang und einen Einzel-Schreibvorgang oder einen Lang-Lesevorgang und einen Lang-Schreibvorgang, einen Doppel-Lesevorgang und einen Einzel-Schreibvorgang usw. Die den verschiedenen Zugriffen zugewiesenen Prioritäten werden durch den DARAM behandelt. Das Prioritätsschema zwischen CPU und DMA ist programmierbar. Die Prioritätsschaltungsanordnung ist in dem DARAM realisiert, während sich das Steuerregister in dem DMA-EA-Raum befindet, auf den über den RHEA-Bus zugegriffen werden kann.
  • Alternative Ausführungsformen des hier offenbarten Systems und Verfahrens können andere Konfigurationen des Speichers und der Peripheriegeräte haben.
  • 3 zeigt lediglich jene Abschnitte der Megazelle 100, die für das Verständnis einer besonderen Ausführungsform der vorliegenden Erfindung relevant sind. Einzelheiten der allgemeinen Konstruktion für DSPs sind gut bekannt und leicht an anderer Stelle zu finden. Zum Beispiel beschreibt das US-Patent 5.072.418, erteilt an Frederick Boutaud u.a., ausführlich einen DSP und ist hier durch Lite raturhinweis eingefügt. Das US-Patent 5.329.471, erteilt an Gary Swoboda u.a., beschreibt ausführlich, wie ein DSP zu prüfen und zu emulieren ist, und ist hier durch Literaturhinweis eingefügt. Einzelheiten von Abschnitten der DMA-Steuereinheit 210, die für eine Ausführungsform der vorliegenden Erfindung relevant sind, sind im Folgenden ausreichend ausführlich erläutert, um zu ermöglichen, dass der Durchschnittsfachmann auf dem Gebiet der Mikroprozessoren die Erfindung herstellen und verwenden kann.
  • Tabelle 1 fasst mehrere der in diesem Dokument durchgängigen Akronyme zusammen.
    Figure 00080001
    Figure 00090001
    Tabelle 1 – Begriffserklärung
  • Die DMA-Steuereinheit 210 überträgt ohne Eingriff durch die CPU Daten zwischen Punkten in dem Speicherraum. Der DMA ermöglicht, dass im Hintergrund des CPU-Betriebs Verschiebungen von Daten zum und vom internen Speicher, externen Speicher und Peripheriegeräten stattfinden. Der DMA hat sechs unabhängig programmierbare Kanäle, die für den DMA-Betrieb sechs verschiedene Kontexte zulassen, die in einer zeitmultiplexierten Betriebsart (TDM-Betriebsart) ausgeführt werden.
  • Die DMA-Architektur ist in Ports und Kanälen organisiert. Weiter anhand von 3 besitzt jedes Betriebsmittel, auf das der DMA zugreifen kann, seinen eigenen Port: den SARAM-Port 212a, den DARAM-Port 212b, den EMIF-Port 212c und den RHEA-Port 212d. Der HPI-Port 214 ist ein Spezialfall, der später diskutiert wird. Ein Port kann über einen dedizierten Bus Lese- und Schreibzugriffe auf das Betriebsmittel vornehmen, mit dem er verbunden ist.
  • Diese DMA-Steuereinheit erfüllt die Notwendigkeit eines Flusses mit hoher Rate und von Mehrkanalanwendungen wie etwa Basisstationen drahtloser Telephone oder des Zellen-Handapparate-Datenverkehrs.
  • 4 ist ein ausführlicher Blockschaltplan der DMA-Steuereinheit aus 3. Ein Kanal ist aus einem Quellport, aus einem FIFO und aus einem Zielport aufgebaut. In der vorliegenden Ausführungsform sind sechs Kanäle verfügbar, obgleich andere Ausführungsformen alternative Anzahlen von Kanälen haben können. Sechs Kanalsteuereinheiten 310315 steuern die sechs Kanäle. Alle sechs Kanäle werden über jeweilige Portmultiplexer 330333 an jedem Port multiplexiert. Jede Kanalsteuerung besitzt einen oder mehrere jeweilige FIFO(s). Die FIFOs werden nicht von den Kanälen gemeinsam genutzt; jeder Kanal besitzt seinen eigenen FIFO. Dies ermöglicht mehr Unabhängigkeit zwischen den Übertragungen. Eine DMA-Übertragung im Kanal (n) erfolgt in zwei Schritten: der Quellport führt an einem Quellbetriebsmittel einen Lesezugriff aus, erhält die Daten und legt sie in den FIFO des Kanals (n); wenn die Daten in dem FIFO sind, wird der Zielport aktiviert und führt einen Schreibzugriff auf das Zielbetriebsmittel aus, um die Daten zu schreiben. Jede Kanalsteuereinheit enthält eine getrennte Leseadresseneinheit RAU(0–5) und eine getrennte Schreibadresseneinheit WAU(0-5).
  • Alle Ports arbeiten parallel. In dieser Ausführungsform gibt es vier Ports, die mit den vier Datenablage-Betriebsmitteln verbunden sind, sodass in demselben Taktzyklus vier aufeinander folgende Lese/Schreib-Zugriffe vorgenommen werden können. Um diese Zugriffsrate zu unterstützen, werden die Adressenberechnung und die Verschachtelung in einem Pipelinesystem verarbeitet. Die maximale Übertragungsrate für diese Ausführungsform mit vier Ports ist zwei Wörter (zwei Lesevorgänge und zwei Schreibvorgänge) pro CPU-Zyklus. Dies wird erzielt, wenn Quellen und Ziele unabhängig sind. Eine alternative Ausführungsform kann eine größere Anzahl von Ports mit einer dementsprechend höheren maximalen Übertragungsrate haben.
  • Ein Leseadressenbus RA enthält sieben einzelne Busse, um eine Kanalleseadresse von jeder Leseadresseneinheit RAU(0-5) und von dem HPI-Port zu jedem Porteingangs-MUX 330333 parallel zu übertragen. Ein Schreibadressenbus WA enthält sieben einzelne Busse, um eine Kanalschreibadresse von jeder Schreibadresseneinheit WAU(0-5) und von dem HPI-Port zu jedem Porteingangs-MUX 330333 parallel zu übertragen. Ein Datenausgabebus DO enthält gleichfalls sieben einzelne Busse, um einen Datenausgangswert von jedem FIFO(0-5) und von dem HPI-Port zu jedem Porteingangs-MUX 330333 parallel zu übertragen. Ein Dateneingangsbus D1 enthält vier einzelne Busse, um einen Dateneingangswert von jedem Port zu jedem FIFO(0-5) und zu dem HPI-Port parallel zu übertragen.
  • Ein DMA-Port sendet an seinen zugeordneten Speicher eine Anforderung zum Lesen oder Schreiben eines Datenelements in diesem Speicher. Eine Übertragung eines Worts besteht aus einer Leseanforderung an einem Quellport i, gefolgt von einer Schreibanforderung am Zielport j (wobei i gleich j sein kann). Eine Anforderung ist durch ihren Typ (r für Lesen, w für Schreiben) und durch den Kanal, zu dem sie gehört, definiert.
  • Beispiel:
    • ri
      ist eine Leseanforderung im Kanal i
      wj
      ist eine Schreibanforderung im Kanal j.
  • Jeder Port besitzt seine eigene Verschachtelungseinrichtung 350353, um die Kanalmultiplexierung an dem zugeordneten Port zu steuern. Die Verschachtelungseinrichtung empfängt von jedem Kanal Lese- und Schreibanforderungen, berechnet, welches die nächste Anforderung ist, die bedient werden muss, und löst eine Portsteuerungs-Zustandsmaschine zum Bedienen dieser Anforderung aus.
  • Die DMA-Steuereinheit 210 besitzt eine Anforderungszuweisungseinrichtung 340. In irgendeinem gegebenen Taktzyklus kann es bis zu dreizehn anstehende Anforderungen geben: sechs Leseanforderungen, sechs Schreibanforderungen und eine HPI-Anforderung. Um die Kompliziertheit der Verschachtelungseinrichtung zu verringern, kann eine Verschachtelungseinrichtung in der vorliegenden Ausführungsform maximal fünf gleichzeitige Anforderungen zur selben Zeit verschachteln. Die Anforderungszuweisungseinrichtung 340 tastet die DMA-Konfiguration und anstehende Anforderungssignale ab und wählt maximal fünf Anforderungssignale aus, um sie an jede Verschachtelungseinrichtung zur Verarbeitung zu senden. In einer alternativen Ausführungsform kann die Zuweisungseinrichtung in getrennte Abschnitte geteilt sein, sodass jeder Port eine Zuweisungsschaltungsanordnung besitzt, die innerhalb des Ports enthalten ist. In einer weiteren Ausführungsform kann eine kompliziertere Verschachtelungseinrichtung alle Anforderungen, die von allen Kanälen geliefert werden, direkt empfangen und planen.
  • Jeder Port besitzt einen zugeordneten Portsteuerblock 360363. Diese Blöcke sind für das Beginnen der Lese/Schreib-Zugriffe auf die Speicher und Peripheriegeräte verantwortlich. Sie realisieren das Transaktionszugriffsprotokoll zwischen den Speichern oder Peripheriegeräten und dem DMA. Diese Protokolle sind für den SARAM und für den DARAM dieselben. Das RHEA-Bus-Protokoll und das EMIF-Protokoll sind verschieden. Somit ist jeder Port an den Typ des Betriebsmittels angepasst, mit dem er verbunden ist.
  • Jede Kanalsteuereinheit besitzt einen zugeordneten Prioritätsblock PRIO(0-5). Die Funktion dieses Blocks ist es, ein Drei-Ebenen-Prioritätsschema zu realisieren, das in dem DMA verfügbar ist: die höchste Priorität für die HPI, eine hohe Priorität für Kanäle und eine niedrige Priorität für Kanäle.
  • Jede Kanalsteuereinheit besitzt einen zugeordneten Ereignissynchronisationsblock EVENT(0-5). Jeder Ereignissynchronisationsblock wartet auf Ereignisse, die in seinem Kanal eine Übertragung auslösen. Außerdem sucht jeder Block nach Ereignisausfällen.
  • Die Kanal-FIFOs besitzen in dieser Ausführungsform jeweils acht Stufen. Die FIFOs empfangen die Daten, die von einem Quellport an einen Zielport übermittelt werden. Sie ermöglichen die Pipeline-Verarbeitung von DMA-Übertragungen und die Bündelverarbeitung zu/von externen Speichern. In allen Kanälen sind Bündel von acht Datenwörtern möglich.
  • Der Unterbrechungsgenerator 370 erzeugt gemäß der DMA-Konfiguration und dem DMA-Zustand Unterbrechungen zu der CPU. Jeder Kanal besitzt sein eigenes zugeordnetes Unterbrechungssignal dma_nirq(5-0).
  • Die RHEA-Schnittstelle 380 verbindet den RHEA-Bus 130a von der RHEA-Brücke. Die RHEA-Schnittstelle 380 wird nur für CPU-Lesevorgänge und -Schreiborgänge in den DMA-Konfigurationsregistern verwendet. DMA-Zugriffe auf RHEA-Peripheriegeräte erfolgen über den RHEA-Port und nicht über die RHEA-Schnittstelle.
  • Die Deskriptorblöcke CFG(0-5) werden zum Steuern und Überwachen des Status der DMA-Übertragungen verwendet. Pro Kanal gibt es einen Deskriptorblock. Sie werden über die RHEA-Schnittstelle 380 geschrieben/gelesen. Der Deskriptorblock 320 wird zum Steuern und Überwachen des Status der Host-Prozessor-Übertragungen verwendet.
  • Der HPI-Port 214 ermöglicht direkte Übertragungen zwischen dem HOST und dem Speicher, wenn der Host eine höhere Priorität als die DMA-Kanale besitzt. Dieser Weg unterstützt ebenfalls die HOM-Betriebsart. In der HOM-Betriebsart werden die DMA-Register umgangen. Das Schalten von der SAM auf die HOM erfordert, dass der DMA-HOST-Kanal vor dem Schalten leer ist.
  • HPI-Port
  • Nachfolgend wird der HPI-Port ausführlicher beschrieben. 5 ist ein Blockschaltplan, der Abschnitte der Host-Port-Schnittstelle der DMA-Steuereinheit 210 zeigt. Tabelle 2 fasst die verschiedenen HPI-Betriebsarten zusammen. In der HOM-Betriebsart wird der DMA vollständig umgangen, wenn die HPI einen Zugriff auf den SARAM ausführt. Somit können während der HOM-Betriebsart Abschnitte der DMA-Steuereinheit und der CPU 200 oder die gesamte DMA-Steuereinheit und CPU 200 in einen Zustand niedriger Leistung versetzt werden, ohne dass Übertragungen durch den Host-Prozessor beeinflusst werden. In der SAM-Betriebsart und wenn die HPI die Priorität gegenüber den DMA-Kanälen hat, wird der DMA vollständig umgangen, wenn die HPI auf den SARAM oder auf den DARAM zugreift. Dies ermöglicht eine Übertragungsbandbreite von bis zu 20 MWörtern/s von der MCU zum internen Speicher. Wenn die HPI dieselbe Priorität wie die DMA-Kanäle hat, werden alle HPI-Anforderungen durch den DMA verarbeitet.
    Figure 00130001
    Tabelle 2 – HPI-Betriebsarten
  • Ein DMA-Freigabe/Sperrungs-Steuerregister (DMEDC) 600 ist ein 16-Bit-Lese/Schreib-Register, auf das über den RHEA-Bus zugegriffen wird. Es enthält für jeden DMA-Kanal die DMA-Übertragungspriorität und die Übertragungsfreigabesteuerung. Ein DMA-Freigabe/Sperrungs-Steuerbit-Feld (DE[5:0]) spezifiziert für jeden Kanal die DMA-Freigabe/Sperrungs-Steuerung (0 = gesperrt, 1 = freigegeben). Die Felder DE[5:0] werden beim Zurücksetzen auf null gesetzt.
  • Ein Kanalprioritätsfeld PRIO[5:0] definiert die Priorität jedes Kanals: PRIO[i] = 0 gibt an, dass der Kanal i eine niedrige Priorität hat; PRIO[i] = 1 gibt an, dass der Kanal i eine hohe Priorität hat. Ein HPI-Prioritätsfeld HPI[1:0] definiert die Priorität des Host-Ports in Bezug auf die DMA-Kanäle. Wenn HPI[1:0] = 10 oder 11 ist, besitzt die HPI gegenüber allen DMA-Kanälen die HÖCHSTE Priorität und kann nur auf den On-Chip-RAM zugreifen. Andere DMA-Kanäle können nicht auf den On-Chip-RAM zugreifen. Wenn HPI[1:0] = 01 ist, wird die HPI in den DMA-Kanal-Zeitmultiplex-Zugriffsablauf (DMA-Kanal-TDM- Zugriffsablauf) sequentialisiert und als ein Kanal HOHER Priorität behandelt. Wenn HPI[1:0] = 00 ist, wird die HPI in den DMA-Kanal-TDM-Ablauf integriert und als ein Kanal NIEDRIGER Priorität behandelt. Beim Zurücksetzen ist HPI[1:0] = 11.
  • Die Übertragungen aller Kanäle werden nach Round-Robin-Art zeitmultiplexiert. In einer gegebenen Round-Robin-Warteschlange wird jeder Kanal zu dem nächsten Kanal geschaltet, nachdem sein Lesevorgang ausgelöst worden ist. Die Kanäle niedriger Priorität stehen so lange an, wie Kanäle hoher Priorität ausgelöst werden müssen. Die Kanäle niedriger Priorität werden nach Round-Robin-Art ausgelöst, wenn ereignissynchronisierte Kanäle hoher Priorität auf Ereignisse warten und nichtsynchronisierte Kanäle hoher Priorität abgeschlossen worden sind.
  • Weiter in Bezug auf das DMEDC-Register 600 spezifiziert ein CPU/DMA-Bus-Prioritätsbit die Priorität der CPU 200 in Bezug auf die DMA-Steuereinheit 210, wenn beide auf dasselbe Speicherbetriebsmittel zugreifen. Wenn CPU/DMA = 1 ist, haben die Busse der CPU 200 für alle internen und externen Speicherzugriffe gegenüber den Bussen des DMA 210 die Priorität. Wenn CPU/DMA = 0 ist, haben die Busse des DMA 210 für alle internen und externen Speicherzugriffe gegenüber den Bussen der CPU 200 die Priorität.
  • Wenn die HPI die höchste Priorität hat (HPI[1:0] = 10 oder 11), hat sie ausschließlichen Zugriff auf den SARAM und auf den DARAM. Alle DMA-Kanäle, die den SARAM oder den DARAM umfassen, sind angehalten. Andere DMA-Kanäle können den Betrieb fortsetzen.
  • In der HOM-Betriebsart erfolgen Übertragungen zu und von der MCU nur über die HPI. Der DMA wird umgangen und das SARAM-Zugriffsprotokoll wird direkt durch die HPI angesteuert. In der vorliegenden Ausführungsform hat der SARAM 220 128 k × 16-Bit-Wörter. Sechzehn Speicherbänke 650(0)–650(15) haben jeweils 8 k × 16. Falls der DMA nicht ungenutzt ist, können Übertragungen durch den DMA, die keinen Zugriff auf den SARAM 220 erfordern, fortgesetzt werden, während der DMA in der HOM-Betriebsart ist.
  • Der HPI-Prioritätsänderungsblock 620 erzeugt in Reaktion auf den Zustand der HPI-Prioritätsbits HPI[1:0] im DMEDC-Register 600 ein Signal HPI_direct_access 621. Das Signal 621 wird in den HPI-MUX-Steuerlogikblöcken 610, 612 und 614 verwendet, um den HPI-Direktzugriff auf den SARAM und auf den DARAM gemäß der HPI-Priorität freizugeben/zu sperren. Um zu verhindern, dass HPI-Zugriffe DMA-Zugriffe stören, darf sich dieses Signal nur dann ändern, wenn alle Kanäle, die auf den SARAM und auf den DARAM zugreifen, angehalten sind und wenn keine weiteren Anforderungen am SARAM- und am DARAM- Port anstehen. Durch die Ports werden Bereit-Signale (nicht gezeigt) geliefert, um anzugeben, wenn durch den Block 620 eine Prioritätsänderung ausgeführt werden kann.
  • Der HPI-Prioritätsblock und Chipauswahl-Demultiplexerblock 630 realisiert die zwei HPI-Prioritätsniveaus (niedrig, hoch) und sendet die HPI-Anforderungen (saram_api_req, daram_api_req und emi_api_req) in Reaktion auf das HPI-Chipauswahlsignal cs_HPI an die Zielports 212a–c, wenn die HPI-Priorität gleich der Priorität der DMA-Kanäle ist.
  • Die HPI-SARAM-Multiplexer 640 wählen entweder Adressen/Daten-Signale 641 direkt von der Host-Port-Schnittstelle 115 oder Adressen/Daten-Signale 642 vom SARAM-Port 212a aus, um sie in Reaktion auf ein vom SARAM-MUX-Steuerblock 610 geliefertes Auswahlsignal an den SARAM 220 zu liefern. Der Daten-aus-Bus vom SARAM ist direkt mit dem DMA-HPI-Daten-aus-Bus verbunden. Das Quittierungssignal vom SARAM wird mit weiteren Speicherquittierungen durch den Bereit-MUX 648 multiplexiert.
  • Die HPI-DARAM-Multiplexer 644 wählen entweder Adressen/Daten-Signale 641 direkt von der Host-Port-Schnittstelle 115 oder Adressen/Daten-Signale 645 vom DARAM-Port 212b aus, um sie in Reaktion auf ein vom DARAM-MUX-Steuerblock 612 geliefertes Auswahlsignal an den DARAM 222 zu liefern. Der Daten-aus-Bus vom DARAM ist direkt mit dem DMA-HPI-Daten-aus-Bus verbunden. Das Quittierungssignal vom DARAM wird mit weiteren Speicherquittierungen durch den Bereit-MUX 648 multiplexiert.
  • SARAM
  • Host-Zugriffe auf den SARAM erfolgen unter Verwendung der HPI-Schnittstelle 115 über den HPI-Port 214 und einen DMA-Kanal. Wie oben beschrieben wurde, sind zwei Zugriffsbetriebsarten möglich. In der Betriebsart mit gemeinsa men Zugriff (SAM) können sowohl die MCU als auch der DSP auf den SARAM zugreifen. Alle Zugriffe sind synchron zu dem DSP-Takt, wobei die Priorität durch das DMEDC-Konfigurationsregister 600 gesteuert wird. In der Nur-Host-Betriebsart (HOM) und in der Betriebsart hoher Host-Priorität kann nur die MCU auf den SARAM zugreifen, wobei alle Zugriffe asynchron zu dem DSP-Takt sind. In diesem Fall wird der DMA-Kanal umgangen. In dieser Ausführungsform werden Zugriffe mit hoher Priorität unter Verwendung derselben Schaltungsanordnung wie HOM-Zugriffe freigegeben, sodass in der folgenden Diskussion auf Zugriffe beider Typen als HOM-Betriebsart-Zugriffe Bezug genommen wird.
  • 6 ist ein Zeitablaufplan, der einen SARAM-Speicherzugriff in der SAM-Betriebsart veranschaulicht. Die Figur zeigt den Zeitablauf sowohl für einen SAM-Betriebsart-Lesevorgang als auch für einen SAM-Betriebsart-Schreibvorgang. In der SAM-Betriebsart erfolgen alle Anforderungen synchron zum DSP-Taktsignal dsp_clk, das durch die Taktschaltungsanordnung im Steuerblock 170 geliefert wird. Eine Anforderung erfolgt dadurch, dass die HPI das Anforderungssignal Areq tief ansteuert. Das Signal Areq reagiert auf das HPI-Anforderungssignal saram_api_req. Die Adressensignale Aabus, das Lese/Schreib-Signal rnw, die Byte-Signale Awrbyte usw. werden ebenfalls in demselben Taktzyklus angesteuert. Sobald die Anforderung durch die Entscheidungslogik gewährt wird, wird das Signal Aready_out, wie bei 800 gezeigt ist, aktiv (tief) angesteuert.
  • Für einen SAM-Lesevorgang werden die Daten, wie bei 810 angegeben ist, durch den SARAM in dem zweiten Zyklus in der Tief-Phase von dsp_clk auf dem Datenausgangsbus Adbusout angesteuert. Auf der folgenden steigenden Flanke von dsp_clk bei 811 werden die Daten empfangen und in der HPI zwischengespeichert.
  • Für einen Schreibvorgang müssen die Daten in dem zweiten Zyklus, wie bei 820 gezeigt ist, durch die HPI auf dem Dateneingangsbus Adbusin angesteuert werden.
  • 7 ist ein Zeitablaufplan, der einen Speicherzugriff in der HOM-Betriebsart/Betriebsart hoher Priorität veranschaulicht. Wie oben diskutiert wurde, wird der DMA in dieser Betriebsart umgangen. Somit stellt die NOM-Betriebsart eine direkte Verbindung zwischen der HPI-Schnittstelle und dem SARAM-HPI/DMA- Port her, wobei Speicherzugriffe ohne Berücksichtigung des vom DSP 200 und vom DMA 210 verwendeten Taktsignals asynchron ausgeführt werden.
  • Während beim Systemstart das Rücksetzen aktiv ist, konfiguriert das HPI-Modul die HPI in der HOM-Betriebsart und lädt Urladecode in den SARAM-Speicher. Somit müssen HOM-Betriebsart-Zugriffe zugelassen sein, während das Rücksetzen aktiv ist.
  • In der HOM-Betriebsart/Betriebsart hoher Priorität hat das HPI-Modul ausschließlichen Zugriff auf den SARAM. Dadurch, dass die HPI bei 900 das Chipauswahlsignal Acs aktiviert, wird eine HOM-Betriebsartanforderung begonnen. Dieses Signal wird durch den DEMUX-Block 630 geliefert. Dieses Signal wird verwendet, um den SARAM-Speicherkern freizugeben, während das Anforderungssignal Areq das Kernfreigabesignal ist. Auf der fallenden Flanke von Areq, die bei 910 angegeben ist, wird für Speicherlesevorgänge und -schreibvorgänge auf den Kern zugegriffen; somit müssen die Steuersignale des Adressenbusses Aabus und die Signale Adbusin des Dateneingangsbusses für eine Vorbereitungszeit Tsetup vor dieser Flanke gültig sein.
  • Da in der HOM-Betriebsart kein weiteres Modul auf den SARAM zugreifen kann, wird das Bereit-Signal Aready_out bei 911 immer gewährt, wobei es einfach eine gepufferte Version der Eingabe Areq ist. Für einen Lesevorgang sind die Daten nach der Zugriffszeit Tacc gültig, nachdem Aready_out aktiv geworden ist.
  • 8 ist eine schematische Darstellung einer integrierten Schaltung 40, die einen Prozessor 100 enthält. Wie gezeigt ist, enthält die integrierte Schaltung mehrere Kontakte für die Oberflächenmontage. Allerdings könnte die integrierte Schaltung weitere Konfigurationen, z.B. mehrere Anschlussstifte an einer unteren Oberfläche der Schaltung zur Montage in einem kräftefrei einzuführenden Sockel oder tatsächlich irgendeine andere geeignete Konfiguration, enthalten.
  • 9 veranschaulicht eine beispielhafte Realisierung eines Beispiels einer solchen integrierten Schaltung in einer Mobiltelekommunikationsvorrichtung wie etwa in einem Mobiltelephon mit integrierter Tastatur 12 und Anzeige 14. Wie in 9 gezeigt ist, ist das in der integrierten Schaltung 40 enthaltene digitale System 10, wo geeignet über einen Tastaturadapter (nicht gezeigt), mit der Tastatur 12 verbunden, wo geeignet über einen Anzeigeadapter (nicht gezeigt), mit der Anzeige 14 verbunden und mit einer Hochfrequenzschaltungsanordnung (HF-Schaltungsanordnung) 16 verbunden. Die HF-Schaltungsanordnung 16 ist mit einer Antenne 18 verbunden.
  • Die Herstellung des digitalen Systems 10 umfasst mehrere Schritte des Implantierens verschiedener Mengen von Störstellen in ein Halbleitersubstrat und des Diffundierens der Störstellen in ausgewählte Tiefen innerhalb des Substrats zum Ausbilden von Transistorvorrichtungen. Zur Steuerung der Anordnung der Störstellen werden Masken ausgebildet. Um die verschiedenen Vorrichtungen miteinander zu verbinden, werden mehrere Schichten aus leitendem Material und isolierendem Material abgelagert und geätzt. Diese Schritte werden in einer Reinraumumgebung ausgeführt.
  • Ein wesentlicher Teil der Herstellungskosten der Datenverarbeitungsvorrichtung umfasst die Prüfung. Einzelne Vorrichtungen werden in der Wafer-Form in einen Betriebszustand vorgespannt und mit Messsonden auf die Grundbetriebsfunktionalität geprüft. Daraufhin wird der Wafer in einzelne Chips getrennt, die als nackte Chips verkauft oder gepackt werden. Nach dem Packen werden die fertigen Teile in einen Betriebszustand vorgespannt und auf Betriebsfunktionalität geprüft.
  • Das digitale System 10 enthält Hardware-Erweiterungen für fortgeschrittene Austestmerkmale. Diese helfen bei der Entwicklung eines Anwendungssystems. Da diese Fähigkeiten Teil des Kerns der CPU 200 selbst sind, sind sie verfügbar, wobei sie nur die JTAG-Schnittstelle mit erweiterten Betriebsarterweiterungen nutzen. Sie stellen für die anspruchsvolle Austestung und für die wirtschaftliche Systementwicklung einen einfachen, preiswerten und geschwindigkeitsunabhängigen Zugriff auf den Kern bereit, ohne die kostspielige Verkabelung und den Zugang zu Prozessoranschlussstiften zu erfordern, die von herkömmlichen Emulatorsystemen benötigt werden oder Systembetriebsmittel stören.
  • Somit wird ein digitales System mit einem Speicher geschaffen, der von zwei oder mehr Datenanforderern gemeinsam genutzt werden kann. Es werden verschiedene Prioritätszugriffsebenen bereitgestellt. In einer Zugriffsbetriebsart hoher Priorität wird der Speicher direkt mit einem der Anforderer wie etwa mit einem Host-Prozessor verbunden, sodass Übertragungen mit hoher Bandbreite ausgeführt werden können.
  • Wie sie hier verwendet werden, bedeuten die Begriffe "angelegt", "verbunden" und "Verbindung" elektrisch verbunden, einschließlich dort, wo zusätzliche Elemente in dem elektrischen Verbindungsweg enthalten sein können. "Zugeordnet" bedeutet eine Steuerbeziehung wie etwa ein Speicherbetriebsmittel, das durch einen zugeordneten Port gesteuert wird.
  • Obgleich die Erfindung anhand veranschaulichender Ausführungsformen beschrieben worden ist, soll diese Beschreibung nicht in einem beschränkenden Sinn verstanden werden. Für den Fachmann auf dem Gebiet sind anhand dieser Beschreibung verschiedene weitere Ausführungsformen der Erfindung offensichtlich. Zum Beispiel kann derjenige Abschnitt des Speichers, der für die HOM-Betriebsart ausgewählt wird, unter Verwendung einer feineren oder gröberen Rasterung als sechzehn Bänke ausgewählt werden. Das Größenregister kann die Form eines ROM haben, der z.B. elektrisch änderbar oder maskenprogrammiert ist. Die Speicherbänke können in verschiedenen Kombinationen von synchron/asynchron arbeiten; z.B. kann der Speicher in der SAM-Betriebsart synchron zu dem DSP-Takt arbeiten und in der HOM-Betriebsart synchron zu dem Host-Prozessor-Takt arbeiten. Die HOM-Auswahlschaltungen können z.B. die Form des SARAM-Multiplexers haben oder Dreizustandsbusse sein. Es kann eine andere Anzahl von Kanalsteuereinheiten und/oder Ports realisiert sein. Einem Port können dadurch, dass der Port so angepasst wird, dass er zu dem Speicherbetriebsmittel passt, verschiedene Arten von Speicherbetriebsmitteln zugeordnet werden.

Claims (10)

  1. Digitales System mit einer Speicherschaltung (60), einer ersten Anforderungsschaltung (10), die einen ersten Speicherzugriffsknoten (11) besitzt, einer zweiten Anforderungsschaltung (20), die einen zweiten Speicherzugriffsknoten (21) besitzt, und einer Planungsschaltung (40), die mit dem ersten Speicherzugriffsknoten (11) und mit dem zweiten Speicherzugriffsknoten (21) verbunden ist, einen Anforderungsausgangsknoten (41) besitzt und so betreibbar ist, dass sie Speicherzugriffe auf die Speicherschaltung (60) durch die erste Anforderungsschaltung (10) und durch die zweite Anforderungsschaltung (20) plant, gekennzeichnet durch: eine Auswahlschaltung (50), die mit dem ersten Speicherzugriffsknoten (11) und mit dem Anforderungsausgangsknoten (41) der Planungsschaltung verbunden ist und einen Ausgangsknoten (51) besitzt, der mit der Speicherschaltung (60) verbunden ist; und eine Prioritätsschaltungsanordnung (54) zum Vergleichen einer ersten Priorität für den ersten Anforderer (10) und einer zweiten Priorität für den zweiten Anforderer (20), die mit der Auswahlschaltung (50) steuerbar verbunden ist (57), derart, dass sowohl die erste Anforderungsschaltung (10) als auch die zweite Anforderungsschaltung (20) sequentiell auf die Speicherschaltung (60) zugreifen können, wenn die Prioritätsschaltungsanordnung einen ersten relativen Prioritätszustand zwischen der ersten Priorität und der zweiten Priorität angibt, und derart, dass die erste Anforderungsschaltung (10) einen ausschließlichen Zugriff auf die Speicherschaltung (60) hat, wenn die Prioritätsschaltungsanordnung einen zweiten relativen Prioritätszustand angibt.
  2. Digitales System nach Anspruch 1, das ferner ein erstes Prioritätsregister (600) zum Halten der ersten Priorität für die erste Anforderungsschaltung (10) und ein zweites Prioritätsregister (600) zum Halten der zweiten Priorität für den zweiten Anforderer (20) umfasst.
  3. Digitales System nach Anspruch 2, bei dem das erste Prioritätsregister (600) und das zweite Prioritätsregister (600) in Reaktion auf eine Schreibtransaktion durch wenigstens eine der Anforderungsschaltungen (10, 20) geändert werden können.
  4. Digitales System nach Anspruch 2 oder Anspruch 3, bei dem die erste Priorität einen niedrigen, einen hohen oder einen höchsten Wert haben kann und die zweite Priorität einen niedrigen oder einen hohen Wert haben kann; und bei dem in dem ersten relativen Prioritätszustand die erste Priorität einen höchsten Wert hat.
  5. Digitales System nach Anspruch 4, bei dem in dem zweiten relativen Prioritätszustand die erste Priorität einen hohen Wert hat.
  6. Digitales System nach einem vorhergehenden Anspruch, das ferner eine Taktschaltung (22) umfasst, die mit dem zweiten Anforderer (20) und mit der Speicherschaltung (60) verbunden ist, wobei die Speicherschaltung (60) synchron mit der Taktschaltung (22) arbeitet, wenn die Prioritätsschaltungsanordnung (54) angibt, dass der erste relative Prioritätszustand vorliegt, und bei dem die Speicherschaltung (60) asynchron arbeitet, wenn die Prioritätsschaltungsanordnung den zweiten relativen Prioritätszustand angibt.
  7. Digitales System nach einem vorhergehenden Anspruch, bei dem die erste Anforderungsschaltung (10) einen Host-Prozessor besitzt und die zweite Anforderungsschaltung (20) eine Kanalsteuereinheit (210) für eine Direktspeicherzugriffsschaltung ist.
  8. Digitales System nach einem vorhergehenden Anspruch, das ein Zellentelephon ist, wobei einer der Anforderer ein Mikroprozessor ist, ferner mit: einer integrierten Tastatur (12), die mit dem Mikroprozessor über einen Tastaturadapter verbunden ist; einer Anzeige (14), die mit dem Mikroprozessor über einen Anzeigeadapter verbunden ist; einer Hochfrequenz-Schaltungsanordnung (HF-Schaltungsanordnung) (16), die mit dem Mikroprozessor verbunden ist; und einer Antenne (18), die mit der HF-Schaltungsanordnung verbunden ist.
  9. Verfahren zum Betreiben eines digitalen Systems mit einer Speicherschaltung, die von mehreren Anforderungsschaltungen, wovon jede ein Prioritätsniveau hat, gemeinsam genutzt wird, gekennzeichnet durch: Setzen der Prioritätsniveaus, damit sie eine erste Gruppe relativer Werte haben; gemeinsames Zugreifen auf die Speicherschaltung zwischen den mehreren Anforderungsschaltungen, wenn die Prioritätsniveaus die erste Gruppe von relativen Werten haben; Setzen der Prioritätsniveaus, damit sie eine zweite Gruppe relativer Werte haben; und Beschränken des Zugriffs auf die Speicherschaltung lediglich auf den ersten der mehreren Anforderer, wenn die Prioritätsniveaus die zweite Gruppe von relativen Werten haben, derart, dass der erste Anforderer während eines beschränkten Zugriffs einen schnelleren Speicherzugriff als während eines gemeinsamen Zugriffs hat.
  10. Verfahren nach Anspruch 9, bei dem: der Schritt des gemeinsamen Zugreifens das Durchlassen jeder Anforderung von den mehreren Anforderern zu einem Planer umfasst; und der Schritt des Beschränkens des Zugriffs beinhaltet, dass jede Anforderung von dem ersten Anforderer den Planer umgeht.
DE69935852T 1999-06-09 1999-06-09 Host-Zugriff zu gemeinschaftlichem Speicher mit Hochprioritätsbetriebsart Expired - Lifetime DE69935852T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP99401390A EP1059587B1 (de) 1999-06-09 1999-06-09 Host-Zugriff zu gemeinschaftlichem Speicher mit Hochprioritätsbetriebsart

Publications (2)

Publication Number Publication Date
DE69935852D1 DE69935852D1 (de) 2007-05-31
DE69935852T2 true DE69935852T2 (de) 2007-12-20

Family

ID=8242005

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69935852T Expired - Lifetime DE69935852T2 (de) 1999-06-09 1999-06-09 Host-Zugriff zu gemeinschaftlichem Speicher mit Hochprioritätsbetriebsart

Country Status (3)

Country Link
US (1) US6704847B1 (de)
EP (1) EP1059587B1 (de)
DE (1) DE69935852T2 (de)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263503B1 (en) 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
US8266657B2 (en) 2001-03-15 2012-09-11 Sling Media Inc. Method for effectively implementing a multi-room television system
US6757795B2 (en) 2001-04-03 2004-06-29 International Business Machines Corporation Apparatus and method for efficiently sharing memory bandwidth in a network processor
US6891543B2 (en) 2002-05-08 2005-05-10 Intel Corporation Method and system for optimally sharing memory between a host processor and graphics processor
US7533195B2 (en) * 2004-02-25 2009-05-12 Analog Devices, Inc. DMA controller for digital signal processors
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
AU2005253152B2 (en) 2004-06-07 2010-04-22 Sling Media, Inc. Personal media broadcasting system
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
US8346605B2 (en) 2004-06-07 2013-01-01 Sling Media, Inc. Management of shared media content
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
US8099755B2 (en) * 2004-06-07 2012-01-17 Sling Media Pvt. Ltd. Systems and methods for controlling the encoding of a media stream
US7739436B2 (en) * 2004-11-01 2010-06-15 Sonics, Inc. Method and apparatus for round robin resource arbitration with a fast request to grant response
WO2007005790A2 (en) * 2005-06-30 2007-01-11 Sling Media, Inc. Firmware update for consumer electronic device
US7716387B2 (en) * 2005-07-14 2010-05-11 Canon Kabushiki Kaisha Memory control apparatus and method
US7519754B2 (en) * 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
JP5028115B2 (ja) * 2006-09-07 2012-09-19 キヤノン株式会社 記録装置、その制御方法及びプログラム
US8683126B2 (en) * 2007-07-30 2014-03-25 Nvidia Corporation Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory
US8477793B2 (en) * 2007-09-26 2013-07-02 Sling Media, Inc. Media streaming device with gateway functionality
US8350971B2 (en) * 2007-10-23 2013-01-08 Sling Media, Inc. Systems and methods for controlling media devices
US8060609B2 (en) 2008-01-04 2011-11-15 Sling Media Inc. Systems and methods for determining attributes of media items accessed via a personal media broadcaster
US8667279B2 (en) 2008-07-01 2014-03-04 Sling Media, Inc. Systems and methods for securely place shifting media content
US8381310B2 (en) 2009-08-13 2013-02-19 Sling Media Pvt. Ltd. Systems, methods, and program applications for selectively restricting the placeshifting of copy protected digital media content
US8667163B2 (en) 2008-09-08 2014-03-04 Sling Media Inc. Systems and methods for projecting images from a computer system
US20100070925A1 (en) * 2008-09-08 2010-03-18 Sling Media Inc. Systems and methods for selecting media content obtained from multple sources
US9191610B2 (en) * 2008-11-26 2015-11-17 Sling Media Pvt Ltd. Systems and methods for creating logical media streams for media storage and playback
US8438602B2 (en) * 2009-01-26 2013-05-07 Sling Media Inc. Systems and methods for linking media content
US8171148B2 (en) * 2009-04-17 2012-05-01 Sling Media, Inc. Systems and methods for establishing connections between devices communicating over a network
US8095700B2 (en) * 2009-05-15 2012-01-10 Lsi Corporation Controller and method for statistical allocation of multichannel direct memory access bandwidth
US8406431B2 (en) * 2009-07-23 2013-03-26 Sling Media Pvt. Ltd. Adaptive gain control for digital audio samples in a media stream
US9479737B2 (en) * 2009-08-06 2016-10-25 Echostar Technologies L.L.C. Systems and methods for event programming via a remote media player
US20110032986A1 (en) * 2009-08-07 2011-02-10 Sling Media Pvt Ltd Systems and methods for automatically controlling the resolution of streaming video content
US20110035765A1 (en) * 2009-08-10 2011-02-10 Sling Media Pvt Ltd Systems and methods for providing programming content
US8966101B2 (en) 2009-08-10 2015-02-24 Sling Media Pvt Ltd Systems and methods for updating firmware over a network
US8799408B2 (en) * 2009-08-10 2014-08-05 Sling Media Pvt Ltd Localization systems and methods
US9525838B2 (en) 2009-08-10 2016-12-20 Sling Media Pvt. Ltd. Systems and methods for virtual remote control of streamed media
US20110035466A1 (en) * 2009-08-10 2011-02-10 Sling Media Pvt Ltd Home media aggregator system and method
US8532472B2 (en) * 2009-08-10 2013-09-10 Sling Media Pvt Ltd Methods and apparatus for fast seeking within a media stream buffer
US9565479B2 (en) 2009-08-10 2017-02-07 Sling Media Pvt Ltd. Methods and apparatus for seeking within a media stream using scene detection
US9160974B2 (en) 2009-08-26 2015-10-13 Sling Media, Inc. Systems and methods for transcoding and place shifting media content
US8314893B2 (en) 2009-08-28 2012-11-20 Sling Media Pvt. Ltd. Remote control and method for automatically adjusting the volume output of an audio device
US20110113354A1 (en) * 2009-11-12 2011-05-12 Sling Media Pvt Ltd Always-on-top media player launched from a web browser
US9015225B2 (en) * 2009-11-16 2015-04-21 Echostar Technologies L.L.C. Systems and methods for delivering messages over a network
US8799485B2 (en) * 2009-12-18 2014-08-05 Sling Media, Inc. Methods and apparatus for establishing network connections using an inter-mediating device
US8626879B2 (en) 2009-12-22 2014-01-07 Sling Media, Inc. Systems and methods for establishing network connections using local mediation services
US9178923B2 (en) * 2009-12-23 2015-11-03 Echostar Technologies L.L.C. Systems and methods for remotely controlling a media server via a network
US9275054B2 (en) 2009-12-28 2016-03-01 Sling Media, Inc. Systems and methods for searching media content
US8856349B2 (en) 2010-02-05 2014-10-07 Sling Media Inc. Connection priority services for data communication between two devices
US8918594B2 (en) * 2010-11-16 2014-12-23 Micron Technology, Inc. Multi-interface memory with access control
JP5852951B2 (ja) * 2012-12-13 2016-02-03 京セラドキュメントソリューションズ株式会社 画像形成装置及びプログラム
US11228458B2 (en) * 2015-09-10 2022-01-18 Lightfleet Corporation Group-coherent memory
US11397612B2 (en) 2019-07-27 2022-07-26 Analog Devices International Unlimited Company Autonomous job queueing system for hardware accelerators

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083261A (en) * 1983-11-03 1992-01-21 Motorola, Inc. Dynamically alterable interrupt priority circuit
US5088053A (en) * 1987-11-16 1992-02-11 Intel Corporation Memory controller as for a video signal processor
US4991169A (en) * 1988-08-02 1991-02-05 International Business Machines Corporation Real-time digital signal processing relative to multiple digital communication channels
US5638530A (en) * 1993-04-20 1997-06-10 Texas Instruments Incorporated Direct memory access scheme using memory with an integrated processor having communication with external devices
US5530838A (en) * 1993-06-10 1996-06-25 Ricoh Company, Ltd. Method and apparatus for controlling access to memory which is common to plural, priority-ordered central processing units and which is indirectly accessible via a transfer control unit
US5701434A (en) * 1995-03-16 1997-12-23 Hitachi, Ltd. Interleave memory controller with a common access queue
US5838934A (en) * 1995-06-07 1998-11-17 Texas Instruments Incorporated Host port interface
US6438720B1 (en) * 1995-06-07 2002-08-20 Texas Instruments Incorporated Host port interface
US6119003A (en) * 1996-09-09 2000-09-12 Nokia Mobile Phones Limited Methods and apparatus for performing automatic mode selection in a multimode mobile terminal
US5922047A (en) * 1996-10-22 1999-07-13 Motorola, Inc. Apparatus, method and system for multimedia control and communication
US6138010A (en) * 1997-05-08 2000-10-24 Motorola, Inc. Multimode communication device and method for operating a multimode communication device
GB9724028D0 (en) * 1997-11-13 1998-01-14 Advanced Telecommunications Mo Shared memory access controller
US6122713A (en) * 1998-06-01 2000-09-19 National Instruments Corporation Dual port shared memory system including semaphores for high priority and low priority requestors

Also Published As

Publication number Publication date
US6704847B1 (en) 2004-03-09
EP1059587A1 (de) 2000-12-13
DE69935852D1 (de) 2007-05-31
EP1059587B1 (de) 2007-04-18

Similar Documents

Publication Publication Date Title
DE69935852T2 (de) Host-Zugriff zu gemeinschaftlichem Speicher mit Hochprioritätsbetriebsart
DE69924475T2 (de) Multikanal-DMA mit Datenverkehrplanung auf die Ausgänge
DE60006842T2 (de) Multiprozessor-Node-Controller-Schaltung und Verfahren
DE60008139T2 (de) Cachespeicheranordnung für einen digitalen signalprozessor
DE69432401T2 (de) Vorrichtung zur Integrierung von Bus-Master-Besitzrecht von Lokalbuslast
DE112008002402T5 (de) Erzeugung von einer logischen APIC-ID mit Cluster ID und Intra-Cluster ID
DE69919992T2 (de) Verteilter Speicher mit programmierbarer Grösse
DE69819648T2 (de) Zweitorpuffer
DE102008035120A1 (de) Prozessorauswahl für einen Interrupt, die einen Prozessorcluster identifiziert
DE102007029833B4 (de) Mikrocontroller mit Datenmodifikationsmodul und System umfassend ein Datenmodifikationsmodul
DE60316197T2 (de) Verfahren und System zum Teilen eines Speichermoduls
DE602005006338T2 (de) Vorrichtung und Verfahren zur Datenübertragungsverarbeitung
DE112012004551T5 (de) Mehrkernverknüpfung in einem Netzprozessor
DE102013018135B4 (de) Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen
DE112011105543T5 (de) Verfahren zur Verbesserung des Datendurchsatzes in Open-Core-Protokoll-basierten Verbindungsnetzen unter Verwendung von dynamisch wählbaren redundanten physischen Pfaden mit gemeinsamem Link
EP1941668A1 (de) Teilnehmerschnittstelle zwischen einem flexray-kommunikationsbaustein und einem flexray-teilnehmer und verfahren zur übertragung von botschaften über eine solche schnittstelle
CN100514316C (zh) 基于片上多处理器系统的动态自适应总线仲裁器
DE112020003733T5 (de) Speichercontroller für nicht störende zugriffe auf nichtflüchtigen speicher durch verschiedene master und diesbezügliche systeme und verfahren
WO2002071248A2 (de) Verfahren und vorrichtungen zur datenbe- und/oder verarbeitung
EP0882267A1 (de) Mehrprozessor-zentraleinheit
DE69727172T2 (de) Verwendung eines Prozessorbus für die E/A-Verkehrsübertragung
DE102006025133A1 (de) Speicher- und Speicherkommunikationssystem
DE102007006508B4 (de) Mikrocontroller mit Speicher-Trace-Modul
DE69034165T2 (de) Mikroprozessor mit einer Vielzahl von Buskonfigurationen
DE112008001143T5 (de) Serialisierung von Daten in einer Multi-Chip-Busimplementierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition