DE102016214334A1 - Taktmanagementeinheit, integrierte schaltung, die die taktmanagementeinheit umfasst, ein-chip-system, und verfahren zum betreiben des ein-chip-systems - Google Patents

Taktmanagementeinheit, integrierte schaltung, die die taktmanagementeinheit umfasst, ein-chip-system, und verfahren zum betreiben des ein-chip-systems Download PDF

Info

Publication number
DE102016214334A1
DE102016214334A1 DE102016214334.4A DE102016214334A DE102016214334A1 DE 102016214334 A1 DE102016214334 A1 DE 102016214334A1 DE 102016214334 A DE102016214334 A DE 102016214334A DE 102016214334 A1 DE102016214334 A1 DE 102016214334A1
Authority
DE
Germany
Prior art keywords
clock
circuit
processor
period
information
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.)
Pending
Application number
DE102016214334.4A
Other languages
English (en)
Inventor
Tae-Hong Park
Myung-chul CHO
Yun-Ju Kwon
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020150111210A external-priority patent/KR102476357B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102016214334A1 publication Critical patent/DE102016214334A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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)

Abstract

In einer Ausführungsform umfasst die integrierte Schaltung einen Takt-Erzeuger, der konfiguriert ist zum selektiven Erzeugen eines ersten Takts; einen Prozessor, der konfiguriert ist zum Ausführen von Operationen; und eine Taktmanagementschaltung. Die Taktmanagementschaltung ist konfiguriert zum Empfangen von Taktmanagement-Informationen von dem Prozessor und zum selektiven Erzeugen eines zweiten Takts, basierend auf den Taktmanagement-Informationen und dem ersten Takt. Der Prozessor ist konfiguriert zum Durchführen von einigen Operationen, basierend auf dem zweiten Takt.

Description

  • QUERVERWEIS ZU VERWANDTEN ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität der koreanischen Patentanmeldung Nr. 10-2015-0111210 , eingereicht am 6. August 2015 in dem koreanischen Amt für geistiges Eigentum.
  • HINTERGRUND
  • Die erfinderischen Konzepte betreffen einen Prozessor und/oder ein Operationsverfahren dafür, und insbesondere eine Taktmanagementeinheit, eine integrierte Schaltung, die die Taktmanagementeinheit umfasst, ein Ein-Chip-System und/oder ein Verfahren zum Betreiben des Ein-Chip-Systems.
  • Wenn die Software über einen Prozessor implementiert ist, können während einer relativ kurzen Zeitperiode Fälle eintreten, in denen der Prozessor wartet, während keine Operation durchgeführt wird (NOP). Eine Software-Verzögerungsfunktion, wie beispielsweise NOP-Funktion, wird verwendet, wenn ein Prozessor auf die Ausführung einer Hardware-Operation wartet, wie beispielsweise Unterbrechungs-Verarbeitung, oder wenn es schwierig ist, eine andere Funktion aufzurufen, weil eine erwartete Abschlusszeit einer Hardwareoperation kurz ist, die momentan ausgeführt wird. Doch selbst wenn die Software-Verzögerungsfunktion ausgeführt wird, verbraucht der Prozessor unnötig Leistung aufgrund einem Hin- und Herschalten eines Takts.
  • ZUSAMMENFASSUNG
  • Zumindest eine Ausführungsform betrifft eine integrierte Schaltung.
  • In einer Ausführungsform umfasst die integrierte Schaltung einen Takt-Erzeuger, der konfiguriert ist zum selektiven Erzeugen eines ersten Takts; einen Prozessor, der konfiguriert ist zum Ausführen von Operationen; und eine Taktmanagementschaltung. Die Taktmanagementschaltung ist konfiguriert zum Empfangen von Taktmanagement-Informationen von dem Prozessor und zum selektiven Erzeugen eines zweiten Takts, basierend auf den Taktmanagement-Informationen und dem ersten Takt. Der Prozessor ist konfiguriert zum Durchführen von einigen Operationen, basierend auf dem zweiten Takt.
  • In einer weiteren Ausführungsform umfasst der integrierte Schaltkreis einen Prozessor, der konfiguriert ist zum Durchführen von Operationen, basierend auf einem Taktsignal. Die integrierte Schaltung umfasst auch eine Taktmanagementschaltung, die konfiguriert ist zum Empfangen von Taktmanagement-Informationen von dem Prozessor, und konfiguriert ist zum Aussetzen von Übertragung des Taktsignals an den Prozessor für eine Periode, basierend auf den Taktmanagement-Informationen.
  • Wenigstens eine Ausführungsform bezieht sich auf eine Taktmanagementschaltung.
  • In einer Ausführungsform umfasst die Taktmanagementschaltung eine Takt-Gating-Schaltung, die konfiguriert ist zum Empfangen eines ersten Takts, und zum selektiven Erzeugen eines zweiten Takts basierend auf dem ersten Takt und Steuersignalen. Die Taktmanagementschaltung enthält auch eine Steuerschaltung, die konfiguriert ist zum Erzeugen der Steuersignale basierend auf den Taktmanagement-Informationen, die von einem Prozessor empfangen werden.
  • Wenigstens eine Ausführungsform bezieht sich auf ein Verfahren zum Verwalten eines Takts.
  • In einer Ausführungsform umfasst das Verfahren das Unterbrechen, durch eine Schaltung, einer Zuführung eines Takts an einen Prozessor für eine Zeitperiode, die in den Taktmanagement-Informationen angegeben werden, die von dem Prozessor empfangen werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Beispielhafte Ausführungsformen der erfinderischen Konzepte werden klarer aus der folgenden detaillierten Beschreibung in Verbindung mit den Figuren, in denen gilt:
  • 1 veranschaulicht eine Konfiguration einer integrierten Schaltung, die eine Taktmanagementeinheit umfasst, gemäß einer beispielhaften Ausführungsform;
  • 2 veranschaulicht eine Konfiguration einer integrierten Schaltung, die eine Taktmanagementeinheit umfasst, gemäß einer weiteren beispielhaften Ausführungsform;
  • 3 veranschaulicht eine Konfiguration eines Prozessors, die eine Taktmanagementeinheit umfasst, gemäß einer beispielhaften Ausführungsform;
  • 4 veranschaulicht eine Konfiguration einer Verzögerungs-Anweisung, die gemäß einer beispielhaften Ausführungsform definiert ist;
  • 5 veranschaulicht eine Konfiguration einer Taktmanagementeinheit, gemäß einer beispielhaften Ausführungsform;
  • 6 veranschaulicht eine Konfiguration einer Takt-Gating-Schaltung aus 5 gemäß einer beispielhaften Ausführungsform;
  • 7 veranschaulicht eine Konfiguration einer Takt-Gating-Schaltung aus 5 gemäß einer beispielhaften Ausführungsform;
  • 8 veranschaulicht eine Konfiguration einer Takt-Gating-Schaltung aus 5 gemäß einer beispielhaften Ausführungsform;
  • 9 ist ein Befehls-Pipeline-Zustandsdiagramm zum Beschreiben eines Prozesses zum Ausführen einer Verzögerungs-Anweisung in einem Prozessor, gemäß einer anderen beispielhaften Ausführungsform;
  • 10 ist ein Befehls-Pipeline-Zustandsdiagramm zum Beschreiben eines Prozesses zum Ausführen einer Verzögerungs-Anweisung in einem Prozessor, gemäß einer anderen beispielhaften Ausführungsform;
  • 11 ist ein Befehls-Pipeline-Zustandsdiagramm zum Beschreiben eines Prozesses zum Durchführen einer Verzögerungs-Anweisung in einem Prozessor, gemäß einer anderen beispielhaften Ausführungsform;
  • 12 ist ein Befehls-Pipeline-Zustandsdiagramm zum Beschreiben eines Prozesses zum Durchführen einer Verzögerungs-Anweisung in einem Prozessor, gemäß einer anderen beispielhaften Ausführungsform;
  • 13 ist ein Zustandsdiagramm von Eingangs/Ausgangstaktsignalen einer Taktmanagementeinheit, gemäß einer beispielhaften Ausführungsform;
  • 14 ist ein Wellenformdiagramm von Hauptsignalen einer integrierten Schaltung, die eine Taktmanagementeinheit umfasst, wenn ein Prozessor eine Verzögerungs-Anweisung ausführt, nach dem Befehls-Pipeline-Zustand aus 9;
  • 15 ist ein Wellenformdiagramm von Hauptsignalen einer integrierten Schaltung, die eine Taktmanagementeinheit umfasst, wenn ein Prozessor eine Verzögerungs-Anweisung ausführt, nach dem Befehls-Pipeline-Zustand aus 10;
  • 16 ist ein Wellenformdiagramm von Hauptsignalen einer integrierten Schaltung, die eine Taktmanagementeinheit umfasst, wenn ein Prozessor eine Verzögerungs-Anweisung ausführt, nach dem Befehls-Pipeline-Zustand aus 11;
  • 17 ist ein Wellenformdiagramm von Hauptsignalen einer integrierten Schaltung, die eine Taktmanagementeinheit umfasst, wenn ein Prozessor eine Verzögerungs-Anweisung ausführt, nach dem Befehls-Pipeline-Zustand aus 12;
  • 18 ist ein Flussdiagramm eines Taktmanagementverfahrens, das in einer integrierten Schaltung durchgeführt wird, gemäß einer beispielhaften Ausführungsform;
  • 19 ist ein Flussdiagramm eines Taktmanagementverfahrens, das in einer integrierten Schaltung durchgeführt wird, gemäß einer anderen beispielhaften Ausführungsform;
  • 20 veranschaulicht eine Konfiguration eines Ein-Chip-Systems, auf dem eine Taktmanagementeinheit angewandt wird, gemäß einer beispielhaften Ausführungsform;
  • 21 veranschaulicht eine Konfiguration eines Ein-Chip-Systems, auf dem eine Taktmanagementeinheit angewandt wird, gemäß einer beispielhaften Ausführungsform;
  • 22 veranschaulicht eine Konfiguration eines Ein-Chip-Systems, auf dem eine Taktmanagementeinheit angewandt wird, gemäß einer beispielhaften Ausführungsform; und
  • 23 veranschaulicht eine Konfiguration eines Ein-Chip-Systems, auf dem eine Taktmanagementeinheit angewandt wird, gemäß einer beispielhaften Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Detaillierte beispielhafte Ausführungsformen der erfinderischen Konzepte sind hierin offenbart. Jedoch sind spezifisch strukturelle und funktionelle Details, die hierin offenbart sind, lediglich repräsentativ für die Zwecke der beispielhaften Ausführungsformen der erfinderischen Konzepte. Beispielhafte Ausführungsformen der erfinderischen Ideen können jedoch durch vielerlei verschiedene Formen verkörpert werden und sollte nicht als beschränkend, auf die Ausführungsformen, die im Folgenden kommen, ausgelegt werden.
  • Dementsprechend werden Ausführungsformen in den Zeichnungen gezeigt und werden hier im Detail beschrieben, während beispielhafte Ausführungsformen der erfinderischen Konzepte der in der Lage sind, verschiedene Modifikationen und alternative Formen zu haben. Es sollte jedoch verstanden werden, dass keine Absicht gibt, die beispielhaften Ausführungsformen der erfinderischen Konzepte auf bestimmte Formen davon zu beschränken, die offenbart sind, jedoch im Gegenteil, beispielhafte Ausführungsformen der erfinderischen Konzepte sollen alle Modifikationen, Äquivalente, und Alternativen abdecken, die in den Umfang der beispielhaften Ausführungsformen der erfinderischen Konzepte fallen. Gleiche Bezugszeichen bezeichnen gleiche Elemente in der Beschreibung der Figuren.
  • Es versteht sich, dass auch wenn die Begriffe erste(r), zweite(r), usw. hierin benutzt werden können, um verschiedene Elemente zu beschreiben, diese Elemente nicht auf diese Begriffe eingeschränkt werden. Diese Begriffe werden benutzt um ein Element von einem anderen zu unterscheiden. Zum Beispiel könnte ein erstes Element als ein zweites Element bezeichnet werden, und, in ähnlicher Weise könnte ein zweites Element als ein erstes Element bezeichnet werden, ohne von dem Umfang der beispielhaften Ausführungsformen der erfinderischen Konzepte abzuweichen. Der hierin benutzte Begriff ”und/oder” beinhaltet jede Kombination von einem oder mehreren der dazugehörigen, aufgelisteten Gegenstände.
  • Es versteht sich, dass wenn ein Element als ”verbunden mit”, oder ”befestigt mit” einem anderen Element bezeichnet wird, so kann es direkt verbunden oder befestigt mit dem anderen Element, oder es können dazwischenliegende Elemente vorhanden sein. Wenn im Gegensatz dazu ein Element als ”direkt verbunden mit” oder ”direkt befestigt mit” einem anderen Element bezeichnet wird, so sind keine dazwischenliegenden Elemente vorhanden. Andere Wörter, die benutzt werden um Beziehungen zwischen Elementen zu beschreiben (z. B. „dazwischen” gegen „direkt dazwischen”, „neben” gegen „direkt daneben”, usw.), sollten in einer ähnlichen Art interpretiert werden.
  • Das hierin benutzte Fachvokabular hat nur den Zweck bestimmte Ausführungsformen zu beschreiben und es nicht dazu gedacht, die beispielhaften Ideen einzuschränken. Die hierin benutzten Singularformen ”ein(e)” und ”der/die/das”, sind so gemeint, dass sie ebenso die Pluralformen beinhalten, es sei denn, der Kontext deutet dies eindeutig nicht an. Es versteht sich weiterhin, dass die Begriffe „umfasst”, „umfassend”, „beinhaltet” und/oder „beinhaltend”, wenn sie hierin benutzt werden, die Anwesenheit von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, und/oder Komponenten angeben, jedoch nicht die Anwesenheit oder Ergänzung von weiteren, einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten, und/oder daraus bestehenden Gruppen ausschließt.
  • Es sei auch erwähnt, dass in einigen alternativen Implementierungen, die Funktionen/Handlungen, die in den Blöcken angemerkt sind, in den Figuren in anderer Reihenfolge auftreten können. Zum Beispiel können zwei nacheinander gezeigte Figuren tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Figuren können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach Funktionalität/Handlungen, die beteiligt sind.
  • Beispielhafte Ausführungsformen der erfinderischen Konzepte werden hierin mit Bezug auf schematische Veranschaulichungen von idealisierten Ausführungsformen (und Zwischenstrukturen) der erfinderischen Konzepte gemacht. Folglich sollten beispielhafte Ausführungsformen der erfinderischen Ideen nicht als, auf die besonderen Formen von hierin dargestellten Bereichen, beschränkend ausgelegt werden, sondern können Abweichungen in ihren Formen aufweisen, welche zum Beispiel von der Herstellung kommen.
  • Die erfinderischen Ideen werden nun ausführlicher mit Bezug auf die begleitenden Zeichnungen erklärt, in denen Ausführungsformen der erfinderischen Ideen gezeigt werden. Die erfinderischen Ideen können jedoch durch vielerlei verschiedene Formen verkörpert werden und sollte nicht als beschränkend, auf die Ausführungsformen, die im Folgenden kommen, ausgelegt werden. Vielmehr werden diese beispielhaften Ausführungsformen geliefert, so dass diese Offenbarung sorgfältig und vollständig sein wird, und dass Konzept der beispielhaften Ausführungsformen vollständig an den Fachmann vermittelt wird. Gleiche Bezugszeichen beziehen sich in der ganzen Beschreibung auf gleiche Elemente in den Zeichnungen. In den Zeichnungen können die Längen und Größen der Schichten und Bereiche zur Klarheit übertrieben oder verkleinert dargestellt werden. Ausdrücke wie ”wenigstens eines der”, wenn eine Liste von Elementen aufgezählt wird, ändern die gesamte Liste der Elemente und nicht die einzelnen Elemente der Liste.
  • Das hierin benutzte Fachvokabular hat nur den Zweck bestimmte Ausführungsformen zu beschreiben und es nicht dazu gedacht, die beispielhaften Ideen einzuschränken. Die hierin benutzten Singularformen ”ein(e)” und ”der/die/das”, sind so gemeint, dass sie ebenso die Pluralformen beinhalten, es sei denn, der Kontext deutet dies eindeutig nicht an. Es versteht sich weiterhin, dass die Begriffe „umfasst”, „umfassend”, und „aufweisen”, wenn sie hierin benutzt werden, die Anwesenheit von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten oder Kombinationen davon angeben, jedoch nicht die Anwesenheit oder Ergänzung von weiteren, einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten, oder Kombinationen daraus ausschließt.
  • Wenn nicht anders festgelegt, so haben alle hierin benutzten Begriffe, einschließlich technische und wissenschaftliche Begriffe, die selbe Bedeutung, wie sie von einem Fachmann auf dem Gebiet der Technik, zu welchem die beispielhaften Ideen gehören, verstanden werden. Es versteht sich weiterhin, dass Begriffe, wie zum Beispiel solche, die in allgemein benutzten Wörterbüchern festgelegt werden, so verstanden werden, dass sie eine Bedeutung haben, welche konsistent ist mit ihrer Bedeutung im Zusammenhang der relevanten Technik und/oder der zu Grunde liegenden Beschreibung, und sollte nicht in einer idealisierten oder übermäßig formalen Art interpretiert werden, es sei denn, dies ist hierin ausdrücklich so festgelegt.
  • 1 zeigt eine Konfiguration einer integrierten Schaltung 1000A gemäß einer beispielhaften Ausführungsform.
  • Bezugnehmend auf 1, kann die integrierte Schaltung 1000A einen Prozessor 100A und eine Takterzeugungseinheit 200 umfassen. Der Prozessor 100A kann einen Kern-Prozessor 110 und eine Taktmanagementeinheit 120 umfassen.
  • Zum Beispiel kann der Prozessor 100A in einem Smartphone, einem Tablet-PC (Personal Computer), einer Digitalkamera, einem Mobilgerät, einer Set-Top-Box, einem Smart-Card-System, einem Server-System und anderen verschiedenen elektronischen Geräten Anwendung finden.
  • Die Takterzeugungseinheit 200 kann ein erstes Taktsignal CLK1_IN erzeugen, das in den Prozessor 100A eingegeben wird. Die Takterzeugungseinheit 200 kann das erste Taktsignal CLK1_IN erzeugen, das eine Frequenz für den Betrieb des Prozessors 100A aufweist. Beispielsweise kann die Takterzeugungseinheit 200 kann eine beliebige bekannte Oszillationsschaltung sein.
  • Alternativ kann die Takterzeugungseinheit 200 außerhalb der integrierten Schaltung 1000A installiert sein. In diesem Fall kann das erste Taktsignal CLK1_IN, das von der Takterzeugungseinheit 200 ausgegeben wird, von dem Prozessor 100A über eine Signal-Leitung empfangen werden, die die integrierte Schaltung 1000A und die Takterzeugungseinheit 200 verbindet.
  • Der Kern-Prozessor 110 kann auch als eine zentrale Verarbeitungseinheit (CPU) bezeichnet werden. Der Kern-Prozessor 110 kann Operationen von Komponenten steuern, die die integrierte Schaltung 1000A bilden, basierend auf programmierter Software. Zum Beispiel kann der Kern-Prozessor 110 einen Registerblock, einen Befehlsdecodierer, eine arithmetische Logikeinheit (ALU), eine Steuerlogik und dergleichen umfassen.
  • Der Kern-Prozessor 110 kann dreistufige Operationen sequentiell durchführen, die eine Befehlsabrufoperation, eine Befehlsdecodierungsoperation und eine Befehlsausführungsoperation umfassen, gemäß Befehls-Pipelining basierend auf dem ersten Taktsignal CLK1_OUT, das durch die Taktmanagementeinheit 120 übertragen wird.
  • Alternativ kann der Kern-Prozessor 110 zweistufige Operationen sequentiell auszuführen, die eine Befehlsabrufoperation und eine Befehlsausführungsoperation umfassen, wenn eine zweistufige Befehls-Pipeline eingesetzt wird. Alternativ kann der Kern-Prozessor 110 vierstufige Operationen sequentiell durchführen, die eine Befehlsabrufoperation, eine Befehlsdecodierungsoperation, eine Operandenabrufoperation, und eine Befehlsausführungsoperation umfassen, wenn eine vierstufige Befehls-Pipeline eingesetzt wird. Verschiedene Befehls-Pipeline-Schemata können zusätzlich zu den oben beschriebenen Befehls-Pipeline-Schemata eingesetzt werden.
  • Wenn der Prozessor 100A Software implementiert, kann es einen Fall geben, in dem eine Periode auftritt, in der der Kern-Prozessor 110 wartet, während er keine Operation ausführt. Beispielsweise kann der Fall einen Fall des Wartens auf die Vervollständigung einer Hardware-Operation umfassen, wie beispielsweise Unterbrechungs-Verarbeitung, oder einem Fall, in dem es schwierig ist, eine andere Funktion aufzurufen, weil eine erwartete Abschlusszeit einer Hardware-Operation, die derzeit abläuft, kurz ist.
  • In diesem Fall kann der Kern-Prozessor 110 eine Zeitverzögerungsoperation ausführen, gemäß Keine-Operation-(no operation, NOP-)Verarbeitung mittels einer Verzögerungsfunktion. Selbst wenn die Verzögerungsoperation gemäß NOP-Verarbeitung durchgeführt wird, kann der Kern-Prozessor 110 das Taktsignal verwenden. Dadurch kann Stromverbrauch verursacht werden.
  • Gemäß beispielhafter Ausführungsformen, wenn eine Periode auftritt, in der Kern-Prozessor 110 wartet, während keine Operation ausgeführt werden, können eine Verzögerungsoperation und eine Takt-Gating-Operation durchgeführt werden unter Verwendung von Hardware, einschließlich einer Zeitgeber-Schaltung gemäß einer anfänglich festgelegten Verzögerungs-Anweisung INS_DLY, was den Stromverbrauchen senkt während Befehls-Pipeline aufrecht erhalten bleibt. Zum Beispiel kann eine Verzögerungs-Anweisung INS_DLY als eine spezifische Anweisung definiert werden, gemäß einer beispielhaften Ausführungsform.
  • Wenn eine anfänglich eingestellte Verzögerungs-Anweisung INS_DLY aufgerufen wird, kann der Kern-Prozessor 110 Taktsteuerfaktorinformationen INF_CG entsprechend der Verzögerungs-Anweisung erzeugen und die Taktsteuerfaktorinformationen INF_CG an die Taktmanagementeinheit 120 übertragen.
  • Zum Beispiel kann der Kern-Prozessor 110 die Taktsteuerfaktorinformationen INF_CG basierend auf einem Ergebnis einer Decodierung der Verzögerungs-Anweisung INS_DLY erzeugen. Beispielsweise können die Taktsteuerfaktorinformationen INF_CG Information über eine Länge einer Zeitverzögerungsperiode umfassen. Die Taktsteuerfaktorinformationen INF_CG können des Weiteren wenigstens Taktteilungsverhältnis-Informationen, Force-Gating-Informationen und/oder Status-Informationen umfassen.
  • Die Taktteilungsverhältnis-Informationen sind Information zum Bestimmen, welches Teilungsverhältnis verwendet werden soll, um das erste Taktsignal CLK1_IN aufzuteilen, um eine Frequenz des ersten Taktsignals CLK1_IN zu verringern, um ein Taktsignal zu erzeugen, das für Zeitmessung in der Zeitgeber-Schaltung der Taktmanagementeinheit 120 verwendet wird.
  • Die Force-Gating-Informationen können Funktions-Einstellungsinformationen zum Ignorieren einer Unterbrechung sein, obwohl die Unterbrechung während der Zeitverzögerungsperiode erzeugt wird, die durch die Ausführung der Verzögerungs-Anweisung INS_DLY ausgelöst wird. Die Status-Informationen können Funktions-Einstellungsinformationen sein, zum Informieren des Kern-Prozessors 110 eines aktuellen Status der Taktmanagementeinheit 120. Beispielsweise können die Status-Informationen Einstellungsinformationen sein, zum Unterstützen einer Funktion zum Informieren des Kern-Prozessors 110, durch die Taktmanagementeinheit 120, wie viel Verzögerungszeit verbleibt, wenn der Kern-Prozessor 110 wieder operiert, aufgrund der Unterbrechung während der Zeitverzögerungsperiode nach Ausführung der Verzögerungs-Anweisung INS_DLY.
  • Die Taktmanagementeinheit 120 kann die Takt-Gating-Operation des Abschneidens der Übertragung des ersten Taktsignals CLK1_IN an den Kern-Prozessor 110 während einer Zielzeitperiode durchführen, die bestimmt wird, basierend auf den Taktsteuerfaktorinformationen INF_CG, die von dem Kern-Prozessor 110 empfangen werden, wenn die Verzögerungs-Anweisung INS_DLY durch den Kern-Prozessor 110 ausgeführt wird. Daher kann das erste Taktsignal CLK1_OUT, auf dem die Takt-Gating-Operation ausgeführt wird, an eine Takt-Signal-Leitung des Kern-Prozessors 110 während der Zielzeitperiode übertragen. Beispielsweise ist die Zielzeitperiode eine Zeitverzögerungsperiode und kann als eine Periode von einer Zeit bestimmt werden, wenn die Verzögerungs-Anweisung INS_DLY zu einem Zeitpunkt ausgeführt wird, entsprechend einer Länge der Zeitverzögerungsperiode gemäß den Taktsteuerfaktorinformationen INF_CG.
  • Alternativ, wenn die Verzögerungs-Anweisung INS_DLY aufgerufen wird, kann der Kern-Prozessor 110 die Verzögerungs-Anweisung INS_DLY an die Taktmanagementeinheit 120 übertragen, wie sie ist. In diesem Fall kann die Taktmanagementeinheit 120 die empfangene Verzögerungs-Anweisung INS_DLY dekodieren und die Takt-Gating-Operation basierend auf einem Decodierungs-Ergebnis ausführen.
  • Wie oben beschrieben, ist es möglich, die Verzögerungsoperation und die Takt-Gating-Operation durch die Taktmanagementeinheit 120 durchzuführen, die durch Hardware, wie beispielsweise die Zeitgeber-Schaltung implementiert ist.
  • Zum Beispiel, wenn die Force-Gating-Informationen gesetzt werden, um eine Unterbrechung vorzugsweise während der Zeitverzögerungsperiode zu verarbeiten, kann die Taktmanagementeinheit 120 wie folgt arbeiten.
  • Die Taktmanagementeinheit 120 kann eine Operation der Wiederaufnahme der Übertragung des ersten Taktsignals CLK1_IN an den Kern-Prozessor 110 ausführen, wenn ein Unterbrechungssignal INT während der Zielzeitperiode empfangen wird, die eine Verzögerungs-Periode ist, die auf der Grundlage der Verzögerungs-Anweisung INS_DLY bestimmt wird. Die Taktmanagementeinheit kann die Takt-Gating-Operation des Abschneidens der Übertragung des ersten Taktsignals CLK1_IN an den Kern-Prozessor 110 wieder aufnehmen in einem Fall, in dem die Zielzeitperiode nicht verstrichen ist, sogar nachdem der Kern-Prozessor 110 eine Unterbrechungs-Aufgabe gemäß des Unterbrechungssignals INT abschließt.
  • Wenn eine Unterbrechung während einer Periode zwischen einer Zeit erzeugt wird, wenn die Ausführung der Verzögerungs-Anweisung INS_DLY gestartet wird, und einer Zeit, wenn die Ausführung der Takt-Gating-Operation des Abschneidens der Übertragung des ersten Taktsignals CLK1_IN an den Kern-Prozessor 110 gestartet wird, kann die Taktmanagementeinheit 120 eine Operation zum Gewähren einer Übertragung des ersten Taktsignals CLK1_IN an den Kern-Prozessor 110 durchführen, bis die Unterbrechungs-Aufgabe, die ausgeführt wird, abgeschlossen ist.
  • Obwohl nicht gezeigt, kann die Taktmanagementeinheit 120 Steuersignale von dem Kernprozessor 110 empfangen, die Abschluss der Unterbrechungs-Aufgabe anzeigen.
  • Wenn die Force-Gating-Informationen gesetzt werden, um eine Unterbrechung zu ignorieren, die während der Zeitverzögerungsperiode erzeugt wird, muss die Taktmanagementeinheit 120 keine Übertragung des ersten Taktsignals CLK1_IN an den Kern-Prozessor 110 zulassen, selbst dann, wenn das Unterbrechungssignal INT während der Zielzeitperiode empfangen wird.
  • Der Kern-Prozessor 110 kann Ausführung einer nachfolgenden Anweisung durchführen, dass sie ausgeführt wird, nachdem die Verzögerungs-Anweisung INS_DLY nach der Takt-Gating-Operation gemäß der Ausführung der Verzögerungs-Anweisung INS_DLY abgeschlossen ist. Gemäß Befehls-Pipeline-Verarbeitung kann der Kern-Prozessor 110 gleichzeitig eine Operation des Decodierens der Verzögerungs-Anweisung INS_DLY und eine Operation des Abrufens der nachfolgenden Anweisung ausführen, die nach der Verzögerungs-Anweisung INS_DLY ausgeführt werden soll. Der Kern-Prozessor 110 kann gleichzeitig eine Operation des Ausführens der Verzögerungs-Anweisung INS_DLY und eine Operation des Decodierens der nachfolgenden Anweisung ausführen. Der Kern-Prozessor 110 kann die Takt-Gating-Operation abschließen, gemäß Ausführung der Verzögerungs-Anweisung INS_DLY und eine Operation des Ausführens der decodierten nachfolgenden Anweisung durchführen. Daher ist es möglich, die genaue Zeitverzögerungsoperation und die Takt-Gating-Operation durch Hardware-Schaltungen zu implementieren, während die Befehls-Pipeline beibehalten wird.
  • 2 veranschaulicht eine Konfiguration einer integrierten Schaltung 1000B, die eine Taktmanagementeinheit 300 umfasst, gemäß einer weiteren beispielhaften Ausführungsform.
  • Bezugnehmend auf 2, kann die integrierte Schaltung 1000B einen Prozessor 100B, eine Takterzeugungseinheit 200 und eine Taktmanagementeinheit 300 umfassen.
  • Da die Takterzeugungseinheit 200 unter Bezugnahme auf 1 beschrieben wurde, werden sich widerholende Beschreibungen davon weggelassen. Ähnlich zu der integrierten Schaltung 1000A, kann die Takterzeugungseinheit 200 außerhalb der integrierten Schaltung 1000B installiert werden. In diesem Fall kann das erste Taktsignal CLK1_IN, das von der Takterzeugungseinheit 200 ausgegeben wird, von der Taktmanagementeinheit 100A der integrierten Schaltung 1000B über eine Signal-Leitung empfangen werden, die die integrierte Schaltung 1000B und die Takterzeugungseinheit 200 verbindet.
  • Der Prozessor 100B kann die Anweisungsverarbeitung basierend auf dem ersten Taktsignal CLK1_OUT entsprechend der Befehls-Pipeline durchführen. Der Prozessor 100B kann einen Kern-Prozessor enthalten. Beispiele für den Prozessor 100B können einen Einzel-Kern-Prozessor oder einen Mehr-Kern-Prozessor enthalten. Zum Beispiel kann der Prozessor 100B in einem Smartphone, einem Tablet-PC (Personal Computer), einer Digitalkamera, einem Mobilgerät, einer Set-Top-Box, einem Smart-Card-System, einem Server-System und anderen verschiedenen elektronischen Geräten Anwendung finden.
  • Wenn eine anfänglich eingestellte Verzögerungs-Anweisung INS_DLY aufgerufen wird, kann der Kern-Prozessor 100B Taktsteuerfaktorinformationen INF_CG entsprechend der Verzögerungs-Anweisung INS_DLY erzeugen und die Taktsteuerfaktorinformationen INF_CG an die Taktmanagementeinheit 300 übertragen. Zum Beispiel kann der Prozessor 100B die Taktsteuerfaktorinformationen INF_CG basierend auf einem Ergebnis der Decodierung der Verzögerungs-Anweisung INS_DLY erzeugen und die erzeugten Taktsteuerfaktorinformationen INF_CG an die Taktmanagementeinheit 300 übertragen. Da die Taktsteuerfaktorinformationen unter Bezugnahme auf 1 beschrieben wurden, werden sich widerholende Beschreibungen davon weggelassen.
  • Alternativ, wenn die Verzögerungs-Anweisung INS_DLY aufgerufen wird, kann der Kern-Prozessor 100B die Verzögerungs-Anweisung INS_DLY an die Taktmanagementeinheit 300 übertragen, wie sie ist.
  • Die Taktmanagementeinheit 300 kann die Takt-Gating-Operation des Abschneidens der Übertragung des ersten Taktsignals CLK1_IN während einer Zielzeitperiode durchführen, die bestimmt wird, basierend auf den Taktsteuerfaktorinformationen INF_CG, die von dem Prozessor 100B empfangen werden, wenn die Verzögerungs-Anweisung INS_DLY durch den Prozessor 100B ausgeführt wird. Daher kann das erste Taktsignal CLK1_OUT, auf dem die Takt-Gating-Operation ausgeführt wird, an einen Takt-Eingangs-Anschluss des Prozessors 100B während der Zielzeitperiode übertragen.
  • Wenn die Verzögerungs-Anweisung INS_DLY an die Taktmanagementeinheit 300 von dem Prozessor 100B übertragen wird, kann die Taktmanagementeinheit 300 die empfangene Verzögerungs-Anweisung INS_DLY dekodieren und die Takt-Gating-Operation basierend auf einem Decodierungs-Ergebnis durchführen. Als Ergebnis werden eine Verzögerungsoperation und die Takt-Gating-Operation durch die Taktmanagementeinheit 300 durchgeführt, die durch Hardware implementiert wird.
  • Zum Beispiel, wenn die Force-Gating-Informationen gemäß der Verzögerungs-Anweisung INS_DLY gesetzt werden, um eine Unterbrechung vorzugsweise während der Zeitverzögerungsperiode zu verarbeiten, kann die Taktmanagementeinheit 300 wie folgt arbeiten.
  • Ein Unterbrechungssignal INT kann sowohl an dem Prozessor 100B als auch der Taktmanagementeinheit 300 angewendet werden.
  • Die Taktmanagementeinheit 300 kann eine Operation der Wiederaufnahme der Übertragung des ersten Taktsignals CLK1_IN an den Kern-Prozessor 100B ausführen, wenn ein Unterbrechungssignal INT während der Zielzeitperiode empfangen wird, die eine Verzögerungs-Periode ist, die basierend auf der Verzögerungs-Anweisung INS_DLY bestimmt wird. Das heißt, wenn das Unterbrechungssignal INT empfangen wird, kann das erste Taktsignal CLK1_IN eingeschaltet werden kann an die Taktmanagementeinheit 300 ausgegeben werden. Zusätzlich kann das erste Taktsignal CLK1_OUT, das von der Taktmanagementeinheit 300 ausgegeben wird, an den Prozessor 100B übertragen werden.
  • Daher kann der Prozessor 100B eine Unterbrechungs-Aufgabe gemäß dem Unterbrechungssignal durchführen. Wenn die Zielzeitperiode nicht verstrichen ist, selbst wenn der Prozessor 100B die Unterbrechungs-Aufgabe abschließt, kann die Taktmanagementeinheit 300 die Takt-Gating-Operation des Abschneidens des ersten Taktsignals CLK1_IN wiederaufnehmen. Wie gezeigt, kann der Prozessor 100B die Taktmanagementeinheit 300 Steuersignale CTL_SIGs bereitstellen, wobei mindestens eines davon den Abschluss der Unterbrechungs-Aufgabe angibt.
  • Wenn eine Unterbrechung während einer Periode zwischen einer Zeit erzeugt wird, wenn die Ausführung der Verzögerungs-Anweisung INS_DLY gestartet wird, und einer Zeit, wenn die Ausführung der Takt-Gating-Operation des Abschneidens des ersten Taktsignals CLK1_IN gestartet wird, kann die Taktmanagementeinheit 300 eine Operation zum Anschalten des ersten Taktsignals CLK1_IN durchführen, um eine Übertragung des ersten Taktsignals CLK1_IN zu ermöglichen, bis die Unterbrechungs-Aufgabe, die ausgeführt wird, abgeschlossen ist. Daher kann die Taktmanagementeinheit 300 das erste Taktsignal CLK1_OUT, von dem ein Taktpuls erzeugt wird, an den Prozessor 100B übertragen, bis die Unterbrechungs-Aufgabe beendet ist.
  • Wenn die Force-Gating-Informationen gesetzt werden, um eine Unterbrechung zu ignorieren, die während der Zeitverzögerungsperiode erzeugt wird, muss die Taktmanagementeinheit 300 due Takt-Gating-Operation nicht aussetzen, selbst dann, wenn das Unterbrechungssignal INT während der Zielzeitperiode empfangen wird.
  • Der Prozessor 100B kann Ausführung einer nachfolgenden Anweisung durchführen, dass sie ausgeführt wird, nachdem die Verzögerungs-Anweisung INS_DLY nach der Takt-Gating-Operation gemäß der Ausführung der Verzögerungs-Anweisung INS_DLY abgeschlossen ist. Gemäß Befehls-Pipeline-Verarbeitung kann der Prozessor 100B gleichzeitig eine Operation des Decodierens der Verzögerungs-Anweisung INS_DLY und eine Operation des Abrufens der nachfolgenden Anweisung ausführen, die nach der Verzögerungs-Anweisung INS_DLY ausgeführt werden soll. Der Prozessor 100B kann gleichzeitig eine Operation des Ausführens der Verzögerungs-Anweisung INS_DLY und eine Operation des Decodierens der nachfolgenden Anweisung ausführen. Der Prozessor 100B kann die Takt-Gating-Operation abschließen, gemäß Ausführung der Verzögerungs-Anweisung INS_DLY und eine Operation des Ausführens der decodierten nachfolgenden Anweisung durchführen.
  • 3 veranschaulicht eine Konfiguration eines Prozessors 100A, die eine Taktmanagementeinheit 120 umfasst, gemäß einer beispielhaften Ausführungsform.
  • Bezugnehmend auf 3, kann der Prozessor 100A einen Registerblock 111, einen Befehlsdecodierer 112, eine Steuerlogik 113, eine arithmetische Logikeinheit (ALU) 114 und einen Bus 115 umfassen, was wenigstens einen Teil des Kern-Prozessors 110 bildet. Der Prozessor 100A enthält ebenfalls die Taktmanagementeinheit 120, die mit dem Bus 115 verbunden ist.
  • Eine Konfiguration einschließlich dem Registerblock 111, dem Befehlsdecodierer 112, der Steuerlogik 113, der ALU 114 und dem Bus 115 unter den Komponenten des Prozessors 110A kann als Kern-Prozessor bezeichnet werden.
  • Der Registerblock 111, der Befehlsdecodierer 112, die Steuerlogik 113, die ALU 114 und die Taktmanagementeinheit 120, die den Prozessor 100A darstellen, können Signale dorthin oder davon über den Bus 115 übertragen und empfangen. Die Steuerlogik 113 kann eine Befehlsverarbeitungsoperation zum Steuern von Operationen der Komponenten des Prozessors 100A ausführen.
  • Der Registerblock 111 kann Register umfassen, die Daten speichern und Register, die Anweisungen speichern. Anweisungen, die von der Steuerlogik 113 aufgerufen werden, können in den Registern gespeichert werden, die Anweisungen speichern. Zum Beispiel können die Anweisungen von einem Cache oder Speicher gelesen werden, die mit dem Prozessor 100A verbunden sind.
  • Der Befehlsdecodierer 112 kann eine Operation zum Dekodieren der Anweisung durchführen, die in den Registern gespeichert sind. Die Steuerlogik 113 kann eine decodierte Anweisung ausführen. Die ALU 114 kann Operationsfunktionen, wie beispielsweise eine arithmetische Operation und eine logische Operation durchführen.
  • Wenn die Anweisung, die durch den Befehlsdecodierer 112 decodiert wird, eine Verzögerungs-Anweisung INS_DLY ist, kann die Steuerlogik 113 Taktsteuerfaktorinformationen INF_CG erzeugen, basierend auf einem Ergebnis des Decodierens der Verzögerungs-Anweisung INS_DLY und die erzeugten Taktsteuerfaktorinformationen INF_CG an die Taktmanagementeinheit 120 über den Bus 115 übertragen. Da die Taktsteuerfaktorinformationen unter Bezugnahme auf 1 beschrieben wurden, werden sich widerholende Beschreibungen davon weggelassen.
  • Alternativ, wenn die Verzögerungs-Anweisung INS_DLY aufgerufen wird, kann die Steuerlogik 113 die Verzögerungs-Anweisung INS_DLY an die Taktmanagementeinheit 120 übertragen, wie sie ist.
  • Die Taktmanagementeinheit 120 kann eine Takt-Gating-Operation, basierend auf den Taktsteuerfaktorinformationen INF_CG 113 durchzuführen, die von der Steuerlogik 113 empfangen werden, wenn die Verzögerungs-Anweisung INS_DLY ausgeführt wird. Ein Prozess zum Durchführen der Takt-Gating-Operation in der Taktmanagementeinheit 120 wird im Detail unten beschrieben.
  • 4 veranschaulicht eine Konfiguration einer Verzögerungs-Anweisung, die gemäß einer beispielhaften Ausführungsform definiert ist.
  • Bezugnehmend auf 4 kann die Verzögerungs-Anweisung INS_DLY, die definiert ist zum Durchführen der Takt-Gating-Operation während der Zeitverzögerungsperiode beispielsweise ein OP-Code-Feld 11, ein Statusfeld 12, ein Force-Gating-Feld 13, ein Taktteilungswertfeld 14, und ein Zählwertfeld 15 umfassen.
  • In dem OP-Code-Feld 11 wird ein Code geschrieben, der die Verzögerungs-Anweisung darstellt. Im Statusfeld 12 werden Informationen zum Einstellen einer Funktion zum Informieren des Kern-Prozessors 110 über Status-Informationen der Taktmanagementeinheit 120. Beispielsweise können in dem Statusfeld 12 Informationen geschrieben werden, die angeben, ob eine Funktion zum Unterstützen einer Funktion zum Informieren, durch die Taktmanagementeinheit 120, des Kern-Prozessors 110 wie viel Verzögerungszeit verbleibt, wenn der Kern-Prozessor 110 wieder operiert, aufgrund der Unterbrechung während der Zeitverzögerungsperioden nach Ausführen der Verzögerungs-Anweisung INS_DLY. In dem Force-Gating-Feld 13 werden Information geschrieben, die angeben, ob eine Funktion zum Ignorieren einer Unterbrechung unterstützt werden soll, selbst wenn die Unterbrechung während der Zeitverzögerungsperiode beim Ausführen der Verzögerungs-Anweisung INS_DLY erzeugt wird. In dem Taktteilungswertfeld 140 werden Informationen geschrieben, die ein Taktteilungsverhältnis eines Taktteilers einstellen, der in der Taktmanagementeinheit 120 enthalten ist. In dem Zählwertfeld 15 werden Informationen über eine Länge der Zeitverzögerungsperiode geschrieben.
  • 5 veranschaulicht eine Konfiguration einer Taktmanagementeinheit 120 oder 300 gemäß einer beispielhaften Ausführungsform.
  • Bezugnehmend auf 5, kann die Taktmanagementeinheit 120 oder 300 eine Steuerschaltung 410 und eine Takt-Gating-Schaltung 420 umfassen.
  • Die Steuerschaltung 410 kann eine Verzögerungs-Anweisung INS_DLY oder Taktsteuerfaktorinformationen INF_CG von dem Kern-Prozessor 110 oder dem Prozessor 100B sowie die Steuersignale CTL_SIGs empfangen. Die Taktsteuerfaktorinformationen INF_CG können basierend auf einem Ergebnis des Decodierens der Verzögerungs-Anweisung INS_DLY erzeugt werden und können Information über eine Länge einer Zeitverzögerungsperiode umfassen. Die Taktsteuerfaktorinformationen INF_CG können des Weiteren wenigstens Taktteilungsverhältnis-Informationen, Force-Gating-Informationen und/oder Status-Informationen umfassen.
  • Wenn die Taktsteuerfaktorinformationen INF_CG empfangen werden, kann die Steuerschaltung 410 ein Steuersignal CTL zum Durchführen einer Takt-Gating-Operation basierend auf den Taktsteuerfaktorinformationen INF_CG erzeugen, und das Steuersignal CTL auf die Takt-Gating-Schaltung 420 anwenden. Das Steuersignal CTL, das durch die Steuerschaltung 410 erzeugt wird, kann ein oder mehrere Steuersignale umfassen, um Komponenten zu steuern, die die Takt-Gating-Schaltung 420 darstellen. Beispiele für das Steuersignal CTL können ein Zeitgebersteuersignal CTL_TIMER zum Messen einer Zielzeitperiode zu messen, die eine Verzögerungs-Periode ist, die bestimmt wird, basierend auf der Verzögerungs-Anweisung INS_DLY, ein Teilungssteuersignal CTL_DIV zum Steuern eines Teilungsverhältnisses eines Taktteilers, der ein Taktsignal erzeugt, das für Zeitmessung verwendet wird, und ein Umschaltsteuersignal CTL_SW für Takt-Gating umfassen. Die Steuerschaltung 410 kann eine Logikschaltung und eine Frage der Gestaltungswahl sein.
  • In einem Fall, in dem die Verzögerungs-Anweisung INS_DLY empfangen wird, kann die Steuerbefehl 410 einen ersten Typ eines Steuersignals erzeugen, während der Zielzeitperiode, die durch die Verzögerungs-Anweisung INS_DLY angegeben wird, einem zweiten Typ eines Steuersignals erzeugen, während der Perioden mit Ausnahme der Zielzeitperiode, einen dritten Typ eines Steuersignals erzeugen, während das Unterbrechungssignal INT während der Zielzeitperiode empfangen wird, und einen vierten Typ eines Steuersignals erzeugen, während eine Unterbrechungs-Aufgabe während der Zielzeitperiode beendet wird. Der erste Typ eines Steuersignals kann einen logischen Wert zum Durchführen der Takt-Gating-Operation aufweisen, so dass ein Taktpuls nicht von der Takt-Gating-Schaltung 420 ausgegeben wird. Der zweite Typ eines Steuersignals kann einen logischen Wert aufweisen, zum Ermöglichen der Takt-Gating-Schaltung 420 den Taktpuls auszugeben. Der dritte Typ eines Steuersignals kann einen logischen Wert aufweisen, zum Ermöglichen der Takt-Gating-Schaltung 420 einen Taktpuls auszugeben. Der vierte Typ eines Steuersignals kann einen logischen Wert aufweisen, zum Wiederaufnehmen der Takt-Gating-Operation.
  • Die oben beschriebenen verschiedenen Typen von Steuersignalen werden unten im Detail beschrieben, unter Bezugnahme auf die 13 bis 17.
  • Die Takt-Gating-Schaltung 420 kann ein erstes Taktsignal CLK1_IN empfangen. Die Takt-Gating-Schaltung 420 kann Zeit messen, indem sie eine Zeitgeber-Schaltung verwendet, gemäß dem Steuersignal CTL, das von der Steuerschaltung 410 angelegt wird. Die Takt-Gating-Schaltung 420 kann ein Timer-Ablauf-Signal S_TE an die Steuerschaltung 410 übertragen, wenn die Zielzeitperiode eintritt, als Ergebnis der Zeitmessung. Die Steuerschaltung 410 kann ein Steuersignal CTL zum Beenden der Takt-Gating-Operation erzeugen, wenn das Timer-Ablauf-Signal S_TE empfangen wird. Mit anderen Worten kann die Steuerschaltung 410 ein Steuersignal CTL erzeugen zum Ermöglichen, dass die Takt-Gating-Schaltung 420 einen Taktpuls ausgibt, wenn das Timer-Ablauf-Signal S_TE empfangen wird.
  • Die Takt-Gating-Schaltung 420 kann einen Schaltkreis steuern, gemäß dem Steuersignal CTL, das von der Steuerschaltung 410 angelegt wird, um die Takt-Gating-Operation auszuführen. Eine Operation der Takt-Gating-Schaltung 420 wird im Detail beschrieben, unter Bezugnahme auf die 6 bis 8.
  • 6 zeigt ein Beispiel 420A einer Konfiguration der Takt-Gating-Schaltung aus 5.
  • Mit Bezug auf 6, kann die Takt-Gating-Schaltung 420A einen Schaltkreis 421, einen Taktteiler 422 und eine Zeitgeber-Schaltung 423 umfassen.
  • Das erste Taktsignal CLK1_IN kann in den Schaltkreis 421 und den Taktteiler 422 eingegeben werden. Der Schaltkreis 421 kann eine Schalt-Operation zum Ausgeben oder Abschneiden des ersten Taktsignal CLK1_IN entsprechend einem Umschaltsteuersignal CTL_SW ausführen, das durch die Steuerschaltung 410 angelegt wird.
  • Beispielsweise kann der Schaltkreis 421 operieren, um in einer Periode eingeschaltet zu werden, in der das Umschaltsteuersignal CTL_SW einen ersten logischen Zustand hat und operieren, um in einer Periode ausgeschaltet zu werden, in der das Umschaltsteuersignal CTL_SW einen zweiten logischen Zustand hat. Daher kann der Schaltkreis 421 dem ersten Taktsignal CLK1_IN, das an einen ersten Anschluss P1 eingegeben wird, an einen zweiten Anschluss P2 in der Periode ausgegeben zu werden, in der das Umschaltsteuersignal CTL_SW den ersten logischen Zustand aufweist. Zusätzlich kann der Schaltkreis 421 die Ausgabe des ersten Taktsignals CLK1_IN, das in den ersten Anschluss P1 eingegeben wird, an den zweiten Anschluss P2 abschneiden in der Periode, in der das Umschaltsteuersignal CTL_SW den zweiten logischen Zustand aufweist.
  • Das heißt, mit Bezug auf das erste Taktsignal CLK1_OUT, das von dem zweiten Anschluss P2 des Schaltkreises 421 ausgegeben wird, weist den ersten logischen Zustand auf, und ein Taktpuls kann nicht in der Periode erzeugt werden, in der das Umschaltsteuersignal CTL_SW den zweiten logischen Zustand aufweist. Zum Beispiel kann das erste Taktsignal CLK1_OUT einen DC-Zustand (beispielsweise 0 V) in der Periode aufweisen, in der das Umschaltsteuersignal CTL_SW den zweiten logischen Zustand aufweist. Das erste Taktsignal CLK1_OUT kann an einen Takt-Eingangs-Anschluss des Kern-Prozessors 110 oder an einen Takt-Eingangs-Anschluss des Prozessors 100B ausgeben.
  • Das Taktteilungsverhältnis des Taktteilers 422 kann entsprechend dem Teilungssteuersignal CTL_DIV bestimmt werden, das von der Steuerschaltung 410 angelegt wird. Der Taktteiler 422 kann das erste Taktsignal CLK1_IN basierend auf dem bestimmten Taktteilungsverhältnis teilen und ein zweites Taktsignal CLK2 erzeugen. Dementsprechend kann das zweite Taktsignal CLK2 eine niedrigere Frequenz als die des ersten Taktsignals CLK1_IN aufweisen.
  • Die Zeitgeber-Schaltung 423 kann das Timer-Ablauf-Signal S_TE erzeugen, wenn die Zielzeitperiode, die durch die Verzögerungs-Anweisung INS_DLY angezeigt wird, eintritt und das erzeugte Timer-Ablauf-Signal S_TE an die Steuerschaltung 410 übertragen, basierend auf dem zweiten Taktsignal CLK2. Insbesondere kann die Zeitgeber-Schaltung 423 beginnen, das zweite Taktsignal CLK2 aus einer Zeit zählen, wenn das Zeitgebersteuersignal CTL_TIMER angelegt wird, und das Timer-Ablauf-Signal S_TE erzeugen, wenn ein Zählwert einen Wert entsprechend einer Länge der Zielzeitperiode erreicht (z. B. Zählwert 15 von INS_DLY oder INF_CG Informationen, die an die Zeitgeber-Schaltung 423 durch die Steuerschaltung 410 zugeführt wird). Beispielsweise kann das Zeitgebersteuersignal CTL_TIMER ein Zeitgeber-Freigabesignal sein.
  • Wenn eine Unterbrechung nicht während der Zielzeitperiode erzeugt wird, kann der Schaltkreis 421 kein Taktpuls entsprechend dem Umschaltsteuersignal CTL_SW während der Zielzeitperiode ausgeben. Das heißt, der Schaltkreis 421 kann Ausgabe des ersten Taktsignals CLK1_IN während der Zielzeitperiode abschneiden. Dementsprechend kann in Bezug auf das erste Taktsignal CLK1_OUT, das von dem Schaltkreis 421 ausgegeben wird, Taktpuls nicht während der Zielzeitperiode erzeugt werden, und ein Taktpuls kann während Perioden erzeugt werden, mit Ausnahme der Zielzeitperiode.
  • 7 zeigt ein anderes Beispiel 420B einer Konfiguration der Takt-Gating-Schaltung aus 5.
  • Mit Bezug auf 7, kann die Takt-Gating-Schaltung 420B einen Schaltkreis 421 und eine Zeitgeber-Schaltung 423 umfassen.
  • Die Takt-Gating-Schaltung 420B aus 7 ist konfiguriert zum direkten Übertragen eines zweiten Taktsignals CLK2 von außen an die Zeitgeber-Schaltung 423, ohne Verwendung des Taktteilers 422 der Takt-Gating-Schaltung 420 aus 6. Zum Beispiel sind die Taktmanagementeinheiten 120 aus 1 und 3 sind in der Lage, direkt den externen Takt an die Zeitgeber-Schaltung 423 der Takt-Gating-Schaltung 420B als das zweite Taktsignal CLK2 zu übertragen. In diesem Fall kann das zweite Taktsignal CLK2 eine niedrigere Frequenz als das erste Taktsignal CLK1_IN haben.
  • Da die Operationen des Schaltkreises 421 und der Zeitgeber-Schaltung 423 aus 7 im Wesentlichen die gleichen wie die Operationen des Schaltkreises 421 und der Zeitgeber-Schaltung 423 aus 6 sind, werden deren redundante Beschreibungen weggelassen.
  • 8 zeigt ein anderes Beispiel 420C einer Konfiguration der Takt-Gating-Schaltung aus 5.
  • Mit Bezug auf 8, kann die Takt-Gating-Schaltung 420C einen Schaltkreis 421 und eine Zeitgeber-Schaltung 423 umfassen.
  • Gemäß der beispielhaften Ausführungsform aus 8, wird ein Taktteiler 422' außerhalb der Takt-Gating-Schaltung 420C installiert. Beispielsweise kann in der Takt-Gating-Schaltung 420C, welche die Taktmanagementeinheit 120 aus 1 und 3 darstellt, der Taktteiler 422' außerhalb des Prozessors 100A installiert werden. Das Taktsignal, das in den Taktteiler 422' eingegeben wird, kann das erste Taktsignal CLK1_IN oder das dritte Taktsignal CLK3 sein. Das dritte Taktsignal CLK3 kann eine andere Frequenz als das erste Taktsignal CLK1_IN haben.
  • Da die Operationen des Schaltkreises 421, des Taktteilers 422', und der Zeitgeber-Schaltung 423 aus 6 im Wesentlichen die gleichen wie die Operationen des Schaltkreises 421, des Taktteilers 422 und der Zeitgeber-Schaltung 423 aus 6 sind, werden deren redundante Beschreibungen weggelassen.
  • Eine Operation zum Verarbeiten der Verzögerungs-Anweisung in dem Prozessor 100A oder 100B aus 1 oder 2 nach verschiedenen Bedingungen und eine Takt-Gating-Verarbeitungsoperation in der Taktmanagementeinheit 120 oder 300 werden unter Bezugnahme auf Befehls-Pipeline-Zustandsdiagramme und Wellenformdiagramme von Hauptsignalen beschrieben.
  • 9 ist ein Befehls-Pipeline-Zustandsdiagramm zum Beschreiben eines Prozesses zum Durchführen einer Verzögerungs-Anweisung in einem Prozessor gemäß einer beispielhaften Ausführungsform.
  • Mit Bezug auf 9 gibt es ein Befehls-Pipeline-Zustandsdiagramm in dem eine Verzögerungs-Periode, die basierend auf der Verzögerungs-Anweisung INS_DLY eine Periode zwischen T6 und T7 ist, und eine Unterbrechung wird nicht während der Periode zwischen T6 und T7 erzeugt, oder in dem Force-Gating-Feld 13 der Verzögerungs-Anweisung INS_DLY, werden Informationen eingestellt, die eine Funktion unterstützen zum Ignorieren einer Unterbrechung, selbst wenn die Unterbrechung während der Zeitverzögerungsperiode bei Ausführung der Verzögerungs-Anweisung INS_DLY erzeugt wird.
  • In einem Zeitraum zwischen T1 und T2, wird eine Operation FE zum Abrufen einer ersten Anweisung INS_F1 durchgeführt.
  • In einer Periode zwischen T2 und T3 können eine Operation DE zum Decodieren der ersten Anweisung INS_F1 und eine Operation zum Abrufen einer zweiten Anweisung INS_F2 zusammen durchgeführt werden.
  • In einer Periode zwischen T3 und T4 können eine Operation EX zum Ausführen der ersten Anweisung INS_F1, eine Operation zum Decodieren der zweiten Anweisung INS_F2, und eine Operation zum Abrufen der Verzögerungs-Anweisung INS_DLY gemeinsam durchgeführt werden.
  • In einer Periode zwischen T4 und T5 können eine Operation EX zum Ausführen der zweiten Anweisung INS_F2, eine Operation zum Decodieren der Verzögerungs-Anweisung INS_DLY, und eine Operation zum Abrufen einer dritten Anweisung INS_F3 gemeinsam durchgeführt werden.
  • In einer Periode zwischen T5 und T6 können eine Operation EX zum Ausführen der Verzögerungs-Anweisung INS_DLY, eine Operation zum Decodieren der dritten Anweisung INS_F3, und eine Operation zum Abrufen einer vierten Anweisung INS_F4 gemeinsam durchgeführt werden.
  • Da in dem Force-Gating-Feld 13 die Informationen eingestellt sind, welche die Funktion zum Ignorieren einer Unterbrechung unterstützt, selbst wenn die Unterbrechung während der Zeitverzögerungsperiode bei Ausführung der Verzögerungs-Anweisung INS_DLY erzeugt wird, wird die Takt-Gating-Operation gemäß der Verzögerungs-Anweisung INS_DLY ausgeführt, unabhängig davon, ob die Unterbrechung während der Periode zwischen T6 und T7 erzeugt wird. Daher kann es sein, dass in der Periode zwischen T6 und T7 der Taktpuls nicht an den Kern-Prozessor 110 oder dem Prozessor 100B übertragen wird.
  • Wenn der Prozessor 100A oder 100B eine Anweisung basierend auf dem Befehls-Pipeline-Zustandsdiagramm, wie in 9 gezeigt, verarbeitet, wird eine Wellenform des ersten Taktsignals CLK1_IN, das in die Taktmanagementeinheit 120 oder 300 eingeben wird und eine Wellenform des ersten Taktsignals CLK1_OUT, das von der Taktmanagementeinheit 120 oder 300 ausgegeben wird, an den Kern-Prozessor 110 und den Prozessor 100B übertragen, wie dargestellt in 13.
  • Es kann in 13 gesehen werden, dass in Bezug auf das erste Taktsignal CLK1_OUT kein Taktpuls während einer Periode zwischen T6 und T7 erzeugt wird. Das heißt, der Taktpuls muss nicht an den Kern-Prozessor 110 oder den Prozessor 100B in der Periode zwischen T6 und T7 übertragen werden.
  • Wenn der Prozessor 100A oder 100B eine Anweisung basierend auf dem Befehls-Pipeline-Zustandsdiagramm, wie in 9 gezeigt, verarbeiten, wird ein Wellenformdiagramm für Hauptsignale, das von der Taktmanagementeinheit 120 oder 300 erzeugt wird, in 14 dargestellt.
  • Mit Bezug auf 14, kann ein Zeitgebersteuersignal CTL_TIMER zu einer Zeit T6 erzeugt werden. Daher kann die Zeitgeber-Schaltung 423 eine Zähloperation entsprechend dem Zeitgebersteuersignal CTL_TIMER starten. Zum Zeitpunkt T6 kann das Umschaltsteuersignal CTL_SW von einem ”HOCH” Zustand in einen ”TIEF” Zustand übergehen. Das Umschaltsteuersignal CTL_SW kann den ”TIEF” Zustand halten, bis das Timer-Ablauf-Signal S_TE erzeugt wird. Das Umschaltsteuersignal CTL_SW kann zu einer Zeit T7, bei der ein Timer-Ablauf-Signal S_TE erzeugt wird, von dem ”TIEF” Zustand in den ”HOCH” Zustand übergehen.
  • Dementsprechend kann in der Periode zwischen T6 und T7, in der das Umschaltsteuersignal CTL_SW den ”TIEF” Zustand hat, der Schaltkreis 421 der Taktmanagementeinheit 120 oder 300 ausgeschaltet werden, und in einer Periode, in der das Umschaltsteuersignal CTL_SW hat den ”HOCH” Zustand hat, kann der Schaltkreis 421 eingeschaltet werden. Dementsprechend muss in der Periode zwischen T6 und T7 in Bezug auf das erste Taktsignal CLK1_OUT kein Taktpuls erzeugt werden. Daher kann es sein, dass in der Periode zwischen T6 und T7 der Taktpuls nicht an den Kern-Prozessor 110 oder dem Prozessor 100B übertragen wird.
  • Wieder mit Bezug auf 9, nachdem die Takt-Gating-Operation gemäß der Ausführung der Verzögerungs-Anweisung INS_DLY abgeschlossen ist, können eine Operation zum Ausführen der dritten Anweisung INS_F3 und eine Operation zum Decodieren der vierten Anweisung INS_F4 zusammen in einer Periode zwischen T7 und T8 durchgeführt werden. Wie oben beschrieben, muss die Befehls-Pipeline-Struktur nicht während der Ausführung der Verzögerungs-Anweisung INS_DLY unterbrochen werden. Das heißt, der Prozessor 100A oder 100B kann erkennen, dass die Verzögerungs-Anweisung INS_DLY in der Periode zwischen T6 und T7 ausgeführt wird, welche die Zeitverzögerungsperiode ist. Nachdem die Takt-Gating-Operation gemäß Ausführung der Verzögerungs-Anweisung INS_DLY abgeschlossen ist, kann der Prozessor 100A oder 100B die Operationen zum Ausführung der dritten Anweisung INS_F3 und Decodieren der vierten Anweisung INS_F4 in einer Periode zwischen T7 und T8 durchführen. In einer Periode zwischen T8 und T9, kann eine Operation zum Ausführen der vierten Anweisung INS_F4 durchgeführt werden.
  • 10 ist ein Befehls-Pipeline-Zustandsdiagramm zum Beschreiben eines Prozesses zum Durchführen einer Verzögerungs-Anweisung in einem Prozessor gemäß einer anderen beispielhaften Ausführungsform.
  • Mit Bezug auf 10 gibt es ein Befehls-Pipeline-Zustandsdiagramm in dem eine Verzögerungs-Periode, die basierend auf der Verzögerungs-Anweisung INS_DLY eine Periode zwischen T6 und T7 ist, eine Unterbrechung während der Periode zwischen T6 und T7 erzeugt wird, und, in dem Force-Gating-Feld 13 der Verzögerungs-Anweisung INS_DLY, werden Informationen eingestellt, die keine Funktion unterstützen zum Ignorieren einer Unterbrechung während der Zeitverzögerungsperiode bei Ausführung der Verzögerungs-Anweisung INS_DLY.
  • Der Befehls-Pipeline-Zustand in einer Periode zwischen T1 und T6, wie in 10 gezeigt, kann der gleiche wie der Befehls-Pipeline-Zustand aus 9 sein.
  • In einer Periode zwischen T5 und T6 können eine Operation EX zum Ausführen der Verzögerungs-Anweisung INS_DLY, eine Operation zum Decodieren einer dritten Anweisung INS_F3, und eine Operation zum Abrufen einer vierten Anweisung INS_F4 gemeinsam durchgeführt werden.
  • Wenn der Prozessor 100A oder 100B eine Anweisung basierend auf dem Befehls-Pipeline-Zustandsdiagramm, wie in 10 gezeigt, verarbeiten, wird ein Wellenformdiagramm für Hauptsignale, das von der Taktmanagementeinheit 120 oder 300 erzeugt wird, in 15 dargestellt.
  • Mit Bezug auf 15, kann ein Zeitgebersteuersignal CTL_TIMER zu einer Zeit T6 erzeugt werden. Daher kann die Zeitgeber-Schaltung 423 eine Zähloperation entsprechend dem Zeitgebersteuersignal CTL_TIMER starten. Zum Zeitpunkt T6 kann das Umschaltsteuersignal CTL_SW von einem ”HOCH” Zustand in einen ”TIEF” Zustand übergehen. Das Umschaltsteuersignal CTL_SW kann den ”TIEF” Zustand beibehalten bis zu einem Zeitpunkt T6_1a, zu dem ein Unterbrechungssignal INT erzeugt wird. Zum Zeitpunkt T6_1a kann das Umschaltsteuersignal CTL_SW von dem ”TIEF” Zustand in den ”HOCH” Zustand übergehen. Zum Zeitpunkt T6_1a kann ein Unterbrechungs-Zustandssignal CTL_SW von dem ”TIEF” Zustand in den ”HOCH” Zustand übergehen. Das Unterbrechungs-Zustandssignal INT_ON kann den ”HOCH” Zustand während einer Periode zwischen dem Zeitpunkt T6_1a und einem Zeitpunkt T6_2a erhalten, in dem eine Unterbrechungs-Aufgabe ausgeführt wird.
  • Das Umschaltsteuersignal CTL_SW kann den ”HOCH” Zustand während einer Periode von dem Zeitpunkt T6_1a zu dem Zeitpunkt T6_2a beibehalten, bei dem das Unterbrechungs-Zustandssignal INT_ON in den ”TIEF” Zustand geht und die Steuersignale CTL_SIGs Beendigung der Unterbrechungs-Aufgabe anzeigen. Zum Zeitpunkt T6_2a kann das Umschaltsteuersignal CTL_SW von dem ”HOCH” Zustand in den ”TIEF” Zustand übergehen. Das Umschaltsteuersignal CTL_SW kann den ”TIEF” Zustand halten, bis das Timer-Ablauf-Signal S_TE erzeugt wird. Das Umschaltsteuersignal CTL_SW kann zu einer Zeit T7, wenn das Timer-Ablauf-Signal S_TE erzeugt wird, von dem ”TIEF” Zustand in den ”HOCH” Zustand übergehen.
  • Dementsprechend kann in einer Periode zwischen T6 und T6_1a und einer Periode zwischen T6_2a und T7, in der das Umschaltsteuersignal CTL_SW den ”TIEF” Zustand hat, der Schaltkreis 421 der Taktmanagementeinheit 120 oder 300 ausgeschaltet werden, und in einer Periode, in der das Umschaltsteuersignal CTL_SW hat den ”HOCH” Zustand, kann der Schaltkreis 421 eingeschaltet werden.
  • In der Periode zwischen T6 und T6_1a und der Periode zwischen T6_2a und T7 unter der Periode zwischen T6 und T7, bestimmt als eine Verzögerungs-Periode, muss ein Taktpuls nicht aus dem ersten Taktsignal CLK1_OUT erzeugt werden. Daher kann es sein, dass in der Periode zwischen T6 und T6_1a und der Periode zwischen T6_2a und T7 der Taktpuls nicht an den Kern-Prozessor 110 oder dem Prozessor 100B übertragen wird. In einer Periode zwischen T6_1a und T6_2a in der Unterbrechungs-Verarbeitung aufgrund der Erzeugung der Unterbrechung durchgeführt wird, unter der Periode zwischen T6 und T7, bestimmt als die Verzögerungs-Periode, kann der Taktpuls als das erste Taktsignal CLK1_OUT erzeugt werden. Daher kann in der Periode zwischen T6_1a und T6_2a der Taktpuls normal an den Kern-Prozessor 110 oder dem Prozessor 100B übertragen wird.
  • Mit erneutem Bezug auf 10, kann in der Periode zwischen T6_1a und T6_2a unter der Periode zwischen T6 und T7, bestimmt als die Verzögerungs-Periode auf Basis der Verzögerungs-Anweisung INS_DLY, der Kern-Prozessor 110 oder der Prozessor 100B eine Unterbrechungs-Dienst-Routine ISR zur Verarbeitung einer Unterbrechungs-Aufgabe gemäß einer Unterbrechungs-Anweisung INS_INT ausführen, basierend auf der Erzeugung der Unterbrechung.
  • Nachdem die Takt-Gating-Operation gemäß Ausführung der Verzögerungs-Anweisung INS_DLY abgeschlossen ist, kann der Prozessor 110 oder der Prozessor 100B eine Operation zum Abrufen der dritten Anweisung INS_F3 in einer Periode zwischen T7 und T8 durchführen. Da die Unterbrechungs-Dienst-Routine in der Periode zwischen T6_1a und T6_2a ausgeführt worden ist, kann die Operation zum Abrufen der dritten Anweisung INS_F3 neu durchgeführt werden. In einer Periode zwischen T9 und T10 können eine Operation zum Decodieren der dritten Anweisung INS_F3 und eine Operation zum Abrufen einer vierten Anweisung INS_F4 zusammen durchgeführt werden. In einer Periode zwischen T9 und T10 können eine Operation zum Ausführen der dritten Anweisung INS_F3 und eine Operation zum Decodieren einer vierten Anweisung INS_F4 zusammen durchgeführt werden.
  • 11 ist ein Befehls-Pipeline-Zustandsdiagramm zum Beschreiben eines Prozesses zum Durchführen einer Verzögerungs-Anweisung in einem Prozessor gemäß einer anderen beispielhaften Ausführungsform.
  • Mit Bezug auf 11 gibt es ein Befehls-Pipeline-Zustandsdiagramm in dem eine Verzögerungs-Periode, die basierend auf der Verzögerungs-Anweisung INS_DLY eine Periode zwischen T6 und T7 ist, eine Unterbrechung während der Periode zwischen T6 und T7 erzeugt wird, eine Unterbrechungs-Aufgabe, die während der Periode zwischen T6 und T7 erzeugt wird, wird nach der Verzögerungs-Periode abgeschlossen, und in dem Force-Gating-Feld 13 der Verzögerungs-Anweisung INS_DLY werden Informationen eingestellt, die keine Funktion unterstützen zum Ignorieren einer Unterbrechung während der Zeitverzögerungsperiode bei Ausführung der Verzögerungs-Anweisung INS_DLY.
  • Der Befehls-Pipeline-Zustand in der Periode zwischen T1 und T6, wie in 11 gezeigt, kann der gleiche wie der Befehls-Pipeline-Zustand aus 7 sein.
  • In der Periode zwischen T5 und T6 können eine Operation EX zum Ausführen der Verzögerungs-Anweisung INS_DLY, eine Operation zum Decodieren der dritten Anweisung INS_F3, und eine Operation zum Abrufen einer vierten Anweisung INS_F4 gemeinsam durchgeführt werden.
  • Wenn der Prozessor 100A oder 100B Anweisungen basierend auf dem Befehls-Pipeline-Zustandsdiagramm, wie in 11 gezeigt, verarbeiten, wird ein Wellenformdiagramm für Hauptsignale, das von der Taktmanagementeinheit 120 oder 300 erzeugt wird, in 16 dargestellt.
  • Mit Bezug auf 16, kann ein Zeitgebersteuersignal CTL_TIMER zu einer Zeit T6 erzeugt werden. Daher kann die Zeitgeber-Schaltung 423 eine Zähloperation entsprechend dem Zeitgebersteuersignal CTL_TIMER starten. Zum Zeitpunkt T6 kann das Umschaltsteuersignal CTL_SW von einem ”HOCH” Zustand in einen ”TIEF” Zustand übergehen. Das Umschaltsteuersignal CTL_SW kann den ”TIEF” Zustand beibehalten bis zu einem Zeitpunkt T6_1b, zu dem ein Unterbrechungssignal INT erzeugt wird. Zum Zeitpunkt T6_1b kann das Umschaltsteuersignal CTL_SW von dem ”TIEF” Zustand in den ”HOCH” Zustand übergehen. Zum Zeitpunkt T6_1b kann ein Unterbrechungs-Zustandssignal CTL_ON von dem ”TIEF” Zustand in den ”HOCH” Zustand übergehen. Das Unterbrechungs-Zustandssignal INT_ON kann den ”HOCH” Zustand während einer Periode zwischen dem Zeitpunkt T6_1b und einem Zeitpunkt T8 erhalten, in dem eine Unterbrechungs-Aufgabe ausgeführt wird.
  • Da die Zeit T8, zu der das Unterbrechungs-Zustandssignal INT_ON, das eine Zeit darstellt, wann die Unterbrechungs-Aufgabe beendet ist, von dem ”HOCH” Zustand in den ”TIEF” Zustand später als der Zeitpunkt T7 übergeht, kann das Umschaltsteuersignal CTL_SW den ”HOCH” Zustand beibehalten, bis die Verzögerungs-Anweisung INS_DLY von der Zeit T6_1b ausgeführt wird
  • Dementsprechend kann in der Periode zwischen T6 und T_1b, in der das Umschaltsteuersignal CTL_SW den ”TIEF” Zustand hat, der Schaltkreis 421 der Taktmanagementeinheit 120 oder 300 ausgeschaltet werden, und in einer Periode, in der das Umschaltsteuersignal CTL_SW hat den ”HOCH” Zustand hat, kann der Schaltkreis 421 eingeschaltet werden.
  • In der Periode zwischen T6 und T6_1b der Periode zwischen T6 und T7, bestimmt als Verzögerungs-Periode, muss kein Taktpuls als das erste Taktsignal CLK1_OUT erzeugt werden. Daher kann es sein, dass in der Periode zwischen T6 und T6_1b der Taktpuls nicht an den Kern-Prozessor 110 oder dem Prozessor 100B übertragen wird. In der Periode zwischen T6_1b und T7 in der Unterbrechungs-Verarbeitung aufgrund der Erzeugung der Unterbrechung durchgeführt wird, unter der Periode zwischen T6 und T7, bestimmt als die Verzögerungs-Periode, kann der Taktpuls als das erste Taktsignal CLK1_OUT erzeugt werden. Daher kann es sein, dass in der Periode zwischen T6_1b und T7 der Taktpuls normal an den Kern-Prozessor 110 oder dem Prozessor 100B übertragen wird.
  • Mit erneutem Bezug auf 11, kann in der Periode zwischen T6_1b und T7 unter der Periode zwischen T6 und T7, bestimmt als die Verzögerungs-Periode auf Basis der Verzögerungs-Anweisung INS_DLY, der Kern-Prozessor 110 oder der Prozessor 100B eine Unterbrechungs-Dienst-Routine ISR zur Verarbeitung einer Unterbrechungs-Aufgabe gemäß der Unterbrechungs-Anweisung INS_INT ausführen, basierend auf der Erzeugung der Unterbrechung.
  • Da die Unterbrechungs-Aufgabe, die in der Periode zwischen T6 und T7 erzeugt wird, nicht bei T7 abgeschlossen ist, kann der Kern-Prozessor 110 oder der Prozessor 100B kontinuierlich die Unterbrechungs-Dienst-Routine ISR ausführen, bis zum Zeitpunkt T8 auszuführen.
  • Nachdem Ausführung der Unterbrechungs-Dienst-Routine ISR abgeschlossen ist, kann der Kern-Prozessor 110 oder der Prozessor 100B eine Operation zum Abrufen der dritten Anweisung INS_F3 in einer Periode zwischen T8 und T9 durchführen. Da die Unterbrechungs-Dienst-Routine in der Periode zwischen T6_1a und T8 ausgeführt worden ist, kann die Operation zum Abrufen der dritten Anweisung INS_F3 neu durchgeführt werden. In einer Periode zwischen T9 und T10 können eine Operation zum Decodieren der dritten Anweisung INS_F3 und eine Operation zum Abrufen einer vierten Anweisung INS_F4 zusammen durchgeführt werden. In einer Periode zwischen T10 und T11 können eine Operation zum Ausführen der dritten Anweisung INS_F3 und eine Operation zum Decodieren einer vierten Anweisung INS_F4 zusammen durchgeführt werden.
  • 12 ist ein Befehls-Pipeline-Zustandsdiagramm zum Beschreiben eines Prozesses zum Durchführen einer Verzögerungs-Anweisung in einem Prozessor gemäß einer anderen beispielhaften Ausführungsform.
  • Mit Bezug auf 12 gibt es ein Befehls-Pipeline-Zustandsdiagramm in dem eine Verzögerungs-Periode, die basierend auf der Verzögerungs-Anweisung INS_DLY eine Periode zwischen T6 und T7 ist, eine Unterbrechung während der Periode zwischen T6 und T7 erzeugt wird, in der die Verzögerungs-Anweisung INS_DLY ausgeführt wird, und, in dem Force-Gating-Feld 13 der Verzögerungs-Anweisung INS_DLY, werden Informationen eingestellt, die keine Funktion unterstützen zum Ignorieren einer Unterbrechung während der Zeitverzögerungsperiode bei Ausführung der Verzögerungs-Anweisung INS_DLY.
  • Der Befehls-Pipeline-Zustand in der Periode zwischen T1 und T5, wie in 12 gezeigt, kann der gleiche wie der Befehls-Pipeline-Zustand aus 9 sein.
  • Mit Bezug auf 12, in einer Periode zwischen T5 und T6 können eine Operation EX zum Ausführen der Verzögerungs-Anweisung INS_DLY, eine Operation zum Decodieren der dritten Anweisung INS_F3, und eine Operation zum Abrufen einer vierten Anweisung INS_F4 gemeinsam durchgeführt werden. In der Periode zwischen T5 und T6 in der die Verzögerungs-Anweisung INS_DLY ausgeführt wird, kann eine Unterbrechung erzeugt werden. Das heißt, die Unterbrechung kann während einer Periode von dem Zeitpunkt T5, bei der Ausführung der Verzögerungs-Anweisung INS_DLY gestartet wird, bis zu dem Zeitpunkt T6 erzeugt werden, bei der Ausführung einer Takt-Gating-Operation gestartet wird.
  • Wenn der Prozessor 100A oder 100B eine Anweisung basierend auf dem Befehls-Pipeline-Zustandsdiagramm, wie in 12 gezeigt, verarbeiten, wird ein Wellenformdiagramm für Hauptsignale, das von der Taktmanagementeinheit 120 oder 300 erzeugt wird, in 17 dargestellt.
  • Mit Bezug auf 17, kann ein Unterbrechungssignal INT zu dem Zeitpunkt T5_1c erzeugt werden und ein Unterbrechungs-Zustandssignal INT_ON kann von einem ”TIEF” Zustand in einen ”HOCH” Zustand zu dem Zeitpunkt T5_1c übergehen. Daher kann der Kern-Prozessor 110 oder der Prozessor 100B eine Unterbrechungs-Dienst-Routine ISR ausführen, basierend auf einem Unterbrechungssignal, das zu der Zeit T5_1c erzeugt wird.
  • Zusätzlich kann die Taktmanagementeinheit 120 oder 300 eine Operation zur Takt-Gating-Verarbeitung gemäß Ausführung der Verzögerungs-Anweisung INS_DLY durchführen. Daher kann die Zeitgeber-Schaltung 423 eine Zähloperation entsprechend einem Zeitgebersteuersignal CTL_TIMER starten.
  • Da das Unterbrechungs-Zustandssignal INT_ON zum Zeitpunkt T6 in dem ”HOCH” Zustand ist, kann das Umschaltsteuersignal CTL_SW den ”HOCH” Zustand so wie er ist behalten. Das heißt, das Umschaltsteuersignal CTL_SW muss nicht von dem ”HOCH” Zustand in den ”TIEF” Zustand zum Zeitpunkt T6 übergehen.
  • Das Unterbrechungs-Zustandssignal INT_ON kann den ”HOCH” Zustand während einer Periode zwischen dem Zeitpunkt T5_1c und dem Zeitpunkt T6_1c erhalten, in dem eine Unterbrechungs-Aufgabe ausgeführt wird. Da die Zeit T6_1c, zu der die Unterbrechungs-Aufgabe innerhalb der Periode zwischen T6 und T7 abgeschlossen ist, das die Verzögerungs-Periode ist, die basierend auf der Verzögerungs-Anweisung INS_DLY bestimmt wird, kann das Umschaltsteuersignal CTL_SW von dem ”HOCH” Zustand in den ”TIEF” Zustand übergehen zum Zeitpunkt T6_1c.
  • Das Umschaltsteuersignal CTL_SW kann den ”TIEF” Zustand halten, bis das Timer-Ablauf-Signal S_TE erzeugt wird. Das Umschaltsteuersignal CTL_SW kann zu einer Zeit T7, wenn das Timer-Ablauf-Signal S_TE erzeugt wird, von dem ”TIEF” Zustand in den ”HOCH” Zustand übergehen.
  • Dementsprechend kann in der Periode zwischen T6_1c und T7, in der das Umschaltsteuersignal CTL_SW den ”TIEF” Zustand hat, der Schaltkreis 421 der Taktmanagementeinheit 120 oder 300 ausgeschaltet werden, und in einer Periode, in der das Umschaltsteuersignal CTL_SW hat den ”HOCH” Zustand hat, kann der Schaltkreis 421 eingeschaltet werden.
  • In der Periode zwischen T6_1c und T7 der Periode zwischen T6 und T7, bestimmt als Verzögerungs-Periode, muss kein Taktpuls als das erste Taktsignal CLK1_OUT erzeugt werden. Daher kann es sein, dass in der Periode zwischen T6_1c und T7 der Taktpuls nicht an den Kern-Prozessor 110 oder dem Prozessor 100B übertragen wird. In der Periode zwischen T6 und T6_1c in der Unterbrechungs-Verarbeitung aufgrund der Erzeugung der Unterbrechung durchgeführt wird, unter der Periode zwischen T6 und T7, bestimmt als die Verzögerungs-Periode, kann der Taktpuls als das erste Taktsignal CLK1_OUT erzeugt werden. Daher kann in der Periode zwischen T6 und T6_1c der Taktpuls normal an den Kern-Prozessor 110 oder dem Prozessor 100B übertragen wird.
  • Mit erneutem Bezug auf 12, kann in der Periode zwischen T6 und T6_1c unter der Periode zwischen T6 und T7, bestimmt als die Verzögerungs-Periode auf Basis der Verzögerungs-Anweisung INS_DLY, der Kern-Prozessor 110 oder der Prozessor 100B eine Unterbrechungs-Dienst-Routine ISR zur Verarbeitung einer Unterbrechungs-Aufgabe gemäß der Unterbrechungs-Anweisung INS_INT ausführen, basierend auf der Erzeugung der Unterbrechung. Das heißt, dass der Kern-Prozessor 110 oder der Prozessor 100B eine Unterbrechungs-Dienst-Routine ISR in der Periode zwischen T5_1c und T6_1c ausführen.
  • Nachdem die Takt-Gating-Operation gemäß Ausführung der Verzögerungs-Anweisung INS_DLY abgeschlossen ist, kann der Prozessor 110 oder der Prozessor 100B eine Operation zum Abrufen der dritten Anweisung INS_F3 in einer Periode zwischen T7 und T8 durchführen. Da die Unterbrechungs-Dienst-Routine in der Periode zwischen T5_1c und T6_1c ausgeführt worden ist, kann die Operation zum Abrufen der dritten Anweisung INS_F3 neu durchgeführt werden. In einer Periode zwischen T9 und T10 können eine Operation zum Decodieren der dritten Anweisung INS_F3 und eine Operation zum Abrufen einer vierten Anweisung INS_F4 zusammen durchgeführt werden. In einer Periode zwischen T9 und T10 können eine Operation zum Ausführen der dritten Anweisung INS_F3 und eine Operation zum Decodieren einer vierten Anweisung INS_F4 zusammen durchgeführt werden.
  • Ein Taktmanagementverfahren, das in verschiedenen Arten von integrierten Schaltungen durchgeführt wird, einschließlich einer integrierten Schaltung aus 1 und 2, wird beschrieben. Für Unannehmlichkeiten der Beschreibung wird das Taktmanagementverfahren mit Bezug auf die integrierte Schaltung aus 2 beschrieben.
  • 18 ist ein Flussdiagramm eines Taktmanagementverfahrens, das in einer integrierten Schaltung durchgeführt wird, gemäß einer beispielhaften Ausführungsform.
  • Mit Bezug auf 18 gibt es ein Befehls-Pipeline-Zustandsdiagramm in dem eine Verzögerung nicht während einer Verzögerungs-Periode erzeugt wird, die basierend auf der Verzögerungs-Anweisung bestimmt wird, und in dem Force-Gating-Feld 13 der Verzögerungs-Anweisung INS_DLY werden Informationen eingestellt, die eine Funktion unterstützen zum Ignorieren einer Unterbrechung, selbst wenn die Unterbrechung während der Zeitverzögerungsperiode bei Ausführung der Verzögerungs-Anweisung INS_DLY erzeugt wird.
  • In Operation S101 kann der Prozessor 100B bestimmen, ob eine Verzögerungs-Anweisung INS_DLY aufgerufen wird. Zum Beispiel wird die Verzögerungs-Anweisung INS_DLY aufgerufen, wenn es eine Periode gibt, in der ein Prozessor wartet, während keine Operation ausgeführt wird.
  • In Operation S102, wenn die Verzögerungs-Anweisung INS_DLY in dem Prozessor 100B aufgerufen wird, kann die Steuerschaltung 410 der Taktmanagementeinheit 300 eine Timer-Ablauf-Zeit T_exp einstellen. Zum Beispiel kann die Steuerschaltung 410 die Timer-Ablauf-Zeit T_exp basierend auf der Verzögerungs-Anweisung INS_DLY einstellen, die vom Prozessor 100B empfangen werden, oder auf Taktsteuerfaktorinformationen INF_CG, die durch Decodieren der Verzögerungs-Anweisung INS_DLY erzeugt werden.
  • In Operation S103 kann die Steuerschaltung 410 der Taktmanagementeinheit 300 bestimmen, ob die Verzögerungs-Anweisung INS_DLY in dem Prozessor 100B ausgeführt wird.
  • In Operation S104, wenn die Verzögerungs-Anweisung INS_DLY in dem Prozessor 100B ausgeführt wird, kann die Zeitgeber-Schaltung 423 der Taktmanagementeinheit 300 eine Zeitmessungs-Operation T_exp starten. Wenn beispielsweise die Verzögerungs-Anweisung INS_DLY ausgeführt wird, kann die Zeitmessungs-Operation gestartet werden, durch Starten einer Operation zum Zählen eines Taktsignals, das eine niedrigere Frequenz als eine Taktfrequenz hat, die von dem Prozessor 100B verwendet wird.
  • In Operation S105 kann die Taktmanagementeinheit 300 eine Takt-Gating-Operation in dem Schaltkreis 421 ausführen, nachdem die Zeitgeber-Schaltung 423 die Zeitmessungs-Operation startet. Alternativ kann die Takt-Gating-Operation in dem Schaltkreis 421 gleichzeitig mit dem Start der Zeitmessungs-Operation in der Zeitgeber-Schaltung 423 ausgeführt werden. Die Takt-Gating-Operation kann eine Operation zum Abschneiden der Übertragung eines Taktsignals an den Prozessor 100B sein. Daher kann es sein, dass ein Taktpuls nicht an einem Takt-Eingangs-Anschluss des Prozessors 100B in einer Periode erfasst wird, in der die Takt-Gating-Operation ausgeführt wird.
  • In Operation S106 kann die Steuerschaltung 410 der Taktmanagementeinheit 300 bestimmen, ob eine Zeit, die von der Zeitgeber-Schaltung 423 gemessen wird, die Timer-Ablauf-Zeit T_exp erreicht.
  • Wenn die Zeit, die von der Zeitgeber-Schaltung 423 gemessen wird, nicht die Timer-Ablauf-Zeit T_exp erreicht, kann die Takt-Gating-Operation des Abschneidens der Übertragung des Taktsignals an den Prozessor 100B kontinuierlich durchgeführt werden.
  • In Operation S107, wenn die Zeit, die von der Zeitgeber-Schaltung 423 gemessen wird, die Timer-Ablauf-Zeit T_exp erreicht, kann Takt-an-Verarbeitung (clock on processing) des Taktsignals an den Prozessor 100B ausgeführt werden. Daher kann, wenn die Timer-Ablauf-Zeit T_exp erreicht wird, das Taktsignal normal an den Prozessor 100B übertragen werden. Das heißt, wenn die Timer-Ablauf-Zeit T_exp erreicht wird, kann ein Taktpuls an dem Takt-Eingangs-Anschluss des Prozessors 100B erfasst werden.
  • 19 ist ein Flussdiagramm eines Taktmanagementverfahrens, das in einer integrierten Schaltung durchgeführt wird, gemäß einer anderen beispielhaften Ausführungsform.
  • 19 ist das Ablaufdiagramm des Taktmanagementverfahrens in einem Fall, in dem in dem Force-Gating-Feld 13 der Verzögerungs-Anweisung INS_DLY Information eingestellt werden, die keine Funktion des Ignorierens einer Unterbrechung unterstützt, selbst wenn die Unterbrechung während der Zeitverzögerungsperiode erzeugt wird, bei Ausführung der Verzögerungs-Anweisung INS_DLY
  • In Operation S201 kann der Prozessor 100B bestimmen, ob eine Verzögerungs-Anweisung INS_DLY aufgerufen wird. Zum Beispiel wird die Verzögerungs-Anweisung INS_DLY aufgerufen, wenn es eine Periode gibt, in der ein Prozessor wartet, während keine Operation ausgeführt wird.
  • In Operation S202, wenn die Verzögerungs-Anweisung INS_DLY in dem Prozessor 100B aufgerufen wird, kann die Steuerschaltung 410 der Taktmanagementeinheit 300 eine Timer-Ablauf-Zeit T_exp einstellen. Zum Beispiel kann die Steuerschaltung 410 die Timer-Ablauf-Zeit T_exp basierend auf der Verzögerungs-Anweisung INS_DLY einstellen, die vom Prozessor 100B empfangen werden, oder auf Taktsteuerfaktorinformationen INF_CG, die durch Decodieren der Verzögerungs-Anweisung INS_DLY erzeugt werden.
  • In Operation S203 kann die Steuerschaltung 410 der Taktmanagementeinheit 300 bestimmen, ob die Verzögerungs-Anweisung INS_DLY in dem Prozessor 100B ausgeführt wird.
  • In Operation S204, wenn die Verzögerungs-Anweisung INS_DLY in dem Prozessor 100B ausgeführt wird, empfängt die Zeitgeber-Schaltung 423 der Taktmanagementeinheit 300 eine Meldung von dem Prozessor und kann eine Zeitmessungs-Operation starten. Wenn beispielsweise die Verzögerungs-Anweisung INS_DLY ausgeführt wird, kann die Zeitmessungs-Operation gestartet werden, durch Starten einer Operation zum Zählen eines Taktsignals, das eine niedrigere Frequenz als eine Taktfrequenz hat, die von dem Prozessor 100B verwendet wird.
  • In Operation S205 kann, nachdem die Zeitmessungs-Operation gestartet wird, die Taktmanagementeinheit 300 bestimmen, ob der Prozessor 100B in einem Unterbrechungs-Zustand ist, bevor die Takt-Gating-Operation durchgeführt wird.
  • Im Betrieb S206, wenn der Prozessor 100B in dem Unterbrechungs-Zustand ist, kann die Taktmanagementeinheit 300 bestimmen, ob eine Aufgabe, die ausgeführt wird, auf einer Unterbrechungs-Dienst-Routine ISR ist.
  • In Operation S207, wenn die Aufgabe auf der Unterbrechungs-Dienst-Routine ISR ausgeführt wird, kann die Taktmanagementeinheit 300 die Takt-Gating-Operation durchführen. Dass die Aufgabe auf der Unterbrechungs-Dienst-Routine ISD ausgeführt wird, kann bedeuten, dass die Verzögerungs-Anweisung INS_DLY auf einen Unterbrechungs-Dienst ausgeführt wird. Dementsprechend kann die Takt-Gating-Operation zum Abschneiden der Übertragung des Taktsignals an den Prozessor 100B durchgeführt werden, basierend auf Ausführung der Verzögerungs-Anweisung INS_DLY.
  • In Operation S215 wird bestimmt, ob die Zeitgeber-Schaltung 423 die Timer-Ablauf-Zeit T_exp erreicht hat. Wenn nicht, wird Operation S215 wiederholt. Wenn ja, dann schreitet die Verarbeitung fort zu Operation S214.
  • In Operation S208, wenn die Aufgabe nicht auf der Unterbrechungs-Dienst-Routine ISR ausgeführt wird, kann die Taktmanagementeinheit 300 bestimmen, ob die Unterbrechungs-Aufgabe beendet ist. Das heißt, wenn die Aufgabe, die ausgeführt wird, nicht auf der Unterbrechungs-Dienst-Routine ISR ist, bedeutet dies, dass eine Unterbrechung in einer Periode zwischen T5 und T6 erzeugt wird, in der die Verzögerungs-Anweisung INS_DLY ausgeführt wird, wie in 10 gezeigt. In diesem Fall wird die Takt-Gating-Operation unterbrochen, bis die Unterbrechungs-Aufgabe beendet ist.
  • In Operation S209, wenn bestimmt wird, dass die Unterbrechungs-Aufgabe in Operation S208 abgeschlossen ist, kann die Taktmanagementeinheit 300 bestimmen, ob eine durch die Zeitgeber-Schaltung 423 gemessene Zeit die Timer-Ablauf-Zeit T_exp erreicht.
  • In Operation S214, wenn bestimmt wird, dass die Zeit, die von der Zeitgeber-Schaltung 423 gemessen wird, die Timer-Ablauf-Zeit T_exp in Operation S209 erreicht, kann die Taktmanagementeinheit 300 Ausführung von Takt-an-Verarbeitung (clock on processing) für Übertragung des Taktsignals an den Prozessor 100B aufrechterhalten.
  • Wenn festgestellt wird, dass die Zeit, die von der Zeitgeber-Schaltung 423 gemessen wird, die Timer-Ablauf-Zeit T_exp in Operation S209 nicht erreicht, kann die Taktmanagementeinheit 300 die Takt-Gating-Operation zum Abschneiden der Übertragung des Taktsignals an den Prozessor 100B in Operation S210 ausführen.
  • In Operation S211 kann die Taktmanagementeinheit 300 bestimmen, ob die Zeit, die von der Zeitgeber-Schaltung 423 gemessen wird, die Timer-Ablauf-Zeit T_exp erreicht, während die Takt-Gating-Operation durchgeführt wird.
  • In Operation S212, wenn bestimmt wird, dass die Zeit, die von der Zeitgeber-Schaltung 423 gemessen wird, die Timer-Ablauf-Zeit T_exp in Operation S211 nicht erreicht, kann die Taktmanagementeinheit 300 bestimmen, ob eine Unterbrechung von dem Prozessor 100B angefordert wird. Wenn beispielsweise ein Unterbrechungssignal von der Taktmanagementeinheit 300 empfangen wird, kann bestimmt werden, dass die Unterbrechung von dem Prozessor 100B angefordert wird.
  • Wenn festgestellt wird, dass die Unterbrechung nicht in Operation S212 angefordert wird, kann die Taktmanagementeinheit 300 bestimmen, ob die Timer-Ablauf-Zeit T_exp in Operation S211 erreicht wird, während die Takt-Gating-Operation durchgeführt wird.
  • Wenn bestimmt wird, dass die Unterbrechung in Operation S212 angefordert wird, kann die Taktmanagementeinheit 300 Takt-an-Verarbeitung (clock on processing) von Übertragen des Taktsignals an den Prozessor 100B in Operation S213 durchführen.
  • Nach Durchführen von Takt-an-Verarbeitung (clock on processing), kann die Taktmanagementeinheit 300 Operation S208 durchführen, zum Bestimmen, ob eine Unterbrechungs-Aufgabe für die angeforderte Unterbrechung abgeschlossen ist.
  • Wenn festgestellt wird, dass die Zeit, die von der Zeitgeber-Schaltung 423 gemessen wird, die Timer-Ablauf-Zeit T_exp in Operation S211 erreicht, kann die Taktmanagementeinheit 300 die Takt-an-Verarbeitung (clock on processing) zum Übertragen des Taktsignals an den Prozessor 100B in Operation S216 ausführen.
  • 20 veranschaulicht eine Konfiguration eines Ein-Chip-Systems 2000A, auf dem eine Taktmanagementeinheit angewandt wird, gemäß einer beispielhaften Ausführungsform.
  • Mit Bezug auf 20, kann das Ein-Chip-System 2000A einen Prozessor 2100A umfassen, der eine eingebettete Taktmanagementeinheit 2110A, einen Speicher 2200, eine Vielzahl von funktionale Blöcke 2300-1 bis 2300-N und einen Bus 2400 umfassen.
  • Der Prozessor 2100A kann Operationen des Speichers 2200 und der Vielzahl von funktionalen Blöcken 2300-1 bis 2300-N steuern, die über den Bus 2400 verbunden sind. Zum Beispiel kann der Prozessor 2100A in einem Smartphone, einem Tablet-PC (Personal Computer), einer Digitalkamera, einem Mobilgerät, einer Set-Top-Box, einem Smart-Card-System, einem Server-System und anderen verschiedenen elektronischen Geräten Anwendung finden.
  • Wenn beispielsweise Ausführung einer Zeitverzögerungsfunktion durchgeführt wird, kann der Prozessor 2100A eine Befehlsabrufoperation zum Lesen einer Verzögerungs-Anweisung INS_DLY aus dem Speicher 2200 und Speichern der Verzögerungs-Anweisung INS_DLY in einem Anweisungsregister des Prozessors 2100A ausführen. Der Prozessor 2100A kann die Verzögerungs-Anweisung INS_DLY decodieren und ausführen, die in dem Anweisungsregister gespeichert ist.
  • Die Taktmanagementeinheit 120, wie mit Bezug auf 1 beschrieben, kann als Taktmanagementeinheit 2110A verwendet werden. Daher kann die Taktmanagementeinheit 2110A eine Takt-Gating-Operation während einer Zeitverzögerungsperiode durchführen, wenn die Verzögerungs-Anweisung INS_DLY vom Prozessor 2100A ausgeführt wird.
  • Der Speicher 2200 kann einen SRAM oder DRAM umfassen, der Anweisungen, Daten oder Programmcodes speichert, die für eine Operation des Ein-Chip-Systems 2000A notwendig sind. Der Speicher 2200 kann einen nichtflüchtigen Speicher umfassen. Die Anweisungen, die in dem Speicher 2200 gespeichert sind, können die Verzögerungs-Anweisung INS_DLY umfassen, die eine Verzögerungsfunktion gemäß beispielhaften Ausführungsformen durchführt. Zum Beispiel kann die Verzögerungs-Anweisung INS_DLY die gleiche Struktur haben, wie in 4 gezeigt.
  • Die funktionalen Blöcke 2300-1 bis 2300-N können Blöcke sein, die verschiedene Funktionen zum Unterstützen des Ein-Chip-Systems 2000A durchführen. Beispielsweise können die funktionalen Blöcke 2300-1 bis 2300-N ein Modem, eine Speichersteuerung, einen digitalen Signalprozessor, einen Universal-Serial-Bus-Controller, eine periphere Computer-Verbindungsschnittstelle, oder dergleichen umfassen.
  • 21 veranschaulicht eine Konfiguration eines Ein-Chip-Systems 2000B, auf dem eine Taktmanagementeinheit angewandt wird, gemäß einer beispielhaften Ausführungsform.
  • Mit Bezug auf 21, kann das Ein-Chip-System 2000B einen Prozessor 2100B, eine Taktmanagementeinheit 2110B, einen Speicher 2200, eine Vielzahl von funktionalen Blöcken 2300-1 bis 2300-N und einen Bus 2400 umfassen.
  • Da der Speicher 2200 und die Vielzahl von funktionalen Blöcke 2300-1 bis 2300-N mit Bezug auf 20 beschrieben sind, werden deren redundante Beschreibung weggelassen.
  • Der Prozessor 2100B kann Operationen der Taktmanagementeinheit 2110, des Speichers 2200 und der Vielzahl von funktionalen Blöcken 2300-1 bis 2300-N steuern, die über den Bus 2400 verbunden sind. Zum Beispiel kann der Prozessor 2100B in einem Smartphone, einem Tablet-PC (Personal Computer), einer Digitalkamera, einem Mobilgerät, einer Set-Top-Box, einem Smart-Card-System, einem Server-System und anderen verschiedenen elektronischen Geräten Anwendung finden.
  • Wenn beispielsweise Ausführung einer Zeitverzögerungsfunktion durchgeführt wird, kann der Prozessor 2100B eine Befehlsabrufoperation zum Lesen einer Verzögerungs-Anweisung INS_DLY aus dem Speicher 2200 und Speichern der Verzögerungs-Anweisung INS_DLY in einem Anweisungsregister des Prozessors 2100B ausführen. Der Prozessor 2100B kann die Verzögerungs-Anweisung INS_DLY decodieren und ausführen, die in dem Anweisungsregister gespeichert ist.
  • Die Taktmanagementeinheit 300, wie mit Bezug auf 2 beschrieben, kann als Taktmanagementeinheit 2110B verwendet werden. Daher kann die Taktmanagementeinheit 2110B eine Takt-Gating-Operation während einer Zeitverzögerungsperiode durchführen, wenn die Verzögerungs-Anweisung INS_DLY vom Prozessor 2100B ausgeführt wird.
  • 22 veranschaulicht eine Konfiguration eines Ein-Chip-Systems 3000B, auf dem eine Taktmanagementeinheit angewandt wird, gemäß einer beispielhaften Ausführungsform.
  • Mit Bezug auf 22, kann das Ein-Chip-System 3000A einen Prozessor 3100 einschließlich einer eingebetteten Taktmanagementeinheit 3110A, einen Speicher 3200, eine Vielzahl von funktionalen Blöcke 3300-1 bis 3300-N, eine Eingabe/Ausgabe(I/O)-Steuerung 3400, eine I/O-Brücke 3500, eine Vielzahl von I/O-Geräten 3600-1 bis 3600-K und einen Bus 3700 enthalten.
  • Da der Speicher 3200 und die Vielzahl von funktionalen Blöcke 3300-1 bis 3300-N die gleichen Ausgestaltungen wie die des Speichers 2200 und der Vielzahl von funktionalen Blöcken 2300-1 bis 2300-N aus 20 hat, werden deren redundante Beschreibungen weggelassen.
  • Der Prozessor 3100A kann Operationen des Speichers 3200, der Vielzahl von funktionalen Blöcke 3300-1 bis 3300-N und der I/O-Steuerung 3400 steuern, die über den Bus 3700 verbunden sind. Der Prozessor 3100A kann in einem Smartphone, einem Tablet-PC (Personal Computer), einer Digitalkamera, einem Mobilgerät, einer Set-Top-Box, einem Smart-Card-System, einem Server-System und anderen verschiedenen elektronischen Geräten Anwendung finden.
  • Wenn beispielsweise Ausführung einer Zeitverzögerungsfunktion durchgeführt wird, kann der Prozessor 3100A eine Befehlsabrufoperation zum Lesen einer Verzögerungs-Anweisung INS_DLY aus dem Speicher 3200 und Speichern der Verzögerungs-Anweisung INS_DLY in einem Anweisungsregister des Prozessors 3100A ausführen. Der Prozessor 3100B kann die Verzögerungs-Anweisung INS_DLY decodieren und ausführen, die in dem Anweisungsregister gespeichert ist.
  • Die Taktmanagementeinheit 120, wie mit Bezug auf 1 beschrieben, kann als Taktmanagementeinheit 3110A verwendet werden. Daher kann die Taktmanagementeinheit 3110A eine Takt-Gating-Operation während einer Zeitverzögerungsperiode durchführen, wenn die Verzögerungs-Anweisung INS_DLY vom Prozessor 3100A ausgeführt wird.
  • Die I/O-Steuerung 3400 kann eine Operation zum Steuern der I/O-Geräte 3600-1 bis 3600-K ausführen. Die I/O-Steuerung 3400 kann einen I/O-Befehl von dem Prozessor 3100 empfangen und die I/O-Geräte 3600-1 bis 3600-K steuern, basierend auf dem empfangenen I/O-Befehl.
  • Die I/O-Brücke 3500 kann eine Operation zum Steuern eines Kanals für die Datenkommunikation zwischen dem Prozessor 3100A und den I/O-Geräten 3600-1 bis 3600-K ausführen. Zum Beispiel kann die I/O-Brücke 3500 kann eine PCIe-Brücke umfassen.
  • Beispiele für die I/O-Geräte 3600-1 bis 3600-K können eine Speichervorrichtung, ein Solid-State-Drive (SSD), eine Smartcard und eine Digitalkamera umfassen.
  • 23 veranschaulicht eine Konfiguration eines Ein-Chip-Systems 3000B, auf dem eine Taktmanagementeinheit angewandt wird, gemäß einer beispielhaften Ausführungsform.
  • Mit Bezug auf 26, kann das Ein-Chip-System 3000B einen Prozessor 3100B, eine Taktmanagementeinheit 3110B, einen Speicher 3200, eine Vielzahl von funktionalen Blöcke 3300-1 bis 3300-N, eine Eingabe/Ausgabe(I/O)-Steuerung 3400, eine I/O-Brücke 3500, eine Vielzahl von I/O-Geräten 3600-1 bis 3600-K und einen Bus 3700 enthalten.
  • Der Speicher 3200 und die Vielzahl von funktionalen Blöcken 3300-1 bis 3300-N können die gleichen Ausgestaltungen wie die des Speichers 2200 und der Vielzahl von funktionalen Blöcken 2300-1 bis 2300-N aus 20 haben. Da die I/O-Steuerung 3400, die I/O-Brücke 3500, und die Vielzahl von I/O-Geräte 3600-1 bis 3600-K mit Bezug auf 22 beschrieben wurden, werden deren redundante Beschreibungen weggelassen.
  • Der Prozessor 3100B kann Operationen der Taktmanagementeinheit 3110B, des Speichers 3200, der Vielzahl von funktionalen Blöcke 3300-1 bis 3300-N und der I/O-Steuerung 3400 steuern, die über den Bus 3700 verbunden sind. Der Prozessor 3100B kann in einem Smartphone, einem Tablet-PC (Personal Computer), einer Digitalkamera, einem Mobilgerät, einer Set-Top-Box, einem Smart-Card-System, einem Server-System und anderen verschiedenen elektronischen Geräten Anwendung finden.
  • Wenn beispielsweise Ausführung einer Zeitverzögerungsfunktion durchgeführt wird, kann der Prozessor 3100B eine Befehlsabrufoperation zum Lesen einer Verzögerungs-Anweisung INS_DLY aus dem Speicher 3200 und Speichern der Verzögerungs-Anweisung INS_DLY in einem Anweisungsregister des Prozessors 3100B ausführen. Der Prozessor 2100B kann die Verzögerungs-Anweisung INS_DLY decodieren und ausführen, die in dem Anweisungsregister gespeichert ist.
  • Die Taktmanagementeinheit 300, wie mit Bezug auf 2 beschrieben, kann als Taktmanagementeinheit 3110B verwendet werden. Daher kann die Taktmanagementeinheit 3110B eine Takt-Gating-Operation während einer Zeitverzögerungsperiode durchführen, wenn die Verzögerungs-Anweisung INS_DLY vom Prozessor 3100B ausgeführt wird.
  • Während erfinderische Konzepte mit Bezug auf einige beispielhafte Ausführungsformen gezeigt und beschrieben wurden, versteht es sich, dass vielfache Änderungen der Form und den Details hierin gemacht werden können, ohne von dem Umfang der folgenden Ansprüche abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 10-2015-0111210 [0001]

Claims (20)

  1. Integrierte Schaltung, die umfasst: einen Takt-Erzeuger, der konfiguriert ist zum selektiven Erzeugen eines ersten Takts; einen Prozessor, der konfiguriert ist zum Ausführen von Operationen; und eine Taktmanagementschaltung, wobei die Taktmanagementschaltung konfiguriert ist zum Empfangen von Taktmanagement-Informationen von dem Prozessor und zum selektiven Erzeugen eines zweiten Takts, basierend auf den Taktmanagement-Informationen und dem ersten Takt, wobei der Prozessor konfiguriert ist zum Durchführen von einigen Operationen, basierend auf dem zweiten Takt.
  2. Integrierte Schaltung nach Anspruch 1, wobei der Prozessor die Taktmanagementschaltung und eine Vielzahl von Funktionskomponenten umfasst.
  3. Integrierte Schaltung nach Anspruch 1, wobei die Taktmanagement-Informationen Verzögerungs-Information umfassen, die einen Zeitraum anzeigen zum Aussetzen der Erzeugung des zweiten Takts.
  4. Integrierte Schaltung nach Anspruch 3, wobei die Taktmanagement-Informationen Force-Gating-Informationen umfassen, die anzeigen, ob Unterbrechungs-Informationen während dem Zeitraum zum Aussetzen der Erzeugung des zweiten Takts ignoriert werden sollen, wobei die Unterbrechungs-Informationen anzeigen, ob der Prozessor eine Unterbrechungs-Operation durchführen soll; und die Taktmanagementschaltung einen Zeitgeber zum Messen des Zeitraums umfasst, zum Aussetzen des Erzeugens des zweiten Takts.
  5. Integrierte Schaltung nach Anspruch 4, wobei die Taktmanagement-Informationen Taktteilungsinformationen umfassen, wobei die Taktteilungsinformationen einen Betrag angeben, um den der erste Takt zu teilen ist, um einen Zeitgeber-Takt zu erstellen, und wobei der Zeitgeber konfiguriert ist zum Operieren basierend auf dem Zeitgeber-Takt.
  6. Integrierte Schaltung nach Anspruch 3, wobei der Prozessor konfiguriert ist zum Erzeugen der Taktmanagement-Informationen basierend auf Decodierung einer Anweisung.
  7. Integrierte Schaltung nach Anspruch 1, wobei der Prozessor konfiguriert ist zum Erzeugen der Taktmanagement-Informationen basierend auf Decodierung einer Anweisung; und die Taktmanagementschaltung eine Takt-Gating-Schaltung und eine Steuerlogik umfasst, wobei die Takt-Gating-Schaltung konfiguriert ist zum selektiven Erzeugen des zweiten Takts, basierend auf dem ersten Takt, und die Steuerschaltung konfiguriert ist zum Steuern der Takt-Gating-Schaltung basierend auf den Taktmanagement-Informationen.
  8. Integrierte Schaltung nach Anspruch 7, wobei die Takt-Gating-Schaltung umfasst, einen Schalter, der konfiguriert ist zum selektiven Ausgeben des ersten Takts als den zweiten Takt, und eine Zeitgeber-Schaltung; und die Steuerschaltung konfiguriert ist zum Steuern einer Operation der Zeitgeber-Schaltung basierend auf den Taktmanagement-Informationen, und konfiguriert ist zum Steuern einer Operation des Schalters basierend auf den Taktmanagement-Informationen und Ausgabe der Zeitgeber-Schaltung.
  9. Integrierte Schaltung nach Anspruch 8, die des Weiteren umfasst: einen Taktteiler, der konfiguriert ist zum Erzeugen eines Zeitgeber-Takts durch Teilen des ersten Takts entsprechend einem Teilerwert; und wobei die Zeitgeber-Schaltung konfiguriert ist zum Operieren basierend auf dem Zeitgeber-Takt; und wobei die Takt-Gating-Schaltung den Taktteiler umfasst; und die Steuerschaltung konfiguriert ist zum Liefern des Teilerwerts an den Taktteiler basierend auf den Taktmanagement-Informationen.
  10. Integrierte Schaltung nach Anspruch 8, wobei die Steuerschaltung konfiguriert ist zum Steuern einer Operation des Schalters basierend auf den Taktmanagement-Informationen, Ausgabe von der Zeitgeber-Schaltung, und Unterbrechungs-Informationen, wobei die Unterbrechungs-Informationen anzeigen, ob der Prozessor eine Unterbrechungs-Operation auszuführen hat.
  11. Taktmanagementschaltung, die umfasst: eine Takt-Gating-Schaltung, die konfiguriert ist zum Empfangen eines ersten Takts, und konfiguriert ist zum selektiven Erzeugen eines zweiten Takts, basierend auf dem ersten Takt und Steuersignalen; und eine Steuerschaltung, die konfiguriert ist zum Erzeugen der Steuersignale basierend auf Taktmanagement-Informationen, die von einem Prozessor empfangen werden.
  12. Integrierte Schaltung nach Anspruch 11, wobei die Takt-Gating-Schaltung umfasst, einen Schalter, der konfiguriert ist zum selektiven Ausgeben des ersten Takts als den zweiten Takt, und eine Zeitgeber-Schaltung; und die Steuerschaltung konfiguriert ist zum Steuern einer Operation der Zeitgeber-Schaltung basierend auf den Taktmanagement-Informationen, und konfiguriert ist zum Steuern einer Operation des Schalters basierend auf den Taktmanagement-Informationen und Ausgabe der Zeitgeber-Schaltung.
  13. Taktmanagementschaltung nach Anspruch 12, die des Weiteren umfasst: einen Taktteiler, der konfiguriert ist zum Erzeugen eines Zeitgeber-Takts durch Teilen des ersten Takts entsprechend einem Teilerwert; und wobei die Zeitgeber-Schaltung konfiguriert ist zum Operieren basierend auf dem Zeitgeber-Takt; die Takt-Gating-Schaltung den Taktteiler umfasst; und die Steuerschaltung konfiguriert ist zum Liefern des Teilerwerts an den Taktteiler basierend auf den Taktmanagement-Informationen.
  14. Taktmanagementschaltung nach Anspruch 12, wobei die Steuerschaltung konfiguriert ist zum Steuern einer Operation des Schalters basierend auf den Taktmanagement-Informationen, Ausgabe von der Zeitgeber-Schaltung, und Unterbrechungs-Informationen, wobei die Unterbrechungs-Informationen anzeigen, ob der Prozessor eine Unterbrechungs-Operation auszuführen hat.
  15. Taktmanagementschaltung nach Anspruch 12, wobei die Taktmanagement-Informationen Verzögerungs-Information umfassen, die einen Zeitraum anzeigen zum Aussetzen der Erzeugung des zweiten Takts; und die Steuerschaltung konfiguriert ist zum Steuern des Zeitgebers zum Messen des Zeitraums, und konfiguriert ist zum Unterdrücken des Schalters den ersten Takt als den zweiten Takt während des Zeitraums zu liefern.
  16. Taktmanagementschaltung nach Anspruch 15, wobei die Taktmanagement-Informationen Force-Gating-Informationen umfassen, die anzeigen, ob Unterbrechungs-Informationen während dem Zeitraum zum Aussetzen der Erzeugung des zweiten Takts ignoriert werden sollen, wobei die Unterbrechungs-Informationen anzeigen, ob der Prozessor eine Unterbrechungs-Operation durchführen soll; und wobei die Steuerschaltung konfiguriert ist zum Ermöglichen des Schalters den ersten Takt als den zweiten Takt während des Zeitraums in Reaktion auf die Unterbrechungs-Informationen zu liefern, falls die Force-Gating-Informationen nicht anzeigen, dass die Unterbrechungs-Informationen ignoriert werden sollen.
  17. Taktmanagementschaltung nach Anspruch 12, wobei die Taktmanagement-Informationen Verzögerungs-Information umfassen, die einen Zeitraum angeben zum Aussetzen der Erzeugung des zweiten Takts; und die Taktmanagement-Informationen Force-Gating-Informationen umfassen, die anzeigen, ob Unterbrechungs-Informationen während dem Zeitraum zum Aussetzen der Erzeugung des zweiten Takts ignoriert werden sollen, wobei die Unterbrechungs-Informationen anzeigen, ob der Prozessor eine Unterbrechungs-Operation durchführen soll;
  18. Integrierte Schaltung, die umfasst: einen Prozessor, der konfiguriert ist zum Durchführen von Operationen auf einem Taktsignal; und eine Taktmanagementschaltung, die konfiguriert ist zum Empfangen von Taktmanagement-Informationen von dem Prozessor, und konfiguriert ist zum Aussetzen von Übertragung des Taktsignals an den Prozessor für eine Zeit-Periode, basierend auf den Taktmanagement-Informationen; und wobei die Taktmanagement-Informationen Verzögerungs-Information umfassen, die einen Zeitraum angeben zum Aussetzen der Übertragung des zweiten Takts.
  19. Integrierte Schaltung nach Anspruch 18, wobei die Taktmanagement-Informationen Force-Gating-Informationen umfassen, die anzeigen, ob Unterbrechungs-Informationen während dem Zeitraum ignoriert werden sollen, wobei die Unterbrechungs-Informationen anzeigen, ob der Prozessor eine Unterbrechungs-Operation durchführen soll; die Taktmanagementschaltung konfiguriert ist zum Liefern des Taktsignals während des Zeitraums in Reaktion auf die Unterbrechungs-Informationen, falls die Force-Gating-Informationen nicht anzeigen, dass die Unterbrechungs-Informationen ignoriert werden sollen; und die Taktmanagementschaltung konfiguriert ist zum Fortführen des Unterbrechens des Taktsignals für einen Rest des Zeitraums, falls die Unterbrechungs-Operation vor Ablauf des Zeitraums endet.
  20. Integrierte Schaltung nach Anspruch 18, wobei der Prozessor konfiguriert ist zum Durchführen von paralleler Verarbeitung durch eine Leitung; und der Prozessor konfiguriert ist zum Fortführen der parallelen Verarbeitung durch eine Leitung, ohne dass die eine Leitung nach dem Zeitraum erneut gefüllt wird.
DE102016214334.4A 2015-08-06 2016-08-03 Taktmanagementeinheit, integrierte schaltung, die die taktmanagementeinheit umfasst, ein-chip-system, und verfahren zum betreiben des ein-chip-systems Pending DE102016214334A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2015-0111210 2015-08-06
KR1020150111210A KR102476357B1 (ko) 2015-08-06 2015-08-06 클럭 관리 유닛과 이를 적용하는 집적 회로 및 시스템 온 칩 및 그 동작 방법
US15/185,505 2016-06-17
US15/185,505 US10983551B2 (en) 2015-08-06 2016-06-17 Clock management unit, integrated circuit including the clock management unit, system on chip, and method of operating the system on chip

Publications (1)

Publication Number Publication Date
DE102016214334A1 true DE102016214334A1 (de) 2017-02-09

Family

ID=57853986

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016214334.4A Pending DE102016214334A1 (de) 2015-08-06 2016-08-03 Taktmanagementeinheit, integrierte schaltung, die die taktmanagementeinheit umfasst, ein-chip-system, und verfahren zum betreiben des ein-chip-systems

Country Status (1)

Country Link
DE (1) DE102016214334A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150111210A (ko) 2014-03-25 2015-10-05 백준호 홈헬스케어 캐러반 및 그것의 맞춤형 건강관리 컨텐츠 제공 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150111210A (ko) 2014-03-25 2015-10-05 백준호 홈헬스케어 캐러반 및 그것의 맞춤형 건강관리 컨텐츠 제공 방법

Similar Documents

Publication Publication Date Title
DE102020120019A1 (de) Proaktive di/dt-spannungs-dachabfall-abschwächung
DE68927907T2 (de) Einchipmikrorechner
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE102013110340A1 (de) Ein-Chip-System mit der Fähigkeit zum Steuern einer Leistungsversorgung gemäß einer Datentransaktion und Verfahren zum Betreiben desselben
DE19882418B4 (de) System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren
DE102012212441B4 (de) Verfahren zum Eintreten in und Verlassen eines Schlafmodus in einer Graphikverarbeitungseinheit
DE60132633T2 (de) Digitale signalprozessorvorrichtung
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE112007001987T5 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE102015102684A1 (de) Dynamische leistungssversorgungseinheit- schienenumschaltung
DE102013110086A1 (de) Embedded Multimedia Card (eMMC), einen Host steuernde eMMC und Verfahren zum Betreiben eineseMMC-Systems
DE102006048319A1 (de) Multichip-Halbleiterspeicherelement
DE102014003671A1 (de) Prozessoren, verfahren und systeme zum entspannen der synchronisation von zugriffen auf einen gemeinsam genutzten speicher
DE102016006402A1 (de) Persistente commit-prozessoren, verfahren, systeme und befehle
DE102014003704A1 (de) Plattform-agnostisches Powermanagement
DE69705961T2 (de) Asynchrone datenverarbeitungsvorrichtung
DE112011103210T5 (de) Ein auf der Klasse und dem Inhalt von Instruktionen basierendes Energiemanagement für einen Prozessor
DE112018005507T5 (de) Mehrkriterien-energiemanagementschema für gepoolte beschleunigerarchitekturen
DE102012215439A1 (de) Verfahren für Energie-optimierte Mehrprozessor-Synchronisation
DE112006003632T5 (de) Dynamische selbstzerfallende Bauteilarchitektur
DE102016116158A1 (de) Verfahren zum Betreiben einer CPU und Verfahren zum Betreiben eines Systems, welches die CPU aufweist
DE112015004405B4 (de) Nichtflüchtiges speichermodul
DE112021004758T5 (de) Dsb-operation mit ausgeschlossenem bereich
DE102014002370A1 (de) Anzeigen eines kritischen batteriestatus in mobilen einrichtungen
DE102016214334A1 (de) Taktmanagementeinheit, integrierte schaltung, die die taktmanagementeinheit umfasst, ein-chip-system, und verfahren zum betreiben des ein-chip-systems

Legal Events

Date Code Title Description
R012 Request for examination validly filed