DE102016109387A1 - Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems - Google Patents

Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems Download PDF

Info

Publication number
DE102016109387A1
DE102016109387A1 DE102016109387.4A DE102016109387A DE102016109387A1 DE 102016109387 A1 DE102016109387 A1 DE 102016109387A1 DE 102016109387 A DE102016109387 A DE 102016109387A DE 102016109387 A1 DE102016109387 A1 DE 102016109387A1
Authority
DE
Germany
Prior art keywords
clock
controller
slave
master
clock controller
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
DE102016109387.4A
Other languages
English (en)
Inventor
Ho-Yeon JEON
Jae-gon Lee
Youn-Sik CHOI
Min-Joung Lee
Jin-Ook Song
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 KR1020150073091A external-priority patent/KR102384347B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102016109387A1 publication Critical patent/DE102016109387A1/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/10Distribution of clock signals, e.g. skew
    • 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
    • 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/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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)
  • Information Transfer Systems (AREA)

Abstract

In einer Ausführungsform weist die Taktverwaltungsschaltung einen ersten Master-Takt-Controller (121; 211; 311; 411; 511; 611) auf, welcher konfiguriert ist, um einen ersten Befehl für einen ersten Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) über einen ersten Kanal basierend auf einer empfangenen ersten Taktanforderung vorzusehen. Die Taktverwaltungsschaltung weist ebenso den ersten Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) auf, welcher konfiguriert ist, um eine Ausgabe eines ersten Taktsignals basierend auf dem ersten Befehl zu steuern.

Description

  • QUERVERWEIS AUF EINE VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der koreanischen Patentanmeldung Nr. 10-2015-0073091 , welche am 26. Mai 2015 beim Koreanischen Art für Gewerblichen Rechtschutz (Korean Intellectual Property Office) eingereicht wurde und deren Offenbarung hierin in ihrer Gesamtheit durch Bezugnahme mit einbezogen ist.
  • HINTERGRUND
  • Die erfinderischen Konzepte beziehen sich auf ein Ein-Chip-System (SoC = System on Chip = Ein-Chip-System) und genauer auf ein SoC, welches eine Taktverwaltungseinheit aufweist und/oder ein Verfahren zum Betreiben des SoC.
  • Ein Ein-Chip-System (SoC) ist eine Halbleitertechnologie zum Integrieren komplizierter multifunktionaler Systeme in einem einzelnen Chip. Geistiges Eigentum bzw. Intellectual Properties (hierin nachstehend IPs), welche in dem SoC vorgesehen sind, können entworfen sein, um effektiv miteinander über einen Systembus verbunden zu sein.
  • Betreffend das SoC kann ein Taktsignal für verschiedene funktionale Blöcke einschließlich der IPs vorgesehen sein, und die Ausgabe des Taktsignals kann gemäß einer Gating-Operation basierend auf einem Betriebszustand des SoC gesteuert werden. Beispielsweise kann ein, Verbindungssystem (interconnect system) gebildet sein, um verschiedene funktionale Blöcke (beispielsweise einen IP, eine asynchrone Brücke, einen Multiplexer etc.) aufzuweisen. Das SoC kann eine Taktverwaltungseinheit aufweisen, welche ein Taktsignal, welches für das Verbindungssystem vorgesehen ist, verwaltet. Da das Taktsignal sich auf die Gesamtleistungsfähigkeit des Verbindungssystems einschließlich der Geschwindigkeit und der Leistungsaufnahme des SoC bezieht, benötigt die Verwaltung des Taktsignals ein effizientes Clock-Gating.
  • KURZFASSUNG
  • Wenigstens eine Ausführungsform bezieht sich auf eine Taktverwaltungsschaltung.
  • In einer Ausführungsform weist die Taktverwaltungsschaltung einen ersten Master-Takt-Controller auf, welcher konfiguriert ist, um einen ersten Befehl für einen ersten Slave-Takt-Controller über einen ersten Kanal basierend auf einer empfangenen ersten Taktanforderung vorzusehen. Die Taktverwaltungsschaltung weist ebenso den ersten Slave-Takt-Controller auf, welcher konfiguriert ist, um eine Ausgabe eines ersten Taktsignals basierend auf dem ersten Befehl zu steuern.
  • Wenigstens eine Ausführungsform bezieht sich auf ein Ein-Chip-System.
  • In einer Ausführungsform weist das Ein-Chip-System wenigstens eine erste und eine zweite Hardware-Komponente auf und eine Taktverwaltungsschaltung, welche konfiguriert ist, um eine Zuführung von einem ersten und einem zweiten Takt zu den ersten und zweiten Hardware-Komponenten jeweils zu steuern. Die Taktverwaltungsschaltung weist einen ersten Slave-Takt-Controller und einen ersten Master-Takt-Controller auf. Der erste Master-Takt-Controller ist konfiguriert, um den Betrieb des ersten Slave-Takt-Controllers zu steuern, und ist konfiguriert, um die Zuführung des ersten Takts zu steuern. Der erste Slave-Takt-Controller ist konfiguriert, um ein Zuführen des zweiten Takts zu steuern.
  • Wenigstens eine Ausführungsform bezieht sich auf ein Verfahren zur Taktverwaltung.
  • In einer Ausführungsform weist das Verfahren ein Empfangen einer Taktanforderung auf; ein Zuführen eines ersten Befehls zu einem ersten Slave-Takt-Controller über einen ersten Kanal basierend auf einer empfangenen ersten Taktanforderung, wobei der erste Slave-Takt-Controller konfiguriert ist, um eine Ausgabe eines ersten Takts basierend auf dem ersten Befehl zu steuern; ein Empfangen einer Bestätigung von dem ersten Slave-Takt-Controller, wobei die Bestätigung eine Ausgabe des ersten Takts anzeigt; und ein Zuführen eines zweiten Takts basierend auf der Bestätigung.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Beispielhafte Ausführungsformen der erfinderischen Konzepte werden deutlicher aus der folgenden detaillierten Beschreibung zusammengenommen mit den beigefügten Zeichnungen verstanden werden, in welchen:
  • 1 ein Blockschaltbild eines Ein-Chip-Systems (SoC = System on Chip = Ein-Chip-System) gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 2 ein Blockschaltbild einer Taktverwaltungseinheit der 1 ist;
  • 3A und 3B Blockschaltbilder eines SoC gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte sind;
  • 4 ein Blockschaltbild eines Master-Takt-Controllers und eines Slave-Takt-Controllers der 3 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 5 ein Kurvenverlaufsdiagramm zum Beschreiben eines Betriebs einer Taktverwaltungseinheit der 4 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 6 ein Kurvenverlaufsdiagramm von Taktsignalen ist, welche von einer Taktverwaltungseinheit der 3 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte ausgegeben werden;
  • 7 ein Blockschaltbild zum Beschreiben von Signalen ist, welche durch eine Taktverwaltungseinheit gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte verwendet werden;
  • 8 ein Blockschaltbild eines SoC gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 9A ein Blockschaltbild eines SoC gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 9B ein Beispiel des zweiten IP veranschaulicht;
  • 10 ein Blockschaltbild eines SoC gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 11 ein Flussdiagramm eines Verfahrens zum Betreiben eines SoC gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 12 ein Flussdiagramm eines Verfahrens zum Betreiben eines SoC gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 13 ein Blockschaltbild eines SoC gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 14 ein Blockschaltbild eines SoC gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 15 ein Blockschaltbild eines SoC gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 16 ein Blockschaltbild eines SoC gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte ist;
  • 17 ein Blockschaltbild eines Halbleitersystems ist, welches ein SoC gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte aufweist; und
  • 18 ein Blockschaltbild eines Halbleitersystems ist, welches ein SoC gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte aufweist.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Detaillierte beispielhafte Ausführungsformen der erfinderischen Konzepte sind hierin offenbart. Spezifische strukturelle und funktionale Details jedoch, welche hierin offenbart werden, sind lediglich repräsentativ für Zwecke des Beschreiben beispielhafter Ausführungsformen der erfinderischen Konzepte. Beispielhafte Ausführungsformen der erfinderischen Konzepte können jedoch in vielen unterschiedlichen Formen ausgeführt sein und sollten nicht als auf nur die Ausführungsformen, welche hierin erläutert sind, beschränkt betrachtet werden.
  • Demzufolge sind, während beispielhafte Ausführungsformen der erfinderischen Konzepte in der Lage zu verschiedenen Modifikationen und alternativen Formen sind, Ausführungsformen davon beispielhaft in den Zeichnungen gezeigt und werden hierin im Detail beschrieben werden. Es sollte jedoch verstanden werden, dass es keine Absicht gibt, beispielhafte Ausführungsformen der erfinderischen Konzepte auf die bestimmten Formen, welche offenbart sind, zu beschränken, jedoch im Gegenteil beispielhafte Ausführungsformen der erfinderischen Konzepte alle Modifikationen, Äquivalente und Alternativen, welcher innerhalb des Umfangs von beispielhaften Ausführungsformen der erfinderischen Konzepte fallen, umfassen sollen. Gleiche Bezugszeichen beziehen sich auf gleiche Elemente über die Beschreibung der Figuren hinweg.
  • Es wird verstanden werden, dass die Begriffe erster/erste/erstes, zweiter/zweite/zweites etc. hierin verwendet werden können, um verschiedene Elemente zu beschreiben, diese Elemente nicht durch diese Begriffe beschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erstes Element als ein zweites Element benannt werden und ähnlich könnte ein zweites Element als ein erstes Element benannt werden, ohne von dem Umfang von beispielhaften Ausführungsformen der erfinderischen Konzepte abzuweichen. Wenn hierin verwendet, umfasst der Begriff „und/oder” eine beliebige und alle Kombinationen von einem oder mehreren der zugeordneten aufgelisteten Gegenstände.
  • Es wird verstanden werden, dass wenn auf ein Element Bezug genommen wird als „verbunden” oder „gekoppelt” mit einem anderen Element, es direkt mit dem anderen Element verbunden oder gekoppelt sein kann oder zwischenliegende Elemente gegenwärtig sein können. Im Gegensatz dazu sind, wenn auf ein Element Bezug genommen wird als „direkt verbunden” oder „direkt gekoppelt” mit einem anderen Element, keine zwischenliegenden Elemente gegenwärtig. Andere Worte, welche verwendet werden, um die Beziehung zwischen Elementen zu beschreiben, sollten in einer ähnlichen Art und Weise interpretiert werden (beispielsweise „zwischen” gegenüber „direkt zwischen”, „benachbart” gegenüber „direkt benachbart”, etc.).
  • Die Terminologie, welche hierin verwendet wird, ist für den Zweck des Beschreiben bestimmter Ausführungsformen ausschließlich und ist nicht vorgesehen, um für beispielhafte Ausführungsformen der erfinderischen Konzepte beschränkend zu sein. Wenn hierin verwendet, sind die Singularformen „einer/eine/eines” und „der/die/das” vorgesehen, um die Pluralformen ebenso zu umfassen, solange der Zusammenhang nicht deutlich Anderweitiges anzeigt. Es wird ferner verstanden werden, dass die Begriff „weist auf”, „aufweisend”, „enthält” und/oder „enthalten”, wenn sie hierin verwendet werden, die Anwesenheit von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, jedoch die Anwesenheit oder Hinzufügung von einem oder mehreren Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon nicht ausschließen.
  • Es soll ebenso angemerkt werden, dass in einigen alternativen Implementierungen die Funktionen/Tätigkeiten, welche benannt werden, außerhalb der Reihenfolge, welche in den Figuren bezeichnet ist, auftreten können. Beispielsweise können zwei Figuren, welche nacheinanderfolgend gezeigt sind, in der Tat im Wesentlichen gleichzeitig ausgeführt werden oder können manchmal in der umgekehrten Reihenfolge ausgeführt werden, abhängig von der Funktionalität/den Tätigkeiten, welche involviert sind.
  • Beispielhafte Ausführungsformen der erfinderischen Konzepte sind hierin unter Bezugnahme auf schematische Veranschaulichungen von idealisierten Ausführungsformen (und Zwischenstrukturen) der erfinderischen Konzepte beschrieben. Als solches sind Variationen von den Formen der Veranschaulichungen als ein Ergebnis beispielsweise von Herstellungstechniken und/oder Toleranzen zu erwarten. Demnach sollten beispielhafte Ausführungsformen der erfinderischen Konzepte nicht als auf die bestimmten Formen von Bereichen beschränkt betrachtet werden, welche hierin veranschaulicht sind, sondern sie müssen Abweichungen in den Formen, welche beispielsweise aus einer Herstellung resultieren, aufweisen.
  • 1 ist ein Blockschaltbild eines Ein-Chip-System (SoC = System on Chip = Ein-Chip-System) 100 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte.
  • Bezug nehmend auf 1 kann das SoC 100 gemäß der beispielhaften Ausführungsform der erfinderischen Konzepte ein oder mehrere Verbindungssysteme 110 und eine Taktverwaltungsvorrichtung 120, welche konfiguriert ist, um ein Taktsignal CLK, welches für das eine oder die mehreren Verbindungssysteme 10 vorgesehen ist, zu verwalten, aufweisen. Die Taktverwaltungsvorrichtung 120 kann als eine Einheit definiert sein. Demzufolge kann auf die Taktverwaltungsvorrichtung 120 Bezug genommen werden als eine Taktverwaltungseinheit (CMU = Clock Management Unit = Taktverwaltungseinheit) 120. Das SoC 100 kann verschiedene Funktionen in einem Halbleitersystem durchführen. Beispielsweise kann das SoC 100 ein Anwendungsprozessor sein.
  • Jedes der Verbindungssystem 110 kann verschiedene funktionale Blöcke aufweisen. Beispielsweise kann das Verbindungssystem 110 verschiedene funktionale Blöcke für eine Datenkommunikation, welche in dem SoC 100 durchgeführt wird, aufweisen. Das Verbindungssystem 110 kann einen Master-Intellectual Property (IP) und/oder einen Slave-IP aufweisen. Zusätzlich kann das Verbindungssystem 110 verschiedene funktionelle Blöcke wie beispielsweise einen Multiplexer und eine asynchrone Brücke für eine Datenkommunikation zwischen den IPs aufweisen. Das SoC kann in einem einzelnen Chip hergestellt werden und kann als ein Gehäuse implementiert sein.
  • Zusätzlich kann das Verbindungssystem 110 gemäß der beispielhaften Ausführungsform der erfinderischen Konzepte ferner andere verschiedene funktionale Blöcke aufweisen. Beispielsweise kann das Verbindungssystem 110 wenigstens einen Teil eines Systembusses aufweisen. Ferner kann, wenn das SoC 100 eine hierarchische Busstruktur hat, das Verbindungssystem 110 wenigstens einen Teil eines lokalen Datenbusses aufweisen. Gemäß einigen beispielhaften Ausführungsformen können jeder des Systembusses und des lokalen Datenbusses als ein funktionaler Block definiert sein.
  • Das SoC 100 kann verschiedene Typen von IPs aufweisen. Beispiele der IPs können eine Verarbeitungseinheit oder einen Prozessor, eine Mehrzahl von Kernen, welche in der Verarbeitungseinheit enthalten sind, einen Multiformat-Codec (MFC = Multi-Format Codec), ein Videomodul (beispielsweise eine Kameraschnittstelle), einen Joint Photographic Experts Group(JPEG)-Prozessor, einen Videoprozessor, einen Mischer, einen 3D-Graphikkern, ein Audiosystem, einen Treiber, einen Anzeigetreiber, eine flüchtige Speichervorrichtung, eine nichtflüchtige Speichervorrichtung, einen Speichercontroller, einen Eingabe- und Ausgabe-Schnittstellenblock und einen Cache-Speicher aufweisen.
  • Die IPs können in Master-IPs und Slave-IPs klassifiziert werden. Ein Master-IP ist in der Lage, direkt eine Datenkommunikation von einem Slave-IP anzufordern, der Slave-IP jedoch kann eine Datenkommunikation basierend auf einer Steuerung der Verarbeitungseinheit durchführen. Beispielsweise können einige IPs sowohl eine Master-Funktion als auch eine Slave-Funktion haben. Gemäß einigen beispielhaften Ausführungsformen kann das Verbindungssystem 110 einen oder mehrere Master-IPs aufweisen oder kann einen oder mehrere Slave-IPs aufweisen. Alternativ kann das Verbindungssystem 110 sowohl den Master-IP und den Slave-IP aufweisen.
  • 1 veranschaulicht einen Fall, in dem das Verbindungssystem 110 keinen Systembus aufweist, einen Fall, in dem das Verbindungssystem 110 einen Teil des Systembusses aufweist, und einen Fall, in dem das Verbindungssystem 110 einen funktionalen Block zum Vorsehen von Daten über den Systembus und einen funktionalen Block zum Empfangen von Daten über den Systembus aufweist. Wie jedoch obenstehend beschrieben ist, kann das Verbindungssystem 110 gemäß der beispielhaften Ausführungsform der erfinderischen Konzepte verschiedentlich definiert sein.
  • Die CMU 120 kann das Taktsignal CLK für das Verbindungssystem 110 vorsehen. Ein Beispiel, in welchem eine CMU 120 entsprechend zu einem Verbindungssystem 110 angeordnet ist, ist in 1 veranschaulicht, die beispielhafte Ausführungsform der erfinderischen Konzepte ist jedoch nicht notwendigerweise darauf beschränkt. Beispielsweise kann die CMU 120 das Taktsignal CLK für einige funktionale Blöcke des Verwendungssystems 110 vorsehen, oder kann das Taktsignal CLK für zwei oder mehr Verbindungssysteme 110 vorsehen. Zusätzlich wird das Taktsignal, welches für jedes der Verbindungssysteme 110 vorgesehen ist, durch dasselbe Bezugssymbol angezeigt, jede der CMUs 120 jedoch kann Taktsignale CLK vorsehen, welche unterschiedliche Signalcharakteristiken haben.
  • Betreffend die Verbindungstechnologien wird ein Verbindungsverfahren basierend auf einem Systembus weit verbreitet verwendet. Beispielsweise kann ein Advanced Microcontroller Bus Architecture(AMBA)-Protokoll der Advanced RISC-Machine (ARM) verwendet werden. Bustypen des AMBA-Protokolls können Advanced High-Performance Bus (AHP), Advanced Peripheral Bus (APB), Advanced eXtensible Interface (AXI), AXI4 und AXI Coherency Extensions (ACE) aufweisen. Von den obenstehend beschriebenen Bustypen ist das AXI ein Schnittstellenprotokoll zwischen IPs und sieht mehrere bedeutende Adressfunktionen und eine Daten-Interleaving-Funktion vor. Zusätzlich können auch andere Typen von Protokollen wie beispielsweise uNetwork von SONICs Inc. oder CoreConnect von IBM, Open Core Protocol von OCP-IP für den Systembus verwendet werden.
  • Jede der CMUs 120 kann ein oder mehrere Taktsignale CLK erzeugen. Gemäß einer beispielhaften Ausführungsform kann, wenn das Taktsignal CLK für jeden von n funktionalen Blöcken, welche in dem Verbindungssystem 110 enthalten sind, vorgesehen ist, die CMU 120 n Taktsignale CLK erzeugen und die n Taktsignale für das Verbindungssystem 110 vorsehen. Die n Taktsignale CLK können unterschiedliche Signalcharakteristiken haben.
  • Zusätzlich kann die CMU 120 als Hardware unter Berücksichtigung der Konfiguration des Verbindungssystems 110 implementiert werden. Beispielsweise kann die interne Konfiguration der CMU 120 entworfen sein unter Berücksichtigung der Master-Slave-Konfiguration des Verbindungssystems 110. Die CMU 120 kann einen Master-Takt-Controller (nicht veranschaulicht) und einen Slave-Takt-Controller (nicht veranschaulicht) aufweisen, und kann ein Taktsignal CLK, welches für das Verbindungssystem 110 vorgesehen ist, durch eine sequentielle Operationssteuerung erzeugen.
  • Gemäß einer beispielhaften Ausführungsform kann der Master-Takt-Controller eine Taktanforderung von dem IP über Hardware empfangen oder kann eine Taktanforderung über Software von einer Verarbeitungseinheit oder einem Prozessor (nicht veranschaulicht), welcher/welche in dem SoC 1000 enthalten ist, empfangen. Der Master-Takt-Controller kann einen oder mehrere Slave-Takt-Controller in Antwort auf die Taktanforderung steuern. Das Taktsignal CLK, welches durch den Master-Takt-Controller und/oder den Slave-Takt-Controller erzeugt wird, kann für das Verbindungssystem 110 vorgesehen sein.
  • Gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte ist die CMU 120 basierend auf der Konfiguration des Verbindungssystems 110 implementiert und das Taktsignal wird über Hardware verwaltet. Demnach ist es, verglichen zu einer softwarebasierten Verwaltung möglich, die Wahrscheinlichkeit des Auftretens eines Fehlers zu verringern. Zusätzlich ist es, verglichen mit einem Fall, in dem das Taktsignal durch ein Software-Kodierverfahren an- und abgeschaltet wird, möglich, das Taktsignal angemessen zu einem erwünschten Zeitpunkt an- und abzuschalten, wodurch eine Verringerung in der Latenz erreicht wird. Zusätzlich kann die Leistungsaufnahme durch ein Vereinfachen einer Struktur einer Gate-Einheit, welche das Taktsignal erzeugt, verringert werden.
  • Ferner kann, da ein Betriebssystem (OS = Operating System = Betriebssystem) und eine Firmware zum Treiben des SoC 100 keine komplizierten Routinen zum An- und Abschalten des Taktsignals hinsichtlich einer Mehrzahl von funktionalen Blöcken haben muss, die Anzahl von Software-Codes und ebenso die Last der CPU dementsprechend verringert werden.
  • 2 ist ein Blockschaltbild der CMU 120 der 1.
  • Bezug nehmend auf 2 kann die CMU 120 einen Master-Takt-Controller 121 und n Slave-Takt-Controller 122_1 bis 122_n haben. Der Master-Takt-Controller 121 und jeder der n Slave-Takt-Controller 122_1 bis 122_n können miteinander über ein oder mehrere Kanäle für eine Kommunikation miteinander verbunden sein. Beispielsweise kann der Master-Takt-Controller 121 mit dem ersten Slave-Takt-Controller 122_1 durch einen ersten Kanal CH verbunden sein, kann mit dem zweiten Slave-Takt-Controller 122_2 durch einen zweiten Kanal CH2 verbunden sein, und kann mit dem n-ten Slave-Takt-Controller 122_n durch einen n-ten Kanal CHn verbunden sein. Der Master-Takt-Controller 121 und jeder der n Slave-Takt-Controller 122_1 bis 122_n können miteinander basiert auf einem Voll-Handshake-Verfahren miteinander kommunizieren.
  • Wenn die Kommunikation zwischen dem Master-Takt-Controller 121 und dem Slave-Takt-Controller 122_1 bis 122_n basierend auf dem Voll-Handshake-Verfahren durchgeführt wird, kann jeder der Kanäle CH1 bis CHn interne Kanäle zum Übertragen verschiedener Typen von Signalen aufweisen. Beispielsweise kann der erste Kanal CH1 einen Befehlsübertragungskanal und einen Antwortübertragungskanal aufweisen. Gemäß einer beispielhaften Ausführungsform kann der erste Kanal CH1 mit einer Kombinationslogikzelle implementiert sein, wodurch die Latenz minimiert wird. Der zweite bis n-te Kanal CH2 bis CHn kann ebenso in einer identischen oder ähnlichen Art und Weise zu dem ersten Kanal CH1 implementiert sein.
  • Gemäß einer beispielhaften Ausführungsform kann das Voll-Handshake-Verfahren eine Q-Kanalschnittstellen- oder P-Kanalschnittstellen-Spezifikation von ARM aufweisen. Zusätzlich kann das Voll-Handshake-Verfahren durch verschiedene Schnittstellenverfahren durchgerührt werden. Beispielsweise kann ein asynchroner Kommunikationskanal wie beispielsweise LPI verwendet werden.
  • Der Master-Takt-Controller 121 kann die Slave-Takt-Controller 122_1 bis 122_n in Antwort auf eine Taktanforderung Req steuern. Der Master-Takt-Controller 121 kann einen Takt-An/-Aus-Befehl CLK An/Aus für die Slave-Takt-Controller 122_1 bis 122_n in Antwort auf die Taktanforderung Req vorsehen. Jeder der Slave-Takt-Controller 122_1 bis 122_n kann ein Clock-Gating in Antwort auf den Takt-An/-Aus-Befehl CLK An/Aus durchführen und eine Taktbestätigung ACK An/Aus für den Master-Takt-Controller 121 vorsehen. Wenn die Taktanforderung Req, welche für den Master-Takt-Controller 121 vorgesehen ist, eine Anforderung ist, einen entsprechenden funktionalen Block mit einem Taktsignal CLK1 vorzusehen, sieht der Master-Takt-Controller 121 die Slave-Takt-Controller 122_1 bis 122_n mit dem Takt-An-Befehl CLK An vor, und die Slave-Takt-Controller 122_1 bis 122_n können den Master-Takt-Controller 121 mit der Taktbestätigung ACK AN vorsehen, welche anzeigt, dass Taktsignale CLK2_1 bis CLK2_n ausgegeben wurden.
  • Beispielsweise kann der Master-Takt-Controller 121 den ersten Slave-Takt-Controller 122_1 mit dem Takt-An/Aus-Befehl CLK An/Aus in Antwort auf die Taktanforderung Req vorsehen. Der erste Slave-Takt-Controller 122_1 kann das Clock-Gating in Antwort auf den Takt-An/-Aus-Befehl CLK An/Aus durchführen und den Master-Takt-Controller 121 mit der Taktbestätigung ACK An/Aus, welche anzeigt, dass das Clock-Gating vollendet ist, vorsehen.
  • Wenn der Master-Takt-Controller 121 die Taktbestätigung ACK An/Aus von dem ersten Slave-Takt-Controller 122_1 empfängt, kann der Master-Takt-Controller 121 den zweiten Slave-Takt-Controller 122_2 mit dem Takt-An/-Aus-Befehl CLK An/Aus vorsehen. Der zweite Slave-Takt-Controller 122_2 kann das Clock-Gating in Antwort auf den Takt-An/Aus-Befehl CLK An/Aus durchführen und den Master-Takt-Controller 121 mit der Taktbestätigung ACK An/Aus vorsehen.
  • Ähnlich kann der Master-Takt-Controller 121 die anderen Slave-Takt-Controller 122_3 bis 122_n mit dem Takt-An/Aus-Befehl CLK An/Aus vorsehen. Zusätzlich kann der Master-Takt-Controller 121 nacheinanderfolgend die Taktbestätigung ACK An/Aus von den anderen Slave-Takt-Controllern 122_3 bis 122_n empfangen.
  • Gemäß einer beispielhaften Ausführungsform kann die Reihenfolge, in welcher die Slave-Takt-Controller 122_1 bis 122_n die Taktsignale CLK2_1 bis CLK2_n ausgeben, verschiedentlich eingestellt werden. Beispielsweise kann, nachdem der n-te Slave-Takt-Controller 122_n das Taktsignal CLK2_n ausgibt, der erste Slave-Takt-Controller 122_1 das Taktsignal CLK2_1 ausgeben. Alternativ kann, nachdem einige der Slave-Takt-Controller 122_1 bis 122_n die Taktsignale ausgeben, der Master-Takt-Controller 121 das Taktsignal CLK1 ausgeben. Nachdem alle der Slave-Takt-Controller 122_1 bis 122_n jeweils die Taktsignale CLK2_1 bis CLK2_n ausgeben, kann der Master-Takt-Controller 121 das Taktsignal CLK1 ausgeben.
  • Der Master-Takt-Controller 121 kann das Taktsignal CLK1 zu verschiedenen Zeitpunkten aktivieren oder deaktivieren. Wenn die Taktanforderung Req eine Anforderung ist, um das Taktsignal CLK1 für einen funktionalen Block vorzusehen, kann der Master-Takt-Controller 121 das Taktsignal CLK1 nach einem Empfangen der Taktbestätigung ACK An/Aus von den Slave-Takt-Controllern 122_1 bis 122_n ausgeben. Auf diese Art und Weise kann der funktionale Block (beispielsweise der Master-IP), welcher eine Datenkommunikation durchführen muss, das Taktsignal CLK1 empfangen, nachdem das Verbindungssystem die Takteinstellung hinsichtlich aller der funktionalen Blöcke vollendet.
  • Zusätzlich kann, wenn die Taktanforderung Req eine Anforderung ist, das Vorsehen des Taktsignals CLK1 für den funktionalen Block zu blockieren, der Master-Takt-Controller 121 den Takt-An-/Aus-Befehl CLK An/Aus nach dem Blockieren der Ausgabe des Taktsignals CLK1 vorsehen. In dieser Art und Weise werden, nachdem das Taktsignal CLK1 für den funktionalen Block (beispielsweise den Master-IP), welcher die Datenkommunikation vollendet hat, deaktiviert ist, die Taktsignale CLK2_1 bis CLK2_n für die anderen funktionalen Blöcke deaktiviert. Die Reihenfolge des Deaktivierens der Taktsignale CLK2_1 bis CLK2_n für die anderen funktionalen Blöcke kann verschiedentlich eingestellt werden.
  • Andererseits kann jeder der Takt-Controller, welche in der CMU 120 enthalten sind, verschiedene Funktionen bezogen auf die Taktverarbeitung aufweisen. Beispielsweise kann jeder der Takt-Controller verschiedene Typen von Schaltungen aufweisen, welche konfiguriert sind, um einen Quelltakt zu empfangen und den empfangenen Quelltakt zu verarbeiten, um Arbeitstakte zu erzeugen, welche in den funktionalen Blöcken verwendet werden. Gemäß einer beispielhaften Ausführungsform kann jeder der Takt-Controller wenigstens eines aufweisen ausgewählt unter einem Oszillator, einem Phasenregelkreis, einem Multiplexer, einem Dividierer und einem Gate. Alternativ kann jeder der Takt-Controller eine Einheit aufweisen, welche konfiguriert ist, um andere Signaltypen zu verarbeiten. Die Auswahlen und Variationen, welche obenstehend beschrieben sind, sind eine Maßnahme einer Designauswahl.
  • Zur Zweckmäßigkeit der Beschreibung werden die Taktsignale, welche von dem Master-Takt-Controller und dem Slave-Takt-Controller ausgegeben werden, mit demselben Referenzsymbol CLK bezeichnet, die Charakteristiken der Taktsignale können jedoch verschiedentlich geändert werden, wie obenstehend beschrieben ist.
  • Die 3A und 3B sind Blockschaltbilder eines SoC 200 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte. Wie in 3A veranschaulicht ist, kann das SoC 200 eine CMU 210 und verschiedene funktionale Blöcke oder Hardwarekomponenten aufweisen. In 3A sind ein erster und ein zweiter IP 221 und 222, eine asynchrone Brücke 230, ein Multiplexer 240 und ein Bus 250 als die funktionalen Blöcke oder Hardwarekomponenten veranschaulicht, welche Taktsignale CLK von der CMU 210 empfangen.
  • Die asynchrone Brücke 230 kann vorgesehen sein, um Daten zwischen funktionalen Blöcken auszutauschen, welche unterschiedliche Betriebsfrequenzen verwenden. Der Multiplexer 240 kann einen Bus unterstützen, welcher ausgewählt ist unter Bustypen basierend auf verschiedenen Protokollen. In 3A ist ein AXI-Multiplexer 240 als der Multiplexer 240 veranschaulicht. Der Bus 250 kann einem Systembus oder einem anderen Bus (beispielsweise einem lokalen Bus) entsprechen. Wenn der Bus 250 dem lokalen Bus entspricht, können Signale von dem ersten und dem zweiten IP 221 und 222 für einen Systembus (nicht veranschaulicht) durch den Bus 250 vorgesehen sein.
  • Wenigstens einige des ersten und zweiten IP 221 und 222, der asynchronen Brücke 230, des Multiplexers 240 und des Busses 250 können das oben beschriebene Verbindungssystem bilden. Zusätzlich kann die CMU 210 einen Master-Takt-Controller 211 und einen ersten bis dritten Slave-Takt-Controller 212 bis 214 aufweisen, um dem Verbindungssystem zu entsprechen. Ferner sind zur Zweckmäßigkeit der Beschreibung Gate-Einheiten, welche Clock-Gating durchführen, getrennt veranschaulicht, die Gate-Einheiten G können jedoch innerhalb der entsprechenden Takt-Controller vorgesehen sein. Andererseits können die Gate-Einheiten G verschiedentlich implementiert werden und können beispielsweise ein oder mehrere Logikvorrichtungen (nicht veranschaulicht) aufweisen. Gemäß einer beispielhaften Ausführungsform kann das Aktivieren oder Deaktivieren eines Taktsignals CLK basierend auf einer Signalverarbeitung unter Verwendung von Logikvorrichtungen wie beispielsweise einem Flip-Flop oder einem UND-Gate gesteuert werden.
  • 3A veranschaulicht ein Beispiel eines Falls, in welchem die CMU 210 nur einen Master-Takt-Controller 211 aufweist. In diesem Fall kann der Master-Takt-Controller 211 mit sowohl dem ersten als auch dem zweiten IP 221 und 222 verbunden sein. 3A veranschaulicht jedoch ein Beispiel, in welchem das Taktsignal CLK von dem Master-Takt-Controller 211 für den zweiten IP 222 vorgesehen ist. Gemäß einer anderen beispielhaften Ausführungsform kann, wie in 3B veranschaulicht ist, die CMU 210 zwei Master-Takt-Controller 211_1 und 211_2 aufweisen, welche jeweils dem ersten und dem zweiten IP 221 und 222 entsprechen. Zur Zweckmäßigkeit der Beschreibung ist ein Slave-Takt-Controller-Block SCC BLK, welcher eine Mehrzahl von Slave-Takt-Controllern aufweist, in 3B veranschaulicht. Jeder der Master-Takt-Controller 211_1 und 211_2 kann mit dem Slave-Takt-Controller-Block SCC BLK durch getrennte Kanäle kommunizieren.
  • Bezug nehmend wiederum auf 3A können die funktionalen Blöcke, welche in dem Verbindungssystem vorgesehen sind, in funktionale Master-Blöcke und funktionale Slave-Blöcke unterteilt werden. Von den funktionalen Blöcken, welche in dem Verbindungssystem vorgesehen sind, kann ein funktionaler Block (beispielsweise ein Master-IP und/oder ein Slave-IP), welcher Datenverkehr erzeugt, dem funktionalen Master-Block entsprechen. Die anderen funktionalen Blöcke stromabwärts in dem Datenverkehrsfluss können den funktionalen Slave-Blöcken entsprechen. Auf die Richtung des Datenflusses kann nämlich Bezug genommen werden als stromabwärts und auf die Richtung entgegengesetzt zu der Datenflussrichtung kann Bezug genommen werden als stromaufwärts.
  • Als ein anderes Beispiel kann ein funktionaler Block, in welchem Datenverkehr im Wesentlichen startet, dem funktionalen Master-Block entsprechen. In 3A ist die asynchrone Brücke 230 als der funktionale Slave-Block definiert. Datenverkehr jedoch kann in dem Vorgang des Vorsehen von Daten von dem zweiten IP 222 stromabwärts zu dem Multiplexer 240 gestartet werden. Demzufolge kann die asynchrone Brücke 230 als der funktionale Master-Block definiert werden. Zusätzlich können die funktionalen Blöcke, welche in dem Verbindungssystem vorgesehen sind, in funktionale Master-Blöcke und funktionale Slave-Blöcke gemäß verschiedenen Definitionsverfahren unterteilt werden.
  • Andererseits kann jeder einer Mehrzahl von Takt-Controllern, welche in der CMU 210 vorgesehen sind, entsprechend der Konfiguration des Verbindungssystems über Hardware entworfen sein. Beispielsweise können der Master-Takt-Controller und der Slave-Takt-Controller der CMU 210 entsprechend den funktionalen Blöcken des Verbindungssystems definiert sein. Beispielsweise kann, wie in den 3A oder 3B veranschaulicht ist, der Takt-Controller, welcher das Taktsignal CLK für die ersten und zweiten IPs 221 und 222 vorsieht, dem Master-Takt-Controller 211 entsprechen, und die anderen Takt-Controller können den Slave-Takt-Controllern 212, 213 und 214 entsprechen.
  • Wenn der Betriebstakt für den zweiten IP 222 vorgesehen ist, sieht, wenn die Taktanforderung (nicht gezeigt) für die CMU 210 vorgesehen ist (beispielsweise vorgesehen durch einen Host, CPU, etc.), der Master-Takt-Controller 211 den Takt-An/Aus-Befehl CLK An/Aus für den dritten Slave-Takt-Controller 214 vor. Der Takt-An/Aus-Befehl CLK An/Aus kann einen Takt über Informationen, welche die Ausgabe des Taktsignals CLK zu dem funktionalen Block anzeigen, aufweisen. Der dritte Slave-Takt-Controller 214 kann das Clock-Gating in Antwort auf den Takt-An/Aus-Befehl CLK An/Aus durchführen, den Bus 250 mit dem Taktsignal CLK vorsehen, und er sieht den Master-Takt-Controller 211 mit der Taktbestätigung ACK An/Aus vor, welche anzeigt, dass das Clock-Gating vollendet ist.
  • Ähnlich kann der Master-Takt-Controller 211 nacheinanderfolgend den zweiten Slave-Takt-Controller 213 mit den Takt-An/Aus-Befehl CLK An/Aus vorsehen, und der zweite Takt-Slave-Controller 213 kann den Multiplexer 240 mit dem Taktsignal CLK vorsehen. Zusätzlich kann der zweite Slave-Takt-Controller 213 den Master-Takt-Controller 211 mit der Taktbestätigung ACK An/Aus vorsehen.
  • Ferner kann der Master-Takt-Controller 211 nacheinanderfolgend den ersten Slave-Takt-Controller 212 mit dem Takt-An/Aus-Befehl CLK An/Aus vorgesehen, und der erste Slave-Takt-Controller 212 kann die asynchrone Brücke 230 mit dem Taktsignal CLK vorsehen. Darüber hinaus kann der erste Slave-Takt-Controller 212 den Master-Takt-Controller 211 mit der Taktbestätigung ACK An/Aus vorsehen.
  • Wenn der Master-Takt-Controller 211 die Taktbestätigung ACK An/Aus von allen der Slave-Takt-Controller 212 bis 214 empfängt, kann der Master-Takt-Controller 121 das Clock-Gating durch ein Steuern der Gate-Einheit G, welche in dem Master-Takt-Controller 211 vorgesehen ist, durchführen. Demzufolge kann das Taktsignal CLK für den zweiten IP 222 vorgesehen sein.
  • Gemäß der beispielhaften Ausführungsform kann der Master-Takt-Controller 211 mit den Slave-Takt-Controllern 212 bis 214 durch den Kanal basierend auf dem Handshake-Verfahren kommunizieren. Der Master-Takt-Controller 211 kann überprüfen, ob jeder der Slave-Takt-Controller 212 bis 214 das Taktsignal CLK normal ausgibt. Nachdem die Takteinstellung des Verbindungssystems vollendet ist, ist es möglich, das Taktsignal CLK für den zweiten IP 222 vorzusehen, wodurch die Betriebsstabilität des Verbindungssystems verbessert wird.
  • 4 ist ein Blockschaltbild des Master-Controllers 211 und eines Slave-Takt-Controllers 212 der 3 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte. Um den Betrieb der CMU 210 zu beschreiben, sind sowohl der funktionale Master-Block als auch der funktionale Slave-Block in 4 veranschaulicht. Ein funktionaler Master-Block und ein funktionaler Slave-Block sind in 4 veranschaulicht, in der Praxis jedoch können die Blöcke der 4 einer Mehrzahl von funktionalen Master-Blöcken und einer Mehrzahl von funktionalen Slave-Blöcken entsprechen.
  • Bezug nehmend auf die 3 und 4 können, da die CMU 210 einen oder mehrere Master-Takt-Controller 211 und einen oder mehrere Slave-Takt-Controller 212 bis 214 aufweist, ein Master-Takt-Controller-Block MCC_BLK und ein Slave-Takt-Controller-Block SCC_BLK definiert werden. Der Slave-Takt-Controller-Block SCC_BLK der 4 kann den ersten bis dritten Slave-Takt-Controller 212 bis 214 der 3 aufweisen. Beispielsweise kann ein Verwalter 212_1, welcher den Gesamtbetrieb des Slave-Takt-Controllers steuert, in nur einem der Slave-Takt-Controller enthalten sein. Der Verwalter 212_1 kann in jedem der Slave-Takt-Controller 212 bis 214 vorgesehen sein.
  • Der Master-Takt-Controller 211 kann einen Verwalter 211_1 aufweisen, welcher den Gesamtbetrieb der Taktverwaltung steuert. Zusätzlich kann der Master-Takt-Controller eine Taktquelle A aufweisen, welche eine oder mehrere Gate-Einheiten (CLK-Gate) und eine Takt-Steuereinheit (CLK Ctrl) für eine Gating-Steuerung aufweist. Ähnlich kann jeder der Slave-Takt-Controller 212 bis 214 Takt-Quellen B und C aufweisen, welche jeweils eine Gate-Einheit und eine Takt-Steuereinheit aufweisen. Die Clock-Gating-Einheit kann eine einfache Gate-Struktur sein, wie beispielsweise ein Gate, welches das Takt-Quellsignal und ein Aktivierungssignal von der Taktsteuereinheit empfängt. Die Taktsteuereinheit kann eine Hardwareschaltung sein, welche entworfen ist, um eine erwünschte Zustandsmaschine zu implementieren. Wie anerkannt werden wird, sind Hardwareschaltungen, welche Zustandsmaschinen implementieren wohlbekannt, und eine Angelegenheit der Entwurfsauswahl.
  • Wie obenstehend beschrieben ist, können verschiedene Funktionen bezogen auf eine Taktsignalverarbeitung in jeder der Taktquellen A, B und C enthalten sein. Gemäß einer beispielhaften Ausführungsform kann jede der Taktquellen A, B und C wenigstens eines ausgewählt unter einem Oszillator, einem Phasenregelkreis, einem Multiplexer, einem Dividierer und einem Gate aufweisen. Wie leicht anerkannt werden wird, sind Taktquellen wohlbekannt und die Struktur davon ist eine Angelegenheit der Entwurfsauswahl.
  • Andererseits kann jeder des funktionalen Master-Blocks und des funktionalen Slave-Blocks eine Schnittstelle (I/F = Interface = Schnittstelle) aufweisen, welche konfiguriert ist, um mit der CMU 210 zu kommunizieren. Gemäß einer anderen beispielhaften Ausführungsform kann der funktionale Slave-Block die Schnittstelle (I/F), welche konfiguriert ist, um mit der CMU 210 zu kommunizieren, nicht aufweisen. Um das Taktsignal CLK zu empfangen, kann der funktionale Master-Block die Taktanforderung zu dem Master-Takt-Controller 211 durch die Schnittstelle übertragen. Der Verwalter 211_1 des Master-Takt-Controllers 211 kann den Takt-An/Aus-Befehl CLK An/Aus für die Slave-Takt-Controller 212 bis 214 in Antwort auf die Taktanforderung vorsehen. Die Taktquellen B und C der Slave-Takt-Controller 212 bis 214 können die Taktsignale CLK aktivieren und die Takte CLK ausgeben, und Informationen (beispielsweise Taktbestätigung), welche die Ausgabe der Takte CLK bestätigen, können für den Verwalter 211_1 des Master-Takt-Controllers 211 vorgesehen werden.
  • Gemäß einer beispielhaften Ausführungsform kann jede der Taktquellen B und C der Slave-Takt-Controller 212 bis 214 den Verwalter 212_1 des Slave-Takt-Controller-Blocks SCC_BLK mit Informationen vorsehen, welche anzeigen, dass das Taktsignal CLK aktiviert wurde. Zusätzlich kann die Schnittstelle des funktionalen Slave-Blocks ferner eine Funktion des Kommunizierens mit dem Verwalter 211_1 des Master-Takt-Controllers 211 aufweisen.
  • 5 ist ein Kurvenverlaufsdiagramm zum Beschreiben des Betriebs der CMU 210 der 4 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte. Insbesondere veranschaulicht 5 ein Beispiel der Schnittstelle, welche zwischen dem zweiten IP 222 und der CMU 210 signalisiert, und der Schnittstelle, welche zwischen dem Master-Takt-Controller MCC und dem Slave-Takt-Controller SCC signalisiert.
  • Bezug nehmend auf 5 aktiviert (oder erzeugt), wenn die aktivierte Taktanforderung Req für den Master-Takt-Controller MCC vorgesehen ist, der Master-Takt-Controller MCC den Takt-An-Befehl CLK An und sieht den aktivierten Takt-An-Befehl CLK An für den Slave-Takt-Controller SCC vor. Der Slave-Takt-Controller SCC gibt das Taktsignal CLK aus, aktiviert die Taktbestätigung ACK_On (= ACK_An), welche die Ausgabe des Taktsignals CLK anzeigt und sieht die aktivierte Taktbestätigung ACK_On für den Master-Takt-Controller MCC vor. Der Master-Takt-Controller MCC aktiviert das Takt-Aktivierungssignal Act_clk zum Steuern der Gate-Einheit in Antwort auf die Taktbestätigung ACK_On und gibt das Taktsignal CLK zu dem zweiten IP 222 aus. Zusätzlich kann in Antwort auf das Takt-Anforderungssignal Req der Master-Takt-Controller MCC optional die Anforderungsantwort Res vorsehen, welche anzeigt, dass das Vorsehen des Taktsignals CLK vollendet ist. Diese Aktivierungssignale werden in derselben Art und Weise wie in 5 gezeigt, deaktiviert.
  • 6 ist ein Kurvenverlaufsdiagramm von Takt-Signalen, welche von der CMU 210 der 3 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte ausgegeben werden. Insbesondere ist 6 ein Kurvenverlaufsdiagramm für einen Fall, wenn das Taktsignal CLK für den zweiten IP 222 vorgesehen ist.
  • Bezug nehmend auf die 3 und 6 sieht der Master-Takt-Controller 211 nacheinanderfolgend den Takt-An/Aus-Befehl CLK An/Aus für die Slave-Takt-Controller 212 bis 214 vor. Als ein Beispiel ist, da der dritte Slave-Takt-Controller 214 zuerst das Clock-Gating durchführt, das Taktsignal CLK für den Bus 250 vorgesehen. Nachfolgend sieht der zweite Slave-Takt-Controller 213 das Taktsignal CLK für den Multiplexer 240 vor und der este Slave-Takt-Controller 212 sieht das Taktsignal CLK für die asynchrone Brücke 230 vor. Letztendlich sieht der Master-Takt-Controller 211 das Taktsignal CLK für den zweiten IP 222 vor.
  • Da die Taktcontroller der CMU 210 über Hardware gesteuert werden, kann die Verzögerung für die An/Aus-Bearbeitung des Taktsignals CLK und die Latenz zum Vorsehen des Taktsignals CLK für den zweiten IP 222 verringert werden.
  • Andererseits ist ein Beispiel, in welchem das Taktsignal CLK nacheinanderfolgend in der Reihenfolge von dem dritten Slave-Takt-Controller 214 zu dem ersten Slave-Takt-Controller 212 ausgegeben wird, in 6 veranschaulicht, die erfinderischen Konzepte sind jedoch nicht notwendigerweise darauf beschränkt. Die Reihenfolge, in welcher die Slave-Takt-Controller 212, 213 und 214 die Taktsignale CLK ausgegeben, kann verschiedentlich geändert werden. Nachdem alle der Slave-Takt-Controller 212, 213 und 214 die Taktsignale CLK ausgeben, kann der Master-Takt-Controller 211 das Taktsignal CLK ausgeben.
  • Als ein anderes Beispiel kann, wenn das Vorsehen des Taktsignals CLK für den zweiten IP 222 blockiert ist, der Master-Takt-Controller 211 zuerst das erste Taktsignal CLK in Antwort auf die Taktanforderung deaktivieren. Dann können die Slave-Takt-Controller 212, 213 und 214 das Taktsignal in einer beliebigen Reihenfolge deaktivieren.
  • Ferner können, während 6 und 3A zeigen, dass derselbe Takt CLK verschiedenen Komponenten zugeführt wird, in alternativen Ausführungsformen unterschiedliche Taktsignale unterschiedlichen Komponenten zugeführt werden.
  • 7 ist ein Blockschaltbild zum Beschreiben von Signalen, welche in einer CMU 210 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte verwendet werden.
  • Bezug nehmend auf 7 kann ein SoC 200 die CMU 210, eine zentrale Verarbeitungseinheit (CPU) 201 und ein Verbindungssystem 202 aufweisen. Zusätzlich kann das Verbindungssystem 202 wenigstens einige der funktionalen Blöcke, welche in 3 veranschaulicht sind, aufweisen. Die CMU 210 kann eine Taktanforderung Req von der CPU 201 über Software empfangen, eine Taktanforderung Req von dem Verbindungssystem 202 über Hardware empfangen und eine Steueroperation eines Taktsignals CLK basierend auf einem Handshake-Kommunikationsverfahren zwischen einer Mehrzahl von Takt-Controllern, welche darin vorgesehen sind, durchführen. Die CMU 210 kann ein oder mehrere erzeugte Taktsignale CLK für das Verbindungssystem 202 vorsehen.
  • Die CPU 201 kann den Gesamtbetrieb des SoC 200 über Software durch ein Ausführen verschiedener Codes steuern. Beispielsweise kann die CPU 201 eine Steueroperation durchführen, um das Taktsignal CLK für die IPs vorzusehen. Die CMU 210 kann die CPU 201 mit der Anforderungsantwort Res vorsehen, welche anzeigt, dass das Taktsignal CLK für jeden funktionalen Block des Verbindungssystems 202 vorgesehen wurde. Durch ein Empfangen der Anforderungsantwort Res kann die CPU 201 bestimmen, dass eine Takteinstellung für das Verbindungssystem 210 vollendet ist und kann die IPs basierend auf einem Bestimmungsergebnis steuern.
  • 8 ist ein Blockschaltbild eines SoC 300 gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte.
  • Bezug nehmend auf 8 kann das SoC 300 eine CMU 310 und verschiedene funktionale Blöcke aufweisen. In 8 sind ein erster und ein zweiter IP 321 und 322, eine asynchrone Brücke 330, ein Multiplexer 340 und ein Bus 350 als die funktionalen Blöcke, welche ein Taktsignal CLK von der CMU 310 empfangen, veranschaulicht. Da der Betrieb der Mehrzahl von funktionalen Blöcken, welche ein Verbindungssystem in 8 bilden, identisch oder ähnlich zu demjenigen der oben beschriebenen Ausführungsformen ist, werden detaillierte Beschreibungen davon ausgelassen werden.
  • Die CMU 310 kann ein oder mehrere Master-Takt-Controller und ein oder mehrere Slave-Takt-Controller aufweisen. Gemäß einer beispielhaften Ausführungsform kann die CMU 310 einen Master-Takt-Controller 311 und einen ersten bis dritten Slave-Takt-Controller 312 bis 314 aufweisen. Der Master-Takt-Controller 311 und jeder der Slave-Takt-Controller 312 bis 314 können miteinander über einen Kanal verbunden sein und miteinander basierend auf einem Handshake-Verfahren kommunizieren. Zusätzlich kann wenigstens einer der funktionalen Blöcke, welche das Verbindungssystem bilden, mit dem Master-Takt-Controller 311 oder den Slave-Takt-Controllern 312 bis 314 verbunden sein. In 8 können der zweite IP 322 und der Master-Takt-Controller 311 miteinander durch getrennte Kanäle verbunden sein und miteinander kommunizieren.
  • Gemäß der beispielhaften Ausführungsform, welche in 8 veranschaulicht ist, kann die Taktanforderung Req, welche für den Master-Takt-Controller 311 vorgesehen ist, durch den zweiten IP 322 erzeugt werden, und der zweite IP 322 kann die Taktanforderung Req für den Master-Takt-Controller 311 über Hardware vorsehen. Das heißt, dass der zweite IP 322 und die CMU 310 eine Kommunikation über ein individuelles Protokoll durchführen können. Demnach kann die CMU 310 basierend auf einem vollständigen Hardware-Verfahren gesteuert werden. In diesem Fall kann das Clock-Gating über Hardware ohne eine Verwendung von Software gesteuert werden.
  • Wie obenstehend beschrieben ist, kann der Master-Takt-Controller 311, welcher die Taktanforderung Req empfangen hat, nacheinanderfolgend mit der Mehrzahl von Slave-Takt-Controllern 312 bis 314 kommunizieren. Beispielsweise kann der Master-Takt-Controller 311 den Takt-An/Aus-Befehl CLK An/Aus für jeden der Slave-Controller 312 bis 314 vorsehen und kann die Taktbestätigung ACK An/Aus von jedem der Slave-Takt-Controller 312 bis 314 empfangen.
  • 9A ist ein Blockschaltbild eines SoC 400 gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte.
  • Bezug nehmend auf 9A kann das SoC 400 eine CMU 410 und einen ersten und zweiten IP 421 und 422, eine asynchrone Brücke 430, einen Multiplexer 440 und einen Bus 450 als die funktionalen Blöcke, welche ein Taktsignal CLK von der CMU 410 empfangen, aufweisen. Da der Betrieb der CMU 410 und der Betrieb der Mehrzahl von funktionalen Blöcken, welche ein Verbindungssystem in 9A bilden, identisch oder ähnlich zu dem der oben beschriebenen Ausführungsformen sein kann, werden detaillierte Beschreibung davon ausgelassen werden.
  • Gemäß der beispielhaften Ausführungsform der 9A kann die Mehrzahl von funktionalen Blöcken, welche das Verbindungssystem bildet, mit der CMU 410 durch getrennte Kanäle verbunden sein. Zusätzlich kann jeder der funktionalen Blöcke eine Einheit aufweisen, welche konfiguriert ist, um eine Taktanforderung Req zu erzeugen. Beispielsweise kann eine Steuereinheit als eine Zustandsmaschine in jedem der funktionalen Blöcke vorgesehen sein.
  • Der zweite IP 422 kann mit dem Master-Takt-Controller 411 verbunden sein, um die Taktanforderung Req für den Master-Takt-Controller 411 vorzusehen. Ähnlich kann die asynchrone Brücke 430 mit dem ersten Slave-Takt-Controller 412 verbunden sein, um die Taktanforderung Req für den ersten Slave-Takt-Controller 412 vorzusehen. Der Multiplexer 440 kann mit dem zweiten Slave-Takt-Controller 413 verbunden sein, um die Taktanforderung Req für den zweiten Slave-Takt-Controller 413 vorzusehen. Zusätzlich kann der Bus 450 mit dem dritten Slave-Takt-Controller 414 verbunden sein, um die Taktanforderung Req für den dritten Slave-Takt-Controller 414 vorzusehen.
  • Der Master-Takt-Controller 411 und jeder des ersten bis dritten Slave-Takt-Controllers 412 bis 414 können die Taktsignale CLK in Antwort auf die Taktanforderung Req erzeugen. Gemäß einer beispielhaften Ausführungsform kann jeder des ersten bis dritten Slave-Takt-Controllers 412 bis 414 das Taktsignal CLK erzeugen und die Taktbestätigung ACK An/Aus für den Master-Takt-Controller 411 vorsehen. Der zweite IP 422 kann das Taktsignal CLK empfangen nachdem die Taktsignale CLK alle für die funktionalen Blöcke, welche das Verbindungssystem bilden, vorgesehen sind. Gemäß einer beispielhaften Ausführungsform kann nach dem Empfangen der Taktbestätigung ACK An/Aus von dem ersten bis dritten Slave-Controller 412 bis 414 der Master-Takt-Controller 411 das Clock-Gating durchführen, um das Taktsignal CLK für den zweiten IP 422 vorzusehen.
  • Die CMU 410 kann gemäß verschiedenen Verfahren gemäß der Konfiguration, welche in der beispielhaften Ausführungsform der 9 veranschaulicht ist, arbeiten. Beispielsweise kann der Master-Takt-Controller 411 den Takt-An/Aus-Befehl CLK An/Aus für den ersten bis dritten Slave-Takt-Controller 412 bis 414 in Antwort auf die Taktanforderung Req vorsehen. Andererseits kann, da jeder des ersten bis dritten Slave-Takt-Controllers 412 bis 414 die Taktanforderung Req von dem entsprechenden funktionalen Block empfängt, der Takt-An/Aus-Befehl CLK An/Aus, welcher von dem Master-Takt-Controller 411 vorgesehen ist, ignoriert werden.
  • Alternativ können, auch wenn das Vorsehen des Taktsignals CLK für den zweiten IP in Antwort auf den Takt-AUS-Befehl blockiert ist, wenigstens einige der anderen funktionalen Blöcke den Empfang des Taktsignals CLK aufrechterhalten. Der Bus 450 kann einen Raum (beispielsweise FIFO) zum vorübergehenden Speichern von Daten darin aufweisen. Auch wenn der Betrieb des zweiten IP 422 vollendet ist, wird der Betriebszustand des Busses 450 aufrechterhalten. Zu dieser Zeit kann der dritte Slave-Takt-Controller 414 den Takt-Aus-Befehl, welcher von dem Master-Takt-Controller 411 vorgesehen ist, ignorieren und das Taktsignal CLK für den Bus 450 vorsehen. Gemäß einer beispielhaften Ausführungsform kann der dritte Slave-Takt-Controller 414 die Ausgabe des Taktsignals CLK in Antwort auf die Taktanforderung (beispielsweise Takt-Aus-Befehl), welche von dem Bus 450 vorgesehen ist, blockieren.
  • Das Kommunikationsverfahren, welches den Kanal zwischen den funktionalen Blöcken und den Takt-Controllern, welche in 8 und 9A veranschaulicht sind, verwendet, kann verschiedentlich implementiert werden. Beispielsweise können als das Voll-Handshake-Verfahren eine Q-Kanal-Schnittstellen- oder P-Kanal-Schnittstellen-Spezifikation von ARM verwendet werden.
  • 9B veranschaulicht ein Beispiel des zweiten IP in 9A. Wie gezeigt ist, weist der zweite IP eine oder mehrere IP-Prozessoren 2222 auf. Der Prozessor 2222 gemäß der Funktionalität erzeugt durch ein selektives Ausgeführtwerden ein Taktanforderungssignal. Wie voranstehend beschrieben ist, kann der zweite IP beispielsweise eine Kameraschnittstelle sein. Wenn die Kameraschnittstelle aktiviert ist, dann kann der IP-Prozessor 2222 das Taktanforderungssignal erzeugen. Ein ODER-Gate 2224 kann die Taktanforderungsausgabe von dem IP-Prozessor 2222 empfangen und kann ein externes Taktanforderungssignal (beispielsweise externes Ereignis, Interrupt, Bussignal, Aufwachsignal etc.) empfangen. Die Ausgabe des ODER-Gate 2224 dient als das Taktanforderungssignal für die CMU.
  • 10 ist ein Blockschaltbild eines SoC 500 gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte. Insbesondere veranschaulicht 10 ein Beispiel, in welchem Signale für eine Kommunikation zwischen einem Master-Takt-Controller und funktionalen Blöcken für Slave-Takt-Controller 512 bis 514 vorgesehen sind.
  • Bezug nehmend auf 10 kann das SoC 500 eine CMU 510 und einen ersten und zweiten IP 521 und 522, eine asynchrone Brücke 530 und einen Multiplexer 540 und einen Bus 550 als die funktionalen Blöcke aufweisen, welche ein Taktsignal CLK von der CMU 510 empfangen. Da der Betrieb der CMU 510 und der Betrieb der Mehrzahl von funktionalen Blöcken, welche ein Verbindungssystem in 10 bilden, identisch oder im Wesentlichen ähnlich zu demjenigen der oben beschriebenen Ausführungsformen ist, werden detaillierte Beschreibungen davon ausgelassen werden.
  • Wie obenstehend beschrieben ist, kann der Master-Takt-Controller 511 mit dem ersten bis dritten Slave-Takt-Controller 512 bis 514 durch einen Kanal kommunizieren. Zusätzlich können, wie in 10 veranschaulicht ist, die funktionalen Blöcke, welche das Verbindungssystem bilden, mit den entsprechenden Takt-Controllern über getrennte Kanäle kommunizieren. Gemäß einer anderen beispielhaften Ausführungsform können die Kanäle, welche zwischen den funktionalen Blöcken angeordnet sind, und die Slave-Takt-Controller 512 bis 514 in 10 entfernt werden.
  • Einer der funktionalen Blöcke, welche das Verbindungssystem bilden, beispielsweise der zweite IP 522, kann mit dem Master-Takt-Controller 411 durch einen getrennten Kanal verbunden sein und kann mit dem Slave-Controller durch denselben Kanal oder einen unterschiedlichen Kanal verbunden sein. Gemäß einer beispielhaften Ausführungsform kann der zweite IP 522 mit dem ersten bis dritten Slave-Takt-Controller 512 bis 514 verbunden sein. Eine Taktanforderung Req von dem zweiten IP 522 kann für den Master-Takt-Controller 511 durch den Kanal vorgesehen sein. Zusätzlich kann die Taktanforderung Req für den ersten bis dritten Slave-Takt-Controller 512 bis 514 vorgesehen sein.
  • Wenn die Taktanforderung Req von dem zweiten IP 522 empfangen wird, kann jeder des ersten bis dritten Slave-Takt-Controllers 512 bis 514 bestimmen, dass der zweite IP 522 das Taktsignal CLK zu empfangen hat. Jeder des ersten bis dritten Slave-Takt-Controllers 512 bis 514 kann das Clock-Gating in Antwort auf die Taktanforderung Req durchführen, das Taktsignal CLK erzeugen und das Taktsignal CLK für den entsprechenden funktionalen Block vorsehen. In einer identischen oder ähnlichen Art und Weise zu den oben beschriebenen Ausführungsformen kann der Betrieb des Erzeugens des Taktsignals (oder eines Timings, zu welchem das Taktsignal CLK für die funktionalen Blöcke vorgesehen ist) gesteuert werden, um nacheinanderfolgend durchgeführt zu werden. Beispielsweise führt, nachdem der dritte Slave-Takt-Controller 514 das Clock-Gating durchführt, der zweite Slave-Takt-Controller 513 das Clock-Gating durch und dann kann der erste Slave-Takt-Controller 512 das Clock-Gating durchführen.
  • Jeder des ersten bis dritten Slave-Takt-Controllers 512 bis 514 kann die Taktbestätigung ACK An/Aus für den Master-Takt-Controller 512 vorsehen. Wenn die Taktbestätigung ACK An/Aus empfangen wird, kann der Master-Takt-Controller 511 das Clock-Gating durchführen, um das Taktsignal CLK für den zweiten IP 522 vorzusehen.
  • 11 ist ein Flussdiagramm eines Verfahrens zum Betreiben eines SoC gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte.
  • In einer identischen oder ähnlichen Art und Weise zu den beispielhaften Ausführungsformen kann eine CMU für ein SoC vorgesehen sein, um eine Taktzufuhr zu einem Verbindungssystem, welches einen oder mehrere funktionale Blöcke aufweist, zu steuern. Ein Master-Takt-Controller und ein Slave-Takt-Controller können hinsichtlich einer Mehrzahl von Takt-Controllern, welche in einer CMU gemäß der Konfiguration des Verbindungssystems vorgesehen sind, definiert sein. Zusätzlich kann der Master-Takt-Controller mit einem oder mehreren Slave-Takt-Controllern durch getrennte Kanäle kommunizieren, und der Master-Takt-Controller kann das Clock-Gating von einem oder mehreren Slave-Takt-Controllern durch die Kanäle befehlen.
  • Wie in 11 veranschaulicht ist, kann in Operation S11 der Master-Takt-Controller MCC eine Taktanforderung über Software oder Hardware empfangen. Der Master-Takt-Controller MCC kann einen Takt-An/Aus-Befehl, welcher das Clock-Gating von einem oder mehreren Slave-Takt-Controllern SCC in Antwort auf die Taktanforderung befiehlt, vorsehen. In Operation S12 kann, wenn die empfangene Taktanforderung eine Anforderung ist, ein Taktsignal für einen IP, welcher in einem Verbindungssystem enthalten ist, vorzusehen, der Master-Takt-Controller MCC einen Takt-An-Befehl zu dem einen oder mehreren Slave-Takt-Controllern SCC vorsehen.
  • Wenn eine Mehrzahl von Slave-Takt-Controllern SCC in der CMU vorgesehen sind, kann der Master-Takt-Controller MCC nacheinanderfolgend den Takt-An/Aus-Befehl für die Mehrzahl von Slave-Takt-Controllern SCC vorsehen. In Operation S13 kann, wenn der Master-Takt-Controller MCC den Takt-An-Befehl für einen Slave-Takt-Controller vorsieht, beispielsweise den ersten Slave-Takt-Controller, dann der erste Slave-Takt-Controller SCC das Taktsignal durch ein Durchführen des Clock-Gating in Antwort auf den Takt-AN-Befehl ermöglichen. In Operation S14 kann der erste Slave-Takt-Controller SCC eine Taktbestätigung ausgeben und der Master-Takt-Controller MCC kann die Taktbestätigung empfangen.
  • In Operation S15 kann, wenn alle der Slave-Takt-Controller SCC, welche in der CMU vorgesehen sind, die Taktsignale aktivieren, der Master-Takt-Controller MCC bestimmen, ob die Takteinstellung vollendet ist. Wenn in Operation S15 bestimmt wird, dass die Takteinstellung nicht vollendet ist, kann der Master-Takt-Controller MCC den Takt-An-Befehl für einen anderen Slave-Takt-Controller (beispielsweise den zweiten Slave-Takt-Controller), welcher das Taktsignal nicht aktiviert hat, vorsehen. Beispielsweise kann der zweite Slave-Takt-Controller SCC das Taktsignal in Antwort auf den Takt-An-Befehl aktivieren und eine Taktbestätigung ausgeben. Der Master-Takt-Controller MCC kann die Taktbestätigung empfangen, bestimmen, ob die Takteinstellung vollendet ist und das Vorsehen des Takt-An-Befehls und das Empfangen der Taktbestätigung wiederholen.
  • In Operation S16 kann, wenn in Operation S15 bestimmt wird, dass die Takteinstellung vollendet ist, der Master-Takt-Controller MCC das Clock-Gating durchführen, um das Taktsignal zu erzeugen. In dieser Art und Weise können die Taktsignale, welche durch den Master-Takt-Controller MCC und die Slave-Takt-Controller SCC erzeugt werden, für die entsprechenden funktionalen Blöcke des Verbindungssystems vorgesehen werden.
  • 12 ist ein Flussdiagramm eines Verfahrens zum Betreiben eines SoC gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte.
  • Ein Master-Takt-Controller und ein Slave-Takt-Controller können mit Hinsicht einer Mehrzahl von Takt-Controllern, welche in einer CMU gemäß der Konfiguration des Verbindungssystems vorgesehen sind, definiert werden. Eine Mehrzahl von funktionalen Blöcken, welche das Verbindungssystem bilden, und eine Mehrzahl von Takt-Controllern, welche in der CMU durch getrennte Kanäle vorgesehen sind, können miteinander durch getrennte Kanäle kommunizieren. In einer identischen oder ähnlichen Art und Weise wie die oben beschriebenen beispielhaften Ausführungsformen kann die Kommunikation basierend auf einem Handshake-Verfahren durchgeführt werden. Zur Zweckmäßigkeit der Beschreibung wird der Betrieb bezogen auf einen der Slave-Takt-Controller, welcher in der CMU vorgesehen ist, untenstehend beschrieben werden.
  • Bezug nehmend auf 12 kann in Operation S21 der Master-Takt-Controller MCC eine Taktanforderung über Software oder Hardware empfangen. Beispielsweise kann der Master-Takt-Controller MCC eine Taktanforderung von einem ersten funktionalen Block (beispielsweise einem IP) des Verbindungssystems empfangen, welcher durch einen ersten Kanal über Hardware verbunden ist. In Operation S22 kann der Slave-Takt-Controller SCC eine Taktanforderung von einem zweiten funktionalen Block (beispielsweise einer asynchronen Brücke, einem Multiplexer, einem Bus etc.) des Verbindungssystems, welcher durch einen zweiten Kanal verbunden ist, empfangen.
  • Der Master-Takt-Controller MCC kann mit dem Slave-Takt-Controller SCC durch einen getrennten Kanal verbunden sein. Beispielsweise kann der Master-Takt-Controller MCC mit dem Slave-Takt-Controller SCC durch einen dritten Kanal verbunden sein. In Operation S23 kann der Master-Takt-Controller MCC ein oder mehrere Steuersignale zum Steuern der Slave-Takt-Steuerung SCC in Antwort auf das Empfangen der Taktanforderung erzeugen. Beispielsweise kann der Master-Takt-Controller MCC einen Takt-AN-Befehl für den Slave-Takt-Controller SCC vorsehen.
  • Aufgrund des oben beschriebenen Betriebs kann der Slave-Takt-Controller SCC zwei oder mehr Signale, welche das Clock-Gating anfordern, empfangen. In Operation S24 kann der Slave-Takt-Controller SCC das Clock-Gating basierend auf den empfangenen Signalen durchführen. Beispielsweise kann der Slave-Takt-Controller SCC das Clock-Gating basierend auf dem früher empfangenen einen der Taktanforderung und des Takt-An-Befehls durchführen. Alternativ kann der Slave-Takt-Controller SCC das Clock-Gating basierend auf einem ausgewählt aus der Taktanforderung und dem Takt-An-Befehl durchführen. Gemäß einer anderen beispielhaften Ausführungsform kann jedes der Taktanforderung und des Takt-An-Befehls ferner zusätzliche Informationen über das Clock-Gating (beispielsweise Prioritätsinformationen etc.) aufweisen, und der Slave-Takt-Controller SCC kann gesteuert werden, um das Clock-Gating basierend auf den zusätzlichen Informationen durchzuführen.
  • In Operation S25 kann der Slave-Takt-Controller SCC den funktionalen Block des Verbindungssystems mit dem Taktsignal, welches basierend auf dem Clock-Gating erzeugt wird, vorsehen, und der Slave-Takt-Controller SCC kann die Taktbestätigung für den Master-Takt-Controller MCC vorsehen. Aufgrund der oben beschriebenen Operation kann der Slave-Takt-Controller SCC getrennt gesteuert werden, unabhängig von der Steuerung des Master-Takt-Controllers MCC.
  • 13 ist ein Blockschaltbild eines SoC 600 gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte.
  • Bezug nehmend auf 13 kann das SoC 600 eine CMU 610 und verschiedene funktionale Blöcke aufweisen. In 13 sind ein oder mehrere asynchrone Brücken (beispielsweise erste bis dritte asynchrone Brücke) 621 bis 623, ein Bus 630 und ein Speichercontroller 640 als die funktionalen Blöcke veranschaulicht, welche ein Taktsignal CLK von einer CMU 610 empfangen. Der Speicher 650 kann ein funktionaler Block sein, welcher in dem Verbindungssystem enthalten ist, oder ein funktionaler Block, welcher außerhalb des Verbindungssystems in dem SoC 600 angeordnet ist. Gemäß einer anderen beispielhaften Ausführungsform kann der Speicher 650 eine Speichervorrichtung sein, welche außerhalb des SoC 600 angeordnet ist. Da spezifische Operationen eines Kanals, welcher zwischen dem Verbindungssystem und der CMU 610 angeordnet ist, und eines Kanals, welcher zwischen den Takt-Controllern der CMU 610 in 13 angeordnet ist, identisch oder im Wesentlichen ähnlich zu denjenigen der oben beschriebenen beispielhaften Ausführungsformen sind, werden detaillierte Beschreibungen davon ausgelassen werden.
  • Die funktionalen Blöcke, welche in dem Verbindungssystem vorgesehen sind, welches der CMU 610 entspricht, können in einen funktionalen Master-Block und einen funktionalen Slave-Block unterteilt werden. In der oben beschriebenen beispielhaften Ausführungsform ist ein Beispiel, in welchem der IP unter den funktionalen Blöcken als der funktionale Master-Block eingestellt ist, veranschaulicht, der funktionale Master-Block und der funktionale Slave-Block können jedoch verschiedentlich eingestellt werden.
  • Beispielsweise wird Verkehr erzeugt, wenn Daten durch den Systembus übertragen und empfangen werden, und ein funktionaler Block, in welchem der Verkehr gestaret wird, kann als der funktionale Master-Block eingestellt werden. Daten von dem IP können für die asynchrone Brücke vorgesehen sein, um eine Takt-Domain umzuwandeln. In der Praxis kann die asynchrone Brücke dem funktionalen Block entsprechen, in welchem der Verkehr gestartet wird. Wie in 13 veranschaulicht ist, können die erste bis dritte asynchrone Brücke 621, 622 und 623 dem funktionalen Master-Block entsprechen.
  • Die interne Konfiguration der CMU 610 kann basierend auf der Konfiguration des Verbindungssystems entworfen sein. Beispielsweise kann die CMU 610 einen ersten bis dritten Master-Takt-Controller 611, 612 und 613 entsprechend der ersten bis dritten asynchronen Brücke 621, 622 und 623 aufweisen. Zusätzlich kann die CMU 610 einen ersten und zweiten Slave-Takt-Controller 614 und 615 hinsichtlich des Busses 630 und des Speichercontrollers 640, welche den funktionalen Slave-Blöcken des Verbindungssystems entsprechen, aufweisen.
  • Gemäß einer beispielhaften Ausführungsform kann jede der ersten bis dritten asynchronen Brücken 621, 622 und 623 mit dem IP verbunden sein (nicht veranschaulicht). Wenn einer der IPs aktiviert wird, kann das Taktsignal CLK für die asynchrone Brücke, welche dem aktivierten IP entspricht, vorgesehen werden, und das Vorsehen des Taktsignals CLK für die anderen asynchronen Brücken kann blockiert werden. Hierin nachstehend wird ein Beispiel, in welchem das Taktsignal CLK für die erste asynchrone Brücke 621 vorgesehen ist, beschrieben werden.
  • Wenn die erste asynchrone Brücke 621 und der erste Master-Takt-Controller 611 miteinander durch einen Kanal verbunden sind, kann die erste asynchrone Brücke 621 die Taktanforderung Req für den ersten Master-Takt-Controller 611 über Hardware vorsehen. Andererseits kann ein Takt-Aus-Zustand hinsichtlich der zweiten und dritten asynchronen Brücke 622 und 623 aufrechterhalten werden.
  • Der erste Master-Takt-Controller 611, welcher die Taktanforderung Req empfangen hat, kann nacheinanderfolgend den Takt-An/Aus-Befehl CLK An/Aus für die entsprechenden Slave-Takt-Controller 614 und 615 für den Bus 630 vorsehen. Zusätzlich kann der erste Slave-Takt-Controller 614 die Taktbestätigung ACK An/Aus für den Master-Takt-Controller 611 zu derselben Zeit vorsehen, wie er das Taktsignal CLK für den Bus 630 vorsieht. Ferner kann der zweite Slave-Takt-Controller 615 die Taktbestätigung ACK An/Aus für den Master-Takt-Controller 611 zu derselben Zeit vorsehen, wie er das Taktsignal CLK für den Speichercontroller 640 vorsieht. Wenn der Master-Takt-Controller 611 die Taktbestätigung ACK An/Aus von dem ersten und zweiten Slave-Takt-Controller 614 und 615 empfängt, kann der Master-Takt-Controller 611 das Clock-Gating durchführen, um das Taktsignal CLK für die erste asynchrone Brücke 621 vorzusehen.
  • Obwohl in 13 nicht veranschaulicht, können in einer identischen oder ähnlichen Art und Weise zu den oben beschriebenen beispielhaften Ausführungsformen getrennte Kanäle ferner zwischen der CMU 610 und den funktionalen Blöcken des Verbindungssystems (beispielsweise dem Bus 630 und dem Speichercontroller 640) angeordnet sein. Gemäß einer beispielhaften Ausführungsform kann der erste Slave-Takt-Controller 614 mit dem Bus 630 durch einen getrennten Kanal verbunden sein. Zusätzlich kann gemäß einer beispielhaften Ausführungsform die Taktanforderung Req von der ersten asynchronen Brücke 621 direkt für den ersten und zweiten Slave-Takt-Controller 614 und 615 vorgesehen sein.
  • 14 ist ein Blockschaltbild eines SoC 700A gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte. Bezug nehmend auf 14 kann das SoC 700A eine CPU 711, einen Temperatursensor 712, m Verbindungssysteme 713 und 715 und CMUs 714 und 716 aufweisen. Die CPU 711 kann den Gesamtbetrieb des SoC 700A steuern. Der Temperatursensor 712 kann eine interne Temperatur des SoC 700A erfassen und das Temperaturerfassungsergebnis erzeugen. Ein Beispiel, in welchem das Verbindungssystem entsprechend der CMU angeordnet ist, ist in 14 veranschaulicht, die Anordnung des Verbindungssystems und der CMU können jedoch verschiedentlich geändert werden.
  • Das Taktsignal CLK, welches für jeden funktionalen Block vorgesehen ist, welcher in dem SoC 700A vorgesehen ist, kann gemäß der internen Temperatur des SoC 700A angepasst werden. Gemäß einer beispielhaften Ausführungsform kann die interne Temperatur des SoC 700A gemäß Betriebsfrequenzen der funktionalen Blöcke des SoC 700A zunehmen oder abnehmen. Um die internen Elemente des SoC 700A zu schützen, kann die Frequenz des Taktsignals CLK gemäß dem Temperaturerfassungsergebnis angepasst werden.
  • Die CPU 711 kann die Betriebsfrequenzen der funktionalen Blöcke in dem SoC 700A basierend auf dem Temperaturerfassungsergebnis steuern. Gemäß einer beispielhaften Ausführungsform kann die CPU 711 ein Taktsteuersignal Ctrl[1:m] basierend auf dem Temperaturerfassungsergebnis ausgeben. Das Taktsteuersignal Ctrl[1:m] kann für die CMUs 714 und 716 des SoC 700A vorgesehen sein. Beispielsweise kann die erste CMU 714 das erste Steuersignal Ctrl1 empfangen und die Frequenz des Taktsignals CLK, welches für das erste Verbindungssystem 713 vorgesehen ist, basierend auf dem ersten Steuersignal Ctrl1 anpassen. Wenn die interne Temperatur des SoC 700A zunimmt, kann das Taktsignal CLK, dessen Frequenz verringert wird, für das erste Verbindungssystem 713 vorgesehen werden. Wenn die interne Temperatur des SoC 700A abnimmt, kann das Taktsignal CLK, dessen Frequenz erhöht wird, für das erste Verbindungssystem 713 vorgesehen werden. Ähnlich kann die m-te CMU 716 das m-te Steuersignal Ctrlm empfangen und die Frequenz des Taktsignals CLK, welches für das m-te Verbindungssystem 715 vorgesehen ist, basierend auf dem m-ten Steuersignal Ctrlm anpassen.
  • Die Verbindungssysteme 713 und 715 und die entsprechenden CMUs 714 und 716, welche in 14 veranschaulicht sind, können die Elemente identisch oder ähnlich zu denjenigen, welche in den obigen beispielhaften Ausführungsformen beschrieben sind, aufweisen. Beispielsweise können ein Master-Takt-Controller und ein Slave-Takt-Controller in den CMUs 714 und 716 gemäß den Konfigurationen der Verbindungssysteme 713 und 715 definiert sein. Zusätzlich ist es möglich, das Clock-Gating zu steuern, da der Master-Takt-Controller und der Slave-Takt-Controller miteinander durch einen Kanal über Hardware kommunizieren. Ferner ist es möglich, das Clock-Gating zu steuern, da die funktionalen Blöcke der Verbindungssysteme 713 und 715 und die CMUs 714 und 716 miteinander durch einen Kanal über Hardware kommunizieren.
  • 15 ist ein Blockschaltbild eines SoC 700B gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte.
  • Bezug nehmend auf 15 kann das SoC 700B eine CPU 721, einen Takterzeuger 722, eine CMU 723, einen Direktzugriffsspeicher (RAM = Random Access Memory = Direktzugriffsspeicher) 724, einen Lesespeicher (ROM = Read Only Memory = Lesespeicher) 725 und eine Speichersteuereinheit 726 aufweisen. Ein Oszillator kann außerhalb des SoC 700B angeordnet sein, um ein Oszillationssignal für das SoC 700B vorzusehen. Dies ist jedoch lediglich ein Beispiel. Das SoC 700B gemäß der beispielhaften Ausführungsform der erfinderischen Konzepte kann verschiedene andere funktionale Blöcke aufweisen, und der Oszillator kann innerhalb des SoC 700B vorgesehen sein. Das SoC 700B der 15 kann in einem Halbleitersystem als einem Anwendungsprozessor vorgesehen sein.
  • Die CPU 721, der Takterzeuger 722, der RAM 724, der ROM 725 und die Speichersteuereinheit 726 können den funktionalen Blöcken der oben beschriebenen beispielhaften Ausführungsformen entsprechen. Zusätzlich können die Verbindungssysteme der oben beschriebenen beispielhaften Ausführungsformen einen oder mehrere funktionale Blöcke aufweisen, welche in dem SoC 700B vorgesehen sind. Eine CMU 723 ist in 15 veranschaulicht, eine Mehrzahl von CMUs jedoch, welche den funktionalen Blöcken (oder den Verbindungssystemen) des SoC 700B entsprechen, kann in dem SoC 700B vorgesehen sein.
  • Der Takterzeuger 722 kann ein Referenztaktsignal CLK_IN, welches eine Referenzfrequenz hat, durch ein Verwenden einer Signalausgabe von dem Oszillator erzeugen. Die CMU 723 kann das Referenztaktsignal CLK_IN empfangen, ein Betriebstaktsignal CLK_OUT erzeugen, welches eine erwünschte (oder alternativ eine vorbestimmte) Frequenz hat, und das Betriebstaktsignal CLK_OUT für jeden funktionalen Block vorsehen. Gemäß den oben beschriebenen beispielhaften Ausführungsformen kann die CMU 723 einen oder mehrere Master-Takt-Controller und einen oder mehrere Slave-Takt-Controller aufweisen. Jeder der Master- und Slave-Takt-Controller kann das Betriebstaktsignal CLK_OUT durch ein Verwenden des Referenztaktsignals CLK erzeugen. Zusätzlich ist es gemäß den oben beschriebenen beispielhaften Ausführungsformen, da die Master- und Slave-Takt-Controller, welche in der CMU 723 enthalten sind, miteinander durch einen Kanal oder entsprechende Kanäle verbunden sein können, möglich, die Verwaltung der Taktsignale über Hardware durchzuführen. Zusätzlich ist es, da die funktionalen Blöcke der Master- und Slave-Takt-Controller, welche in der CMU 723 vorgesehen sind, miteinander durch einen Kanal oder die jeweiligen Kanäle verbunden sind, möglich, die Taktanforderung und die Anforderungsantwort über Software durchzuführen.
  • Die CPU 721 kann Codes und/oder Daten, welche in dem RAM 724 gespeichert sind, verarbeiten oder ausführen. Beispielsweise kann die CPU 721 die Codes und/oder die Daten in Antwort auf den Betriebstakt, welcher von der CMU 723 ausgegeben wird, verarbeiten oder ausführen. Die CPU 721 kann als ein Multikernprozessor implementiert sein. Der Multikernprozessor kann eine einzelne Berechnungskomponente sein, welche zwei oder mehrere unabhängige substantielle Prozessoren hat, und jeder der Prozessoren kann Programmbefehle lesen und ausführen. Da der Multikernprozessor in der Lage ist, simultan eine Mehrzahl von Beschleunigern zu treiben, ist ein Datenverarbeitungssystem, welches den Multikernprozessor aufweist, in der Lage, Mehrfachbeschleunigungen auszuführen.
  • Der RAM 724 kann vorübergehende Programmcodes, Daten oder Befehle speichern. Beispielsweise können Programmcodes und/oder Daten, welche in einem internen oder externen Speicher (nicht veranschaulicht) gespeichert sind, in dem RAM 724 vorübergehend gemäß der Steuerung der CPU oder Boot-Code, welcher in dem ROM 725 gespeichert ist, gespeichert werden. Die Speichersteuereinheit 726 ist ein Block zur Schnittstellenbildung mit dem internen oder externen Speicher. Die Speichersteuereinheit 726 kann den Gesamtbetrieb des Speichers steuern oder kann einen Datenaustausch zwischen einem Host und dem Speicher steuern.
  • 16 ist ein Blockschaltbild eines SoC 800 gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte.
  • Insbesondere veranschaulicht 16 ein Beispiel, in welchem das SoC 800 eine Leistungsverwaltungseinheit (PMU = Power Management Unit = Leistungsverwaltungseinheit) 810 aufweist, welche konfiguriert ist, um Leistung, welche für die funktionalen Blöcke vorgesehen ist, zu verwalten. In einer identischen oder ähnlichen Art und Weise zu der CMU zum Verwalten von Taktsignalen in den oben beschriebenen beispielhaften Ausführungsformen, kann die PMU 810 entworfen sein, um Leistung, welche in dem SoC 800 verwendet wird, zu verwalten.
  • Das SoC 800 kann die PMU 810 und eine Mehrzahl von funktionalen Blöcken 821 und 822 aufweisen. Die funktionalen Blöcke 821 und 822 können in einen funktionalen Master-Block 821 und einen funktionalen Slave-Block 822 unterteilt werden. Zum Betrieb des funktionalen Master-Blocks 821 wird Leistung für den funktionalen Master-Block 821 vorgesehen und Leistung wird für einen oder mehrere funktionale Slave-Blöcke 822 vorgesehen, welche mit dem Betrieb des funktionalen Master-Blocks 821 verknüpft sind. Ähnlich zu den oben beschriebenen Ausführungsformen können der funktionale Master-Block 821 und der funktionale Slave-Block 822 ein Verbindungssystem bilden.
  • Die PMU 810 kann entsprechend dem Verbindungssystem vorgesehen sein. Die PMU 810 kann einen Master-Leistungs-Controller (MPC = Master Power Controller = Master-Leistungscontroller) 810 und einen oder mehrere Slave-Leistungscontroller (SPCs = Slave Power Controller = Slave-Leistungscontroller) 812 und 813 aufweisen. Die PMU 810 kann mit den funktionalen Blöcken des Verbindungssystems durch einen oder mehrere Kanäle kommunizieren. Ein Beispiel, in welchem der funktionale Master-Block 821 mit der MPC 811 durch einen Kanal basierend auf einem Handshake-Verfahren kommuniziert, ist in 16 veranschaulicht.
  • Die MPC 811 kann mit jeder der SPCs 812 und 813 durch jeweilige Kanäle kommunizieren. Die PMU 810 kann eine Eingangsleistung Power_in empfangen und eine Ausgangsleistung Power_out durch ein Anpassen der Eingangsleistung Power_in in eine Leistung, welche für jeden funktionalen Block geeignet ist, erzeugen. Zusätzlich kann die PMU 810 das Vorsehen der Leistung für den funktionalen Master-Block 821 und den funktionalen Slave-Block 822 in Antwort auf eine Leistungsanforderung Req erlauben oder blockieren. In einer identischen oder ähnlichen Art und Weise zu den oben beschriebenen beispielhaften Ausführungsformen kann die MPC 811 die Leistungsanforderung Req über Software basierend auf einer Code-Verarbeitung einer CPU (nicht veranschaulicht) empfangen, oder kann die Leistungsanforderung Req von dem funktionalen Master-Block 821 über Hardware empfangen. Der funktionale Master-Block 821 kann einen Leistungs-AN-/AUS-Befehl Pwr An/Aus zu den SPCs 812 und 813 vorsehen und kann eine Leistungsbestätigung Ack An/Aus von den SPCs 812 und 813 empfangen.
  • 17 ist ein Blockschaltbild eines Halbleitersystems 900 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte.
  • Bezug nehmend auf 17 kann das Halbleitersystem 900 ein SoC 901, eine Antenne 910, eine Funkfrequenz(RF = Radio Frequency = Funkfrequenz)-Transceiver 920, eine Eingabevorrichtung 930 und eine Anzeige 940 aufweisen. Das SoC 901 kann ein beliebiges eines der SoCs gemäß den oben beschriebenen beispielhaften Ausführungsformen sein. Der RF-Transceiver 920 kann ein RF-Signal durch die Antenne 910 übertragen und empfangen. Beispielsweise kann der RF-Transceiver 920 ein RF-Signal, welches durch die Antenne 910 empfangen wird, in ein Signal umwandeln, welches in der Lage ist, in dem SoC 901 verarbeitet zu werden. Demnach kann das SoC 901 ein Signal, welches von dem RF-Transceiver 920 ausgegeben wird, verarbeiten, und das verarbeitete Signal zu der Anzeige 940 übertragen. Zusätzlich kann der RF-Transceiver 920 ein Signal, welches von dem SoC 901 ausgegeben wird, in ein RF-Signal umwandeln, und das RF-Signal an eine externe Vorrichtung durch die Antenne 910 ausgeben. Die Eingabevorrichtung 930 ist eine Vorrichtung, welche konfiguriert ist, um ein Steuersignal zu empfangen, welches zum Steuern des Betriebs des SoC 901 zu verwenden ist, oder Daten, welche durch das SoC 901 zu verarbeiten sind. Beispiele der Eingabevorrichtung 903 können eine Zeigevorrichtung wie beispielsweise ein Touchpad oder eine Computermaus, ein Keypad und eine Tastatur aufweisen.
  • 18 ist ein Blockschaltbild eines Halbleitersystems 1000 gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte.
  • Bezug nehmend auf 18 kann das Halbleitersystem 1000 ein Datenprozessor wie beispielsweise ein Festkörperlaufwerk (SSD = Solid State Drive = Festkörperlaufwerk) sein. Das Halbleitersystem 1000 kann eine Mehrzahl von Speichervorrichtungen 1500, einen Speichercontroller 1200, welcher konfiguriert ist, um Datenverarbeitungsoperationen der Speichervorrichtungen 1500 zu steuern, eine nichtflüchtige Speichervorrichtung 1300 wie beispielsweise einen DRAM und ein SoC 1100, welches konfiguriert ist, um ein Speichern von Daten, welche zwischen dem Speichercontroller 1200 und einem Host 1400 ausgetauscht werden, in der nichtflüchtigen Speichervorrichtung 1300 zu steuern, aufweisen. Das SoC 1100 kann als ein beliebiges von denjenigen in den obigen beispielhaften Ausführungsformen beschrieben werden. Demzufolge kann das SoC 1100 kann eine CMU (und/oder eine PMU), welche der Konfiguration des Verbindungssystems entspricht, aufweisen. Demnach kann die CMU einen Master-Takt-Controller und einen Slave-Takt-Controller aufweisen.
  • Gemäß den beispielhaften Ausführungsformen der erfinderischen Konzepte ist es, da die Master-/Slave-Takt-Controller der CMU basierend auf der Master-/Slave-Konfiguration des Verbindungssystems entworfen sind, möglich, eine effiziente Taktverwaltung hinsichtlich des Verbindungssystems durchzuführen.
  • Zusätzlich ist es gemäß den beispielhaften Ausführungsformen der erfinderischen Konzepte, da die Ausgabe des Taktsignals gemäß einem hardwarebasierten Verfahren gesteuert wird, möglich, die Wahrscheinlichkeit des Auftretens eines Fehlers zu verringern und ebenso die Latenz zum Aktivieren der Taktsignale zu verringern, verglichen mit der softwarebasierten Verwaltung der Taktsignale.
  • Ferner ist es gemäß den beispielhaften Ausführungsformen der erfinderischen Konzepte, da Routinen des OS und der Firmware verringert sind, möglich, die Anzahl von Softwarecodes zu verringern. Darüber hinaus ist es möglich, die Leistungsaufnahme durch ein Vereinfachen der Gate-Struktur zum Steuern der Taktsignale zu verringern.
  • Während die erfinderischen Konzepte insbesondere unter Bezugnahme auf beispielhafte Ausführungsformen davon gezeigt und beschrieben worden sind, wird es verstanden werden, dass verschiedene Änderungen in der Form und den Details darin getätigt werden können, ohne von dem Gedanken und 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-0073091 [0001]

Claims (20)

  1. Taktverwaltungsschaltung, die Folgendes aufweist: einen ersten Master-Takt-Controller (121; 211; 311; 411; 511; 611), welcher konfiguriert ist, um einen ersten Befehl für einen ersten Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) über einen ersten Kanal basierend auf einer empfangenen ersten Taktanforderung vorzusehen; und den ersten Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614), welcher konfiguriert ist, um eine Ausgabe eines ersten Taktsignals basierend auf dem ersten Befehl zu steuern.
  2. Taktverwaltungsschaltung nach Anspruch 1, wobei der erste Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um die erste Taktanforderung von einem Prozessor zu empfangen.
  3. Taktverwaltungsschaltung nach Anspruch 1, wobei der erste Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um die erste Taktanforderung über einen zweiten Kanal von einer Hardware-Komponente zu empfangen.
  4. Taktverwaltungsschaltung nach Anspruch 1, wobei der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um eine Bestätigung zu dem ersten Master-Takt-Controller (121; 211; 311; 411; 511; 611) über den ersten Kanal in Antwort auf ein Ausgeben des ersten Taktsignals zu senden, und wobei der erste Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um ein zweites Taktsignal nach dem Empfang der Bestätigung auszugeben.
  5. Taktverwaltungsschaltung nach Anspruch 1, wobei der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um eine zweite Taktanforderung von einer Hardware-Komponente zu empfangen und konfiguriert ist, um ein Erzeugen des ersten Taktsignals basierend auf dem ersten Befehl und der zweiten Taktanforderung zu erzeugen.
  6. Taktverwaltungsschaltung nach Anspruch 5, wobei der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um ein Erzeugen des ersten Taktsignals basierend auf einem früher empfangenen Einen des ersten Befehls und der zweiten Taktanforderung zu steuern.
  7. Taktverwaltungsschaltung nach Anspruch 5, wobei der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um ein Erzeugen des ersten Taktsignals basierend auf einem ausgewählten Einen des ersten Befehls und der zweiten Taktanforderung zu steuern.
  8. Taktverwaltungsschaltung nach Anspruch 5, wobei der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um ein Erzeugen des ersten Taktsignals basierend auf zusätzlichen Informationen zu steuern, welche in wenigstens einem des ersten Befehls und der zweiten Taktanforderung enthalten sind.
  9. Taktverwaltungsschaltung nach Anspruch 1, wobei der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um die erste Taktanforderung zu empfangen, und der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um ein Erzeugen des ersten Taktsignals in Antwort auf wenigstens eines der ersten Taktanforderung und des ersten Befehls zu steuern.
  10. Taktverwaltungsschaltung nach Anspruch 1, ferner aufweisend: einen zweiten Slave-Takt-Controller (122_2; 213; 313; 413; 513; 615), welcher konfiguriert ist, um einen zweiten Befehl über einen zweiten Kanal von dem ersten Master-Takt-Controller (121; 211; 311; 411; 511; 611) zu empfangen, und konfiguriert ist, um ein Erzeugen eines zweiten Taktsignals basierend auf dem zweiten Befehl zu steuern; und wobei der erste Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um den zweiten Befehl basierend auf der ersten Taktanforderung zu erzeugen.
  11. Taktverwaltungsschaltung nach Anspruch 10, wobei der erste Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um eine Sequenz zu steuern, in welcher das erste und das zweite Taktsignal durch ein Steuern ausgegeben werden, wenn der erste und der zweite Befehl ausgegeben werden.
  12. Taktverwaltungsschaltung nach Anspruch 11, wobei der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um eine erste Bestätigung zu dem ersten Master-Takt-Controller (121; 211; 311; 411; 511; 611) über den ersten Kanal in Antwort auf ein Ausgeben des ersten Taktsignals zu senden; der zweite Slave-Takt-Controller (122_2; 213; 313; 413; 513; 615) konfiguriert ist, um eine zweite Bestätigung zu dem ersten Master-Takt-Controller (121; 211; 311; 411; 511; 611) über den zweiten Kanal in Antwort auf ein Ausgeben des zweiten Taktsignals zu senden; und der erste Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um ein Ausgeben eines dritten Taktsignals nach dem Empfang der ersten und der zweiten Bestätigung zu steuern.
  13. Taktverwaltungsschaltung nach Anspruch 10, wobei der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um eine zweite Taktanforderung von einer ersten Hardwarekomponente über einen dritten Kanal zu empfangen und konfiguriert ist, um ein Erzeugen des ersten Taktsignals basierend auf dem ersten Befehl und der zweiten Taktanforderung zu steuern; und der zweite Slave-Takt-Controller (122_2; 213; 313; 413; 513; 615) konfiguriert ist, um eine dritte Taktanforderung von einer zweiten Hardwarekomponente über einen vierten Kanal zu empfangen und konfiguriert ist, um ein Erzeugen des zweiten Taktsignals basierend auf dem zweiten Befehl und der dritten Taktanforderung zu steuern.
  14. Taktverwaltungsschaltung nach Anspruch 10, wobei der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um die erste Taktanforderung zu empfangen, und der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um ein Erzeugen des ersten Taktsignals in Antwort auf wenigstens eines der ersten Taktanforderung und des ersten Befehls zu steuern; und der zweite Slave-Takt-Controller (122_2; 213; 313; 413; 513; 615) konfiguriert ist, um die erste Taktanforderung zu empfangen, und der zweite Slave-Takt-Controller (122_2; 213; 313; 413; 513; 615) konfiguriert ist, um ein Erzeugen des zweiten Taktsignals in Antwort auf wenigstens eines der ersten Taktanforderung und des zweiten Befehls zu steuern.
  15. Ein-Chip-System (100; 200; 300; 400; 500; 600; 700A; 700B; 800; 901; 1100), das Folgendes aufweist: wenigstens eine erste und eine zweite Hardwarekomponente; und eine Taktverwaltungsschaltung, welche konfiguriert ist, um ein Zuführen eines ersten und eines zweiten Takts zu der ersten und zweiten Hardwarekomponenten jeweils zu steuern, wobei die Taktverwaltungsschaltung einen ersten Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) und einen ersten Master-Takt-Controller (121; 211; 311; 411; 511; 611) aufweist, wobei der erste Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um den Betrieb des ersten Slave-Takt-Controllers (122_1; 212; 312; 412; 512; 614) zu steuern, und konfiguriert, um ein Zuführen des ersten Takts zu steuern, und der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um ein Zuführen des zweiten Takts zu steuern.
  16. Ein-Chip-System (100; 200; 300; 400; 500; 600; 700A; 700B; 800; 901; 1100) nach Anspruch 15, wobei die zweite Hardwarekomponente auf einem Kommunikationsweg mit der ersten Hardwarekomponente ist; und der Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um den ersten Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) zu steuern, um den zweiten Takt zuzuführen, bevor der Master-Takt-Controller (121; 211; 311; 411; 511; 611) den ersten Takt zuführt.
  17. Ein-Chip-System (100; 200; 300; 400; 500; 600; 700A; 700B; 800; 901; 1100) nach Anspruch 16, ferner aufweisend: eine dritte Hardwarekomponente; und einen zweiten Slave-Takt-Controller (122_2; 213; 313; 413; 513; 615), welcher konfiguriert ist, um ein Zuführen eines dritten Takts zu der dritten Hardwarekomponente zu steuern; und wobei der erste Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um den Betrieb des ersten Slave-Takt-Controllers (122_1; 212; 312; 412; 512; 614) und des zweiten Slave-Takt-Controllers (122_2; 213; 313; 413; 513; 615) zu steuern.
  18. Ein-Chip-System (100; 200; 300; 400; 500; 600; 700A; 700B; 800; 901; 1100) nach Anspruch 17, wobei die zweite Hardwarekomponente und die dritte Hardwarekomponente auf einem Kommunikationsweg mit der ersten Hardwarekomponente sind; und der Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um den ersten (122_1; 212; 312; 412; 512; 614) und den zweiten (122_2; 213; 313; 413; 513; 615) Slave-Controller zu steuern, um den zweiten und den dritten Takt zuzuführen, bevor der Master-Takt-Controller (121; 211; 311; 411; 511; 611) den ersten Takt zuführt, und um den zweiten und dritten Takt in einer Sequenz basierend auf einer Reihenfolge der zweiten und dritten Hardwarekomponente entlang des Kommunikationswegs zuzuführen.
  19. Ein-Chip-System (100; 200; 300; 400; 500; 600; 700A; 700B; 800; 901; 1100) nach Anspruch 17, wobei der Master-Takt-Controller (121; 211; 311; 411; 511; 611) konfiguriert ist, um einen ersten Befehl zu dem ersten Slave-Controller (122_1; 212; 312; 412; 512; 614) über einen ersten Kanal zu senden, und konfiguriert ist, um einen zweiten Befehl zu dem zweiten Slave-Controller (122_2; 213; 313; 413; 513; 615) über einen zweiten Kanal zu senden.
  20. Verfahren zur Taktverwaltung, das Folgendes aufweist: ein Empfangen einer Taktanforderung; ein Zuführen eines ersten Befehls zu einem ersten Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) über einen ersten Kanal basierend auf einer empfangenen ersten Taktanforderung, wobei der erste Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614) konfiguriert ist, um ein Ausgeben eines ersten Takts basierend auf dem ersten Befehl zu steuern; ein Empfangen einer Bestätigung von dem ersten Slave-Takt-Controller (122_1; 212; 312; 412; 512; 614), wobei die Bestätigung eine Ausgabe des ersten Takts anzeigt; und ein Zuführen eines zweiten Takts basierend auf der Bestätigung.
DE102016109387.4A 2015-05-26 2016-05-23 Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems Pending DE102016109387A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2015-0073091 2015-05-26
KR1020150073091A KR102384347B1 (ko) 2015-05-26 2015-05-26 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법
US15/156,825 US10430372B2 (en) 2015-05-26 2016-05-17 System on chip including clock management unit and method of operating the system on chip
US15/156,825 2016-05-17

Publications (1)

Publication Number Publication Date
DE102016109387A1 true DE102016109387A1 (de) 2016-12-01

Family

ID=57281681

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016109387.4A Pending DE102016109387A1 (de) 2015-05-26 2016-05-23 Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems

Country Status (3)

Country Link
US (1) US11275708B2 (de)
DE (1) DE102016109387A1 (de)
TW (1) TWI750118B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11764834B2 (en) 2022-02-15 2023-09-19 Raytheon Company Device for and method of synchronizing multiple beamforming devices

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022055490A1 (en) * 2020-09-11 2022-03-17 Google Llc Hardware-based save-and-restore controller
KR20230000638A (ko) * 2021-06-25 2023-01-03 한국전자통신연구원 저전력 시스템 온 칩

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150073091A (ko) 2013-12-20 2015-06-30 가부시키가이샤 재팬 디스프레이 유기 전계 발광 표시장치

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW443521U (en) * 1998-02-27 2001-06-23 Twinhead Int Corp Minicomputer capable of being used during the movement
KR100291385B1 (ko) 1999-06-16 2001-05-15 윤종용 반도체 메모리 장치의 클럭 제어신호 및 출력 인에이블 신호 발생회로
US6434704B1 (en) 1999-08-16 2002-08-13 International Business Machines Corporation Methods for improving the efficiency of clock gating within low power clock trees
US6532544B1 (en) 1999-11-08 2003-03-11 International Business Machines Corporation High gain local clock buffer for a mesh clock distribution utilizing a gain enhanced split driver clock buffer
US7013302B2 (en) 2000-12-22 2006-03-14 Nortel Networks Limited Bit field manipulation
US6653859B2 (en) 2001-06-11 2003-11-25 Lsi Logic Corporation Heterogeneous integrated circuit with reconfigurable logic cores
US7107476B2 (en) * 2001-11-21 2006-09-12 Hynix Semiconductor Inc. Memory system using non-distributed command/address clock signals
US7007121B1 (en) 2002-02-27 2006-02-28 Xilinx, Inc. Method and apparatus for synchronized buses
US6583648B1 (en) 2002-03-19 2003-06-24 Intel Corporation Method and apparatus for fine granularity clock gating
US7197680B2 (en) 2003-04-17 2007-03-27 Arm Limited Communication interface for diagnostic circuits of an integrated circuit
US8138972B2 (en) * 2003-09-02 2012-03-20 Csr Technology Inc. Signal processing system for satellite positioning signals
US7353297B2 (en) * 2004-06-08 2008-04-01 Arm Limited Handling of write transactions in a data processing apparatus
KR100694095B1 (ko) 2005-03-05 2007-03-12 삼성전자주식회사 버스 연결 방법 및 장치
US7478286B2 (en) 2005-04-08 2009-01-13 Linear Technology Corporation Circuit and method of detecting and resolving stuck I2C buses
GB0524720D0 (en) 2005-12-05 2006-01-11 Imec Inter Uni Micro Electr Ultra low power ASIP architecture II
US8516172B1 (en) 2007-08-30 2013-08-20 Virident Systems, Inc. Methods for early write termination and power failure with non-volatile memory
US8001411B2 (en) 2007-09-24 2011-08-16 International Business Machines Corporation Generating a local clock domain using dynamic controls
US7743191B1 (en) 2007-12-20 2010-06-22 Pmc-Sierra, Inc. On-chip shared memory based device architecture
JP2010021793A (ja) 2008-07-10 2010-01-28 Toshiba Corp 半導体集積回路装置および消費電力制御方法
US8448001B1 (en) * 2009-03-02 2013-05-21 Marvell International Ltd. System having a first device and second device in which the main power management module is configured to selectively supply a power and clock signal to change the power state of each device independently of the other device
JP5267218B2 (ja) 2009-03-05 2013-08-21 富士通株式会社 クロック供給方法及び情報処理装置
KR20110028056A (ko) * 2009-09-11 2011-03-17 삼성전자주식회사 블루투스 통신 연결 방법 및 시스템
US8301822B2 (en) 2009-09-23 2012-10-30 Sandisk Il Ltd. Multi-protocol storage device bridge
KR20110061189A (ko) * 2009-12-01 2011-06-09 삼성전자주식회사 데이터 프로세싱 시스템에서의 비동기 통합 업사이징 회로
TWI443521B (zh) 2010-03-26 2014-07-01 Nuvoton Technology Corp 匯流排介面、時脈控制裝置,以及時脈頻率控制方法
US9285860B2 (en) 2010-05-03 2016-03-15 Qualcomm Incorporated Apparatus and methods employing variable clock gating hysteresis for a communications port
KR101603287B1 (ko) 2010-05-17 2016-03-14 삼성전자주식회사 시스템 온 칩 및 그것의 동작 방법
US9286257B2 (en) 2011-01-28 2016-03-15 Qualcomm Incorporated Bus clock frequency scaling for a bus interconnect and related devices, systems, and methods
JP5747668B2 (ja) * 2011-06-09 2015-07-15 住友電気工業株式会社 発振回路
KR101842245B1 (ko) * 2011-07-25 2018-03-26 삼성전자주식회사 시스템 온 칩 버스 장치 및 그에 따른 루트 클럭 게이팅 방법
US20130117593A1 (en) 2011-11-07 2013-05-09 Qualcomm Incorporated Low Latency Clock Gating Scheme for Power Reduction in Bus Interconnects
JP2013106166A (ja) 2011-11-14 2013-05-30 Sony Corp クロックゲーティング回路およびバスシステム
US10803970B2 (en) 2011-11-14 2020-10-13 Seagate Technology Llc Solid-state disk manufacturing self test
US9160472B2 (en) * 2012-09-07 2015-10-13 National Instruments Corporation Clock synchronization over a switched fabric
KR101927096B1 (ko) 2012-10-19 2018-12-10 삼성전자주식회사 어플리케이션 프로세서, 이를 구비하는 모바일 기기 및 어플리케이션 프로세서를 위한 클럭 신호 선택 방법
US9489307B2 (en) * 2012-10-24 2016-11-08 Texas Instruments Incorporated Multi domain bridge with auto snoop response
WO2014093862A1 (en) 2012-12-13 2014-06-19 Coherent Logix, Incorporated Reconfiguration of clock generation circuitry
US8989328B2 (en) 2013-03-14 2015-03-24 Qualcomm Incorporated Systems and methods for serial communication
US9471523B2 (en) 2013-09-18 2016-10-18 Infineon Technologies Ag Serial interface systems and methods having multiple modes of serial communication
US9471529B2 (en) 2013-11-26 2016-10-18 SK Hynix Inc. Embedded storage device including a plurality of storage units coupled via relay bus
US9489009B2 (en) 2014-02-20 2016-11-08 Samsung Electronics Co., Ltd. System on chip, bus interface and method of operating the same
US9582441B2 (en) 2014-02-27 2017-02-28 Infineon Technologies Ag Clockless serial slave device
US10013375B2 (en) 2014-08-04 2018-07-03 Samsung Electronics Co., Ltd. System-on-chip including asynchronous interface and driving method thereof
US9582026B2 (en) 2014-09-30 2017-02-28 Samsung Electronics Co., Ltd. System-on-chip to support full handshake and mobile device having the same
US9571341B1 (en) 2014-10-01 2017-02-14 Netspeed Systems Clock gating for system-on-chip elements
KR20160043579A (ko) 2014-10-13 2016-04-22 삼성전자주식회사 반도체 장치의 사용시간 매니징 방법 및 그에 따른 사용시간 매니징 부를 구비한 반도체 장치
US10176012B2 (en) 2014-12-12 2019-01-08 Nxp Usa, Inc. Method and apparatus for implementing deterministic response frame transmission
US9785211B2 (en) 2015-02-13 2017-10-10 Qualcomm Incorporated Independent power collapse methodology
KR20160141585A (ko) 2015-06-01 2016-12-09 삼성전자주식회사 메모리 카드 어댑터
US10241953B2 (en) 2015-08-07 2019-03-26 Qualcomm Incorporated Dynamic data-link selection over common physical interface
US10623240B2 (en) 2016-08-25 2020-04-14 Intel Corporation IoT solution sizing
US10396922B2 (en) 2017-02-07 2019-08-27 Texas Instruments Incorporated Apparatus and mechanism to support multiple time domains in a single soc for time sensitive network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150073091A (ko) 2013-12-20 2015-06-30 가부시키가이샤 재팬 디스프레이 유기 전계 발광 표시장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11764834B2 (en) 2022-02-15 2023-09-19 Raytheon Company Device for and method of synchronizing multiple beamforming devices

Also Published As

Publication number Publication date
US20210073166A1 (en) 2021-03-11
US11275708B2 (en) 2022-03-15
TW201710823A (zh) 2017-03-16
TWI750118B (zh) 2021-12-21

Similar Documents

Publication Publication Date Title
CN106200760B (zh) 时钟管理电路、芯片上系统、时钟管理的方法
DE60223555T2 (de) Verfahren und apparat zur takt- und leistungssteuerung in drahtlosen systemen
DE19580707C2 (de) PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
DE102010054337B4 (de) Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen
DE69032481T2 (de) Buszugriff für Digitalrechnersystem
DE3883532T2 (de) Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus.
DE102005051478B4 (de) Flashdatenspeichervorrichtung
DE112013005104T5 (de) Hochleistungsverdrahtungs-Bitübertragungsschicht
DE2800855A1 (de) Auffrischungssystem fuer direkten speicherzugriff
DE112011103225B4 (de) Schaltkreisvorrichtung, System und Verfahren mit Drosseln einer integrierten Verbindung
DE102015115080A1 (de) Konfigurierbare digitale Schnittstelle für Schaltspannungsregler
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
DE102017110821A1 (de) Halbleitervorrichtung
DE102017110784A1 (de) Halbleitervorrichtung, Halbleitersystem und Verfahren zum Betreiben der Halbleitervorrichtung
DE102015102135A1 (de) Unterbrechbares Exklusivspeichern
DE102016109387A1 (de) Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems
DE102015115581A1 (de) Halbleitervorrichtung
DE102018132807A1 (de) Anwendungsprozessor, elektronischer Fahrzeugprozessor und Berechnungsvorrichtung mit Anwendungsprozessor
DE69802426T2 (de) Taktschema für digitales signalprozessorsystem
DE112013003845B4 (de) Energieeinsparvorrichtung und -verfahren für Speichervorrichtung mit Delay-Locked Loop
DE102008006671B4 (de) Asynchrone Datenübertragung
DE102012112363A1 (de) Verfahren zum Verbreiten einer Mehrzahl von Interrupts, Interrupt-Anforderungssignal-Verbreitungsschaltungen und Ein-Chip-Systeme, welche dieselben aufweisen
DE102017200456A1 (de) Recheneinheit und Betriebsverfahren hierfür
DE102013104703A1 (de) Ein-Chip-System zum Bereitstellen eines Zugriffs auf geteilten Speicher über eine Chip-zu-Chip-Verbindung, Betriebsverfahren desselben und elektronisches System mit demselben

Legal Events

Date Code Title Description
R012 Request for examination validly filed