DE69919992T2 - Verteilter Speicher mit programmierbarer Grösse - Google Patents

Verteilter Speicher mit programmierbarer Grösse Download PDF

Info

Publication number
DE69919992T2
DE69919992T2 DE69919992T DE69919992T DE69919992T2 DE 69919992 T2 DE69919992 T2 DE 69919992T2 DE 69919992 T DE69919992 T DE 69919992T DE 69919992 T DE69919992 T DE 69919992T DE 69919992 T2 DE69919992 T2 DE 69919992T2
Authority
DE
Germany
Prior art keywords
access
circuit
memory
request
mode
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
DE69919992T
Other languages
English (en)
Other versions
DE69919992D1 (de
Inventor
Armelle Laine
Daniel Mazzocco
Gerald Ollivier
Laurent Six
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
Publication of DE69919992D1 publication Critical patent/DE69919992D1/de
Application granted granted Critical
Publication of DE69919992T2 publication Critical patent/DE69919992T2/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/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Description

  • Diese Erfindung bezieht sich allgemein auf Mikroprozessoren und genauer auf Verbesserungen in Speicherschaltungen und -systemen für den gemeinsamen Zugriff sowie in Verfahren zur Durchführung des gemeinsamen Zugriffs.
  • Mikroprozessoren sind Universalprozessoren, die hohe Anweisungsdurchsätze erzielen, um die darauf laufende Software auszuführen, wobei sie je nach den besonderen Softwareanwendungen, die einbezogen werden, einen breiten Bereich von Verarbeitungsanforderungen aufweisen können. Oft ist einem Prozessor ein Controller für den Direktspeicherzugriff (DMA-Controller) zugeordnet, um die Last der Übertragung von Datenblöcken von einem Speicher oder einem Peripheriebetriebsmittel zu einem anderen zu übernehmen und um dadurch die Leistung des Prozessors zu verbessern.
  • Es sind viele verschiedene Prozessortypen bekannt, wovon Mikroprozessoren lediglich ein Beispiel sind. Beispielsweise werden, insbesondere für spezifische Anwendungen wie etwa Mobilverarbeitungsanwendungen, umfassend digitale Signalprozessoren (DSPs) verwendet. DSPs sind typisch so konfiguriert, dass die Leistung der betroffenen Anwendungen optimiert wird, wobei sie spezialisiertere Ausführungseinheiten und Anweisungssätze verwenden, um dies zu erreichen. Insbesondere, jedoch nicht ausschließlich, bei Anwendungen wie etwa der Mobiltelekommunikation ist es erwünscht, eine ständig wachsende DSP-Leistung zu erzielen, während der Stromverbrauch so niedrig wie möglich gehalten wird.
  • Um die Leistung eines digitalen Systems weiter zu verbessern, können zwei oder mehr Prozessoren miteinander verbunden werden. Zum Beispiel kann in einem digitalen System ein DSP mit einem Universalprozessor verbunden werden. Der DSP führt numerisch intensive Signalverarbeitungsalgorithmen aus, während der Universalprozessor den gesamten Steuerungsablauf organisiert. Die beiden Prozessoren kommunizieren und übertragen Daten zur Signalverarbeitung über einen gemeinsam genutzten Speicher.
  • Die vorliegende Anwendung ist ein System und ein Verfahren für dessen Betrieb zur Verbesserung der Leistung von Prozessoren wie etwa beispielsweise, jedoch nicht ausschließlich, digitalen Signalprozessoren.
  • Dementsprechend wird ein digitales System geschaffen, das eine Speicherschaltung besitzt, auf die durch mehrere Anforderungsschaltungen zugegriffen werden kann. Eine Zeitplanungsschaltung ist mit den Anforderungsschaltungen verbunden, wobei sie so betreibbar ist, dass Speicherzugriffe auf die Speicherschaltung sequentiell zeitlich geplant werden. Eine Auswahlschaltung ist mit einer der Anforderungsschaltungen und mit dem Ausgang der Zeitplanungsschaltung verbunden. Es wird eine Zugriffsbetriebsart-Schaltungsanordnung geschaffen, die wenigstens eine erste Zugriffsbetriebsart oder eine zweite Zugriffsbetriebsart angibt und mit der Auswahlschaltung steuerbar verbunden ist, so dass alle Anforderungsschaltungen sequentiell auf die Speicherschaltung zugreifen können, wenn die Zugriffsbetriebsart-Schaltungsanordnung die erste Zugriffsbetriebsart angibt, und eine der Anforderungsschaltungen einen ausschließlichen Zugriff auf die Speicherschaltung hat, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt. Ein Größenregister, das einen Größenparameter hält, ist mit der Speicherschaltung verbunden. Ein erster Abschnitt der Speicherschaltung wird in Reaktion auf den Größenparameter ausgewählt, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt, wobei nur der erste Abschnitt der Speicherschaltung für einen ausschließlichen Zugriff durch die erste Anforderungseinrichtung betreibbar ist, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt.
  • Ein zweiter Abschnitt der Speicherschaltung, der in Reaktion auf den Größenparameter nicht gewählt ist, kann so betreibbar sein, dass er in einer Niedrigleistungsbetriebsart ist, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt.
  • Die Auswahlschaltung kann so betreibbar sein, dass auf einen zweiten Abschnitt der Speicherschaltung, der in Reaktion auf den Größenparameter nicht gewählt wird, ein Zugriff durch eine zweite Anforderungseinrichtung erzielt wer den kann, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt.
  • Ferner wird hier offenbart, dass ein Verfahren zum Betreiben eines digitalen Systems, das eine Speicherschaltung besitzt, die von mehreren Anforderungsschaltungen gemeinsam genutzt wird, geschaffen wird. Der zwischen den mehreren Anforderungsschaltungen aufgeteilte Zugriff auf die Speicherschaltung wird zugelassen, wenn sich das digitale System in einer ersten Betriebsart befindet. Ein erster Abschnitt der Speicherschaltung wird in Reaktion auf einen in einem Register gespeicherten Größenparameter ausgewählt, so dass ein zweiter Abschnitt der Speicherschaltung nicht gewählt ist. Der Zugriff auf den ersten Abschnitt der Speicherschaltung wird nur für eine erste Anforderungseinrichtung der mehreren Anforderungseinrichtungen begrenzt, wenn sich das digitale System in einer zweiten Betriebsart befindet.
  • Einzelne Ausführungsformen gemäß der Erfindung werden nun lediglich beispielhaft und mit Bezug auf die beigefügte Zeichnung beschrieben, in der:
  • 1 ein Blockschaltplan zweier Prozessoren ist, die gemeinsam einen Speicherblock nutzen, in dem ein Abschnitt des Speicherblocks als Nur-Host-Speicher bestimmt werden kann;
  • 2 ein Blockschaltplan des digitalen Systems von 1 ist, der den Speicherblock von 1 ausführlicher zeigt;
  • 3 ein Blockschaltplan eines alternativen digitalen Systems zu dem in 1 veranschaulichten ist;
  • 4 ein ausführlicherer Blockschaltplan einer Megazelle aus 3 ist;
  • 5 ein ausführlicher Blockschaltplan des DMA-Controllers von 4 ist;
  • 6 ein Blockschaltplan ist, der Abschnitte der Host-Anschlussschnittstelle des DMA-Controllers zeigt;
  • 7A ein Zeitablaufplan ist, der einen Übergang von der SAM-Betriebsart zu der HOM-Betriebsart veranschaulicht;
  • 7B ein Zeitablaufplan ist, der einen Übergang von der HOM-Betriebsart zu der SAM-Betriebsart veranschaulicht;
  • 8 ein Zeitablaufplan ist, der einen Speicherzugriff in der SAM-Betriebsart veranschaulicht;
  • 9 ein Zeitablaufplan ist, der einen Speicherzugriff in der HOM-Betriebsart veranschaulicht;
  • 10 eine schematische Darstellung einer integrierten Schaltung ist, die das digitale System von 1 enthält; und
  • 11 eine beispielhafte Implementierung eines Beispiels einer solchen integrierten Schaltung in einer Mobiltelekommunikations-Vorrichtung wie etwa in einem Mobiltelephon veranschaulicht.
  • Sofern nichts anderes angegeben ist, beziehen sich einander entsprechende Bezugszeichen und Symbole in den verschiedenen Figuren und Tabellen auf einander entsprechende Teile. Es werden gleiche Bezugszeichen verwendet, um gleiche Teile zu kennzeichnen, wobei sich die Figuren auf das digitale System von 3 beziehen, sofern nichts anderes festgelegt ist.
  • Auch wenn das System und das Verfahren, die hier offenbart sind, besondere Anwendung in digitalen Signalprozessoren (DSPs) finden, die z. B. in einer anwendungsspezifischen integrierten Schaltung (ASIC) implementiert werden, können sie ebenso Anwendung in anderen Prozessorformen finden. Eine ASIC kann eine oder mehrere Megazellen enthalten, die jeweils kundenspezifisch entworfene Funktionsschaltungen zusammen mit im Voraus entworfenen Funktionsschaltungen, die von einer Entwurfsbibliothek bereitgestellt werden, aufweisen.
  • 1 ist ein Blockschaltplan des digitalen Systems 1, das einen Host-Prozessor 10 und einen DSP 20 besitzt, die einen Speicherblock 42, in dem ein Abschnitt 42a des Speicherblocks als Nur-Host-Speicher bestimmt werden kann, gemeinsam nutzen. Ein verbleibender Abschnitt 42b des Speicherblocks wird zwischen dem Host-Prozessor und dem DSP aufgeteilt. Ein Zeitplanungsblock 40 empfängt Übertragungsanforderungen von einem Speicherzugriffsknoten im Host-Prozessor 10, der mit dem Bus 11 verbunden ist, und Übertragungsanforderungen von einem Speicherzugriffsknoten im DSP 20, der mit dem Bus 21 verbunden ist. Die Zeitplanungseinrichtung 40 verschachtelt diese Anforderungen und übergibt sie über einen Anforderungsausgangsknoten, der mit dem Bus 41 verbunden ist, an den Speicherblock 42b. Zugriffe durch den Host-Prozessor können in der SAM-Betriebsart (Speicher für den gemeinsamen Zugriff) oder in der HOM-Betriebsart (Nur-Host-Speicher) erfolgen. Ein Zugriff durch den Host 10 in der HOM-Betriebsart umgeht die Synchronisationsschaltungsanordnung in der Zeitplanungseinrichtung 42, die den Zeitablauf mit dem DSP-Zeitablauf synchronisiert. Auf den Nur-Host-Speicher 42a wird in der HOM-Betriebsart durch den Bus 11 auf eine Weise, die die Zeitplanungseinrichtung 40 umgeht, direkt zugegriffen. Diese Zugriffe sind schneller, da keine Zeitplanungsverzögerung zugezogen wird.
  • Der Speicherblock 42 besitzt eine Gesamtgröße S1. Der Nur-Host-Speicher 42a besitzt eine Größe S2, die z. B. für eine bestimmte Anwendung ausgewählt wird. Der gemeinsam genutzte Speicherabschnitt 42b besitzt eine Größe S3, die gleich S1 minus S2 ist. Für eine andere Anwendung, die in dem digitalen System 10 ausgeführt wird, ist es wünschenswert, eine andere Größe S1 zu besitzen. Die Größe S1 kann unter Steuerung des Host-Prozessors 110 geändert werden.
  • 2 ist ein Blockschaltplan des digitalen Systems 1, der den Speicherblock von 1 ausführlicher zeigt. In der vorliegenden Ausführungsform beträgt die Größe S1 128 K × 16-Bit-Wörter. Sechzehn Speicherbänke 50(0)50(15) betragen jeweils 8 K × 16. Die Größe S2 kann durch Schreiben eines Größenwerts in das Größenregister 60 so ausgewählt werden, dass sie irgendein Vielfaches von 8 K × 16 beträgt. Der Größendecodierer 61 erzeugt sechzehn einzelne HOM-Größenfreigabeleitungen 61(0)61(15), die mit der jeweils entsprechenden Speicherbank verbunden sind. Tabelle 1 listet die HOM-Größenwerte, die im Größenre gister 60 gespeichert werden können, und die resultierenden HOM-Größenfreigabesignale sowie die Zuordnung von HOM- und SAM-Speichergrößen auf. Ein Controller 62 für die HOM-Betriebsart reagiert auf eine Richtlinie, die über den Bus 41 geschrieben wird, so dass er sich entweder in der HOM-Betriebsart befindet oder in die SAM-Betriebsart umschaltet. In Tabelle 1 ist zu beachten, dass, wenn die HOM-Betriebsart "0" ist, d. h. in der SAM-Betriebsart, der HOM-Größenwert ignoriert wird und sich der gesamte Speicherblock in der SAM-Betriebsart befindet.
  • Figure 00060001
    Tabelle 1 – HOM-Größenfreigabesignale
  • Nochmals in 2 besitzt jede Speicherbank 50(n) einen Multiplexer 52, der an einem Eingang den Bus 11 und an einem zweiten Eingang den Bus 41 empfängt. Die Multiplexersteuerschaltung 53 stellt ein Steuersignal bereit, so dass der Bus 11 ausgewählt wird, wenn das HOM-Bit aktiviert ist und wenn ein entsprechendes HOM-Größenfreigabesignal aktiviert ist. Andernfalls wählt der Multiplexer 52 den Bus 41 aus. Ein Ausgangsknoten jedes Multiplexers stellt das ausgewählte Anforderungssignal, das die Adresse und die Daten enthält, an der zugeordneten Speicherbank bereit.
  • Während die HOM-Betriebsart aktiviert ist, können die Anforderungen vom DSP 20 immer noch durch die Speicherbänke, die als SAM zugeordnet sind, bedient werden. In einer alternativen Ausführungsform können die Speicherbänke, die in Reaktion auf den Größenparameter in der HOM-Betriebsart nicht freigegeben sind, in einen Niedrigleistungszustand versetzt werden, indem eine torgesteuerte Taktschaltung verwendet wird, um z. B. den Takt für die Speicherbank auf "AUS" zu schalten.
  • 3 ist ein Blockschaltplan eines weiteren digitalen Systems, das eine alternative Ausführungsform zu der in 1 veranschaulichten enthält. Die Megazelle 100 enthält eine CPU, einen DMA-Controller sowie Speicherschaltungen und wird nachfolgend ausführlicher beschrieben. Der Host-Prozessor 110 ist mit der Megazelle 100 über eine erweiterte Host-Anschlussschnittstelle (EHPI) 112 verbunden. Die EHPI 112 stellt einen Multiplexbetrieb des Adressen- und Datenbusses 111 des Hosts zur Anpassung an die von der Megazelle 100 bereitgestellte Host-Anschlussschnittstelle 115 bereit. Auf den Speicher 122, die Universalperipheriegeräte 132 und die dedizierten Peripheriegeräte 134 kann durch den Host-Prozessor 110 oder durch die CPU in der Megazelle 100 zugegriffen werden. Die Steuerschaltungsanordnung 170 stellt Taktsignale für die Schaltungsanordnung in der Megazelle 100 bereit. Die MCU 110 enthält ihre eigene Zeitgeber-Schaltungsanordnung, was erfordert, dass die Zugriffe von der MCU 110 auf die Betriebsmittel, die durch die Megazelle 100 gesteuerten werden, mit der Zeitbasis der Megazelle 100 synchronisiert werden müssen.
  • Der JTAG-Testanschluss 160 enthält Hardware-Erweiterungen für verbesserte Fehlersuchfunktionen. Diese helfen bei der Entwicklung des Anwendungssystems (der Software und der Hardware) des Anwenders unter Verwendung lediglich der JTAG-Schnittstelle, eines Testzugriffsanschlusses und einer Boundary-Scan-Architektur, die durch den IEEE-1149.1-Standard mit umfassenden Betriebsartverbesserungen definiert ist, wie in dem US-Patent 5.828.824 beschrieben ist. Die Emulationsschaltungsanordnung 150 stellt eine Fehlersuch-Programmsteuerung und Ablaufüberwachungseinrichtungen bereit.
  • 4 ist ein ausführlicherer Blockschaltplan der Megazelle 100. Die CPU 200 ist ein digitaler Signalprozessor (DSP). Die CPU 200 greift über die Speicherschnittstellen-Schaltungsanordnung 202 auf die Speicherschaltungen 220, 222 und 224 und die EMIF 120 zu. Über die RHEA-Brücke 230 zum RHEA-Bus 130 greift die CPU 200 auf andere Betriebsmittel zu. Der DMA-Controller 210 ist ein Mehrkanal-DMA-Controller mit separaten Kanal- und Anschluss-Controllern, wobei jeder Anschluss eine lokale Zeitplanungs-Schaltungsanordnung aufweist. Der DMA 210 kann so programmiert sein, dass in dem digitalen System 10 Daten zwischen verschiedenen Quellen und Zielen wie etwa dem Einzelzugriffs-RAM 220, dem Doppelzugriffs-RAM 222 und dem externen Speicher 122 über die externe Speicherschnittstelle 120 sowie den Peripherievorrichtungen am Betriebsmittelbus (RHEA) 130 über die RHEA-Brücke 230 übertragen werden. Die MCU 110 kann ebenso auf diese Betriebsmittel über die Host-Anschlussschnittstelle (HPI) 115, die mit dem DMA-Controller 210 verbunden ist, zugreifen. Der Weg zwischen dem HPI-Anschluss und dem Speicher ist ein DMA-Kanal.
  • Die Speicherschaltung 220 ist ein 128 K × 16-Einzelzugriffs-RAM (128 K × 16-SARAM), der sechzehn 32-KByte-Module umfasst. Der DMA 210 kann durch einen 16-Bit-DMA-Bus auf den SARAM zugreifen. Der DMA-Buszugriff (R/W) kann in der SAM-Betriebsart (Betriebsart für den gemeinsamen Zugriff) oder in der HOM-Betriebsart (Nur-Host-Betriebsart) erfolgen. Ein Zugriff durch die MCU 110 in der HOM-Betriebsart umgeht die Synchronisationsschaltungsanordnung im DMA 210, die den MCU-Zeitablauf mit dem Zeitablauf der Megazelle 100 synchronisiert. Ein HOM-Größenregister kann bereitgestellt werden, so dass 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 im SARAM implementiert, wohingegen sich das Steuerregister in dem über den RHEA-Buszweig 130a zugänglichen DMA-E/A-Bereich befindet.
  • Die Speicherschaltung 222 ist ein 32 K × 16-Doppelzugriffs-RAM (DARAM), der vier 16-KByte-Module umfasst. Die CPU 200 kann zwei Zugriffe auf ein DARAM-Speichermodul in einem Zyklus ausführen; z. B. ein einfaches Lesen und ein einfaches Schreiben oder ein langes Lesen und ein langes Schreiben, ein doppeltes Lesen und ein doppeltes Schreiben usw. Die den verschiedenen Zugriffen zugewiesenen Prioritäten werden von dem DARAM gehandhabt. Das Prioritätsschema zwischen CPU und DMA ist programmierbar. Die Prioritätsschaltungsanordnung ist im DARAM implementiert, wohingegen sich das Steuerregister in dem über den RHEA-Bus zugänglichen DMA-E/A-Bereich befindet.
  • Eine hier offenbarte alternative Ausführungsform des Systems und des Verfahrens kann andere Konfigurationen des Speichers und der Peripheriegeräte aufweisen.
  • 4 zeigt lediglich jene Abschnitte der Megazelle 100, die für ein besonderes Verständnis einer Ausführungsform der vorliegenden Erfindung relevant sind. Einzelheiten der allgemeinen Konstruktion für DSPs sind gut bekannt und können anderswo leicht gefunden werden. Zum Beispiel beschreibt das an Frederick Boutaud u. a. erteilte US-Patent 5.072.418 ausführlich einen DSP und ist hier durch Literaturhinweis eingefügt. Das an Gary Swoboda u. a. erteilte US-Patent 5.329.471 beschreibt ausführlich, wie ein DSP zu testen und zu emulieren ist, und ist hier durch Literaturhinweis eingefügt. Einzelheiten von Abschnitten des DMA-Controllers 210, die für eine besondere Ausführungsform der vorliegenden Erfindung relevant sind, sind hier hinreichend ausführlich erläutert, so dass der Durchschnittsfachmann auf dem Mikroprozessorgebiet die Erfindung ausführen und verwenden kann.
  • Tabelle 2 fasst mehrere der überall in diesem Dokument verwendeten Abkürzungen zusammen.
  • Figure 00100001
    Tabelle 2 – Glossar der Bezeichnungen
  • Der DMA-Controller 210 überträgt Daten zwischen Punkten im Speicherraum ohne Eingreifen durch die CPU. Der DMA ermöglicht, dass Datenverschiebungen zu und von dem internen Speicher, dem externen Speicher und den Peripheriegeräten im Hintergrund des CPU-Betriebs stattfinden. Der DMA besitzt sechs unabhängige programmierbare Kanäle, die sechs verschiedene Kontexte für den DMA-Betrieb ermöglichen, die in der Zeitmultiplexbetriebsart (TDM-Betriebsart) ausgeführt werden.
  • Die DMA-Architektur ist um die Anschlüsse und Kanäle geordnet. Nochmals in 4 besitzt jedes Betriebsmittel, auf das der DMA zugreifen kann, seinen eigenen Anschluss: den SARAM-Anschluss 212a, den DARAM-Anschluss 212b, den EMIF-Anschluss 212c und den RHEA-Anschluss 212d. Der HPI-Anschluss 214 ist ein Sonderfall, der nachfolgend erläutert wird. Ein Anschluss kann Lese- und Schreibzugriffe zu dem Betriebsmittel, mit dem er verbunden ist, über einen hierzu vorgesehenen Bus vornehmen.
  • Dieser DMA-Controller erfüllt den Bedarf von Anwendungen mit hohem Durchsatz und von Mehrkanalanwendungen wie etwa Funktelephon-Basisstationen oder dem Datenverkehr für einen Zellenhandapparat.
  • 5 ist ein ausführlicher Blockschaltplan des DMA-Controllers von 4. Ein Kanal wird aus einem Quellenanschluss, einem FIFO und einem Zielanschluss hergestellt. In der vorliegenden Ausführungsform sind sechs Kanäle verfügbar, obgleich andere Ausführungsformen alternative Anzahlen von Kanälen aufweisen können. Sechs Kanal-Controller 310315 steuern die sechs Kanäle. Alle sechs Kanäle werden an jedem Anschluss über entsprechende Anschluss-Multiplexer 330333 multiplexiert. Jede Kanalsteuerung weist einen entsprechenden FIFO(n) auf. Die FIFOs werden von den Kanälen nicht gemeinsam genutzt; jeder Kanal besitzt seinen eigenen FIFO. Dies ermöglicht mehr Unabhängigkeit zwischen den Übertragungen. Eine DMA-Übertragung auf einem Kanal (n) erfolgt in zwei Schritten: Der Quellenanschluss führt einen Lesezugriff auf ein Quellenbetriebsmittel aus, holt die Daten und legt sie im FIFO des Kanals (n) ab; wobei der Zielanschluss aktiviert wird und einen Schreibzugriff auf das Zielbetriebsmittel zum Schreiben der Daten ausführt, wenn sich die Daten im FIFO befinden. Jeder Kanal-Controller enthält eine separate Leseadresseneinheit RAU(0–5) sowie eine separate Schreibadresseneinheit WAU(0–5).
  • Alle Anschlüsse arbeiten parallel. In dieser Ausführungsform gibt es vier Anschlüsse, die die vier Datenspeicherungs-Betriebsmittel anschließen, weshalb vier gleichzeitige Lese-/Schreibzugriffe in demselben Taktzyklus erfolgen können. Um diese Zugriffsrate zu unterstützen, werden die Adressenberechnung und die Verschachtelung pipelineartig ausgeführt. Die maximale Übertragungsrate für diese Ausführungsform mit vier Anschlüssen beträgt zwei Wörter (zwei Lese- und zwei Schreibvorgänge) pro CPU-Zyklus. Dies wird erreicht, wenn die Quellen und Ziele unabhängig sind. Eine alternative Ausführungsform kann eine größere Anzahl von Anschlüssen mit einer entsprechend höheren maximalen Übertragungsrate aufweisen.
  • Ein Leseadressenbus RA umfasst sieben einzelne Busse, um eine Kanalleseadresse von jeder Leseadresseneinheit RAU(0–5) und von dem HPI-Anschluss zu jedem Anschlusseingangs-Mux 330333 parallel zu übermitteln. Ein Schreibadressenbus WA umfasst sieben einzelne Busse, um eine Kanalschreibadresse von jeder Schreibadresseneinheit WAU(0–5) und von dem HPI-Anschluss zu jedem Anschlusseingangs-Mux 330333 parallel zu übermitteln. Ein Datenausgangsbus DO umfasst gleichfalls sieben einzelne Busse, um einen Datenausgangswert von jedem FIFO(0–5) und von dem HPI-Anschluss zu jedem Anschlusseingangs-Mux 330333 parallel zu übermitteln. Ein Dateneingangsbus DI umfasst vier einzelne Busse, um einen Dateneingangswert von jedem Anschluss zu jedem FIFO(0–5) und zu dem HPI-Anschluss parallel zu übermitteln.
  • Ein DMA-Anschluss sendet eine Anforderung an seinen zugeordneten Speicher, um in diesem Speicher ein Datenelement zu lesen oder zu schreiben. Eine Übertragung eines Wortes besteht aus einer Leseanforderung an einem Quellenanschluss i, gefolgt von einer Schreibanforderung am Zielanschluss j (i kann gleich j sein). Eine Anforderung wird durch ihren Typ (r für Lesen, w für Schreiben) und den Kanal, zu dem sie gehört, definiert.
  • Beispiel: ri ist eine Leseanforderung auf dem Kanal i
    wj ist eine Schreibanforderung auf dem Kanal j
  • Jeder Anschluss besitzt seine eigene Verschachtelungseinrichtung 350353, um den Kanal-Multiplexbetrieb an dem zugeordneten Anschluss zu steuern. Die Verschachtelungseinrichtung empfängt Lese- und Schreibanforderungen von jedem Kanal, berechnet, welche die nächste Anforderung ist, die bearbeitet werden muss, und löst eine Anschlusssteuerungs-Zustandsmaschine aus, um diese Anforderung zu bearbeiten.
  • Der DMA-Controller 210 besitzt eine Anforderungszuordnungseinrichtung 340. Es kann bis zu dreizehn Anforderungen geben, die in irgendeinem gegebenen Taktzyklus anstehen: sechs Leseanforderungen, sechs Schreibanforderungen und eine HPI-Anforderung. Um die Komplexität der Verschachtelungseinrichtung zu verringern, kann eine Verschachtelungseinrichtung in der vorliegenden Ausführungsform ein Maximum von fünf simultanen Anforderungen gleichzeitig verschachteln. Die Anforderungszuordnungseinrichtung 340 überprüft die DMA-Konfiguration sowie die Signale der anstehenden Anforderungen und wählt ein Maximum von fünf Anforderungssignalen aus, die an jede Verschachtelungseinrichtung zur Verarbeitung gesendet werden. In einer alternativen Ausführungsform kann die Zuordnungseinrichtung in getrennte Abschnitte unterteilt werden, so dass jeder Anschluss eine in dem Anschluss enthaltene Zuordnungsschaltungsanordnung aufweist. In einer weiteren Ausführungsform kann eine komplexere Verschachtelungseinrichtung alle Anforderungen, die von allen Kanälen erzeugt werden, direkt empfangen und zeitlich planen.
  • Jeder Anschluss besitzt einen zugeordneten Anschlusssteuerblock 360363. Diese Blöcke sind für das Auslösen der Lese-/Schreibzugriffe auf die Speicher und Peripheriegeräte verantwortlich. Sie realisieren das Transaktions-Zugriffsprotokoll zwischen den Speichern oder den Peripheriegeräten und dem DMA. Diese Protokolle sind dieselben für den SARAM und den DARAM. Das RHEA-Busprotokoll und das EMIF-Protokoll sind verschieden. Somit wird jeder Anschluss auf den Betriebsmitteltyp abgestimmt, mit dem er verbunden ist.
  • Jeder Kanal-Controller besitzt einen zugeordneten Prioritätsblock PRIO(0–5). Die Funktion dieses Blocks besteht darin, ein in dem DMA verfügbares Prioritätsschema mit drei Ebenen zu realisieren: hohe Priorität für die HPI, hohe Priorität für die Kanäle, niedrige Priorität für die Kanäle.
  • Jeder Kanal-Controller besitzt einen zugeordneten Ereignissynchronisationsblock EVENT(0–5). Jeder Ereignissynchronisationsblock wartet auf Ereignisse, die eine Übertragung auf seinem Kanal auslösen. Jeder Block erwartet ferner Ereignisrückgänge.
  • In dieser Ausführungsform weisen die Kanal-FIFOs je acht Phasen auf. Ein FIFO empfängt die Daten, die von einem Quellenanschluss zu einem Zielan schluss übermittelt werden. Sie ermöglichen die Pipelineverarbeitung der DMA-Übertragungen und die Burst-Verarbeitung zu/von den externen Speichern. Bursts mit acht Datenwörtern sind auf allen Kanälen möglich.
  • Der Unterbrechungsgenerator 370 erzeugt gemäß der DMA-Konfiguration und dem DMA-Zustand Unterbrechungen für die CPU. Jeder Kanal besitzt sein eigenes zugeordnetes Unterbrechungssignal dma_nirq(5–0).
  • Die RHEA-Schnittstelle 380 schließt den RHEA-Bus 130a von der RHEA-Brücke an. Die RHEA-Schnittstelle 380 wird lediglich für die Lese- und Schreibvorgänge der CPU in den DMA-Konfigurationsregistern verwendet. DMA-Zugriffe auf die RHEA-Peripheriegeräte erfolgen über den RHEA-Anschluss und nicht über die RHEA-Schnittstelle.
  • Die Beschreibungsblöcke CFG(0–5) werden verwendet, um den Status der DMA-Übertragungen zu steuern und zu überwachen. Es gibt einen Beschreibungsblock pro Kanal. Sie werden über die RHEA-Schnittstelle 380 gelesen/geschrieben. Der Beschreibungsblock 320 wird verwendet, um den Status der Host-Prozessorübertragungen zu steuern und zu überwachen. In das HOM-Größenregister 321 kann ein Größenwert geladen werden, um einen Abschnitt des SARAM 220, der als HOM-Speicher betrachtet wird, zu spezifizieren.
  • Der HPI-Anschluss 214 ermöglicht Direktübertragungen zwischen dem HOST und dem Speicher. Dieser Weg unterstützt die HOM- und die SAM-Betriebsart. In der HOM-Betriebsart werden die DMA-Register umgangen. Das Umschalten von SAM auf HOM erfordert, dass der DMA-Host-Kanal vor dem Umschalten leer ist.
  • HPI-Anschluss
  • Der HPI-Anschluss wird nun ausführlicher beschrieben. 6 ist ein Blockschaltplan, der Abschnitte der Host-Anschlussschnittstelle des DMA-Controllers 210 zeigt. Tabelle 3 fasst die verschiedenen HPI-Betriebsarten zusammen. In der HOM-Betriebsart wird der DMA völlig umgangen, wenn die HPI einen Zugriff auf den SARAM ausführt. Während der HOM-Betriebsart können deshalb Abschnitte des DMA-Controllers oder der gesamte DMA-Controller und die CPU 200 in einen Niedrigleistungszustand versetzt werden, ohne Übertragungen von dem Host-Prozessor zu beeinflussen. Wenn die SAM-Betriebsart besteht und die HPI Vorrang vor den DMA-Kanälen besitzt, wird der DMA völlig umgangen, wenn die HPI auf den SARAM oder den DARAM zugreift. Dies ermöglicht eine Übertragungsbandbreite von bis zu 20 MWörter/s von der MCU zum internen Speicher. Wenn die HPI dieselbe Priorität wie die DMA-Kanäle besitzt, werden alle HPI-Anforderungen über den DMA verarbeitet.
  • Figure 00150001
    Tabelle 3 – HPI-Betriebsarten
  • Ein DMA-Freigabe/Sperr-Steuerregister (DMEDC) 600 ist ein 16-Bit-Lese/Schreib-Register, auf das über den RHEA-Bus zugegriffen wird. Es enthält die DMA-Übertragungspriorität und die Übertragungsfreigabesteuerung für jeden DMA-Kanal. Ein DMA-Freigabe/Sperr-Steuerbitfeld (DE[5:0]-Feld) spezifiziert die DMA-Freigabe/Sperr-Steuerung für jeden Kanal (0 = gesperrt, 1 = freigegeben). Die DE[5:0]-Felder werden beim Rücksetzen auf null gesetzt.
  • Ein Feld für die Kanalpriorität PRIO[5:0] definiert die Priorität jedes Kanals: PRIO[i] = 0 gibt an, dass der Kanal i eine niedrige Priorität besitzt; während PRIO[i] = 1 angibt, dass der Kanal i eine hohe Priorität besitzt. Ein Feld für die HPI-Priorität HPI[1:0] definiert die Priorität des Host-Anschlusses in Bezug auf die DMA-Kanäle. Wenn HPI[1:0] = 10 oder HPI[1:0] = 11 ist, besitzt die HPI gegenüber allen DMA-Kanälen die HÖCHSTE Priorität und kann lediglich auf den chipintegrierten RAM zugreifen. Die anderen DMA-Kanäle können nicht auf den chipintegrierten RAM zugreifen. Wenn HPI[1:0] = 01 ist, wird die HPI sequentiell in den DMA-Kanal-Zeitmultiplex-Zugriffsfluss (DMA-Kanal-TDM- Zugriffsfluss) eingeordnet, wobei sie wie ein Kanal HOHER Priorität behandelt wird. Wenn HPI[1:0] = 00 ist, wird die HPI in den DMA-Kanal-TDM-Fluss integriert, wobei sie wie ein Kanal NIEDRIGER Priorität behandelt wird. Nach dem Rücksetzen ist HPI[1:0] = 11.
  • Die Übertragungen aller Kanäle werden auf eine Round-Robin-Weise zeitmultiplexiert. In einer gegebenen Round-Robin-Warteschlange wird jeder Kanal auf den nächsten Kanal geschaltet, nachdem sein Lesen ausgelöst worden ist. Die Kanäle niedriger Priorität bleiben solange unerledigt, wie Kanäle hoher Priorität ausgelöst werden müssen. Die Kanäle niedriger Priorität werden auf eine Round-Robin-Weise ausgelöst, wenn die ereignissynchronisierten Kanäle hoher Priorität auf Ereignisse warten und die nicht synchronisierten Kanäle hoher Priorität fertig sind.
  • Nochmals im DMEDC-Register 600 spezifiziert ein CPU/DMA-Busprioritätsbit die Priorität der CPU 200 in Bezug auf den DMA-Controller 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 Vorrang vor den Bussen des DMA 210. Wenn CPU/DMA = 0 ist, haben die Busse des DMA 210 für alle internen und externen Speicherzugriffe Vorrang vor den Bussen der CPU 200.
  • Wenn die HPI die hohe Priorität (HPI[1:0] = 10 oder HPI[1:0] = 11) besitzt, hat sie den ausschließlichen Zugriff auf den SARAM und auf den DARAM. Alle den SARAM oder den DARAM betreffenden DMA-Kanäle werden unterbrochen. Die anderen DMA-Kanäle können den Betrieb fortführen.
  • In der HOM-Betriebsart erfolgen die Übertragungen zu und von der MCU einzig über die HPI. Der DMA wird umgangen. Lediglich ein durch das HOM-Größenregister 321 spezifizierter Bereich im SARAM kann Quelle/Ziel einer HPI-Übertragung in der HOM-Betriebsart sein, wobei das SARAM-Zugriffsprotokoll direkt durch die HPI angesteuert wird. In der vorliegenden Ausführungsform besteht der SARAM 220 aus 128 K × 16-Bit-Wörtern. Sechzehn Speicherbänke 650(0)650(15) betragen jeweils 8 K × 16. Eine Größe für einen HOM-Speicherabschnitt kann so ausgewählt werden, dass sie irgendein Vielfaches von 8 K × 16 beträgt, indem ein Größenwert in das Größenregister 321 geschrieben wird. Der Größendecodierer 661 erzeugt sechzehn einzelne HOM-Größenfreigabeleitungen 661(0)661(15), die mit jeder entsprechenden Speicherbank verbunden sind. Folglich kann eine Speicherbank, die nicht ausgewählt ist, um in dem HOM-Abschnitt zu liegen, in einen Niedrigleistungszustand versetzt werden. Torgesteuerte Taktschaltungen (nicht gezeigt), die jeder Speicherbank zugeordnet sind, erfassen, wenn eine Bank nicht ausgewählt ist, wobei sie den Takt für diese Bank unterbrechen, um den Stromverbrauch zu verringern.
  • Übertragungen durch den DMA, die keinen Zugriff auf den SARAM 220 erfordern, können weitergehen, während sich der DMA in der HOM-Betriebsart befindet, wenn der DMA nicht in den Leerlauf versetzt ist.
  • 7A ist ein Zeitablaufplan, der einen Übergang von der SAM-Betriebsart zu der HOM-Betriebsart veranschaulicht, der gemäß der Steuerung der Betriebsartänderungs-Zustandsmaschine 662 stattfindet. Ein Übergang wird durch Setzen eines HOM-Betriebsartbits in einem Statusregister 602, das auf dem RHEA-Bus speicheradressiert wird und ein bei 700 angegebenes HOM-SAM-Anforderungssignal gl_homnsamreq_nr aktiviert, angefordert. Vor Eintreten der HOM-Betriebsart muss der DMA alle seine laufenden Kanalzugriffe an dem SARAM-Anschluss abschließen und alle Kanäle unterbrechen, die Zugriff auf den SARAM-Bereich erfordern, was durch die Verzögerungszeitdauer 710 angegeben ist. Dies erfolgt durch Vergleichen der Quellen und der Ziele aller Kanäle. Wenn sie gleich dem SARAM sind, werden die relevanten aktiven Bits ungültig gesetzt, wobei der Kanal durch eine Verschachtelungsblockierung unterbrochen wird. Wenn alle SARAM-Übertragungen abgeschlossen sind, wird ein Bereitschaftssignal dma_homnsamrdy_nr bei 702 aktiviert. Mit dem nächsten Takt wird das HOM-Betriebsartsignal 663 (gl_homnsam_tr) bei 704 aktiviert und zum SARAM-Mux-Steuerblock 610, zum DARAM-Mux-Steuerblock 612 und zum HOM-Decodierblock 661 gesendet. Nach Übergang in die HOM-Betriebsart können der DMA- Controller und/oder die CPU 200 in den Leerlauf versetzt werden, um Energie zu sparen.
  • 7B ist ein Zeitablaufplan, der einen Übergang von der HOM-Betriebsart zu der SAM-Betriebsart veranschaulicht. Der DMA muss einen Takt besitzen (d. h. er muss die Leerlaufbetriebsart verlassen haben), bevor ein HOM-SAM-Übergang ausgeführt wird. Alle HPI-HOM-Zugriffe werden abgeschlossen, wenn die HPI einen HOM-SAM-Übergang anfordert. Die Anforderung für die Betriebsartänderung erfolgt durch Rücksetzen des HOM-Betriebsartbits in dem Statusregister, was bewirkt, dass das Anforderungssignal gl_homnsamreq_nr bei 730 aktiviert wird. Der DMA weist keine Operationen am SARAM-Anschluss auf, da er sich in der HOM-Betriebsart befindet, weshalb das Bereitschaftssignal dma_homnsamrdy_nr im nächsten Takt bei 732 aktiviert wird. Das Betriebsartsignal 663 (gl_homnsam_tr) wird bei 734 durch die HOM-Zustandsmaschine 662 in den tiefen Zustand übergeleitet.
  • Wie wiederum in 6 gezeigt ist, erzeugt der HPI-Prioritätsänderungsblock 620 in Reaktion auf den Zustand der Bits für die HPI-Priorität HPI[1:0] im DMEDC-Register 600 das Signal HPI_direct_access 621. Das Signal 621 wird in den HPI-Mux-Steuerlogikblocks 610, 612 und 614 verwendet, um den HPI-Direktzugriff auf den SARAM und den DARAM gemäß der HPI-Priorität freizugeben/zu sperren. Um zu verhindern, dass die HPI-Zugriffe die DMA-Zugriffe stören, muss dieses Signal nur geändert werden, wenn alle Kanäle, die auf den SARAM und auf den DARAM zugreifen, unterbrochen sind und wenn es keine Anforderungen mehr gibt, die am SARAM- und am DARAM-Anschluss anstehen. Die Bereitschaftssignale (nicht gezeigt) werden von den Anschlüssen bereitgestellt, um anzugeben, wenn eine Prioritätsänderung durch den Block 620 ausgeführt werden kann.
  • Der HPI-Prioritätsblock und der Chipauswahl-Demultiplexerblock 630 realisieren die beiden HPI-Prioritätspegel (niedrig, hoch), wenn die HPI-Priorität gleich der Priorität des DMA-Kanäle ist, wobei sie in Reaktion auf das HPI-Chip auswahlsignal cs_HPI die HPI-Anforderungen (saram_api_req, daram_api_req und emi_api_req) an die Zielanschlüsse 212ac senden.
  • Die HPI-SARAM-Multiplexer 640 wählen entweder die Adressen-/Datensignale 641 direkt von der Host-Anschlussschnittstelle 115 oder die Adressen-/Datensignale 642 vom SARAM-Anschluss 212a aus, um sie in Reaktion auf ein vom SARAM-Mux-Steuerblock 610 bereitgestelltes Auswahlsignal am SARAM 220 bereitzustellen. Der Datenausgangsbus vom SARAM ist direkt mit dem DMA-HPI-Datenausgangsbus verbunden. Das Bestätigungssignal vom SARAM wird durch den Bereitschafts-Mux 648 mit weiteren Speicherbestätigungen multiplexiert.
  • Die HPI-DARAM-Multiplexer 644 wählen entweder die Adressen-/Datensignale 641 direkt von der Host-Anschlussschnittstelle 115 oder die Adressen-/Datensignale 645 vom DARAM-Anschluss 212b aus, um sie in Reaktion auf ein vom DARAM-Multiplexersteuerblock 612 bereitgestelltes Auswahlsignal am DARAM 222 bereitzustellen. Der Datenausgangsbus vom DARAM ist direkt mit dem DMA-HPI-Datenausgangsbus verbunden. Das Bestätigungssignal vom DARAM wird durch den Bereitschafts-Mux 648 mit weiteren Speicherbestätigungen multiplexiert.
  • SARAM
  • Host-Zugriffe auf den SARAM erfolgen unter Verwendung der HPI-Schnittstelle 115 über den HPI-Anschluss 214 und einen DMA-Kanal. Wie oben beschrieben ist, sind zwei Zugriffsbetriebsarten möglich. In der Betriebsart für den gemeinsamen Zugriff (SAM) können sowohl die MCU als auch der DSP auf den SARAM zugreifen. Alle Zugriffe sind synchron mit dem dsp-Takt, wobei die Priorität durch das DMEDC-Konfigurationsregister 600 gesteuert wird. In der Nur-Host-Betriebsart (HOM) kann nur die MCU auf den SARAM zugreifen, wobei alle Zugriffe asynchron zum Takt sind. In diesem Fall wird der DMA-Kanal umgangen.
  • 8 ist ein Zeitablaufplan, der einen SARAM-Speicherzugriff in der SAM-Betriebsart veranschaulicht. Die Figur zeigt den Zeitablauf sowohl für ein Lesen in der SAM-Betriebsart als auch für ein Schreiben in der SAM-Betriebsart. In der SAM-Betriebsart erfolgen alle Anforderungen synchron zum DSP-Taktsignal dsp_clk, das von der Taktschaltungsanordnung im Steuerblock 170 bereitgestellt wird. Eine Anforderung erfolgt durch die HPI, die das Anforderungssignal Areq tief ansteuert. Das Signal Areq reagiert auf das HPI-Anforderungssignal saram_api_req. Die Adressensignale Aabus, das Lese-/Schreibsignal rnw, die Bytesignale Awrbyte usw. werden ebenfalls in demselben Taktzyklus angesteuert. Sobald der Anforderung durch die Entscheidungslogik stattgegeben wird, wird das Signal Aready_out wie bei 800 gezeigt aktiv (tief) angesteuert.
  • Für ein SAM-Lesen werden die Daten am Datenausgangsbus Adbusout wie bei 810 angegeben durch den SARAM in dem zweiten Zyklus in der tiefen Phase des dsp_clk angesteuert. Die Daten werden in der HPI an der folgenden Anstiegsflanke von dsp_clk bei 811 empfangen und zwischengespeichert.
  • Für ein Schreiben müssen die Daten durch die HPI am Dateneingangsbus Adbusin wie bei 820 gezeigt in dem zweiten Zyklus angesteuert werden.
  • 9 ist ein Zeitablaufplan, der einen Speicherzugriff in der HOM-Betriebsart veranschaulicht. Wie oben erläutert ist, wird der DMA in der HOM-Betriebsart umgangen. Deshalb stellt die HOM-Betriebsart eine Direktverbindung zwischen der HPI-Schnittstelle und dem SARAM-HPI/DMA-Anschluss her, wobei die Speicherzugriffe ungeachtet des Taktsignals, das von dem DSP 200 und dem DMA 210 verwendet wird, auf eine asynchrone Weise erfolgen.
  • Beim Systemstart, während die Rücksetzung aktiv ist, konfiguriert das HPI-Modul die HPI in der HOM-Betriebsart und lädt den Startcode in den SARAM-Speicher. Folglich müssen HOM-Betriebsartzugriffe ermöglicht werden, während die Rücksetzung aktiv ist.
  • In der HOM-Betriebsart besitzt das HPI-Modul den ausschließlichen Zugriff auf den SARAM. Durch die HPI, die das Chipauswahlsignal Acs bei 900 akti viert, wird eine HOM-Betriebsartanforderung ausgelöst. Dieses Signal wird durch den Demultiplexer-Block 630 erzeugt. Dieses Signal wird verwendet, um den SARAM-Speicherkern freizugeben, während das Anforderungssignal Areq das Kernübernahmesignal ist. Für Speicherlesevorgänge und Speicherschreibvorgänge wird bei der Abstiegsflanke von Areq, die bei 910 angezeigt ist, auf den Kern zugegriffen; wobei folglich der Adressenbus Aabus, die Steuersignale und die Signale des Dateneingangsbusses Adbusin für eine Vorbereitungszeit Tsetup vor dieser Flanke gültig sein müssen.
  • Da kein anderes Modul in der HOM-Betriebsart auf den SARAM zugreifen kann, wird dem Bereitschaftssignal Aready_out jedes Mal bei 911 stattgegeben, wobei es einfach eine gepufferte Version des Eingangssignals Areq ist. Die Daten sind nach der Zugriffszeit Tacc, nachdem Aready_out aktiv wird, für ein Lesen gültig.
  • 10 ist eine schematische Darstellung einer integrierten Schaltung 40, die den Prozessor 100 enthält. Wie gezeigt ist, weist die integrierte Schaltung mehrere Kontakte für die Oberflächenanbringung auf. Die integrierte Schaltung kann allerdings andere Konfigurationen, z. B. mehrere Anschlussstifte an einer unteren Oberfläche der Schaltung zur Anbringung in einem ZIF-Sockel oder tatsächlich irgendeine andere geeignete Konfiguration, aufweisen.
  • 11 veranschaulicht eine beispielhafte Implementierung eines Beispiels einer solchen integrierten Schaltung in einer Mobiltelekommunikations-Vorrichtung wie etwa einem Mobiltelephon mit einer integrierten Tastatur 12 und einer integrierten Anzeige 14. Wie in 11 gezeigt ist, ist das in der integrierten Schaltung 40 enthaltene digitale System 10, wo passend über einen Tastaturadapter (nicht gezeigt), mit der Tastatur 12 verbunden, wo passend über einen Anzeigeadapter (nicht gezeigt), mit der Anzeige 14 verbunden und mit der Hochfrequenz-Schaltungsanordnung 16 (HF-Schaltungsanordnung) verbunden. Die HF-Schaltungsanordnung 16 ist mit einer Antenne 18 verbunden.
  • Die Herstellung des digitalen Systems 10 umfasst mehrere Schritte der Implantation verschiedener Mengen von Störstellen in ein Halbleitersubstrat und der Diffusion der Störstellen in ausgewählte Tiefen in dem Substrat, um Transistorvorrichtungen zu bilden. Es werden Masken gebildet, um die Platzierung der Störstellen zu steuern. Mehrere Schichten leitenden Materials und nicht leitenden Materials werden abgelagert und geätzt, um die verschiedenen Vorrichtungen miteinander zu verbinden. Diese Schritte werden in einer Reinraumumgebung ausgeführt.
  • Ein erheblicher Teil der Herstellungskosten der Datenverarbeitungsvorrichtung betrifft das Testen. Während sie in der Wafer-Form vorliegen, werden einzelne Vorrichtungen in einen Betriebszustand vorgespannt und mit einer Sonde auf grundlegende Betriebsfunktionalität getestet. Der Wafer wird hierauf in einzelne Chips geteilt, die als Rohchip verkauft oder in einem Gehäuse untergebracht werden können. Nach der Unterbringung in einem Gehäuse werden die Fertigteile in einen Betriebszustand vorgespannt und auf Betriebsfunktionalität getestet.
  • Das digitale System 10 enthält Hardware-Erweiterungen für verbesserte Fehlersuchfunktionen. Diese helfen bei der Entwicklung eines Anwendungssystems. Da diese Fähigkeiten Teil des Kerns der CPU 200 selbst sind, sind sie nur unter Verwendung der JTAG-Schnittstelle mit erweiterten Betriebsarterweiterungen verfügbar. Sie schaffen einen einfachen, preisgünstigen und geschwindigkeitsunabhängigen Zugriff auf den Kern für eine anspruchsvolle Fehlersuche und eine wirtschaftliche Systementwicklung, ohne die kostspielige Verkabelung der und den Zugriff auf die Prozessoranschlussstifte, die von herkömmlichen Emulatorsystemen benötigt werden, zu erfordern oder die Systembetriebsmittel zu stören.
  • Folglich wird ein digitales System mit einem Speicher geschaffen, der durch zwei oder mehr Datenanforderungseinrichtungen gemeinsam genutzt werden kann. Es werden zwei Zugriffsbetriebsarten bereitgestellt. In einer Nur-Host-Zugriffsbetriebsart ist ein Abschnitt des Speichers direkt mit einer der Anforderungseinrichtungen wie etwa einem Host-Prozessor verbunden, so dass Übertragungen mit hoher Bandbreite ausgeführt werden können. Auf einen Abschnitt, der nicht ausgewählt ist, um im HOM zu liegen, kann durch die anderen Anforderungseinrichtungen zugegriffen werden, oder er wird abgeschaltet, um Energie zu sparen. Die Größe des für die HOM-Betriebsart ausgewählten Speicherabschnitts wird so ausgewählt, dass sie an die Anforderungen einer gegebenen Anwendung angepasst ist, wobei sie geändert werden kann, indem ein Größenwert in ein Register geschrieben wird.
  • Die Ausdrücke "angelegt", "verbunden" und "Verbindung", wie sie hier verwendet werden, bedeuten elektrisch verbunden, einschließlich dort, wo sich zusätzliche Elemente in dem elektrischen Verbindungsweg befinden können. "Zugeordnet" steht für eine Steuerbeziehung wie etwa ein Speicherbetriebsmittel, das durch einen zugeordneten Anschluss gesteuert wird.
  • Während die Erfindung mit Bezug auf veranschaulichende Ausführungsformen beschrieben worden ist, soll diese Beschreibung nicht als einschränkend ausgelegt werden. Für den Fachmann auf dem Gebiet sind unter Bezug auf diese Beschreibung verschiedene weitere Ausführungsformen der Erfindung offensichtlich. Zum Beispiel kann der für die HOM-Betriebsart ausgewählte Speicherabschnitt unter Verwendung einer feineren oder gröberen Auflösung als sechzehn Bänke ausgewählt werden. Das Größenregister kann in der Form eines ROM vorliegen, der z. B. elektrisch änderbar oder maskenprogrammiert ist. Die Speicherbänke können in verschiedenen Sync/Async-Kombinationen betrieben werden; wobei z. B. der Speicher in der SAM-Betriebsart synchron zum DSP-Takt und in der HOM-Betriebsart synchron zum Host-Prozessortakt betrieben werden kann. Die HOM-Auswahlschaltungen können z. B. in der Form der SARAM-Multiplexer vorliegen oder können Tri-State-Busse sein. Es kann eine verschiedene Anzahl von Kanal-Controllern und/oder Anschlüssen implementiert sein. Einem Anschluss können verschiedene Typen von Speicherbetriebsmitteln zugeordnet werden, indem der Anschluss so abgestimmt wird, dass er an das Speicherbetriebsmittel angepasst ist.

Claims (10)

  1. Digitales System, mit: einer ersten Anforderungsschaltung mit einem ersten Speicherzugriffsknoten; einer zweiten Anforderungsschaltung mit einem zweiten Speicherzugriffsknoten; einer Zeitplanungsschaltung, die mit dem ersten Speicherzugriffsknoten und mit dem zweiten Speicherzugriffsknoten verbunden ist, einen Anforderungsausgangsknoten besitzt und so betreibbar ist, dass sie eine sequentielle Zeitplanung von Speicherzugriffen auf eine Speicherschaltung durch die erste Anforderungsschaltung und durch die zweite Anforderungsschaltung ausführt; einer Auswahlschaltung, die mit dem ersten Speicherzugriffsknoten und mit dem Anforderungsausgangsknoten der Zeitplanungsschaltung verbunden ist und einen mit der Speicherschaltung verbundenen Ausgangsknoten besitzt; einer Zugriffsbetriebsart-Schaltungsanordnung, die wenigstens eine erste Zugriffsbetriebsart und eine zweite Zugriffsbetriebsart angibt und mit der Auswahlschaltung steuerbar verbunden ist, so dass sowohl die erste Anforderungsschaltung als auch die zweite Anforderungsschaltung sequentiell auf die Speicherschaltung zugreifen können, wenn die Zugriffsbetriebsart-Schaltungsanordnung die erste Zugriffsbetriebsart angibt, und die erste Anforderungsschaltung einen ausschließlichen Zugriff auf die Speicherschaltung hat, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt; und einem Größenregister, das einen Größenparameter hält und mit der Speicherschaltung verbunden ist, wobei die Speicherschaltung so betreibbar ist, dass sie in Reaktion auf den Größenparameter einen ersten Abschnitt der Speicherschaltung auswählt, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt, wobei nur der erste Abschnitt der Speicherschaltung für einen ausschließlichen Zugriff durch die erste Anforderungseinrichtung betreibbar ist, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt.
  2. Digitales System nach Anspruch 1, bei dem ein zweiter Abschnitt der Speicherschaltung, der in Reaktion auf den Größenparameter nicht gewählt ist, so betreibbar ist, dass er in einer Niedrigleistungsbetriebsart ist, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt.
  3. Digitales System nach Anspruch 1, bei dem die Auswahlschaltung so betreibbar ist, dass auf einen zweiten Abschnitt der Speicherschaltung, der in Reaktion auf den Größenparameter nicht gewählt wird, durch die zweite Anforderungseinrichtung zugegriffen werden kann, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt.
  4. Digitales System nach einem vorhergehenden Anspruch, bei dem der Größenparameter ignoriert wird, wenn die Zugriffsbetriebsart-Schaltungsanordnung die erste Zugriffsbetriebsart angibt, so dass die gesamte Speicherschaltung so betreibbar ist, dass sie für einen sequentiellen Zugriff durch die erste Anforderungseinrichtung und durch die zweite Anforderungseinrichtung gewählt wird.
  5. Digitales System nach einem vorhergehenden Anspruch, das ferner eine Taktschaltung umfasst, die mit der zweiten Anforderungseinrichtung und mit der Speicherschaltung verbunden ist, wobei der erste Abschnitt der Speicherschaltung synchron mit der Taktschaltung arbeitet, wenn die Zugriffsbetriebsart-Schaltungsanordnung die erste Zugriffsbetriebsart angibt, und wobei der erste Abschnitt der Speicherschaltung in einer asynchronen Weise arbeitet, wenn die Zugriffsbetriebsart-Schaltungsanordnung die zweite Zugriffsbetriebsart angibt.
  6. Digitales System nach einem vorhergehenden Anspruch, bei dem die erste Anforderungsschaltung ein Host-Prozessor ist und die zweite Anforderungsschaltung ein Kanal-Controller für eine Direktspeicherzugriffsschaltung ist.
  7. Digitales System nach einem vorhergehenden Anspruch, das ein Zellentelephon ist, wobei eine der Anforderungseinrichtungen 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.
  8. Verfahren zum Betreiben eines digitalen Systems, das eine Speicherschaltung besitzt, die von mehreren Anforderungsschaltungen gemeinsam genutzt wird, mit den folgenden Schritten: Aufteilen des Zugriffs auf die Speicherschaltung zwischen den mehreren Anforderungsschaltungen, wenn sich das digitale System in einer ersten Betriebsart befindet; Auswählen eines ersten Abschnitts der Speicherschaltung in Reaktion auf einen in einem Register gespeicherten Größenparameter, so dass ein zweiter Abschnitt der Speicherschaltung nicht gewählt ist; und Begrenzen des Zugriffs auf den ersten Abschnitt der Speicherschaltung nur für eine erste Anforderungseinrichtung der mehreren Anforderungseinrichtungen, wenn sich das digitale System in einer zweiten Betriebsart befindet.
  9. Verfahren nach Anspruch 8, das ferner den Schritt des Aufteilens des Zugriffs auf den zweiten Abschnitt der Speicherschaltung zwischen den mehreren Anforderungsschaltungen umfasst, wenn sich das digitale System in der zweiten Betriebsart befindet.
  10. Verfahren nach Anspruch 8, das ferner den Schritt des Versetzens des zweiten Abschnitts der Speicherschaltung in eine Niedrigleistungsbetriebsart umfasst, wenn sich das digitale System in der zweiten Betriebsart befindet.
DE69919992T 1999-06-09 1999-06-09 Verteilter Speicher mit programmierbarer Grösse Expired - Lifetime DE69919992T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP99401388A EP1059586B1 (de) 1999-06-09 1999-06-09 Verteilter Speicher mit programmierbarer Grösse

Publications (2)

Publication Number Publication Date
DE69919992D1 DE69919992D1 (de) 2004-10-14
DE69919992T2 true DE69919992T2 (de) 2005-01-20

Family

ID=8242003

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69919992T Expired - Lifetime DE69919992T2 (de) 1999-06-09 1999-06-09 Verteilter Speicher mit programmierbarer Grösse

Country Status (3)

Country Link
US (1) US6898678B1 (de)
EP (1) EP1059586B1 (de)
DE (1) DE69919992T2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2394152B (en) * 2002-10-09 2005-11-02 Nokia Corp DMA Detection
JP2005122640A (ja) * 2003-10-20 2005-05-12 Hitachi Ltd サーバシステム及びi/oスロット共有方法。
US7562193B2 (en) * 2004-04-19 2009-07-14 Nokia Corporation Memory with single and dual mode access
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
US7716387B2 (en) * 2005-07-14 2010-05-11 Canon Kabushiki Kaisha Memory control apparatus and method
US7426607B2 (en) * 2005-08-05 2008-09-16 Infineon Technologies Ag Memory system and method of operating memory system
US7725609B2 (en) * 2005-08-05 2010-05-25 Qimonda Ag System memory device having a dual port
US7519754B2 (en) * 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
US7478214B2 (en) * 2006-01-04 2009-01-13 Intel Corporation Clock-gated random access memory
US8204006B2 (en) * 2006-05-25 2012-06-19 Cisco Technology, Inc. Method and system for communicating digital voice data
JP4945186B2 (ja) * 2006-07-28 2012-06-06 株式会社東芝 記憶装置およびこれを含むメモリシステム
US8930641B1 (en) * 2011-06-14 2015-01-06 Altera Corporation Systems and methods for providing memory controllers with scheduler bypassing capabilities
CN112540953A (zh) * 2020-12-18 2021-03-23 广东高云半导体科技股份有限公司 基于fpga和mcu实现的片上***

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4991169A (en) * 1988-08-02 1991-02-05 International Business Machines Corporation Real-time digital signal processing relative to multiple digital communication channels
US5218686A (en) * 1989-11-03 1993-06-08 Compaq Computer Corporation Combined synchronous and asynchronous memory controller
JP3027445B2 (ja) * 1991-07-31 2000-04-04 株式会社高取育英会 メモリーコントロールデバイス
CA2083022A1 (en) * 1991-11-22 1993-05-23 Maria Pay Kudisch Application specific integrated circuit for shared memory controller
US5375216A (en) * 1992-02-28 1994-12-20 Motorola, Inc. Apparatus and method for optimizing performance of a cache memory in a data processing system
US5471588A (en) * 1992-11-25 1995-11-28 Zilog, Inc. Technique and circuit for providing two or more processors with time multiplexed access to a shared system resource
EP0610677A3 (de) * 1993-02-12 1995-08-02 Ibm In zwei Modi arbeitender Kommunikationsgerätetreiber.
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
GB2283596B (en) * 1993-11-01 1998-07-01 Ericsson Ge Mobile Communicat Multiprocessor data memory sharing
US5974402A (en) * 1993-12-09 1999-10-26 Pitney Bowes Inc. Address decoder with memory wait state circuit
US5838934A (en) * 1995-06-07 1998-11-17 Texas Instruments Incorporated Host port interface
US5815167A (en) * 1996-06-27 1998-09-29 Intel Corporation Method and apparatus for providing concurrent access by a plurality of agents to a shared memory
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
US6202130B1 (en) * 1998-04-17 2001-03-13 Motorola, Inc. Data processing system for processing vector data and method therefor
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
DE69919992D1 (de) 2004-10-14
US6898678B1 (en) 2005-05-24
EP1059586B1 (de) 2004-09-08
EP1059586A1 (de) 2000-12-13

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
DE69919992T2 (de) Verteilter Speicher mit programmierbarer Grösse
DE19580707C2 (de) PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
DE69021594T2 (de) Hochgeschwindigkeitsdatenübertragung auf einem Rechnersystembus.
DE60006842T2 (de) Multiprozessor-Node-Controller-Schaltung und Verfahren
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
DE60132817T2 (de) Datenverarbeitungssystem und datenprozessor
DE60027748T2 (de) Busarchitektur und verteiltes busarbitrierungsverfahren für einen kommunikationsprozessor
DE69025795T2 (de) Ultrahöchstintegrierte Schaltungsbauweise mit linearen Verbindungen
DE112007000443B4 (de) Vorrichtung mit einer gemeinsamen Schnittstelle fiir mehrere Prozessorkerne und Verfahren zur Steuerung der Kommunikation derselben mit einer damit gekoppelten Verbindung
DE602005004529T2 (de) Verfahren zum Verwalten einer Vielzahl von virtuellen Verbindungen zur gemeinsamen Nutzung auf einer Verbindungsleitung und Netzwerk zur Implementierung dieses Verfahrens
DE602004012061T2 (de) Vorrichtung und Verfahren zum Festlegen eines Routing-Weges zwischen Routern auf einem Chip
DE3750236T2 (de) Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung.
DE102005009021A1 (de) Vereinheitliche USB OTG-Steuerungseinheit
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
DE10235740A1 (de) Register, das zum Korrespondieren mit einem Breitfrequenzband geeignet ist, und Signalerzeugungsverfahren, das dasselbe verwendet
DE102013114390A1 (de) Datensynchronisierung über asynchrone Grenzen hinweg unter Anwendung selektierbarer Synchronisiereinheiten zur Minimierung der Latenz
WO1997031318A1 (de) Mehrprozessor-zentraleinheit
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
WO2022179105A1 (zh) 一种多路服务器及多路服务器信号互联***
DE102006025133A1 (de) Speicher- und Speicherkommunikationssystem
DE112008001143T5 (de) Serialisierung von Daten in einer Multi-Chip-Busimplementierung
DE60010412T2 (de) Integrierte Schaltung mit Überwachungsmittel von internen Bussen
WO2004025493A1 (de) Integrierter schaltkreis mit umschaltung durch multiplexer zwischen normalbetrieb und testbetrieb

Legal Events

Date Code Title Description
8364 No opposition during term of opposition