DE69810721T2 - Taktsteuerung - Google Patents
TaktsteuerungInfo
- Publication number
- DE69810721T2 DE69810721T2 DE69810721T DE69810721T DE69810721T2 DE 69810721 T2 DE69810721 T2 DE 69810721T2 DE 69810721 T DE69810721 T DE 69810721T DE 69810721 T DE69810721 T DE 69810721T DE 69810721 T2 DE69810721 T2 DE 69810721T2
- Authority
- DE
- Germany
- Prior art keywords
- signal
- controller
- clock
- operation unit
- block
- 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
Links
- 238000012545 processing Methods 0.000 claims description 53
- 230000004044 response Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 18
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 238000005265 energy consumption Methods 0.000 claims 4
- 230000005540 biological transmission Effects 0.000 claims 2
- 230000015654 memory Effects 0.000 description 43
- 101100524346 Xenopus laevis req-a gene Proteins 0.000 description 22
- 238000005070 sampling Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 108010044012 STAT1 Transcription Factor Proteins 0.000 description 10
- 102100029904 Signal transducer and activator of transcription 1-alpha/beta Human genes 0.000 description 10
- 101100524347 Xenopus laevis req-b gene Proteins 0.000 description 7
- 230000001419 dependent effect Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 2
- 102000004265 STAT2 Transcription Factor Human genes 0.000 description 1
- 108010081691 STAT2 Transcription Factor Proteins 0.000 description 1
- 108010017324 STAT3 Transcription Factor Proteins 0.000 description 1
- 102100024040 Signal transducer and activator of transcription 3 Human genes 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
- Die vorliegende Erfindung betrifft einen Prozessor mit einer datenabhängigen Takt-Tastungsfunktion.
- Ein Takt-Tastungsverfahren, das die Zufuhr eines Taktsignals an einen Schaltkreisblock in einem Prozessor anhält, wenn es nicht nötig ist, den Schaltkreisblock in Betrieb zu halten, ist bekannt. Nach diesem Verfahren kann der Leistungsverbrauch eines Prozessors vermindert werden.
- Eine in 'Japanese Laid-Open Publication' Nr. 8-65496 offenbarte Bildverarbeitungsvorrichtung enthält zwei Schaltungsblöcke. In jeder einer Mehrzahl von Betriebsarten der Vorrichtung wird die Zufuhr eines Taktsignals an wenigstens einen der zwei Schaltungsblöcke angehalten. Ein von außerhalb der Bildverarbeitungsvorrichtung zugeführtes Betriebsartsignal bestimmt, in welchem Modus die Vorrichtung arbeiten soll.
- Ein in 'Japanese Laid-Open Publication' Nr. 5-324871 offenbarter Mikrocomputer umfasst eine zentrale Verarbeitungseinheit (CPU) und eine Mehrzahl von peripheren Hardwareeinheiten. Jede der peripheren Hardwareeinheiten enthält einen Kernteil und einen Takt-Controller. Jeder Takt-Contoller erlaubt die Zufuhr eines Taktsignals an seinen zugehörigen Kernteil nur innerhalb einer vorbestimmten Zeitzone zwischen einer Zeit, bei der die periphere Hardwareeinheit durch die CPU ausgewählt wird, und einer durch einen Zeitgeber bestimmten Zeit.
- Ein Video-Encoder, der nach dem MPEG-(Moving Picture Experts Group) Standard arbeitet, enthält eine große Zahl von Operationseinheiten zur Bewegungsvorhersage, DCT (diskrete Kosinus-Transformation), Quantisierung, Codierung mit variabler Länge und dergleichen. Es ist bekannt, das die Verarbeitungszeit jeder dieser Operationseinheiten von Bilddaten abhängt. Weder die herkömmliche Bildverarbeitungsvorrichtung noch der herkömmliche Mikrocomputer konnten jedoch eine datenabhängige Takt-Tastung durchführen.
- Die Aufgabe der vorliegenden Erfindung besteht darin, einen Prozessor mit einer datenabhängigen Takt-Tastungsfunktion bereitzustellen.
- Um diese Aufgabe zu erfüllen, wird erfindungsgemäß der Betriebszustand einer Operationseinheit durch einen Operations-Controller überwacht, und die Zufuhr eines Taktsignals an die Operationseinheit ist nur erlaubt, während die Operationseinheit tatsächlich arbeitet.
- Im Besonderen umfasst der erfindungsgemäße Prozessor eine Operationseinheit, einen Mikrocontroller, einen Operations-Controller und einen Takt-Controller mit den folgenden Funktionen. Die Operationseinheit ist eine Einheit mit den Funktionen zum Durchführen der Operationsverarbeitung und Liefern eines Statussignals, das den Status der Operationsverarbeitung darstellt. Der Mikrocontroller hat die Funktion des Erzeugens eines Operations-Auslösesignals. Der Operations-Controller ist ein Controller, der ein Anforderungssignal geltend macht, wenn der Operations-Controller das vom Mikrocontroller erzeugte Operations-Auslösesignal empfängt, feststellt, ob das von der Operationseinheit gelieferte Statussignal eine vorbestimmte Endbedingung erfüllt oder nicht, und das Anforderungssignal negiert, wenn das Statussignal die Endbedingung erfüllt. Der Takt-Controller ist ein Controller, der ein Taktsignal an die Operationseinheit derart liefert, dass die Operationseinheit die Operationsverarbeitung durchführen kann, wenn das von dem Operations-Controller an den Takt Controller gelieferte Anforderungssignal geltend gemacht wurde, und die Zufuhr des Taktsignals an die Operationseinheit anhält, wenn das von dem Operations-Controller an den Takt Controller gelieferte Anforderungssignal negiert wurde.
- Erfindungsgemäß ist die Zeit, die die Operationseinheit benötigt, um die Operationsverarbeitung durchzuführen, von Daten abhängig. Wenn die Operationsverarbeitung früh endet, negiert der Operations-Controller das Anforderungssignal in einer frühen Stufe. Der Takt Controller verwirklicht folglich eine datenabhängige Takt Tastung.
- Fig. 1 ist ein Blockschaltbild, das eine exemplarische Konfiguration eines erfindungsgemäßen Prozessors veranschaulicht.
- Fig. 2 ist ein Blockschaltbild, das eine interne Konfiguration für einen in Fig. 1 gezeigten ersten Schaltungsblock veranschaulicht.
- Fig. 3 ist ein Blockschaltbild, das eine interne Konfiguration für einen in Fig. 2 gezeigten Operations-Controller veranschaulicht.
- Fig. 4 ist ein Blockschaltbild, das eine interne Konfiguration für eine in Fig. 2 gezeigte Operationseinheit veranschaulicht.
- Fig. 5 ist ein Blockschaltbild, das eine interne Konfiguration für einen in Fig. 1 gezeigten zweiten Schaltungsblock veranschaulicht.
- Fig. 6 ist ein Blockschaltbild, das eine interne Konfiguration für einen in Fig. 1 gezeigten dritten Schaltungsblock veranschaulicht.
- Fig. 7 ist ein Blockschaltbild, das eine interne Konfiguration für einen in Fig. 1 gezeigten Takt-Controller veranschaulicht.
- Fig. 8 ist ein Blockschaltbild, das eine interne Konfiguration für eine in Fig. 7 gezeigte erste Tastungsschaltung veranschaulicht.
- Fig. 9 ist ein Blockschaltbild, das eine interne Konfiguration für eine in Fig. 7 gezeigte zweite Tastungsschaltung veranschaulicht.
- Fig. 10 ist ein Blockschaltbild, das eine andere exemplarische Konfiguration #ür einen erfindungsgemäßen Prozessor veranschaulicht.
- Fig. 11 ist ein Blockschaltbild, das eine interne Konfiguration für einen in Fig. 10 gezeigten Mikrocontroller veranschaulicht.
- Fig. 12 ist ein Blockschaltbild, das eine interne Konfiguration für einen in Fig. 10 gezeigten ersten Schaltungsblock veranschaulicht.
- Fig. 13 ist ein Blockschaltbild, das eine interne Konfiguration für einen in Fig. 10 gezeigten zweiten Schaltungsblock veranschaulicht.
- Fig. 14 ist ein Blockschaltbild, das eine interne Konfiguration für einen in Fig. 10 gezeigten dritten Schaltungsblock veranschaulicht.
- Fig. 15 ist ein Blockschaltbild, das eine interne Konfiguration für einen in Fig. 10 gezeigten Takt-Controller veranschaulicht.
- Fig. 16 ist ein Blockschaltbild, das eine interne Konfiguration für eine in Fig. 15 gezeigte erste Tastungsschaltung veranschaulicht.
- Fig. 17 ist eine Tabelle, die einen exemplarischen Inhalt einer in Fig. 11 gezeigten Stromverbrauchstabelle zeigt.
- Fig. 18 zeigt ein exemplarisches Ausführungsprogramm des in Fig. 10 gezeigten Prozessors.
- Fig. 19 ist ein Blockschaltbild, das noch eine andere exemplarische Konfiguration für einen erfindungsgemäßen Prozessor veranschaulicht.
- Fig. 20 ist ein Timing-Diagramm, das eine exemplarische Operation des in Fig. 19 gezeigten Prozessors veranschaulicht.
- Fig. 1 veranschaulicht eine exemplarische Konfiguration für einen erfindungsgemäßen Prozessor. Der in Fig. 1 gezeigte Prozessor umfasst: Einen Mikrocontroller 10; einen ersten, zweiten und dritten Schaltungsblock 100, 200, 300, die parallel miteinander arbeiten können, und einen Takt-Controller 400. INIT bezeichnet ein an den Mikrocontroller 10 angelegtes externes Auslösesignal. SYSCLK bezeichnet ein an den Mikrocontroller 10 und den Takt-Controller 400 angelegtes Systemtaktsignal. Der Mikrocontroller 10 ist auf der Basis eines Programms steuerbar und erzeugt ein Operations-Auslösesignal INIT1 und ein Parametersignal PRMTR1 für den ersten Schaltungsblock 100, ein Operations-Auslösesignal INIT2 und ein Parametersignal PRMTR2 für den zweiten Schaltungsblock 200 und ein Operations-Auslösesignal INIT3 und ein Parametersignal PRMTR3 für den dritten Schaltungsblock 300. Der erste Schaltungsblock 100 empfängt die Dateneingabe DIN, während der dritte Schaltungsblock 300 die Datenausgabe DOUT liefert. Der zweite Schaltungsblock 200 liefert eine Adresse ADRS12 an den ersten Schaltungsblock 100 und eine Adresse ADRS23 an den ditten Schaltungsblock 300. DATA12 bezeichnet vom ersten Schattungsblock 100 an den zweiten Schaltungsblock 200 gesendete Daten. DATA23 bezeichnet vom zweiten Schaltungsblock 200 an den dritten Schaltungsblock 300 gesendete Daten. Der erste Schaltungsblock 100 liefert ein Anforderungssignal REQ1 an den Takt-Controller 400 und empfängt ein nicht negiertes Taktsignal NGCLK1 und getastete Taktsignale GCLKA1 und GCLKM1 vom Takt-Controller 400. Der zweite Schaltungsblock 200 liefert ein Anforderungssignal REQ2 an den Takt-Controller 400 und empfängt ein nicht negiertes Taktsignal NGCLK2 und getastete Taktsignale GCLKA2 und GCLKM2 vom Takt-Controller 400. Der dritte Schaltungsblock 300 liefert ein Anforderungssignal REQ3 an den Takt Controller 400 und empfängt ein nicht negiertes Taktsignal NGCLK3 und getastete Taktsignale GCLKA3 und GCLKM3 vom Takt-Controller 400.
- Fig. 2 veranschaulicht eine interne Konfiguration des in Fig. 1 gezeigten ersten Schaltungsblocks 100. Der erste Schaltungsblock 100 umfasst: Einen Operations-Controller 110; eine Operationseinheit 120 und einen Speicher 130. Der Operations-Controller 110 empfängt INIT1 und PRMTR1 vom Mikrocontroller 10 und NGCLK1 vom Takt-Controller 400 und liefert REQ1 an den Takt-Controller 400. Der Operations-Controller 110 liefert ein Parameter- Einstellsignal PSET1 an die Operationseinheit 120 und empfängt ein Statussignal STAT1 von der Operationseinheit 120. Die Operationseinheit 120 empfängt DIN von außen und GCLKA1 vom Takt-Controller 400 und liefert eine Adresse ADRS11 und Daten DATA11 an den Speicher 130. Der Speicher 130 ist z. B. ein taktsynchrones SRAM (statischer Direktzugriffsspeicher) und empfängt ADRS12 vom zweiten Schaltungsblock 200 und GCLKM1 vom Takt-Controller 400 und liefert DATA12 an den zweiten Schaltungsblock 200.
- Fig. 3 veranschaulicht eine interne Konfiguration des in Fig. 2 gezeigten Operations-Controllers 110. Der Operations-Controller 110 umfasst: Einen Decoder 111; ein Auslöse-Latch 112; einen Komparator 113, ein Logikgatter 114 und ein Anforderungsregister 115. Der Decoder 111 empfängt INIT1 und PRMTR1 vom Mikrocontroller 10, REQ1 vom Anforderungsregister 115 und NGCLK1 vom Takt-Controller 400 und liefert PSET1 an die Operationseinheit 120. Der Decoder 111 liefert außerdem ein Endbedingungssignal ECOND1 an den Komparator 113. Wenn REQ1 auf L-(tief) Pegel ist, werden INIT1 und PRMTR1 freigegeben, und eine Decodierungsoperation wird eingeleitet. Das Auslöse-Latch 112 wird durch ein einstufiges Flipflop oder durch mehrstufige Flipflops gebildet und verriegelt INIT1, das ein Impulssignal ist, synchron mit NGCLK1. Der Ausgang der Auslöse-Latchs 112 wird daher während einer Zyklusperiode von NGCLK1, die der Zahl von Stufen der Flipflops entspricht, auf einen H- (hoch) Pegel gesetzt. Der Komparator 113 vergleicht das von der Operationseinheit 120 gelieferte STAT1 mit dem vom Decoder 111 gelieferten ECOND1. Wenn STAT1 gleich ECOND1 ist, wird der Ausgang des Komparators 113 auf H-Pegel gesetzt. Andernfalls wird der Ausgang auf L-Pegel negiert. Wenn der Ausgang des Auslöse-Latchs 112 auf H-Pegel ist oder wenn der Ausgang des Komparators 113 auf L-Pegel ist, lifert das Logikgatter 114 ein Signal auf H-Pegel an das Anforderungsregister 115. Andernfalls liefert das Logikgatter 114 ein Signal auf L-Pegel an das Anforderungsregister 115. Das Anforderungsregister 115 verriegelt den Ausgang des Logikgatters 114 synchron mit NGCLK1. RE41 ist der Ausgang des Anforderungsregisters 115. Im Ausgangszustand wird REQ1 auf L-Pegel negiert.
- Fig. 4 veranschaulicht eine interne Konfiguration der in Fig. 2 gezeigten Operationseinheit 120. Die Operationseinheit 120 umfasst: Eine erste Operationsschaltung 121; eine zweite Operationsschaltung 122; einen Adressengenerator 123; einen Operationsstatus-Ermittler 124 und ein Steuerregister 125, wobei jede dieser Komponenten das vom Takt-Controller 400 gelieferte Signal GCLKA1 empfängt. Die erste Operationsschaltung 121 empfängt DIN von außen und liefert die Ergebnisse der Operation an die zweite Operationsschaltung 122. Die zweite Operationsschaltung 122 liefert DATA11 an den Speicher 130. Alternativ kann DATA11 das Operationsergebnis der ersten Operationsschaltung 121 sein. Der Adressengenerator 123 liefert ADRS11 an den Speicher 130. Der Operationsstatus-Ermittler 124 überwacht die Operationszustände der ersten Operationsschaltung 121, der zweiten Operationsschaltung 122 und des Adressengenerators 123, um dadurch STAT1 an den Operations- Controller 110 zu liefern. Das vom Operations-Controller 110 gelieferte Signal PSET1 enthält Information, die angibt, welche einer Mehrzahl von Ressourcen der Operationseinheit 120 benutzt werden soll. Das Steuerregister 125 behält und sendet die Information an die erste Operationsschaltung 121, die zweite Operationsschaltung 122, den Adressengenerator 123 und den Operationsstatus-Ermittler 124.
- Fig. 5 veranschaulicht eine interne Konfiguration für den in Fig. 1 gezeigten zweiten Schaltungsblock 200. Der zweite Schaltungsblock 200 umfasst: Einen Operations-Controller 210; eine Operationseinheit 220 und einen Speicher 230. Der Operations-Controller 210 empfängt INIT2 und PRMTR2 vom Mikrocontroller 10 und NGCLK2 vom Takt-Controller 400 und liefert REQ2 an den Takt-Controller 400. Der Operations-Controller 210 liefert außerdem ein Parameter-Einstellsignal PSET2 an die Operationseinheit 220 und empfängt ein Statussignal STAT2 von der Operationseinheit 220. Die Operationseinheit 220 empfängt DATA12 vom ersten Schaltungsblock 100 und GCLKA2 vom Takt-Controller 400 und liefert ADRS12 an den ersten Schaltungsblock 100. Die Operationseinheit 220 liefert außerdem eine Adresse ADRS22 an den Speicher 230 und ADRS23 und DATA23 an den dritten Schaltungsblock 300 und tauscht Daten DATA22 mit dem Speicher 230 aus. Der Speicher 230 ist z. B. ein taktsynchrones SRAM und empfängt GCLKM2 vom Takt-Controller 400. Die jeweiligen inneren Konfigurationen des Operations-Controllers 210 und der Operationseinheit 220 sind im Wesentlichen dieselben wie die in Fig. 3 und 4 gezeigten, außer dass die Operationseinheit 220 drei Adressengeneratoren enthält.
- Fig. 6 veranschaulicht eine interne Konfiguration für den in Fig. 1 gezeigten dritten Schaltungsblock 300. Der dritte Schattungsblock 300 umfasst: Einen Operations-Controller 310; eine Operationseinheit 320 und einen Speicher 330. Der Operations-Controller 310 empfängt INIT3 und PRMTR3 vom Mikrocontroller 10 und NGCLK3 vom Takt-Controller 400 und Liefert REQ3 an den Takt-Controller 400. Der Operations-Controller 310 liefert außerdem ein Parameter-Einstellsignal PSET3 an die Operationseinheit 320 und empfängt ein Statussignal STAT3 von der Operationseinheit 320. Die Operationseinheit 320 emfängt GCLKA3 vom Takt-Controller 400 und liefert DOUT nach außen. Die Operationseinheit 320 liefert außerdem eine Adresse ADRS33 an den Speicher 330 und empfängt Datan DATA33 vom Speicher 330. Der Speicher 330 ist z. B. ein taktsynchrones SRAM und empfängt ADRS23 und DATA23 vom zweiten Schaltungsblock 200 und GCLKM3 vom Takt-Controller 400. Die jeweiligen internen Konfigurationen des Operations-Controllers 310 und der Operationseinheit 320 sind im Wesentlichen dieselben wie die in Fig. 3 und 4 gezeigten.
- Fig. 7 veranschaulicht eine interne Konfiguration für den in Fig. 1 gezeigten Takt Controller 400. Der Takt-Controller 400 umfasst drei erste Tastungsschaltungen 410, 420, 430, jede mit derselben Konfiguration, und drei zweite Tastungsschaltungen 440, 450, 460 mit jeweils derselben Konfiguration. SYSCLK wird an alle Tastungsschaltungen geliefert. Das vom Operations-Controller 110 gelieferte Signal REQ1 wird an die erste Tastungsschaltung 410 und die zweite Tastungsschaltung 440 angelegt. Das vom Operations-Controller 210 gelieferte Signal REQ2 wird an die erste Tastungsschaltung 420 und die drei zweiten Tastungsschaltungen 440, 450, 460 angelegt. Einer der Eingänge der zweiten Tastungsschaltung 450 ist auf L-Pegel festgelegt. Das vom Operations-Controller 310 gelieferte Signal REQ3 wird an die erste Tastungsschaltung 430 und die zweite Tastungsschaltung 460 gelegt. Die erste Tastungsschaltung 410 liefert NGCLK1 an den Operations-Controller 110 und GCLKA1 an die Operationseinheit 120. Die erste Tastungsschaltung 420 liefert NGCLK2 an den Operations-Controller 210 und GCLKA2 an die Operationseinheit 220. Die erste Tastungsschaltung 430 liefert NGCLK3 an den Operations-Controller 310 und GCLKA3 an die Operationseinheit 320. Die zweiten Tastungsschaltungen 440, 450, 460 liefern GCLKM1, GCLKM2 und GCLKM3 an die Speicher 130, 230 bzw. 330.
- Fig. 8 veranschaulicht eine interne Konfiguration für die in Fig. 7 gezeigte erste Tastungsschaltung 410. Die erste Tastungsschaltung 410 umfasst: Ein Anforderungsregister 411; ein Logikgatter 412 und einen Puffer 413. Das Anforderungsregister 411 speichert das vom Operations-Controller 110 gelieferte Signal REQ1 synchron mit SYSCLK. Wenn der Ausgang des Anforderungsregisters 411 auf H-Pegel gesetzt wird, sendet das Logikgatter 412 SYSCLK als GCLKA1 an die Operationseinheit 120. Alternativ, wenn der Ausgang des Anforderungsregisters 411 auf L-Pegel negiert wird, hält das Logikgatter 412 das Senden von SYSCLK an die Operationseinheit 120 an. Während das Senden von SYSCLK angehalten wird, liegt GCLKA1 fest auf H-Pegel. Der Puffer 413 sendet immer SYSCLK als NGCLK1 an den Operations-Controller 110.
- Fig. 9 veranschaulicht eine interne Konfiguration für die in Fig. 7 gezeigte zweite Tastungsschaltung 440. Die zweite Tastungsschaltung 440 umfasst: Ein erstes Anforderungsregister 441; ein zweites Anforderungsregister 442 und Logikgatter 443, 444. Das erste Anforderungsregister 441 speichert das vom Operations-Controller 110 gelieferte Signal REQ1 synchron mit SYSCLK. Das zweite Anforderungsregister 442 speichert das vom Operations- Controller 210 gelieferte Signal REQ2 synchron mit SYSCLK. Wenn entweder der Ausgang des ersten Anforderungsregisters 441 oder der des zweiten Anforderungsregisters 442 auf H-Pegel gesetzt wird, senden die Logikgatter 443, 444 SYSCLK als GCLKM1 an den Speicher 130. Alternativ, wenn die Ausgänge des ersten und zweiten Anforderungsregisters 441 bzw. 442 beide auf L-Pegel negiert werden, halten die Logikgatter 443 und 444 das Senden von SYSCLK an den Speicher 130 an. Während das Senden von SYSCLK angehalten wird, liegt GCLKM1 fest auf H-Pegel.
- Wenn in dem in Fig. 1 gezeigten Prozessor INIT geltend gemacht wird, beginnt der Mikrocontroller 10 gemäß dem in einem internen Befehlsspeicher (nicht gezeigt) beschriebenen Programm zu arbeiten. Der Mikrocontroller 10 kann den ersten, zweiten und dritten Schaltungsblock 100, 200, 300 parallel miteinander betreiben. Um z. B. den ersten Schaltungsblock 100 zu betreiben, erzeugt der Mikrocontroller 10 INIT1 und PRMTR1 für den ersten Schaltungsblock 100. PRMTR1 ist ein Signal, das angibt, welche einer Mehrzahl von Ressourcen der Operationseinheit 120 im ersten Schaltungsblock 100 benutzt werden soll. Der Operations-Controller 110 im ersten Schaltungsblock 100 empfängt immer NGCLK1 vom Takt-Controller 400. Sobald der Mikrocontroller 10 INIT1 erzeugt hat, kann daher der Operations-Controller 110 REQ1 auf H-Pegel geltend machen. Als Reaktion auf die Gettendmachung von REQ1 beginnt der Takt-Controller 400, GCLKA1 an die Operationseinheit 120 und GCLKM1 an den Speicher 130 zu liefern. Andererseits, während REQ1 auf L-Pegel ist, nimmt der Decoder 111 im Operations-Controller 110 PRMTR1 auf und decodiert es. Das Decodierungsergebnis wird in PSET1 und ECOND1 widergespiegelt. Die betreffenden Bits von PSET1 und ECOND1 entsprechen den steuerbaren Ressourcen in der Operationseinheit 120. Das heißt, der Operations-Controller 110 hat die Funktion, die interne Konfiguration der Operationseinheit 120 einzustellen und ECOND1 gemäß PRMTR1 zu ändern. Die Operationseinheit 120 führt die Operationsverarbeitung auf DIN aus und schreibt DATA11 als Ergebnis der Operationsverarbeitung in den Speicher 130. Der Status der Operationsverarbeitung in der Operationseinheit 120 wird in STAT1 widergespiegelt. Der Operations-Controller 110 stellt fest, ob das von der Operationseinheit 120 gelieferte Signal STAT1 eine vorbestimmte Endbedingung (definiert durch ECOND1) erfüllt oder nicht. Wenn STAT1 die Endbedingung erfüllt, negiert der Operations-Controller 110 REQ1 auf L-Pegel. Das heißt, zu einem Zeitpunkt, wenn die Operationsverarbeitung in der Operationseinheit 120 endet, wird REQ1 auf L-Pegel zurückgebracht. Als Reaktion auf die Negation von REQ1 auf L-Pegel stoppt der Takt-Controller 400 die Zufuhr von GCLKA1 an die Operationseinheit 120 und GCLKM1 an den Speicher 130.
- Wie zu verstehen ist, überwachen in dem in Fig. 1 gezeigten Prozessor die Operations-Controller 110, 210, 310 die jeweiligen Operationszustände der Operationseinheiten 120, 220, 320 und erlauben die Zufuhr eines Taktsignals nur an eine tatsächlich arbeitende Operationseinheit, wodurch die datenabhängige Takt-Tastung verwirklicht wird. Der Leistungsverbrauch des Prozessors kann folglich im Vergleich mit der herkömmlichen Takt-Tastungstechnik verringert werden.
- Fig. 10 veranschaulicht eine andere exemplarische Konfiguration eines erfindungsgemäßen Prozessors. Der in Fig. 10 gezeigte Prozessor umfasst: Einen Mikrocontroller 500; einen ersten, zweiten und dritten Schaltungsblock 101, 201, 301, die parallel miteinander arbeiten können, und einen Takt-Controller 600. INIT bezeichnet ein an den Mikrocontroller 500 angelegtes externes Auslösesignal. LPWR bezeichnet ein an den Mikrocontroller 500 angelegtes Niederleistungssignal. SYSCLK bezeichnet ein an den Mikrocontroller 500 und den Takt- Controller 60 angelegtes Systemtaktsignal. Der Mikrocontroller 500 ist auf der Basis eines Programms steuerbar. Der Mikrocontroller 500 erzeugt: Ein Operations-Auslösesignal INIT1 für den ersten Schaltungsblock 101 und den Takt-Controller 600; ein Parametersignal PRMTR1 für den ersten Schaltungsblock 101; ein Operations-Auslösesignal INIT2 für den zweiten Schaltungsblock 201 und den Takt-Controller 600; ein Parametersignal PRMTR2 für den zweiten Schaltungsblock 201; ein Operations-Auslösesignal INIT3 für den dritten Schaltungsblock 301 und den Takt-Controller 600 und ein Parametersignal PRMTR3 für den dritten Schaltungsblock 301. Der Mikrocontroller 500 erzeugt außerdem für den Takt-Controller 600 ein Controller-Auslösesignal INITC1 vor dem Erzeugen des Operations-Auslösesignals INIT1, ein Controller-Auslösesignal INITC2 vor dem Erzeugen des Operations-Auslösesignals INIT2 und ein Controller-Auslösesignal INITC3 vor dem Erzeugen des Operations-Auslösesignals INIT3. Der erste Schaltungsblock 101 empfängt die Dateneingabe DIN, während der dritte Schaltungsblock 301 die Datenausgabe DOUT liefert. Der zweite Schaltungsblock 210 liefert eine Adresse ADRS12 an den ersten Schaltungsblock 101 und eine Adresse ADRS23 an den dritten Schaltungsblock 301. DATA12 bezeichnet vom ersten Schaltungsblock 101 zum zweiten Schaltungsblock 201 gesendete Daten. DATA23 bezeichnet vom zweiten Schaltungsblock 201 zum dritten Schaltungsblock 301 gesendete Daten. Der erste Schaltungsblock 101 liefert ein Tätig-Signal BUSY1 an den Mikrocontroller 500 und ein Anforderungssignal REQ2 an den Takt-Controller 600 und empfängt getastete Taktsignale GCLKC1, GCLKA1 und GCLKM1 vom Takt-Controller 600. Der zweite Schaltungsblock 200 liefert ein Tätig-Signal BUSY2 an den Mikrocontroller 500 und ein Anforderungssignal REQ2 an den Takt-Controller 600 und empfängt getastete Taktsignale GCLKC2, GCLKA2 und GCLKM2 vom Takt-Controller 600. Der dritte Schaltungsblock 301 liefert ein Tätig-Signal BUSY3 an den Mikrocontroller 500 und ein Anforderungssignal REQ3 an den Takt-Controller 600 und empfängt getastete Taktimpulse GCLKC3, GCLKA3 und GCLKM3 vom Takt-Controller 600.
- Fig. 11 veranschaulicht eine interne Konfiguration für den in Fig. 10 gezeigten Mikrocontroller 500. Der Mikrocontroller 500 umfasst: Einen Befehlsspeicher 501; ein Befehlsregister 502; einen Befehlsdecoder 503; einen Befehlszuordner 504; einen Adressengenerator 505; einen Zähler 506; einen Befehlsausführungs-Controller 507 und eine Leistungsverbrauchstabelle 508. Wenn INIT von außen empfangen wird, beginnt der Befehlszuordner 504 zu arbeiten, und liefert ein Adressensteuersignal ACONT an den Adressengenerator 505, ein Holen-Steuersignal FCONT an das Befehlsregister 502, ein Decodierungssteuersignal DCONT an den Befehlsdecoder 503 und ein Zählsteuersignal CCONT an den Zähler 506. Der Befehlsspeicher 501 sendet einen Befehl, der mit einer vom Adressengenerator 505 gelieferten Befehlsadresse IADRS verbunden ist, an das Befehlsregister 502. Das Befehlsregister 502 nimmt den aus dem Befehlsspeicher 501 vorab geholten Befehl nur an, wenn FCONT es erlaubt. Der Befehlsdecoder 503 decodiert den vom Befehlsregister 502 ausgegebenen Befehl nur, wenn es von DCONT erlaubt wird. Das Ergebnis der Decodierung (einschließlich Information, die angibt, welche Art von Operationsverarbeitung der Befehl benötigt, und Information, die angibt, in welchem Schaltungsblock die Operationsverarbeitung erfolgen soll) wird an den Befehlszuordner 504 und den Befehlsausführungs-Controller 507 gesendet. Wenn der decodierte Befehl die Operationsverarbeitungsleistung im ersten Schaltungsblock 101 benötigt, erzeugt der Befehlsdecoder 503 INITC1 unter der Voraussetzung, dass BUSY1 negiert wurde. Wenn der decodierte Befehl die Operationsverarbeitungsleistung im zweiten Schaltungsblock 201 benötigt, erzeugt der Befehlsdecoder 503 INITC2 unter der Voraussetzung, dass BUSY2 negiert wurde. Und wenn der decodierte Befehl die Operationsverarbeitungsleistung im dritten Schaltungsblock 301 benötigt, erzeugt der Befehlsdecoder 503 INITC3 unter der Voraussetzung, dass BUSY3 negiert wurde. Wenn der decodierte Befehl die Operationsverarbeitungsleistung im ersten Schaltungsblock 101 benötigt, erzeugt der Befehlszuordner 504 INIT1 und PRMTR1 unter der Voraussetzung, dass BUSY1 negiert wurde. Wenn der decodierte Befehl die Operationsverarbeitungsleistung im zweiten Schaltungsblock 201 benötigt, erzeugt der Befehlszuordner 504 INIT2 und PRMTR2 unter der Voraussetzung, dass BUSY2 negiert wurde. Und wenn der decodierte Befehl die Operationsverarbeitungsleistung im dritten Schaltungsblock 301 benötigt, erzeugt der Befehlszuordner 504 INIT3 und PRMTR3 unter der Voraussetzung, dass BUSY3 negiert wurde. Der Zähler 506 liefert einen Zählerwert COUNT, der angibt, welcher Befehl als Nächstes vorab geholt werden soll, an den Befehlszuordner 504. BUSY1, BUSY2 und BUSY3 werden auch an den Befehlsausführungs-Controller 507 geliefert. Wenn LPWR von außen empfangen wird, beginnt der Befehlsausführungs-Controller 507 zu arbeiten und sagt den Stromverbrauch unter Bezug auf die Stromverbrauchstabelle 508 vorher. Wenn der vorhergesagte Stromverbrauch den durch LPWR bestimmten maximalen Stromverbrauch übersteigt, wird ein vom Befehlsausführungs-Controller 507 an den Befehlszuordner 504 geliefertes Haltesignal HOLD geltend gemacht. Zum Beispiel, selbst wenn der decodierte Befehl die Operationsverarbeitungsleistung im ersten Schaltungsblock 1ß1 benötigt, setzt der Befehlszuordner 504 die Erzeugung von INIT1 und PRMTR1 aus, wenn HOLD geltend gemacht wurde. In einem solchen Fall werden ACONT, FCONT, DCONT und CCONT deaktiviert, so dass das Holen und Decodieren von Befehlen nicht mehr weitergeht.
- Fig. 12 veranschaulicht eine interne Konfiguration für den in Fig. 10 gezeigten ersten Schaltungsblock 101. Der erste Schaltungsblock 101 umfasst: Einen Operations-Controller 140; eine Operationseinheit 120 und einen Speicher 130. Der Operations-Controller 140 unterscheidet sich von dem in Fig. 2 gezeigten Operations-Controller 110 dadurch, dass der Controller 140 die Funktion hat, BUSY1 zu liefern, und GCLKC1 anstelle NGCLK1 empfängt.
- Fig. 13 veranschaulicht eine interne Konfiguration für den in Fig. 10 gezeigten zweiten Schaltungsblock 201. Der zweite Schaltungsblock 201 umfasst: Einen Operations-Controller 240; eine Operationseinheit 220 und einen Speicher 230. Der Operations-Controller 240 unterscheidet sich von dem in Fig. 5 gezeigten Operations-Controller 210 dadurch, dass der Controller 240 die Funktion hat, BUSY2 zu liefern, und GCLKC2 anstelle NGCLK2 empfängt.
- Fig. 14 veranschaulicht eine interne Konfiguration für den in Fig. 10 gezeigten dritten Schaltungsblock 301. Der dritte Schaltungsblock 301 umfasst: Einen Operations-Controller 340; eine Operationseinheit 320 und einen Speicher 330. Der Operations-Controller 340 unterscheidet sich von dem in Fig. 6 gezeigten Operations-Controller 310 dadurch, dass der Controller 340 die Funktion hat, BUSY3 zu liefern, und GCLKC3 anstelle NGCLK3 empfängt.
- Fig. 15 veranschaulicht eine interne Konfiguration für den in Fig. 10 gezeigten Takt Controller 600. Der Takt-Controller 600 umfasst drei erste Tastungsschaltungen 610, 620, 630, jede mit derselben internen Konfiguration, und drei zweite Tastungsschaltungen 440, 450, 460 mit jeweils derselben internen Konfiguration wie die in Fig. 9 gezeigte. SYSCLK wird an alle Tastungsschaltungen geliefert. Das vom Operations-Controller 140 gelieferte Signal REQ1 wird an die erste Tastungsschaltung 610 und die zweite Tastungsschaltung 440 angelegt. Das vom Operations-Controller 240 gelieferte Signal REQ2 wird an die erste Tastungsschaltung 620 und die drei zweiten Tastungsschaltungen 440, 450, 460 angelegt. Einer der Eingänge der zweiten Tastungsschaltung 450 ist auf L-Pegel festgelegt. Das vom Operations-Controller 340 gelieferte Signal REQ3 wird an die erste Tastungsschaltung 630 und die zweite Tastungsschaltung 460 gelegt. Die erste Tastungsschaltung 610 empfängt INIT1 und INITC1, die vom Mikrocontroller 500 erzeugt wurden, und liefert GCLKC1 an den Operations-Controller 140 und GCLKA1 an die Operationseinheit 120. Die erste Tastungsschaltung 620 empfängt INIT2 und INITC2, die vom Mikrocontroller 500 erzeugt wurden, und liefert GCLKC2 an den Operations-Controller 240 und GCLKA2 an die Operationseinheit 220. Die erste Tastungsschaltung 630 empfängt INIT3 und INITC3, die vom Mikrocontroller 500 erzeugt wurden, und liefert GCLKC3 an den Operations-Controller 340 und GCLKA3 an die Operationseinheit 320. Die zweiten Tastungsschaltungen 440, 450, 460 liefern GCLKM1, GCLKM2, GCLKM3 an die Speicher 130, 230 bzw. 330.
- Fig. 16 veranschaulicht eine interne Konfiguration für die in Fig. 15 gezeigte erste Tastungsschaltung 610. Die erste Tastungsschaltung 610 umfasst: Ein Anforderungsregister 611; ein Logikgatter 612; ein Auslöseregister 613 und Logikgatter 614, 615. Das Anforderungsregister 611 speichert das vom Operations-Controller 140 gelieferte Signal REQ1 synchron mit SYSCLK. Das Logikgatter 612 liefert die ODER-Verknüpfung von INITC1, INIT1 und REQ1 an das Auslöseregister 613. Das Auslöseregister 613 speichert das ODER synchron mit SYSCLK. Wenn der Ausgang des Anforderungsregisters 611 auf H-Pegel gesetzt wird, sendet das Logikgatter 614 SYSCLK als GCLKA1 an die Operationseinheit 120. Alternativ, wenn der Ausgang des Anforderungsregisters 611 auf L-Pegel negiert wird, stoppt das Logikgatter 614 das Senden von SYSCLK an die Operationseinheit 120. Während das Senden von SYSCLK gestoppt ist, wird GCLKA1 fest auf H-Pegel gelegt. Wenn der Ausgang des Auslöseregisters 613 auf H-Pegel gesetzt wird, sendet das Logikgatter 615 SYSCLK als GCLKC1 an den Operations-Controller 140. Alternativ, wenn der Ausgang des Auslöseregisters 613 auf L-Pegel negiert wird, stoppt das Logikgatter 615 das Senden von SYSCLK an den Operations-Controller 140. Während das Senden von SYSCLK gestoppt ist, wird GCLKC1 auf H-Pegel festgehalten.
- Wenn in dem in Fig. 10 gezeigten Prozessor INIT geltend gemacht wird, beginnt der Mikrocontroller 500 gemäß dem im Befehlsregister 501 beschriebenen Programm zu arbeiten. Der Mikrocontroller 500 kann den ersten, zweiten und dritten Schaltungsblock 101, 201, 301 parallel miteinander betreiben. Wenn z. B. ein Befehl, der die Operationsverarbeitungsleistung im ersten Schaltungsblock 101 benötigt, durch den Befehlsdecoder 503 decodiert wurde, wird INITC1 vom Befehlsdecoder 503 unter der Bedingung erzeugt, dass BUSY1 negiert wurde, und bevor INIT1 und PRMTR1 vom Befehlszuordner 504 erzeugt werden. Als Reaktion auf das Geltendmachen von INITC1 beginnt die erste Tastungsschaltung 610 im Takt-Controller 600, GCLKC1 an den Operations-Controller 140 zu liefern. Sobald der Befehlszuordner 504 INIT1 erzeugt hat, kann daher der Operations-Controller 140 im ersten Schaltungsblock 101 REQ1 auf H-Pegel geltend machen. Als Reaktion auf das Geltendmachen von REQ1 beginnt der Takt-Controller 600, GCLKA1 an die Operationseinheit 120 und GCLKM1 an den Speicher 130 zu liefern. Die Operationseinheit 120 führt die Operationsverarbeitung auf DIN durch und schreibt DATA11, das Operationsverarbeitungsergebnis, in den Speicher 130. Der Status der Operationsverarbeitung in der Operationseinheit 120 wird in STAT1 widergespiegelt. Der Operations-Controller 140 stellt fest, ob das von der Operationseinheit gelieferte STAT1 eine vorbestimmte Endbedingung erfüllt oder nicht. Wenn STAT1 die Endbedingung erfüllt, negiert der Operations-Controller 140 REQ1 auf L-Pegel. Das heißt, zu einem Zeitpunkt, wo die Operationsverarbeitung in der Operationseinheit 120 endet, wird REQ1 auf L-Pegel zurückgesetzt. Als Reaktion auf das Negieren von REQ1 auf L-Pegel stoppt der Takt-Controller 600 das Liefern von GCLKC1 an den Operations-Controller 140, das Liefern von GCLKA1 an die Operationseinheit 120 und das Liefern von GCLKM1 an den Speicher 130.
- Wie zu verstehen ist, überwachen in dem in Fig. 10 gezeigten Prozesor die Operations-Controller 140, 240, 340 die jeweiligen Operationszustände der Operationseinheiten 120, 220 und 320 und erlauben das Liefern eines Taktsignal nur an eine tatsächlich arbeitende Operationseinheit, wodurch die datenabhängige Tastung verwirklicht wird. Da außerdem die Zufuhr eines Taktsignals nur an einen durch den Befehlsdecoder 503 bestimmten Operations-Controller erlaubt wird, kann der Stromverbrauch des Prozessors verglichen mit dem in Fig. 1 gezeigten Prozessor weiter vermindert werden.
- Fig. 17 zeigt einen exemplarischen Inhalt der in Fig. 11 gezeigten Stromverbrauchstabelle 508. Fig. 18 zeigt ein exemplarisches Ausführungsprogramm des in Fig. 10 gezeigten Prozessors. Der in Fig. 10 gezeigte Prozessor kann in einer solchen Weise steuern, dass die Gesamtsumme des von dem ersten, zweiten und dritten Schaltungsblock 101, 201, 301 verbrauchten Stromes den durch LPWR bestimmten maximalen Stromverbrauch nicht übersteigt. Wenn in dem in Fig. 10 gezeigten Prozessor LPWR geltend gemacht wird, wird der maximale Stromverbrauch im Befehlsausführungs-Controller 507 eingestellt und der momentane Wert des Stromverbrauchs pro Schaltungsblock wird zu "0" initialisiert. Hierin sei angenommen, dass der maximale Stromverbrauch auf "80" gesetzt wird. Danach, wenn INIT geltend gemacht wird, beginnt der Mikrocontroller 500 gemäß dem in Fig. 18 gezeigten Programm zu arbeiten. Wenn der Befehl SET durch den Befehlsdecoder 503 decodiert wird, bezieht sich der Befehlsausführungs-Controller 507 zuerst auf die Stromverbrauchstabelle 508, um dadurch vorherzusagen, dass der Stromverbrauch um "1" zunehmen würde, wenn die Operationseinheit 120 die Operationsverarbeitung gemäß dem Befehl SET durchführt. Da die Gesamtsumme des momentan von den jeweiligen Schaltungsblöcken verbrauchten Stromes "0" ist ist zu verstehen, dass der Stromverbrauch "80" nicht übersteigen wird, auch wenn die Operationseinheit 120 die Operationsverarbeitung gemäß Befehl SET durchführt. Der Befehlsausführungs-Controller 507 negiert folglich HOLD. Der Befehlszuordner 504 erzeugt umgehend INIT1 und PRMTR1 gemäß Befehl SET. Zu diesem Zeitpunkt decodiert der Befehlsdecoder 503 den nächsten Befehl MPY. Der momentane Wert des vom ersten Schaltungsblock 101 verbrauchten Stromes wird beim Übergang von BUSY1 vom L- zum H-Pegel auf "1" aktualisiert. Dieser Augenblickswert wird beim Übergang von BUSY1 vom H- zum L-Pegel auf "0" zurückgesetzt. Danach sagt jedes Mal, wenn ein Befehl decodiert wird, der Befehlsausführungs-Controller 507 in einer ähnlichen Weise vorher, um wie viel der Stromverbrauch durch Ausführen der Operationsverarbeitung gemäß dem decodierten Befehl zunehmen würde. Und wenn der Stromverbrauch "80" übersteigt, wird HOLD geltend gemacht. In dem in Fig. 18 gezeigten Beispiel wird HOLD zu einem Zeitpunkt geltend gemacht, wenn der Befehl DCT decodiert wird. Zu diesem Zeitpunkt sind die Befehle SET, MPY und ADD bereits ausgeführt worden. Da jedoch der Befehl VIF noch ausgeführt wird, ist die Gesamtsumme des momentan verbrauchten Stromes "45". Wie man sehen kann, wird somit, wenn die Operationsverarbeitung gemäß dem Befehl DCT durchgeführt wird, der Stromverbrauch "88" betragen, was "80" übersteigt. Wenn HOLD geltend gemacht wird, setzt der Befehlszuordner 504 das Erzeugen des Operations-Auslösesignals und des Parametersignals aus. Auf diese Weise erfolgt die Steuerung so, dass die Gesamtsumme des vom ersten, zweiten und dritten Schaltungsblock 101, 201 und 301 verbrauchten Stromes "80" nicht übersteigt, wodurch der Stromverbrauch ausgeglichen wird.
- Fig. 19 veranschaulicht noch eine andere exemplarische Konfiguration für einen erfindungsgemäßen Prozessor. Der in Fig. 19 gezeigte Prozessor enthält einen MPEG-Videoencoder 700 und einen Bildspeicher 800, der aus einer Mehrzahl von synchronen DRAMs (dynamischen Direktzugriffsspeichern) besteht. Der MPEG-Videoencoder 700 umfasst: Einen Mikrocontroller 710; eine Speicherschnittstelle 720; einen ersten, zweiten und dritten Schaltungsblock 730, 740, 750, die parallel miteinander arbeiten können, und einen Takt-Controller 760. Der erste Schaltungsblock 730 ist ein Videoeingangs-Schnittstellen-(VIF) block. Der zweite Schaltungsblock 740 ist ein Makroblock-Verarbeitungs-(MBP) block und umfasst: Einen ersten Bewegungsschätzungs-(erster ME) block 741; einen zweiten Bewegungsschätzungs-(zweiter ME) block 742; einen Modusauswahl-Verarbeitungs-(MSP) block 743; einen DCT-Quantisierungs-(DCTQ) block 744 und einen Codierungsblock variabler Länge (VLC) 745. Diese fünf Schaltungsblöcke 741 bis 745 bilden eine Makroblock-Pipeline. Der dritte Schaltungsblock 750 ist ein Code/Hast-Schnittstellen-(CIF/HIF) block. VDIN bezeichnet in den VIF-Block 730 eingegebene Videoeingabedaten. VDOUT bezeichnet vom CIF/HIF-Block 750 gelieferte Videoausgabedaten (codierter Ausgang). VCONT bezeichnet ein vom einem Host Prozessor (nicht gezeigt) an den CIF/HIF-Block 750 geliefertes Steuersignal. ECLK bezeichnet ein von außen an den Takt-Controller 760 geliefertes Systemtaktsignal. Der Takt- Controller 760 liefert ein nicht getastetes Taktsignal an den Mikrocontroller 710 und ein getastetes Taktsignal an die Speicherschnittstelle 720. Der Takt-Controller 760 liefert außerdem ein getastetes Taksignal an alle sieben Schaltungsblöcke 730, 741, 742, 743, 744; 745 und 750.
- Der Mikrocontroller 710 ist auf der Basis eines Programms steuerbar und kommuniziert mit der Speicherschnittstelle 720, dem VIF-Block 730, dem MBP-Block 740 und dem CIF/HIF- Block 750. Der Mikrocontroller 710 hat insbesondere die Funktion, ein Operations-Auslösesignal und ein Parametersignal für jeden der fünf Schaltungsblöcke 741 bis 745 zu erzeugen.
- Wenn der VIF-Block 730 durch den Mikrocontroller 710 in Gang gesetzt wird, macht der VIF- Block 730 ein Anforderungssignal geltend, um dadurch die Zufuhr eines Taktsignals zu verlangen. Als Reaktion auf das Geltendmachen des Anforderungssignals beginnt der Takt- Controller 760, das Taktsignal an den VIF-Block 730 zu liefern. Der VIF-Block 730 führt verschiedenartige Verarbeitungen aus, z. B. Datenneuanordnung zur Umwandlung der Videodateneingabe VDIN in ein MPEG Format. Momentane Bilddaten, die das Ergebnis dieser Verarbeitung darstellen, werden über die Speicherschnittstelle 720 in den Bildspeicher 800 geschrieben. Wenn eine Reihe von Eingabedaten in dieser Weise verarbeitet worden sind, negiert der VIF-Block 730 das Anforderungssignal. Als Reaktion auf das Negieren des Anforderungssignals hält der Takt-Controller 760 die Zufuhr des Taktsignals an den VIF-Block 730 an.
- Bei Empfang eines Operations-Auslösesignals und eines Parametersignals, die vom Mikrocontroller 710 erzeugt werden, macht der erste ME-Block 741 ein Anforderungssignalgeltend, um dadurch die Zufuhr eines Taktsignals zu verlangen. Das Parametersignal ist ein Signal, das angibt, welche einer Mehrzahl von Ressourcen der Operationseinheit im ersten ME-Block 741 benutzt werden soll. Als Reaktion auf das Geltendmachen des Anforderungssignals beginnt der Takt-Controller 760, ein Taktsignal an den ersten ME-Block 741 zu liefern. Die Operationseinheit im ersten ME-Block 741 liest Referenz-Bilddaten und momentane Bilddaten aus dem Bildspeicher 800 über die Speicherschnittstelle 720 aus, führt die erste Bewegungsschätzung durch, d. h., die Erfassung eines Bewegungsvektors mit der Genauigkeit von einem Pixel, und sendet den sich ergebenden Vektor an den zweiten ME-Block 742. Wenn die Verarbeitung auf einem Makroblock vollendet ist, negiert der erste ME-Block 741 das Anforderungssignal. Als Reaktion auf die Negation des Anforderungssignals stoppt der Takt-Controller 760 die Zufuhr eines Taktsignals an den ersten ME-Block 741.
- Kaum hat der zweite ME-Block 742 ein Operations-Auslösesignal und ein Parametersignal, die vom Mikrocontroller 710 erzeugt werden, empfangen, macht der zweite ME-Block 742 ein Anforderungssignal geltend, um dadurch die Zufuhr eines Taktsignals zu verlangen. Das Parametersignal ist ein Signal, das angibt, welche einer Mehrzahl von Ressourcen der Operationseinheit im zweiten ME-Block 742 benutzt werden soll. Als Reaktion auf das Geltendmachen des Anforderungssignals beginnt der Takt-Controller 760, ein Taktsignal an den zweiten ME-Block 742 zu liefern. Die Operationseinheit im zweiten ME-Block 742 liest Referenz-Bilddaten und momentane Bilddaten aus dem Bildspeicher 800 über die Speicherschnittstelle 720 basierend auf den Bewegungsvektordaten aus, führt die zweite Schätzung durch, d. h., die Erfassung eines Bewegungsvektors mit der Genauigkeit eines halben Pixels und Bewegungskompensation, und sendet die sich ergebenden Differenzdaten an den MSP- Block 743. Wenn die Verarbeitung auf einem Makroblock vollendet ist, negiert der zweite ME-Block 742 das Anforderungssignal. Als Reaktion auf die Negation des Anforderungssignals stoppt der Takt-Controller 760 die Zufuhr eines Taktsignals an den zweiten ME- Block 742.
- Kaum hat der MSE-Block 743 ein Operations-Auslösesignal und ein Parametersignal, die vom Mikrocontroller 710 erzeugt werden, empfangen, macht der MSP-Block 743 ein Anforderungssignal geltend, um dadurch die Zufuhr eines Taktsignals zu verlangen. Das Parametersignal ist ein Signal, das angibt, welche einer Mehrzahl von Ressourcen der Operationseinheit im MSP-Block 743 benutzt werden soll. Als Reaktion auf das Geltendmachen des Anforderungssignals beginnt, der Takt-Controller 760, ein Taktsignal an den MSP-Block 743 zu liefern. Die Operationseinheit im MSP-Block 743 führt statistische Berechnungen auf einem Makroblock und Vorbereitung von Daten für DCT basierend auf den Differenzdaten durch und liefert die sich ergebenden Daten an den DCTQ-Block 744. Wenn die Verarbeitung auf einem Makroblock vollendet ist, negiert der MSP-Block 743 das Anforderungssignal. Als Reaktion auf die Negation des Anforderungssignals stoppt der Takt-Controller 760 die Zufuhr eines Taktsignals an den MSP-Block 743.
- Sobald der DCTQ-Block 744 ein Operations-Auslösesignal und ein Parametersignal, die vom Mikrocontroller 710 erzeugt werden, empfangen hat, macht der DGTQ-Block 744 ein Anorderungssignal geltend, um dadurch die Zufuhr eines Taktsignals zu verlangen. Das Parametersignal ist ein Signal, das angibt, welche einer Mehrzahl von Ressourcen der Operationseinheit im DCTQ-Block 744 benutzt werden soll. Als Reaktion auf das Geltendmachen des Anforderungssignals beginnt der Takt Controller 760, ein Taktsignal an den DCTQ-Block 744 zu liefern. Die Operationseinheit im DCTQ-Block 744 führt die DCT-Operation und Quantisierung auf dem Makroblock basierend auf den vorbereiteten Daten durch und liefert die sich ergebenden Daten an den VLC-Block 745. Wenn die Verarbeitung auf einem Makroblock vollendet ist, negiert der DCTQ-Block 744 das Anforderungssignal. Als Reaktion auf die Negation des Anforderungssignals stoppt der Takt-Controller 760 die Zufuhr eines Taktsignals an den DCTQ-Block 744.
- Kaum hat der VLC-Block 745 ein Operations-Auslösesignal und ein Parametersignal, die vom Mikrocontroller 710 erzeugt werden, empfangen, macht der VLC-Block 745 ein Anforderungsignal geltend, um dadurch die Zufuhr eines Taktsignals zu verlangen. Das Parametersignal ist ein Signal, das angibt, welche einer Mehrzahl von Ressourcen der Operationseinheit im VLC-Block 745 benutzt werden soll. Als Reaktion auf das Geltendmachen des Anforderungssignals beginnt der Takt-Controller 760, ein Taktsignal an den VLC-Block 745 zu liefern. Die Operationseinheit im VLC-Block 745 führt die Codierung variabler Länge basierend auf den gelieferten Daten durch. Die codierten Daten, die das Ergebnis dieser Verarbeitung darstellen; werden über die Speicherschnittstelle 720 in den Bildspeicher 800 geschrieben. Wenn die Verarbeitung auf einem Makroblock vollendet ist, negiert der VLC- Block 745 das Anforderungssignal. Als Reaktion auf die Negation des Anforderungssignals stoppt der Takt-Controller 760 die Zufuhr eines Taktsignals an den VLC-Block 745.
- Wenn der CIF/HIF-Block 750 durch den Mikrocontroller 710 in Gang gesetzt wird, macht der CIF/HIF-Block 750 ein Anforderungssignal geltend, um dadurch die Zufuhr eines Taktsignals zu verlangen. Als Reaktion auf das Geltendmachen des Anforderungssignals beginnt der Takt-Controller 760, ein Taktsignal an den CIF/HIF-Block 750 zu liefern. Der CIF/HIF-Block 750 liest über die Speicherschnittstelle 720 die codierten Daten aus dem Bildspeicher 800 zu einer spezifizierten Zeit aus und liefert den Videodatenausgang VDOUT nach außen. Wenn ein Reihe von Datenausgabeverarbeitungen auf diese Weise vollendet sind, negiert der CIF/HIF-Block 750 das Anforderungssignal. Als Reaktion auf die Negation des Anforderungssignals stoppt der Takt-Controller 760 die Zufuhr eines Taktsignals an den CIF/HIF- Block 750. Es wird angemerkt, dass der CIF/HIF-Block75ü auch die Funktion hat ein von einem Host-Prozessor (nicht gezeigt) geliefertes Steuersignal VCONT an den Mikrocontroller 710 zu senden.
- Fig. 20 veranschaulicht die Pipeline-Operation, die durch den ersten ME-Block 741, den zweiten ME-Block 742, den MSP-Block 743, den DCTQ-Block 744 und den VLC-Block 745 in dem in Fig. 19 gezeigten Prozessor durchgeführt wird. In Fig. 20 bezeichnen MB1 bis MB8 jeweilige zu verarbeitende Makroblöcke. Ein Pipeline-Abstand ist auf den Maximalwert des Zeitabschnittes gesetzt, den jeder Schaltungsblock benötigt, um einen Makroblock zu verarbeiten. In Fig. 20 stellen schraffierte Teile Leerlaufzeiten dar. Das heißt, in jedem dieser fünf Schaltungsblöcke 741 bis 745 hängt die Verarbeitungszeit für einen Makroblock von Bilddaten ab. Ein Schaltungsblock, der seine Operationsverarbeitung früher vollendet hat, negiert früher das Anforderungssignal für den Takt-Controller 760. Demnach wird in jeder Leerlaufzeit die Zufuhr eines Taktsignals angehalten, und der Stromverbrauch des Prozessors wird reduziert. Insbesondere wird im ersten und zweiten ME-Block 741 und 742 zu einem Zeitpunkt, wenn der Adressengenerator das Suchen aller Referenz-Bilddaten beendet oder wenn eine Operationseinheit in den Referenzbilddaten einen Bereich, der den momentanen Daten sehr ähnlich ist, findet, das Anforderungssignal negiert. Im VLC-Block 745 unterscheidet sich die Menge zu verarbeitender Daten, wo die Bewegungsschätzung erfolgreich war, stark von der Menge, wo die Bewegungsschätzung fehlgeschlagen war.
- Es sollte zu Kenntnis genommen werden, dass die vorliegende Erfindung auch auf verschiedene Prozessoren für andere Anwendungen, z. B. einen MPEG-Videodecoder, wirkungsvoll anwendbar ist.
Claims (9)
1. Prozessor, der umfasst:
eine Operations-Einheit (120), die die Funktion hat, Operationsverarbeitung von
Daten auszuführen und ein Status-Signal zuzuführen, das den Status der
Operationsverarbeitung darstellt;
einen Mikrocontroller (10), der die Funktion hat, ein Operationsauslöse-Signal zu
erzeugen;
einen Operations-Controller (110), der ein Anforderungs-Signal bestätigt, wenn der
Operations-Controller (110) das von dem Mikrocontroller (10) erzeugte
Operationsauslöse-Signal empfängt, feststellt, ob das von der Operations-Einheit (120)
zugeführte Status-Signal eine vorgegebene Abschlussbedingung erfüllt oder nicht, und
das Anforderungs-Signal negiert, wenn das Status-Signal die Abschlussbedingung
erfüllt; und
einen Takt-Controller (400), der der Operations-Einheit (120) ein Takt-Signal
zuführt, so dass die Operations-Einheit (120) die Operations-Verarbeitung ausführen
kann, wenn das von dem Operations-Controller (110) dem Takt-Controller (400)
zugeführte Anforderungs-Signal bestätigt worden ist, und der die Zufuhr des Takt-
Signals zu der Operations-Einheit (120) unterbricht, wenn das von dem Operations-
Controller (100) dem Takt-Controller (400) zugeführte Anforderungs-Signal negiert
worden ist.
2. Prozessor nach Anspruch 1, wobei der Mikrocontroller (10) des Weiteren die
Funktion hat, ein Parameter-Signal zu erzeugen, das anzeigt, welche einer Vielzahl von
Ressourcen der Operations-Einheit (120) einzusetzen ist, und
wobei der Operations-Controller (110) des Weiteren die Funktion hat, eine interne
Konfiguration für die Operations-Einheit (120) in Reaktion auf das Parameter-Signal
einzustellen und die Abschlussbedingung in Reaktion auf das Parameter-Signal zu
ändern.
3. Prozessor nach Anspruch 1, wobei der Takt-Controller umfasst:
ein Anforderungs-Register (115), das das Anforderungs-Signal synchron zu einem
ihm zugeführten Systemtakt-Signal hält; und
eine Einrichtung, die das Systemtakt-Signal zu der Operations-Einheit (120)
überträgt, wenn der Ausgang des Anforderungs-Registers (115) bestätigt worden ist,
und die Übertragung des Systemtakt-Signals zu der Operations-Einheit (120)
unterbricht, wenn der Ausgang des Anforderungs-Registers (115) negiert worden ist.
4. Prozessor nach Anspruch 3, wobei der Takt-Controller (400) des Weiteren eine
Einrichtung umfasst, die das Systemtakt-Signal stets zu dem Operations-Controller
(110) überträgt.
5. Prozessor nach Anspruch 3, wobei der Mikrocontroller des Weiteren die Funktion
hat, ein Controllerauslöse-Signal vor dem Erzeugen des Operationsauslöse-Signals
zu erzeugen,
und wobei der Takt-Controller (400) des Weiteren umfasst:
ein Auslöse-Register (613), das ein ODER des Controllerauslöse-Signals, des
Operationsauslöse-Signals und des Anforderungs-Signals synchron zu dem Systemtakt-
Signal hält; und
eine Einrichtung, die das Systemtakt-Signal so zu dem Operations-Controller (110)
überträgt, dass der Operations-Controller (110) arbeiten kann, wenn der Ausgang
des Auslöse-Registers (613) bestätigt worden ist, und die Übertragung des
Systemtakt-Signals zu dem Operations-Controller (110) unterbricht, wenn der Ausgang
des Auslöse-Registers (613) negiert worden ist.
6. Prozessor nach Anspruch 1, wobei der Mikrocontroller (10) des Weiteren die
folgenden Funktionen hat:
Vorhersagen, ob Energie, die verbraucht wird, wenn die Operations-Einheit
veranlasst wird, die Operations-Verarbeitung auszuführen, einen vorgegebenen
maximalen Energieverbrauch übersteigt oder nicht;
sofortiges Erzeugen des Operationsauslöse-Signals, wenn der Energieverbrauch
den maximalen Energieverbrauch nicht übersteigt; und
Aussetzen der Erzeugung des Operationsauslöse-Signals, wenn der
Energieverbrauch den maximalen Energieverbrauch übersteigt.
7. Prozessor nach Anspruch 1, wobei die Operations-Einheit (120) eine Einheit zum
Verarbeiten von Bilddaten ist.
8. Prozessor, der umfasst:
eine Vielzahl von Operations-Einheiten (120, 220, 320), die jeweils die Funktion
haben, Operationsverarbeitung von Daten auszuführen und ein Status-Signals
zuzuführen, das den Status der Operationsverarbeitung darstellt;
einen Mikrocontroller (10), der die Funktion hat, Operationsauslöse-Signale für die
entsprechenden Operations-Einheiten (120, 220, 320) zu erzeugen;
eine Vielzahl von Operations-Controllern (110, 210, 310), die jeweils ein
entsprechendes Anforderungs-Signal bestätigen, wenn jeder der Operations-Controller
(110, 210, 310) ein dazugehöriges der von dem Mikrocontroller (10) erzeugen
Operationsauslöse-Signale empfängt, feststellen, ob das von einer zugehörigen der
Operations-Einheiten (120, 220, 320) zugeführte Status-Signal eine vorgegebene
Abschlussbedingung erfüllt, und das entsprechende Anforderungs-Signal negieren,
wenn das Status-Signal die Abschlussbedingung erfüllt; und
einen Takt-Controller (400), der, wenn das von einem der Operations-Controller
(110, 210, 310) dem Takt-Controller (400) zugeführte Anforderungs-Signal durch
den entsprechenden Operations-Controller (110, 210, 310) bestätigt worden ist, der
Operations-Einheit (120, 220, 320) ein Takt-Signal zuführt, das dem Anforderungs-
Signal entspricht, und die Zufuhr des Takt-Signals zu der Operations-Einheit (120,
220, 320) unterbricht, wenn das von einem der Operations-Controller (110, 210,
310) dem Takt-Controller (400) zugeführte Anforderungs-Signal negiert worden ist.
9. Prozessor nach Anspruch 8, wobei jede der Operations-Einheiten (120, 220, 320)
eine Teil-Verarbeitungseinheit zum Codieren von MPEG-Bilddaten ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23801497 | 1997-09-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69810721D1 DE69810721D1 (de) | 2003-02-20 |
DE69810721T2 true DE69810721T2 (de) | 2003-05-22 |
Family
ID=17023879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69810721T Expired - Lifetime DE69810721T2 (de) | 1997-09-03 | 1998-09-02 | Taktsteuerung |
Country Status (4)
Country | Link |
---|---|
US (1) | US6173408B1 (de) |
EP (1) | EP0901061B1 (de) |
CN (1) | CN1157641C (de) |
DE (1) | DE69810721T2 (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6301671B1 (en) * | 1998-03-23 | 2001-10-09 | International Business Machines Corporation | Apparatus and method for power reduction control in a video encoder device |
EP1096360B1 (de) * | 1999-10-25 | 2004-09-22 | Texas Instruments Incorporated | Intelligente Leistungssteuerung in verteilten Verarbeitungssystemen |
US6625737B1 (en) * | 2000-09-20 | 2003-09-23 | Mips Technologies Inc. | System for prediction and control of power consumption in digital system |
US7620832B2 (en) * | 2000-09-20 | 2009-11-17 | Mips Technologies, Inc. | Method and apparatus for masking a microprocessor execution signature |
US6704876B1 (en) * | 2000-09-26 | 2004-03-09 | Sun Microsystems, Inc. | Microprocessor speed control mechanism using power dissipation estimation based on the instruction data path |
US7269746B1 (en) * | 2000-11-27 | 2007-09-11 | Hewlett-Packard Development Company L.P. | Method of transmitting identification data from an option pack to a main unit before the option pack is fully powered |
JP3485885B2 (ja) * | 2000-12-11 | 2004-01-13 | 三洋電機株式会社 | 半導体集積回路装置の設計方法 |
JP4831899B2 (ja) * | 2001-08-28 | 2011-12-07 | 富士通セミコンダクター株式会社 | 半導体集積回路及びクロック制御方法 |
JP3641448B2 (ja) * | 2001-09-06 | 2005-04-20 | 松下電器産業株式会社 | 演算処理装置 |
US6834353B2 (en) | 2001-10-22 | 2004-12-21 | International Business Machines Corporation | Method and apparatus for reducing power consumption of a processing integrated circuit |
JP3851228B2 (ja) * | 2002-06-14 | 2006-11-29 | 松下電器産業株式会社 | プロセッサ、プログラム変換装置及びプログラム変換方法、並びにコンピュータプログラム |
JP3919740B2 (ja) * | 2003-07-30 | 2007-05-30 | 株式会社ソニー・コンピュータエンタテインメント | 回路動作制御装置および情報処理装置 |
US20050097554A1 (en) * | 2003-11-03 | 2005-05-05 | Burden David C. | Charge rationing aware scheduler |
US20080307248A1 (en) * | 2004-04-28 | 2008-12-11 | Katsushige Amano | Cpu Clock Control Device, Cpu Clock Control Method, Cpu Clock Control Program, Recording Medium, and Transmission Medium |
CN100553342C (zh) * | 2004-07-13 | 2009-10-21 | 松下电器产业株式会社 | 移动检测装置 |
JP2006107127A (ja) * | 2004-10-05 | 2006-04-20 | Nec Electronics Corp | 半導体集積回路装置 |
US20060158444A1 (en) * | 2005-01-18 | 2006-07-20 | Sitronix Technology Corp. | Voltage variation processing mechanism built-in a microcontroller |
US8291256B2 (en) * | 2006-02-03 | 2012-10-16 | National University Corporation Kobe University | Clock stop and restart control to pipelined arithmetic processing units processing plurality of macroblock data in image frame per frame processing period |
AU2007356691C1 (en) * | 2007-07-17 | 2013-05-16 | Sca Hygiene Products Gmbh | 3D embossing |
JP5231800B2 (ja) * | 2007-12-26 | 2013-07-10 | 株式会社東芝 | 半導体集積回路装置および半導体集積回路装置のクロック制御方法 |
US8365175B2 (en) * | 2009-03-10 | 2013-01-29 | International Business Machines Corporation | Power management using dynamic application scheduling |
TW201035911A (en) * | 2009-03-17 | 2010-10-01 | Novatek Microelectronics Corp | Video processing method and video processing device |
US8397253B2 (en) * | 2009-07-23 | 2013-03-12 | Fmr Llc | Inserting personalized information into digital content |
US9009451B2 (en) * | 2011-10-31 | 2015-04-14 | Apple Inc. | Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle |
US9582026B2 (en) | 2014-09-30 | 2017-02-28 | Samsung Electronics Co., Ltd. | System-on-chip to support full handshake and mobile device having the same |
GB2534409A (en) * | 2015-01-23 | 2016-07-27 | Sony Corp | Data encoding and decoding |
WO2016129031A1 (ja) * | 2015-02-09 | 2016-08-18 | 株式会社日立情報通信エンジニアリング | 画像圧縮伸長装置 |
US10255462B2 (en) | 2016-06-17 | 2019-04-09 | Arm Limited | Apparatus and method for obfuscating power consumption of a processor |
WO2019105332A1 (en) * | 2017-11-28 | 2019-06-06 | Bitmain Technologies Inc. | Computational integrated circuit chip and corresponding circuit board |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5775335A (en) * | 1980-10-27 | 1982-05-11 | Hitachi Ltd | Data processor |
DE3137870C2 (de) * | 1981-09-23 | 1985-01-10 | Siemens AG, 1000 Berlin und 8000 München | Einrichtung zur Taktversorgung eines Zentralprozessors |
JPS63178620A (ja) * | 1987-01-19 | 1988-07-22 | Nec Corp | クロツクストロ−ブ回路 |
JPH03123919A (ja) | 1989-10-06 | 1991-05-27 | Toshiba Corp | コンピュータシステム |
JPH04107623A (ja) * | 1990-08-28 | 1992-04-09 | Seiko Epson Corp | 表示装置 |
JPH04140810A (ja) | 1990-10-02 | 1992-05-14 | Nec Corp | 情報処理装置 |
JPH04302014A (ja) | 1991-03-28 | 1992-10-26 | Tokyo Electric Co Ltd | 論理回路駆動装置 |
US5452401A (en) * | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
JPH05324871A (ja) | 1992-05-27 | 1993-12-10 | Nec Corp | マイクロコンピュータ |
US5452434A (en) * | 1992-07-14 | 1995-09-19 | Advanced Micro Devices, Inc. | Clock control for power savings in high performance central processing units |
JP2636695B2 (ja) * | 1993-08-03 | 1997-07-30 | 日本電気株式会社 | パイプライン処理回路 |
US5615376A (en) * | 1994-08-03 | 1997-03-25 | Neomagic Corp. | Clock management for power reduction in a video display sub-system |
JPH0865496A (ja) | 1994-08-24 | 1996-03-08 | Fuji Film Micro Device Kk | 画像処理装置 |
US5996083A (en) * | 1995-08-11 | 1999-11-30 | Hewlett-Packard Company | Microprocessor having software controllable power consumption |
US5834961A (en) * | 1996-12-27 | 1998-11-10 | Pacific Communication Sciences, Inc. | Gated-clock registers for low-power circuitry |
US5951689A (en) * | 1996-12-31 | 1999-09-14 | Vlsi Technology, Inc. | Microprocessor power control system |
US5961617A (en) * | 1997-08-18 | 1999-10-05 | Vadem | System and technique for reducing power consumed by a data transfer operations during periods of update inactivity |
-
1998
- 1998-09-01 CN CNB98117664XA patent/CN1157641C/zh not_active Expired - Fee Related
- 1998-09-02 EP EP98116615A patent/EP0901061B1/de not_active Expired - Lifetime
- 1998-09-02 US US09/145,646 patent/US6173408B1/en not_active Expired - Fee Related
- 1998-09-02 DE DE69810721T patent/DE69810721T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1215281A (zh) | 1999-04-28 |
EP0901061A3 (de) | 2000-02-02 |
DE69810721D1 (de) | 2003-02-20 |
EP0901061B1 (de) | 2003-01-15 |
CN1157641C (zh) | 2004-07-14 |
EP0901061A2 (de) | 1999-03-10 |
US6173408B1 (en) | 2001-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69810721T2 (de) | Taktsteuerung | |
DE69913500T2 (de) | Mehrprozessor-Anordnung mit geteiltem Speicherzugriff unter Vorrang-Kontrolle | |
DE69031807T2 (de) | Methode zur Reduzierung der Leistungsaufnahme eines Rechners | |
DE69329364T2 (de) | Zentralprozessoreinheit mit verminderter Leistungsaufnahme | |
DE102009041723B4 (de) | Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung | |
DE68925615T2 (de) | Digitalrechnersystem mit Niederstromverbrauchmodus | |
DE69028138T2 (de) | Mechanismus zur präzisen Behandlung von Ausnahmebedingungen in einem Prozessor mit gepaarten Befehlen | |
DE69327703T2 (de) | Mikroprozessor mit Busbreite-Wechselfunktion | |
DE3587643T2 (de) | Informationsverarbeitungseinheit mit Unterbrechungsfunktion. | |
DE69901176T2 (de) | Rechnersystem mit einem emulationscoprozessor und verfahren zur emulation eines anwendungsprogramms | |
DE69130630T2 (de) | Synchrones Verfahren und Gerät für Prozessoren | |
DE69624158T2 (de) | Superskalarer Prozessor mit mehreren Registerblöcken und Erzeugung von spekulativen Antwortadressen | |
DE3883532T2 (de) | Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus. | |
US20060215754A1 (en) | Method and apparatus for performing video decoding in a multi-thread environment | |
DE102020102783A1 (de) | Verfahren und einrichtungen zum verbessern einer leistungsdatensammlung einer hochleistungsberechnungsanwendung | |
DE69030931T2 (de) | Mehrfachsequenzprozessorsystem | |
US20080266302A1 (en) | Mechanism for granting controlled access to a shared resource | |
DE112004001133T5 (de) | Warteschlangen-Sperren mit Monitor-Memory-Wait | |
DE112017000721T5 (de) | Verfahren, einrichtung und befehle für thread-aussetzung auf benutzerebene | |
DE69130757T2 (de) | Ausführungsvorrichtung für bedingte Verzweigungsbefehle | |
DE4207148A1 (de) | Superscalar-prozessor | |
DE68922545T2 (de) | Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen. | |
DE102013216237A1 (de) | Verfahren und System zum automatischen Clock-Gating eines Taktgitters bei einer Taktquelle | |
DE69621405T2 (de) | Verarbeitungssystem, prozessor, befehlsstromspeicher und kompilierer | |
DE2911909C2 (de) | Digitales Datenverarbeitungsgerät |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: PANASONIC CORP., KADOMA, OSAKA, JP |