DE60132424T2 - Taktschutz für gemeinsame Komponenten einer Multiprozessor-DSP Vorrichtung - Google Patents

Taktschutz für gemeinsame Komponenten einer Multiprozessor-DSP Vorrichtung Download PDF

Info

Publication number
DE60132424T2
DE60132424T2 DE60132424T DE60132424T DE60132424T2 DE 60132424 T2 DE60132424 T2 DE 60132424T2 DE 60132424 T DE60132424 T DE 60132424T DE 60132424 T DE60132424 T DE 60132424T DE 60132424 T2 DE60132424 T2 DE 60132424T2
Authority
DE
Germany
Prior art keywords
clock
xport
signal
shared
processor
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
DE60132424T
Other languages
English (en)
Other versions
DE60132424D1 (de
Inventor
Harland Glenn 77459 Hopkins
Kevin A. 77479 McGonagle
Duy Q. 77479 Nguyen
Tai H. 77082 Nguyen
Victor A. 78759 Liu
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 DE60132424D1 publication Critical patent/DE60132424D1/de
Application granted granted Critical
Publication of DE60132424T2 publication Critical patent/DE60132424T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • 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)
  • Power Sources (AREA)

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich allgemein auf digitale Signalprozessoren. Insbesondere bezieht sich die Erfindung auf eine Taktsteuerung für digitale Mehrkern-Signalprozessoren. Die Erfindung bezieht sich insbesondere noch auf die Aufrechterhaltung von Takten für gemeinsam genutzte Komponenten, wenn einzelne Untersysteme inaktiv werden.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Mikroprozessoren enthalten im Allgemeinen eine Vielzahl logischer Schaltungen, die auf einem einzigen Halbleiterchip hergestellt sind. Solche logischen Schaltungen enthalten typisch einen Prozessorkern, ein Speicher und zahlreiche weitere Unterstützungskomponenten. Einige Mikroprozessoren wie etwa digitale Signalprozessoren (DSPs), die von Texas Instruments geliefert werden, können mehrere Prozessoruntersysteme enthalten, wovon jedes seinen eigenen Prozessorkern besitzt. Jedes Prozessoruntersystem enthält Speicher und weitere Unterstützungskomponenten für den zugehörigen Prozessorkern.
  • DSPs sind im Allgemeinen hinsichtlich rechenintensiver Aufgaben gefragt, weil sie eine Hardware aufweisen, die speziell für das Hochleistungsrechnen vorgesehen ist. Dennoch ist es im Allgemeinen wünschenswert, dass Mikroprozessoren wie etwa DSPs kompakt sind, sehr wenig Leistung verbrauchen und so wenig Wärme wie möglich erzeugen. Dies trifft besonders für DSPs zu, die sich in kleinen batteriebetriebenen Vorrichtungen wie etwa Zellentelephone, Funkrufempfänger und dergleichen befinden. Folglich ist jede Verbesserung in der DSP-Technik, die zu kleineren und leichteren Vorrichtungen führt, die weniger Leistung benötigen, höchst erwünscht, insbesondere wenn die Verbesserungen eine Reduzierung der maximalen verfügbaren Rechenleistung vermeiden.
  • Das US-Patent Nr. 5677849 beschreibt eine selektive Takterzeugungsvorrichtung mit niedriger Leistung sowie ein Verfahren zum Reduzieren des Leistungsverbrauchs durch ein elektronisches System oder eine integrierte Schaltung, das bzw. die mit einem externen System über einen Systembus gekoppelt ist, der so konfiguriert ist, dass er Signale von dem elektronischen System oder der integrierten Schaltung wahlweise sendet oder empfängt.
  • Die europäische Patentanmeldung, Veröffentlichungs-Nr. 0633518 , beschreibt eine Taktsignalschaltung, die ein Taktsignal für einen oder mehrere Abschnitte eines elektronischen Systems bereitstellt, das eine Bereitstellung des Taktsignals für ausgewählte Abschnitte des elektronischen Systems wahlweise sperrt.
  • Das US-Patent Nr. 5710881 beschreibt ein Mehrprozessor-Computersystem mit einem gemeinsam genutzten Speicher, wobei in dem System mehrere Prozessoren Kopien eines gemeinsam genutzten Datenblocks in ihren lokalen Cache-Speichern zwischenspeichern und ihre zwischengespeicherten Kopien unabhängig verändern können.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung betrachtet einen Chip für die digitale Signalverarbeitung, der eine Taktsteuerungstechnik verwendet, die es erlaubt, dass Abschnitte des Chips auf Wunsch gesperrt werden, wodurch der Leistungsverbrauch reduziert wird. Vorteilhafterweise können außerdem gemeinsam genutzte Komponenten gesperrt werden, jedoch nur, wenn jede der Komponenten, die sich auf eine gemeinsam genutzte Komponente stützen, einem Sperren der gemeinsam genutzten Komponente zustimmt. In einer Ausführungsform enthält der Chip mehrere Prozessorkerne mit entsprechenden Prozessoruntersystemen, eine gemeinsam genutzte Komponente und einen Taktbaum. Ein Taktbaum verteilt Taktsignale an die Prozessorkerne und die gemeinsam genutzte Komponente. Der Taktbaum kann so konfiguriert sein, dass er einen oder mehrere der Prozessorkerne und die gemeinsam genutzte Komponente durch ein Blockieren des entsprechenden Taktsignals sperrt. Dies kann vorteilhaft Leistung einsparen. Allerdings ist der Taktbaum so konfiguriert, dass er das Taktsignal für die gemeinsam genutzte Komponente aufrechterhält, solange wenigstens einer der Prozessorkerne die gemeinsam genutzte Komponente nicht gesperrt hat. Das heißt, um das Taktsignal für die gemeinsam genutzte Komponente zu blockieren, muss jeder der Prozessorkerne die gemeinsam genutzte Komponente sperren. Die gemeinsam genutzte Komponente kann z. B. ein gemeinsam genutzter Programmspeicher oder ein Arbiter für einen externen Eingangs/Ausgangs-Port sein.
  • Der Taktbaum kann ein Register und einer Reihe von Taktgattern enthalten. Jedes der Taktgatter blockiert das Taktsignal, wenn ein Gattersignal nicht bestätigt wird. Die Gattersignale werden anhand von Freigabebits im Register erzeugt. Das Taktsignal für die gemeinsam genutzte Komponente wird durch ein Taktgatter durchgeschaltet, das das Taktsignal nur dann blockiert, wenn jeder der Prozessorkerne sein Freigabebit für die gemeinsam genutzte Komponente gesperrt hat.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Für ein vollständigeres Verständnis der vorliegenden Erfindung wird nun lediglich beispielhaft auf die folgende ausführliche Beschreibung einiger bestimmter und veranschaulichender Ausführungsformen und die Merkmale und Aspekte hiervon anhand der Figuren der beigefügten Zeichnung Bezug genommen, wobei:
  • 1 eine DSP-Vorrichtung mit einem externen Port zeigt, der durch mehrere Untersystem-Prozessorkerne und DMA-Controller gemeinsam genutzt wird;
  • 2 eine Ausführungsform eines Arbiters für einen externen Port zeigt; und
  • 3 eine Ausführungsform eines Taktbaums mit einem Taktschutz für eine gemeinsam genutzte Komponente zeigt.
  • NOTATION UND TERMINOLOGIE
  • Einzelne Ausdrücke werden in der gesamten folgenden Beschreibung sowie den Ansprüchen verwendet, um bestimmte Systemkomponenten zu bezeichnen. Wie dem Fachmann auf dem Gebiet klar ist, können sich Halbleiterunternehmen durch unterschiedliche Bezeichnungen auf eine Komponente beziehen. Dieses Dokument soll nicht zwischen Komponenten unterscheiden, die im Namen jedoch nicht in der Funktion verschieden sind. In der folgenden Erläuterung und in den Ansprüchen werden die Ausdrücke "enthält" und "umfasst" in einer offenen Art und Weise verwendet und sollen in der Bedeutung "enthält, ist jedoch nicht darauf beschränkt ..." interpretiert werden. Außerdem soll der Ausdruck "koppeln" oder "koppelt" entweder eine indirekte oder eine direkte elektrische Verbindung bestimmen. Wenn eine erste Vorrichtung mit einer zweiten Vorrichtung koppelt, kann diese Verbindung folglich durch eine direkte elektrische Verbindung oder durch eine indirekte elektrische Verbindung über weitere Vorrichtungen und Verbindungen bestehen.
  • AUSFÜHRLICHE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung ist unten im Kontext eines Chips mit einem digitalen Mehrkern-Festkomma-Signalprozessor (Mehrkern-Festkomma-DSP) erläutert. Allerdings soll diese Ausführungsform den Umfang dieser Offenbarung nicht auf diesen Kontext begrenzen, vielmehr kann die bevorzugte Ausführungsform Anwendbarkeit auf irgendeine Mehrkern-DSP-Vorrichtung haben, die einen gemeinsam genutzten Arbiter für einen externen E/A-Port oder eine andere gemeinsam genutzte Komponente besitzt.
  • Nunmehr zu den Figuren übergehend, zeigt 1 einen DSP-Chip 100, der mehrere DSP-Untersysteme 110, 120, einen Taktbaum 131, einen gemeinsam genutzten Programmspeicher (PRAM) 132, eine Speicherbus-Schnittstelle 134, einen Arbiter 136 für einen externen E/A-Port (XPORT), einen XPORT-Multiplexer 138 und einen Host-Portschnittstellen-Multiplexer (HPI-Multiplexer) 139 enthält. Jedes DSP-Untersystem 110, 120 (die in 1 allgemein durch eine gestrichelte Linie getrennt sind) enthält vorzugsweise einen DSP-Kern 11, 21, einen Festwertspeicher (ROM) 12, 22, einen Schreib-Lese-Speicher mit Doppelzugriff (DARAM) 13, 23, einen Schreib-Lese-Speicher mit Einfachzugriff (SARAM) 14, 24, eine oder mehrere periphere Vorrichtungen 15, 25, einen M-Bus-Multiplexer 16, 26, einen M-Bus-Arbiter 17, 27, einen DMA-Controller 18, 28, eine Host-Portschnittstelle (HPI) 19, 29 und eine weitere gemischte Unterstützungsschaltungsanordnung. Die Untersysteme 110, 120 enthalten ferner jeweils einen Befehlsbus P1, P2, einen Datenbus D1, D2, einen Speicherbus M1, M2, einen Bus XC1, XC2 für eine externe Ein-/Ausgabe des Prozessorkerns und einen Bus XD1, XD2 für eine externe Ein-/Ausgabe des DMA-Controllers.
  • Der Taktbaum 131 empfängt vorzugsweise ein externes Taktsignal und erzeugt in Reaktion darauf ein oder mehrere interne Taktsignale, die über den ganzen Chip verteilt werden (in 1 nicht genauer gezeigt). Der Taktbaum verstärkt und frequenzvervielfacht vorzugsweise das externe Taktsignal, um die internen Taktsignale zu erzeugen. Der Taktbaum ist vorzugsweise programmierbar, um ausgewählte interne Taktsignale zu sperren, so dass der Leistungsverbrauch durch den DSP-Chip reduziert wird.
  • Der gemeinsam genutzte Programmspeicher (PRAM) 132 ist vorzugsweise für Programmbefehle reserviert und enthält 16 Blöcke RAM mit Doppelzugriff. Jeder Block umfasst 16 Kilobyte Speicher, obgleich die Blockgröße und die Anzahl der Blöcke nach Bedarf verändert werden kann. Jedes Untersystem 110, 120 enthält vorzugsweise gleiche Abschnitte des PRAM 132. Jedes DSP-Untersystem 110, 120 kann vorzugsweise in jedem Taktzyklus einen Befehlsabruf von irgendeinem Speicherplatz im PRAM 132 ausführen. Die Prozessorkerne 11, 21 rufen gleichzeitig verschiedene Befehle von einem im PRAM 132 gespeicherten einzelnen Programm ab und führen sie aus. Auch wenn die DSP-Kerne dasselbe Programm ausführen können, führen Sie nicht zwangsläufig dieselben Befehle gleichzeitig aus oder folgen nicht zwangsläufig denselben Zweigen im Programmablauf.
  • Gemäß der bevorzugten Ausführungsform können die DSP-Kerne 11, 21 nicht in den PRAM 132 schreiben. Stattdessen stellt ein Host-Prozessor (nicht gezeigt) die Software für den PRAM 132 über den XPORT, die HPI 19, 29 und die Speicherbusse M1, M2 bereit, wie unten weiter beschrieben wird.
  • Die Speicherbus-Schnittstelle 134 ist mit den PRAM 132 und den Speicherbussen M1, M2 gekoppelt. Die Speicherbus-Schnittstelle 134 stellt eine Gruppe von First-In-First-Out-Puffern (FIFO-Puffer) bereit, in die die Speicherbusse M1, M2 schreiben können und aus denen sie lesen können. Jeder FIFO-Puffer ist einfachgerichtet, d. h., dass durch einen Speicherpuffer in ihn geschrieben wird, während er durch einen anderen gelesen wird. Dies schafft ein Verfahren einer Zwischenuntersystemkommunikation. Die Speicherbus-Schnittstelle 134 koppelt außerdem beide Speicherbusse M1, M2 mit den PRAM 132. Die Speicherbus-Schnittstelle enthält einen Arbiter, der einen PRAM-Zugriff für einen der Speicherbusse gewährt, wenn ein PRAM-Zugriff verlangt wird. Die Anfangsprogrammierung des PRAM und Aktualisierungen des PRAM werden über die Speicherbusse ausgeführt.
  • Der XPORT-Arbiter 136 und der XPORT-Multiplexer 138 sind mit den Prozessorkernen 11, 21 und den DMA-Controllern 18, 28 in jedem der Untersysteme über entsprechende Busse XC1, XC2, XD1, XD2 für die externe Ein-/Ausgabe gekoppelt. Die Prozessorkerne und die DMA-Controller entscheiden hinsichtlich eines externen Zugriffs, wie unten weiter erläutert wird, wobei der Arbiter 136 den Multiplexer 138 in Übereinstimmung mit den Entscheidungsergebnissen setzt. Der DSP 100 ist in einem Halbleitergehäuse vorgesehen, das mehrere Anschlussstifte ("Anschlussdrähte") aufweist, um externe Verbindungen für den Chip bereitzustellen. Die durch den XPORT für einen externen Zugriff verwendeten Gehäuseanschlussdrähte werden vorzugsweise gemeinsam mit den Host-Portschnittstelleneinheiten 19, 21 genutzt, Dementsprechend ist ein Ausgang von dem XPORT-Multiplexer 138 mit dem HPI-Multiplexer 139 gekoppelt, genau wie die HPI-Einheiten 19, 29. Wenn der Host-Prozessor das Betriebsartsignal bzw. MODE-Signal (das das Steuersignal für den HPI-Multiplexer 139 ist) bestätigt, werden die XPORT-Anschlussstifte mit den HPI-Einheiten 19, 29 gekoppelt, wobei der Host-Prozessor auf die DSP-Vorrichtung 100 als eine speicherabgebildete Vorrichtung zugreift. Wenn der Host-Prozessor das MODE-Signal nicht bestätigt, werden die XPORT-Anschlussdrähte mit dem XPORT-Multiplexer 138 gekoppelt, wobei irgendein Zugriff durch die Kerne 11, 21 oder die DMA-Controller 18, 28 ausgelöst wird, wie unten weiter beschrieben wird.
  • Die Prozessorkerne 11, 21 führen vorzugsweise über entsprechende Befehlsbusse P1, P2 abgerufene Softwarebefehle aus, die in Bezug auf über entsprechende Datenbusse D1, D2 abgerufene Daten wirksam werden, um Ergebnisse zu erzeugen, die auf den Datenbussen bereitgestellt werden. Die Prozessorkerne enthalten typisch eine optimierte Arithmetik-Logik-Einheit (ALU) sowie eine Steuereinheit. Die Steuereinheit ruft Daten und Befehle ab und decodiert die Befehle, wobei die ALU bezüglich der Daten wirksam wird, wie durch die Befehle spezifiziert ist.
  • Die ROMs 12, 22 sind mit den entsprechenden Befehlsbussen P1, P2 gekoppelte nichtflüchtige Speicher. Die ROMs speichern vorzugsweise Urladesoftware zum Initialisieren der Untersysteme. Der DARAM 13, 23 enthält vorzugsweise vier Speicherblöcke, von denen jeder zwei Speicherzugriffe pro Taktzyklus unterstützt. Die DARAMs 13, 23 sind primär zur Datenspeicherung vorgesehen, können jedoch auch zum Speichern von Programmbefehlen verwendet werden. Dementsprechend sind sie sowohl mit den entsprechenden Befehlsbussen P1, P2 als auch mit den entsprechenden Datenbussen D1, D2 gekoppelt. Ein Register (nicht gezeigt) im DSP-Kern 11, 21 bestimmt, ob der DARAM 13, 23 in den Programmspeicherraum oder den Datenspeicherraum abgebildet wird. Die SARAMs 14, 24 enthalten ebenso vorzugsweise vier Speicherblöcke, von denen jeder einen Speicherzugriff pro Taktzyklus unterstützt. Jeder SARAM ist vorzugsweise für eine Datenspeicherung reserviert, wobei er folglich mit dem entsprechenden Datenbus D1, D2 gekoppelt ist.
  • Nochmals in 1 koppeln die Befehlsbusse P1, P2 den entsprechenden Prozessorkern 11, 21, den lokalen DARAM 13, 23, den lokalen ROM 12, 22 und den gemeinsam genutzten PRAM 132 miteinander. Die Datenbusse D1, D2 koppeln den entsprechenden Prozessorkern 11, 21, den lokalen DARAM 13, 23 und den lokalen SARAM 14, 24 miteinander. Die Speicherbusse M1, M2 koppeln den Speicherbus-Multiplexer 16, 26 mit jeder der flüchtigen Speichervorrichtungen 13, 14, 23, 24, 132 in dem entsprechenden Untersystem zusammen. Die Speicherbusse sind außerdem mit entsprechenden peripheren Vorrichtungen 15, 25 gekoppelt.
  • Die peripheren Vorrichtungen 15, 25 enthalten jeweils vorzugsweise eine oder mehrere serielle Mehrkanalschnittstellen. Die seriellen Mehrkanalschnittstellen stellen schnelle, serielle, doppeltgepufferte Vollduplex-Kommunikationen bereit. Die Konfiguration dieser Ports ist vorzugsweise durch den zugeordneten Prozessorkern programmierbar, um ein direktes Verbinden über eine Schnittstelle mit bestehenden seriellen Protokollen zu ermöglichen. Jede serielle Schnittstelle 15, 25 unterstützt vorzugsweise ein Mehrkanalsenden und -empfangen von bis zu 128 Kanälen. Die seriellen Mehrkanalports führen einen Zeitmultiplexbetrieb und einen Zeitdemultiplexbetrieb aus, wenn mehrere Kanäle freigegeben sind. Jeder Datenrahmen, der gesendet oder empfangen wird, repräsentiert einen zeitmultiplexten Datenstrom (TDM-Datenstrom), so dass der Inhalt eines Kanals mit den Inhalten der anderen Kanäle verschachtelt ist.
  • Die Speicherbus-Multiplexer 16, 26 und die Speicherbus-Arbiter 17, 27 sind jeweils mit allen DMA-Controllern 18, 28 und HPI-Einheiten 19, 29 gekoppelt. Sich vorläufig auf den Multiplexer 16, den lokalen DMA-Controller 18, die lokale HPI-Einheit 19, den abgesetzten DMA-Controller 28 und die abgesetzte HPI-Einheit 29 konzentrierend, können alle den Speicherbus M1 steuern, um auf periphere Vorrichtungen 15, den SARAM 14, den DARAM 13 und den PRAM 132 zuzugreifen. Die Entscheidung zwischen dem lokalen DMA-Controller, der loka len HPI-Einheit und dem abgesetzten Untersystem hinsichtlich eines Zugriffs auf den Speicherbus M1 wird durch den Arbiter 17 ausgeführt, der den Speicherbus-Multiplexer 16 in Übereinstimmung mit dem Entscheidungssieger setzt. Der Multiplexer 26 und der Arbiter 27 arbeiten hinsichtlich des Speicherbusses M2 in ähnlicher Weise.
  • Jeder DMA-Controller 18, 28 bewegt Daten und Befehle von und zu den lokalen peripheren Vorrichtungen und Datenspeichervorrichtungen sowie zu dem gemeinsam genutzten PRAM 132 über den entsprechenden Speicherbus M1, M2. Jeder DMA-Controller 18, 28 kann außerdem Daten zu und von den abgesetzten peripheren Vorrichtungen und Datenspeichervorrichtungen über den abgesetzten Speicherbus bewegen. Schließlich kann jeder DMA-Controller Daten zu und von externen Quellen über einen Bus XD1, XD2 für die externe Ein-/Ausgabe und den XPORT bewegen. Auch wenn die Übertragungen auf unterschiedliche Weisen ausgelöst werden können, einschließlich einer Auslösung durch den Prozessorkern, werden die Übertragungen anschließend "im Hintergrund" ausgeführt, d. h. ohne aktive Überwachung und Steuerung durch den Prozessorkern. Jeder DMA-Controller stellt vorzugsweise mehrere "Kanäle" für die unabhängige gleichzeitige Behandlung mehrerer Blockübertragungen bereit. DMA-Übertragungen werden ausgeführt, indem zunächst die Daten in einen Speicher innerhalb des DMA-Controllers gelesen werden und danach die Daten aus dem DMA-Controllerspeicher in das gewünschte Ziel geschrieben werden. Wenn Prozessorkern-Speicherzugriffe auf den internen Speicher mit DMA-Controllerzugriffen im Konflikt stehen, wird den DMA-Controllerzugriffen vorzugsweise eine höhere Priorität gegeben.
  • Die HPI-Einheiten 19, 29 ermöglichen einem externen Host-Prozessor, über die Speicherbusse M1, M2 auf alle internen Speicher zuzugreifen. Um die Konstruktion des Gesamtsystems einfach zu halten, sind die Host-Prozessorschnittstellen 19, 29 so konstruiert, dass sie eine Speicherschnittstelle simulieren. Das heißt, der Host-Prozessor kann die Inhalte irgendeines Speicherplatzes innerhalb der DSP-Vorrichtung 100 sowie viele der Speicherkernregister "sehen", indem er eine Adresse an die HPI-Einheiten 19, 29 sendet, die den gewünschten Platz angibt. Eine der HPI-Einheiten 19, 29 ruft daraufhin die gewünschten Informationen ab und stellt die Informationen als Daten in der gleichen Weise bereit, wie es eine Speichervorrichtung würde. Die HPI-Einheiten 19, 29 können in ähnlicher Weise Daten an dem gewünschten Platz speichern. Auf diese Weise kann die durch die Prozessorkerne auszuführende Software durch den Host-Prozessor bereitgestellt werden. Das heißt, der Host-Prozessor kann die Software über die HPI 19, 29 in den gemeinsam genutzten PRAM 132 schreiben. Die HPI-Einheiten 19, 29 fungieren vorzugsweise als eine dem Host-Prozessor untergeordnete Vorrichtung, wobei sie jedoch ein Signal für den Host-Prozessor erzeugen können, um den Host-Prozessor während eines Zugriffs zu blockieren, wenn die Speicherbusse M1, M2 durch andere Aufgaben belegt sind.
  • Wie zuvor erwähnt ist, entscheiden die Prozessorkerne und DMA-Controller mit dem XPORT-Arbiter 136 hinsichtlich eines Zugriffs auf den XPORT. Wie in 2 gezeigt ist, enthält der XPORT-Arbiter einen Prozessorkern-Arbiter 232, einen DMA-Controller-Arbiter 234 und Logikgatter 216, 226, 236 und 238. Außerdem in 2 gezeigt sind Universal-E/A-Register (GPIO-Register) 212 und 222 sowie eine Schnittstellenlogik 214 und 224 für den externen E/A-Bus. Die Register 212, 222 können Bits enthalten, die für eine Kommunikation mit einer Unterstützungsschaltungsanordnung sowie deren Konfiguration verwendet werden. Eines der Bits in jedem dieser Register ist als ein Signal für eine externe E/A-Anforderung (XIO REQ) reserviert, das durch den Prozessorkern bestätigt oder nicht bestätigt werden kann. Die Signale XIO REQ sind mit dem Prozessorkern-Arbiter 232 gekoppelt. Ein weiteres der Bits in jedem der Register ist als ein Signal für eine externe E/A-Gewährung (XIO GNT) reserviert, das durch den Arbiter 232 bestätigt oder nicht bestätigt werden kann.
  • Die Prozessorkerne 11, 21 bestätigen vorzugsweise das Signal XIO REQ, wenn sie eine Steuerung des XPORT wünschen. Die Kerne fragen daraufhin das Signal XIO GNT, bis es bestätigt wird, zyklisch ab, zu welchem Zeitpunkt sie die Verwendung des XPORT beginnen können, der der Bestätigung eines Haltesignals bzw. HOLD-Signals unterliegt, wie unten beschrieben wird. Wenn die Prozessorkerne mit der Verwendung des XPORT fertig sind, bestätigen Sie das Signal XIO REQ vorzugsweise nicht. Wenn es keinen Konflikt gibt, bestätigt folglich der Arbiter 232 das entsprechende Signal XIO GNT in Reaktion auf die Bestätigung eines Signals XIO REQ. Falls beide Signale XIO REQ in demselben Taktzyklus bestätigt werden, wird das Signal XIO GNT im Register 212 bestätigt. In jedem Fall wird die Bestätigung eines Signals XIO GNT aufrechterhalten, bis das entsprechende Signal XIO REQ nicht bestätigt wird. Die Bestätigung und die Nichtbestätigung des Signals XIO REQ wird durch eine im Prozessorkern ablaufende Software ausgeführt, so dass das Prozessorkern-Entscheidungsschema in erster Linie durch Software gesteuert ist.
  • Die Schnittstellenlogik 214, 224 der Prozessorkerne für den externen E/A-Bus empfängt ein HOLD-Signal von dem XPORT-Arbiter 136. Wenn die Schnittstellenlogik aktiv ist, d. h., es werden externe E/A-Vorgänge ausgeführt, ignoriert die Schnittstellenlogik das HOLD-Signal. Der Prozessorkern kann den Betrieb über den XPORT solange fortführen, wie der Host-Prozessor nicht in Konflikt gerät (siehe 1). Wenn es bei der externen E/A-Aktivität eine Unterbrechung gibt oder wenn es keine derzeitige externe E/A-Aktivität gibt, antwortet die Schnittstellenlogik auf eine Bestätigung des HOLD-Signals durch Bestätigen eines Haltequittierungssignals (HA1, HA2). Anschließend wird die Schnittstellenlogik angehalten, so lange, wie das HOLD-Signal bestätigt wird, wobei alle Prozessorkernversuche, auf den XPORT zuzugreifen, blockiert werden. Die Schnittstellenlogik erzeugt das HA-Signal vorzugsweise unter Verwendung einer festverdrahteten Logik.
  • Die DMA-Controller 18, 28 bestätigen vorzugsweise Anforderungssignale (REQ-Signale) für den Arbiter 136, wenn sie Zugriff auf den XPORT wünschen. Das HOLD-Signal wird durch das Logikgatter 236 aus den REQ-Signalen erzeugt. Das Logikgatter 236 umfasst vorzugsweise ein logisches ODER-Gatter. Das HOLD-Signal wird bestätigt, wenn eines oder beide der Anforderungssignale bestätigt werden. Der DMA-Arbiter 234 empfängt ebenso beide Anforderungssignale, wobei er in Reaktion darauf ein vorläufiges Gewährungssignal TG1, TG2 für einen der DMA-Controller bestätigt. Die vorläufigen Gewährungssignale TG1, TG2 für die Controller 18, 28 werden über die jeweiligen Gatter 216, 226 durchgeschaltet. Die Gatter 216, 226 umfassen vorzugsweise logische UND-Gatter. Die Logikgatter 216, 226 erzeugen jeweils Gewährungssignale GNT1, GNT2 für die Controller 18, 28 aus den vorläufigen Gewährungssignalen TG1, TG2 und aus einem kombinierten Quittierungssignal CHA. Die Logikgatter 216, 226 bestätigen ihre jeweiligen Gewährungssignale GNT1, GNT2, wenn sowohl die vorläufigen Gewährungssignale (TG1, TG2) als auch das kombinierte Quittierungssignal CHA bestätigt werden. Das kombinierte Quittierungssignal CHA wird durch das Logikgatter 238 erzeugt, das das kombinierte Quittierungssignal CHA nur dann bestätigt, wenn die Haltequittierungssignale HA1, HA2 von beiden Prozessorker nen bestätigt werden. Das Logikgatter 238 umfasst vorzugsweise ein logisches UND-Gatter.
  • Folglich bestätigt der XPORT-Arbiter 136 ein Gewährungssignal für den anfordernden DMA-Controller 18, 28 nur, wenn beide Prozessorkerne quittieren, dass sie den XPORT momentan nicht verwenden. Wenn beide DMA-Controller gleichzeitig einen Zugriff anfordern, löst der DMA-Arbiter 234 den Konflikt auf Basis einer wechselnden Priorität, so dass ein GNT-Signal lediglich für den Controller bestätigt wird, der momentan die Priorität hat.
  • Die DMA-Controller 18, 28 sind so konstruiert, dass sie zwischen XPORT-Zugriffen vorzugsweise für wenigstens ein Taktzyklus unterbrechen. Dies ermöglicht den Controllern ein Verschachteln ihrer XPORT-Zugriffe, wenn beide aktiv eine externe Ein-/Ausgabe ausführen. Wenn lediglich ein DMA-Controller aktiv ist, ermöglicht die Unterbrechung außerdem einem der Prozessorkerne, die Steuerung des XPORT zu ergreifen.
  • 3 zeigt eine bevorzugte Ausführungsform eines Taktbaums 131. Wie gezeigt, ist enthält der Taktbaum 131 vorzugsweise einen Phasenregelkreis (PLL) 302, ein Konfigurationsregister 304, eine Reihe von Gattern 306320 und einige weitere Logikgatter 322, 324. Der PLL 302 frequenzvervielfacht das externe Taktsignal, um ein internes Taktsignal zu erzeugen. Das interne Taktsignal koppelt an jedes der Gatter 306320. Jedes der Gatter 306320 stellt seinerseits ein Taktsignal an einer oder mehreren Vorrichtungen innerhalb des DSP 100 bereit. In der bevorzugten Ausführungsform sind die Gatter invertierende Puffer, die durch ein Gattersignal, das durch das Konfigurationsregister 304 bereitgestellt wird, gesperrt werden können. Während ein Gattersignal bestätigt wird, wird das entsprechende interne Taktsignal invertiert und verstärkt, um das Taktsignal an das gewünschte Ziel zu steuern. Wenn ein Gattersignal nicht bestätigt wird, wird der entsprechende Puffer gesperrt, wobei das Ausgangssignal von dem Puffer konstant gehalten wird. Durch Freigeben und Sperren einzelner Puffer 306320 können verschiedene Abschnitte des DSP-Chips 100 abgeschaltet werden.
  • Die Gattersignale 326 werden anhand von Bits des Konfigurationsregisters 304 erzeugt. Das Gatter 306 steuert den Takt für den Prozessorkern 11, wobei das Register 304 ein Freigabebit (SYS A CORE ON) enthält, das das Gattersignal für das Gatter 306 liefert. Ähnlich steuern die Gatter 308, 310, 316, 318, 320 die Taktsignale für den DARAM 13, den SARAM 14, den Prozessorkern 21, den DARAM 23 bzw. den SARAM 24, wobei das Register 304 entsprechende Freigabebits (SYS A DARAM ON, SYS A SARAM ON, SYS B CORE ON, SYS B DARAM ON, SYS B SARAM ON) enthält, die die entsprechenden Gattersignale liefern.
  • Das Gatter 312 steuert das Taktsignal für den gemeinsam genutzten PRAM 132 und das Gatter 314 steuert das Taktsignal für die Unterstützungskomponenten wie etwa die peripheren Vorrichtungen 15, 25, die Speicherbus-Multiplexer 16, 26, die Speicherbus-Arbiter 17, 27, die DMA-Controller 18, 28, die HPI-Einheiten 19, 29, den XPORT-Arbiter 136, den XPORT-Multiplexer 138, den HPI-Multiplexer 139 und die Schnittstellenlogik 214, 224 für den externen E/A-Bus. Das Logikgatter 322, das vorzugsweise ein logisches ODER-Gatter ist, ist vorgesehen, um sicherzustellen, dass das Gatter 312 nur dann gesperrt wird, wenn beide Untersysteme den gemeinsam genutzten PRAM 132 gesperrt haben. Andernfalls wird das Taktsignal SHARED CLK weiterhin so gesteuert, dass das aktive Untersystem immer noch auf den gemeinsam genutzten PRAM zugreifen kann.
  • Ähnlich werden Unterstützungskomponenten wie etwa der XPORT-Arbiter 136 und die Schnittstellenlogik 214, 224 für die externe Ein-/Ausgabe weiterhin durch das Taktsignal PERIPHERAL CLK angesteuert, sofern nicht beide Systeme gesperrt worden sind. Dies stellt z. B. sicher, dass, selbst wenn ein System gesperrt worden ist, das andere System immer noch hinsichtlich eines Zugriffs auf den XPORT entscheiden und Zugriff auf ihn haben kann.
  • Der Taktbaum 131 gestattet dadurch, dass ausgewählte Abschnitte der DSP-Vorrichtung durch Unterbrechung ihrer Taktsignale gesperrt werden, während er gleichzeitig eine versehentliche Sperrung der gemeinsam genutzten Komponenten verhindert, auf die durch Untersysteme zugegriffen werden kann, die aktiv bleiben. Eine Sperrung einer gemeinsam genutzten Komponente erfordert, dass beide Systeme das entsprechende Freigabebit im Konfigurationsregister zurücksetzen. Dies ermöglicht eine flexible Abwägung zwischen Leistungsverbrauch und verfügbarer Rechenleistung.
  • In der erläuterten Ausführungsform enthält die DSP-Vorrichtung 100 lediglich zwei DSP-Untersysteme 110, 120. Wie dem Fachmann auf dem Gebiet klar ist, kann es mehr als zwei DSP-Untersysteme geben. In 3 kann der Taktbaum erweitert werden, wobei die Gattersignale für Takte für die gemeinsam genutzten Komponenten durch Logikgatter erzeugt werden können, die Freigabebits aus jedem der Untersysteme verknüpfen.

Claims (13)

  1. Digitales Signalverarbeitungssystem (100), mit: mehreren Prozessoruntersystemen (110, 1200), die so konfiguriert sind, dass sie wenigstens eine gemeinsam genutzte Komponente (100, 136) gemeinsam nutzen; und einem Taktbaum (131), der so konfiguriert ist, dass er ein Taktsignal für die gemeinsam genutzte Komponente bereitstellt, dadurch gekennzeichnet, dass: das Taktsignal (SHARED CLK, PERIPHERAL CLK), das durch den Taktbaum für die gemeinsam genutzte Komponente bereitgestellt wird, nur gesperrt wird, falls jedes der mehreren Prozessoruntersysteme die gemeinsam genutzte Komponente sperrt.
  2. System nach Anspruch 1, bei dem die mehreren Prozessoruntersysteme, die gemeinsam genutzte Komponente und der Taktbaum auf einem einzigen Chip hergestellt sind.
  3. System nach Anspruch 1 oder Anspruch 2, bei dem die gemeinsam genutzte Komponente einen gemeinsam genutzten Programmspeicher (132) umfasst.
  4. System nach Anspruch 1 oder Anspruch 2, bei dem die gemeinsam genutzte Komponente einen Arbiter für einen externen Eingangs/Ausgangs-Port (XPORT) (136) umfasst.
  5. System nach Anspruch 4, bei dem jedes der mehreren Prozessoruntersysteme einen Prozessorkern (11, 21) mit einer Schnittstelle für einen externen Eingangs/Ausgangs-Port (XPORT) (19, 29), die mit dem externen Eingangs/Ausgangs-Port (XPORT) gekoppelt ist, umfasst.
  6. System nach einem vorhergehenden Anspruch, bei dem der Taktbaum ein entsprechendes Prozessortaktsignal (CORE A CLK, CORE B CLK) an jeden der Prozessorkerne liefert und bei dem der Taktbaum so konfiguriert ist, dass er die Prozessorkerne durch Stoppen des entsprechenden Prozessortaktsignals (306, 316) von dem Taktbaum getrennt und unabhängig sperrt.
  7. System nach Anspruch 5, bei dem die Prozessortaktsignale (CORE A CLK, CORE B CLK) von dem Taktsignal (PERIPHERAL CLK) für die gemeinsam genutzte Komponente verschieden sind und bei dem die Schnittstellen für den externen Eingangs/Ausgangs-Port (XPORT) jeweils das an die gemeinsam genutzte Komponente gelieferte Taktsignal (PERIPHERAL CLK) empfangen.
  8. System nach Anspruch 7, bei dem der Arbiter für den externen Eingangs/Ausgangs-Port (XPORT) mit jeder der Schnittstellen für den externen Eingangs/Ausgangs-Port (XPORT) gekoppelt und so konfiguriert ist, dass er ein Haltesignal für die Schnittstellen für den externen Eingangs/Ausgangs-Port (XPORT) bestätigt, wenn eine weitere Komponente einen Zugriff auf den externen Eingangs/Ausgangs-Port (XPORT) anfordert, wobei der Arbiter für den externen Eingangs/Ausgangs-Port (XPORT) eine Bestätigung eines Haltequittierungssignals von jeder Schnittstelle für den externen Eingangs/Ausgangs-Port (XPORT) anfordert, bevor der angeforderte Zugriff auf den externen Eingangs/Ausgangs-Port (XPORT) gewährt wird.
  9. System nach einem vorhergehenden Anspruch, bei dem der Taktbaum ein Register umfasst, das mehrere Freigabebits besitzt, wobei jedes der Freigabebits so konfiguriert ist, dass es ein entsprechendes von mehreren Taktsignalen freigibt, wenn es bestätigt wird, wobei die mehreren Taktsignale mit einer entsprechenden Mehrzahl von Prozessoruntersystemen gekoppelt sind.
  10. System nach Anspruch 9, bei dem der Taktbaum ferner umfasst: ein Taktgatter (306, 308, 310, 312, 314, 316, 318, 320) für jedes der mehreren Taktsignale, wobei jedes Taktgatter durch wenigstens eines der mehreren Freigabebits (326) von dem Register gesteuert wird.
  11. System nach Anspruch 10, bei dem der Taktbaum ferner umfasst: ein Logikgatter (322, 324), das mit jedem der Freigabebits (SHARED ON, PERI ON) für die gemeinsam genutzte Komponente und mit einem der Taktgatter (312, 314) gekoppelt ist, wobei das Logikgatter so konfiguriert ist, dass es ein Gattersignal für eines der Taktgatter für den Takt der gemeinsam genutzten Komponente bestätigt, falls wenigstens ein Freigabebit für die gemeinsam genutzte Komponente bestätigt wird.
  12. System nach Anspruch 11, bei dem die Taktgatter jeweils gattergesteuerte invertierende Puffer (306, 308, 310, 312, 314, 316, 318, 320) umfassen und die Logikgatter logische ODER-Gatter (322, 324) umfassen.
  13. System nach Anspruch 11, bei dem die Logikgatter das Gattersignal für das entsprechende Taktgatter nicht bestätigen, falls keines der Freigabebits für die gemeinsam genutzte Komponente bestätigt wird.
DE60132424T 2000-11-15 2001-11-12 Taktschutz für gemeinsame Komponenten einer Multiprozessor-DSP Vorrichtung Expired - Lifetime DE60132424T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US24890500P 2000-11-15 2000-11-15
US248905P 2000-11-15

Publications (2)

Publication Number Publication Date
DE60132424D1 DE60132424D1 (de) 2008-03-06
DE60132424T2 true DE60132424T2 (de) 2009-01-29

Family

ID=22941187

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60132424T Expired - Lifetime DE60132424T2 (de) 2000-11-15 2001-11-12 Taktschutz für gemeinsame Komponenten einer Multiprozessor-DSP Vorrichtung

Country Status (4)

Country Link
US (1) US6920572B2 (de)
EP (1) EP1233329B1 (de)
JP (1) JP2002215259A (de)
DE (1) DE60132424T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131114B2 (en) * 2001-07-16 2006-10-31 Texas Instruments Incorporated Debugger breakpoint management in a multicore DSP device having shared program memory
US7502817B2 (en) * 2001-10-26 2009-03-10 Qualcomm Incorporated Method and apparatus for partitioning memory in a telecommunication device
US20050050310A1 (en) * 2003-07-15 2005-03-03 Bailey Daniel W. Method, system, and apparatus for improving multi-core processor performance
US7263623B1 (en) * 2004-03-30 2007-08-28 Altera Corporation Microprocessor system
US7437583B2 (en) * 2004-06-04 2008-10-14 Broadcom Corporation Method and system for flexible clock gating control
US20090259789A1 (en) * 2005-08-22 2009-10-15 Shuhei Kato Multi-processor, direct memory access controller, and serial data transmitting/receiving apparatus
DE102006004346A1 (de) * 2006-01-30 2007-10-18 Deutsche Thomson-Brandt Gmbh Datenbusschnittstelle mit abschaltbarem Takt
US7647476B2 (en) * 2006-03-14 2010-01-12 Intel Corporation Common analog interface for multiple processor cores
US20070271130A1 (en) * 2006-05-19 2007-11-22 Microsoft Corporation Flexible scheduling and pricing of multicore computer chips
JP2007328461A (ja) * 2006-06-06 2007-12-20 Matsushita Electric Ind Co Ltd 非対称マルチプロセッサ
US20080052428A1 (en) * 2006-08-10 2008-02-28 Jeffrey Liang Turbo station for computing systems
US7856562B2 (en) * 2007-05-02 2010-12-21 Advanced Micro Devices, Inc. Selective deactivation of processor cores in multiple processor core systems
GB2450564B (en) 2007-06-29 2011-03-02 Imagination Tech Ltd Clock frequency adjustment for semi-conductor devices
US8543860B2 (en) * 2008-08-26 2013-09-24 Freescale Semiconductor, Inc. Multi-core clocking system with interlocked ‘anti-freeze’ mechanism
JP5094666B2 (ja) * 2008-09-26 2012-12-12 キヤノン株式会社 マルチプロセッサシステム及びその制御方法、並びに、コンピュータプログラム
KR101038501B1 (ko) 2009-12-30 2011-06-01 엘아이지넥스원 주식회사 소프트웨어 기반 무선통신 시스템의 클럭 트리 제어 장치 및 상기 클럭 트리 제어 장치를 구비하는 데이터 송수신 단말
US8914661B2 (en) 2010-06-30 2014-12-16 Via Technologies, Inc. Multicore processor power credit management in which multiple processing cores use shared memory to communicate individual energy consumption
US8711653B2 (en) * 2012-04-28 2014-04-29 Hewlett-Packard Development Company, L.P. Changing a system clock rate synchronously
US10606304B2 (en) * 2016-05-31 2020-03-31 Intel Corporation Usage counter for control of system clocks

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339429A (en) * 1991-05-08 1994-08-16 Hitachi, Ltd. Parallel processing system and compiling method used therefor
JP3322893B2 (ja) * 1991-09-30 2002-09-09 エヌイーシーマイクロシステム株式会社 マイクロコンピュータ
US5537582A (en) * 1993-05-21 1996-07-16 Draeger; Jeffrey S. Bus interface circuitry for synchronizing central processors running at multiple clock frequencies to other computer system circuitry
EP0633518A1 (de) 1993-05-27 1995-01-11 Picopower Technology Inc. Schaltung zum Erzeugen von Modular-Taktsignalen
US5677849A (en) 1993-11-08 1997-10-14 Cirrus Logic, Inc. Selective low power clocking apparatus and method
DE4423559A1 (de) 1993-11-09 1995-05-11 Hewlett Packard Co Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
GB9419246D0 (en) * 1994-09-23 1994-11-09 Cambridge Consultants Data processing circuits and interfaces
US6330644B1 (en) * 1994-10-27 2001-12-11 Canon Kabushiki Kaisha Signal processor with a plurality of kinds of processors and a shared memory accessed through a versatile control means
US5557783A (en) * 1994-11-04 1996-09-17 Canon Information Systems, Inc. Arbitration device for arbitrating access requests from first and second processors having different first and second clocks
US6189076B1 (en) * 1997-11-14 2001-02-13 Lucent Technologies, Inc. Shared synchronous memory with a switching circuit controlled by an arbiter and method for glitch free switching of a clock signal
US6487647B1 (en) * 1997-12-29 2002-11-26 Intel Corporation Adaptive memory interface timing generation
US6711691B1 (en) * 1999-05-13 2004-03-23 Apple Computer, Inc. Power management for computer systems
US6625559B1 (en) * 2000-05-01 2003-09-23 Hewlett-Packard Development Company, L.P. System and method for maintaining lock of a phase locked loop feedback during clock halt
US6340905B1 (en) * 2000-06-19 2002-01-22 Lsi Logic Corporation Dynamically minimizing clock tree skew in an integrated circuit
US6597226B1 (en) * 2000-07-13 2003-07-22 Lexmark International, Inc. Application specific integrated circuit architecture utilizing spread spectrum clock generator module for reducing EMI emissions
US6536024B1 (en) * 2000-07-14 2003-03-18 International Business Machines Corporation Method for making integrated circuits having gated clock trees

Also Published As

Publication number Publication date
DE60132424D1 (de) 2008-03-06
US20020059486A1 (en) 2002-05-16
US6920572B2 (en) 2005-07-19
EP1233329A1 (de) 2002-08-21
JP2002215259A (ja) 2002-07-31
EP1233329B1 (de) 2008-01-16

Similar Documents

Publication Publication Date Title
DE60132424T2 (de) Taktschutz für gemeinsame Komponenten einer Multiprozessor-DSP Vorrichtung
DE69027515T2 (de) Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung
DE69724355T2 (de) Erweiterte symmetrische Multiprozessorarchitektur
DE3889366T2 (de) Interface für ein Rechnersystem mit reduziertem Befehlssatz.
DE69432514T2 (de) Leistungssteuerung in einem Computersystem
DE60037065T2 (de) Übertragungsteuerung mit Naben- und Torachitektur
DE60027748T2 (de) Busarchitektur und verteiltes busarbitrierungsverfahren für einen kommunikationsprozessor
DE102004009497B3 (de) Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
DE68913914T2 (de) Multiprozessorsystem mit Vervielfältigung von globalen Daten.
DE69028066T2 (de) Kombinierte synchrone und asynchrone Speichersteuerung
DE102005009021A1 (de) Vereinheitliche USB OTG-Steuerungseinheit
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
DE19828620B4 (de) Während des Betriebs aufteilbarer Computerbus für einen verbesserten Betrieb mit sich ändernden Bustaktfrequenzen
DE69030688T2 (de) Halte- und Verriegelungsschaltung für Mikroprozessor
DE3687867T2 (de) Mikrorechner.
DE69219848T2 (de) Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
DE60029118T2 (de) Asynchrone zentralisierte multikanal-dma-steuerung
DE69124043T2 (de) Arbeitsplatzrechner mit Schnittstellenmitteln zur Datenübertragung zwischen zwei Bussen
DE2533737A1 (de) Datenprozessor
DE10314175A1 (de) Bussystem sowie Informationsverarbeitungssystem, das ein Bussystem einschliesst
DE69726400T2 (de) Festkörper-datenprozessor mit vielseitiger mehrquellen-unterbrechungsorganisation
DE102022109273A1 (de) Unabhängige on-chip-mehrfachverschaltung
EP0477595A2 (de) Cachespeichereinrichtung mit m Busanschlüssen
DE69034165T2 (de) Mikroprozessor mit einer Vielzahl von Buskonfigurationen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition