DE60223555T2 - Verfahren und apparat zur takt- und leistungssteuerung in drahtlosen systemen - Google Patents

Verfahren und apparat zur takt- und leistungssteuerung in drahtlosen systemen Download PDF

Info

Publication number
DE60223555T2
DE60223555T2 DE60223555T DE60223555T DE60223555T2 DE 60223555 T2 DE60223555 T2 DE 60223555T2 DE 60223555 T DE60223555 T DE 60223555T DE 60223555 T DE60223555 T DE 60223555T DE 60223555 T2 DE60223555 T2 DE 60223555T2
Authority
DE
Germany
Prior art keywords
signal
clock
module
processor
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60223555T
Other languages
English (en)
Other versions
DE60223555D1 (de
Inventor
Joern Soerensen
Michael Austin ALLEN
Hitesh Durham ANAND
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23225453&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60223555(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of DE60223555D1 publication Critical patent/DE60223555D1/de
Application granted granted Critical
Publication of DE60223555T2 publication Critical patent/DE60223555T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • 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/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/0802Details of the phase-locked loop the loop being adapted for reducing power consumption
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
    • H03L7/18Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
    • H03L7/183Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between fixed numbers or the frequency divider dividing by a fixed number
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3814Wireless link with a computer system port
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/085Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
    • H03L7/095Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal using a lock detector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S331/00Oscillators
    • Y10S331/02Phase locked loop having lock indicating or detecting means

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Gebiet der drahtlosen Kommunikation und genauer Takt- und Leistungs- bzw. Clock-and-Power-Regelung in drahtlosen Systemen.
  • HINTERGRUND DER ERFINDUNG
  • Mit der rapiden Weiterentwicklung drahtloser Kommunikationssysteme geht häufig die Erzeugung von neuen Standards für die drahtlose Kommunikation einher, mit denen veraltete Standards ersetzt werden. Es braucht jedoch häufig Zeit, um ein neues drahtloses Netzwerk auf der Basis eines neuen Standards über ein großes räumliches Gebiet zu implementieren. Somit ist es häufig erwünscht, über ein drahtloses Endgerät zu verfügen, das mit vorhandenen drahtlosen Netzwerken ebenso wie mit neuen drahtlosen Netzwerken kommunizieren kann. Wegen des rapiden Wachstums der drahtlosen Computer-Datennetzwerke ist es außerdem häufig erwünscht, über ein drahtloses Endgerät zu verfügen, das mit diesen Netzwerken kommunizieren kann, damit ein Nutzer im Internet browsen oder E-Mails versenden und empfangen kann. Darüber hinaus kann es nützlich sein, gleichzeitig mit unterschiedlichen drahtlosen Systemen zu kommunizieren, so dass ein Nutzer beispielsweise E-Mails in einen drahtlosen Datennetz durchsehen kann, während er ein Telefongespräch in einem drahtlosen 2G-Netzwerk führt.
  • Solche drahtlosen Systeme verwenden häufig unterschiedliche Zeitbasen. Beispielsweise verwendet das 2G GSM-Netz eine Zeitbasis, wo Rahmen eine Dauer von 4,615 Millisekunden haben und in 8 Zeitschlitze geteilt sind. Jedoch verwendet 3G WCDMA-Netze eine Zeitbasis, wo Rahmen eine Dauer von 10 Millisekunden haben und in 15 Zeitschlitze geteilt sind. Ereignisse im mobilen Endgerät müssen zeitlich exakt festgelegt und mit Bezug auf jedes der drahtlosen Systeme synchronisiert werden, unabhängig davon, ob das mobile Endgerät mit einem drahtlosen System oder gleichzeitig mit zwei oder mehr drahtlosen Systemen operiert.
  • Damit man sie mit sich tragen kann, werden drahtlose Endgeräte in der Regel durch Batterien mit Leistung bzw. Energie versorgt, wobei das Wiederaufladungsintervall eine Umkehrfunktion des Stromverbrauchs ist. Da der Nutzer im Stande sein soll, das drahtlose Endgerät bis zur nächsten Wiederaufladung so lange wie möglich zu betreiben, ist das Energie- bzw. Power-Management ein wichtiger Gesichtspunkt.
  • EP 0939495 A1 beschreibt Energiesparverfahren für tragbare elektronische Geräte. 2 zeigt ein tragbares Funkkommunikationsgerät, das ein Basisband IC 109, ein Power-Management IC 121, einen 13 MHz-Oszillator 106 und einen 32 kHz-Oszillator 134 aufweist. Der Oszillator 106 versorgt den Prozessor 109, aber nicht den Prozessor 121. Der Prozessor 121 benötigt den 32 kHz-Taktgeber immer, um das Power-Management durchführen zu können. US 5,592,173 offenbart einen GPS-Empfänger mit einem Normalbetriebsmodus, um GPS-Satellitensignale zu verarbeiten, und mit einem Standby-Modus mit niedrigem Energieverbrauch. Im Standby-Modus ist die Betriebsleistung in der GPS-Antenne und im GPS-Frequenz-Abwärtsumsetzer blockiert, der Systemtaktgeber im Digitalverarbeitungssystem ist blockiert, und der Mikrorechner-Taktgeber im Mikroprozessorsystem ist blockiert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einem ersten Aspekt der Erfindung wird ein Basisbandprozessor für drahtlose Anwendungen geschaffen, der aufweist:
    ein erstes Modul, das ein erstes Taktsignal benötigt, das von einem Systemoszillator abgeleitet wird, wobei das erste Modul ein erstes Indikatorsignal liefert;
    ein zweites Modul, das ein zweites Taktsignal benötigt, wobei das zweite Modul
    ein zweites Indikatorsignal liefert; und
    eine Power-Management-Schaltung;
    dadurch gekennzeichnet, dass
    das erste Indikatorsignal einen erstes Zustand aufweist, der anzeigt, dass das erste Taktsignal benötigt wird, und einen zweiten Zustand, der anzeigt, dass das erste Taktsignal nicht benötigt wird;
    das zweite Taktsignal einen ersten Zustand aufweist, der anzeigt, dass das zweite Taktsignal benötigt wird, und einen zweiten Zustand, der anzeigt, dass das zweite Taktsignal nicht benötigt wird;
    die Power-Management-Schaltung spricht auf die ersten und zweiten Indikatorsignale an, um den Systemoszillator zu deaktivieren, wenn das erste Indikatorsignal den zweiten Zustand aufweist und das zweite Indikatorsignal den zweiten Zustand aufweist; und
    die Power-Management-Schaltung spricht auf ein Aktivierungssignal an, tun den Systemoszillator zu aktivieren.
  • Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren geschaffen, das den Betrieb eines Digitalbasisband-Prozessors betrifft. Das Verfahren umfasst den Empfang eines ersten Indikatorsignals von einem ersten Modul, das ein erstes Taktsignal benötigt, das von einem Systemoszillator abgeleitet ist, wobei das erste Indikatorsignal einen ersten Zustand aufweist, der anzeigt, dass das erste Taktsignal benötigt wird, und einen zweiten Zustand, der anzeigt, dass das erste Taktsignal nicht benötigt wird; den Empfang eines zweiten Indikatorsignals von einem zweiten Modul, das ein zweites Taktsignal benötigt, das vom Systemoszillator abgeleitet wird, wobei das zweite Indikatorsignal einen ersten Zustand aufweist, der anzeigt, dass das zweite Taktsignal benötigt wird, und einen zweiten Zustand, der anzeigt, dass das zweite Taktsignal nicht benötigt wird, das Inaktivieren des Systemoszillators, wenn das erste Indikatorsignal den zweiten Zustand aufweist und wenn das zweite Indikatorsignal den zweiten Zustand aufweist, und das Aktivieren des Systemoszillators, wenn die Systemoszillatorleistung von mindestens einer Gruppe benötigt wird, welche das erse Modul und das zweite Modul umfasst.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Die Zeichnung:
  • 1 ist ein Blockschema eines Kommunikationsprozessors gemäß einer Ausführungsform der Erfindung;
  • 2 ist ein Blockschema eines Zeit- und Ereignis- bzw. TEP-Prozessors im Kommunikationsprozessor von 1 gemäß einer Ausführungsfom der Erfindung;
  • 3 ist ein Blockschema einer Ablaufsteuerung im TEP-Prozessor von 2 gemäß einer Ausführungsform der Erfindung;
  • 4 ist ein Beispiel für ein Befehlsformat, das zur Verwendung in einer Ablaufsteuerung gemäß einer Ausführungsform der Erfindung geeignet ist;
  • 5 ist eine Skizze, welche die Funktionen des TEP-Prozessors gemäß einer Ausführungsform der Erfindung darstellt;
  • 6 ist ein Blockschema einer Schnittstelle zwischen einem Direktspeicherzugriffs-Controller und dem TEP-Prozessor gemäß einer Ausführungsform der Erfindung;
  • 7 ist ein Blockschema, das ein Beispiel für ein Verfahren für Direktspeicherzugriffs-Transfers mittels des TEP-Prozessors gemäß einer Ausführungsform der Erfindung zeigt;
  • 8 ist ein Blockschema einer Schnittstelle eines externen Busses mit dem TEP-Prozessor gemäß einer Ausführungsform der Erfindung;
  • 9A ist ein Blockschema eines Beispiels für einen Bruch-N-Taktteiler gemäß einer Ausführungsform der Erfindung;
  • 9B ist ein Schema, das eine kalibierte Takt- und Phasenkompensation zeigt, die vom Bruch-N-Taktteiler gemäß einer Ausführungsform der Erfindung erzeugt wird;
  • 10 ist ein Blockschema eines Absolutzählers und von konfigurierbaren Periodic-Trigger-Generatoren gemäß einer Ausführungsform der Erfindung;
  • 11A ist ein Blockschema einer Snapshot-Zustandsmaschine gemäß einer Ausführungsform der Erfindung;
  • 11B ist ein Ablaufschema des Betriebs der Snapshot-Zustandsmaschine von 11A gemäß einer Ausführungsform der Erfindung;
  • 12 ist ein Blockschema eines Clock-and-Power-Regelungsmoduls im TEP-Prozessor von 2 gemäß einer Ausführungsform der Erfindung;
  • 13A ist ein Schema eines Takterzeugungsmoduls gemäß einer Ausführungsform der Erfindung;
  • 13B ist ein Schema eines Taktverteilungsmoduls gemäß einer Ausführungsform der Erfindung;
  • 14A ist ein schema eines Taktgattermoduls gemäß einer Ausführungsform der Erfindung;
  • 14B ist eine Tabelle, die den Inhalt der Register von 14A zeigt, gemäß einer Ausführungsform der Erfindung; und
  • 15 ist ein Blockschema, das Oszillatorausschaltanforderungen gemäß einer einer Ausführungsform der Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ein drahtloses Endgerät kann eine Funkeinheit, einen Digitalbasisband-Prozessor, eine Nutzerschnittstelle und eine Batterie einschließen. Der Basisbandprozessor kann einen Digitalsignalprozessor zum Ausführen von Signalverarbeitungsalgorithmen und anderen komplexen Berechnungen und einen Mikrocontroller zur Ausführung von Steuerfunktionen und relativ einfachen Berechnungen einschließen. Viele der Aufgaben, die von Basisbandprozessoren in drahtlosen Endgeräten ausgeführt werden, erfordern eine präzise Zeitsteuerung. Beispielsweise werden in einem drahtlosen Kommunikationsnetz Aktionen in einem drahtlosen Kanal zeitlich so geplant, dass sie mit einer festgelegten Präzision zu bestimmten Zeiten stattfinden. Ein eigener Zeitsteuerungs- und Ereignisprozessor (TEP) kann verwendet werden, um eine solche Zeitsteuerungspräzision zu erreichen. Beispielsweise kann der TEP dafür zuständig sein, Zeitsteuerungssignale zu erzeugen, Ereignisse zeitlich zu planen, Unterbrechungssignale bzw. Interrupts für Prozessoren zu erzeugen, Operationen in anderen Modulen zu initiieren und Steuersignale für Off-Chip-Schaltungen, wie die Funkeinheit, zu erzeugen. Der TEP kann mit dem Digitalsignalprozessor, dem Mikrocontroller und anderen Komponenten des Basisbandprozessors zusammenarbeiten, um alle Zeitsteuerungen und Ereignisse im drahtlosen Endgerät zu steuern.
  • Manchmal ist es gewünscht, mit mehreren unterschiedlichen drahtlosen Systemen gleichzeitig zu kommunizieren. Beispielsweise kann der Kommunikationsprozessor mit einem drahtlosen Datennetz, wie einem Bluetooth-Netz, kommunizieren, um ein E-Mail-Konto eines Nutzers nach neuen E-Mails zu durchsuchen, während er gleichzeitig den Paging-Kanal eines drahtlosen CDMA-Netzes nach neuen Sprachtelefonanrufen durchsucht. Häufig verwenden die unterschiedlichen drahtlosen Systeme, mit denen der Prozessor kommuniziert, verschiedene Zeitbasen. Der TEP kann Ereignisse für drahtlose Systeme zeitlich planen, indem er einen gemeinsamen Bezugstakt als Zeitbasis zum zeitlichen Planen von Ereignissen für eines der drahtlosen Systeme, mit denen der Kommunikationsprozessor kommuniziert, verwendet.
  • Ein Blockschema eines Basisband-Kommunikationsprozessors 100 gemäß einer Ausführungsform der Erfindung ist in 1 dargestellt. Der in 1 dargestellte Prozessor weist zwei Processing-Cores auf. Ein Digitalsignalprozessor (DSP)-Core 102 kann verwendet werden, um Digitalsignalverarbeitungsfunktionen des Kommunikationsprozessors 100 durchzuführen, wie Verarbeitungen, die mit Zellsuche, Signalkorrelation und Kanal-Codierung und -Decodierung zusammenhängen. Viele andere Signalverarbeitungsfunktionen können vom DSP-Core 102 durchgeführt werden. Ein Beispiel für einen DSP-Core, der sich zur Verwendung in der vorliegenden Erfindung eignet, ist in der PCT-Veröffentlichung Nr. WO 00/687783 , veröffentlicht am 16. November 2000, offenbart. Es sei jedoch darauf hingewiesen, dass viele andere Arten von Digitalsignalprozessoren verwendet werden können, und dass die Erfindung nicht auf irgendeinen bestimmten Digitalsignalprozessor beschränkt ist. Ein Processing-Core einer Mikrocontroller-Einheit (MCU) 104 kann verwendet werden, um einen Steuer-Code für den Kommunikationsprozessor 100 auszuführen, beispielsweise Protokollstapelanweisungen. Ein Beispiel für eine im Handel erhältliche MCU, die sich zur Verwendung in der vorliegenden Erfindung eignet, ist der ARM/TDMI-Core, verkauft von Advanced RISC Machines, Ltd. Es sei jedoch darauf hingewiesen, dass viele andere Arten von Mikrocontrollern verwendet werden können, und die Erfindung ist nicht auf einen bestimmten Mikrocontroller beschränkt.
  • Der Kommunikationsprozessor 100 schließt auch einen Systemspeicher 106 ein. Der Systemspeicher 106 kann ein statischer Speicher mit wahlfreiem Zugriff (static random access memory, SRAM) oder jede andere Art von flüchtigem oder nichtflüchtigem Speicher sein, wie ein dynamischer Speicher mit wahlfreiem Zugriff (DRAM), ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM) oder ein ferroelektrischer Speicher mit wahlfreiem Zugriff (FRAM). Der DSP-Core 102 und die MCU 104 verwenden ein gemeinsames Speicherkennfeld. Daher können sich diese Prozessoren einen Zugriff auf den Systemspeicher 106 teilen und können über den Systemspeicher 106 miteinander kommunizieren.
  • Jede der in 1 dargestellten Komponenten kann als einzelne integrierte Schaltung oder als mehrere integrierte Schaltungen implementiert werden. In einigen Ausführungsformen wird der gesamte Kommunikationsprozessor 100 auf einem einzigen Chip gefertigt. Es sei klargestellt, dass die Erfindung in dieser Hinsicht nicht beschränkt ist.
  • Direktspeicherzugriffs-(DMA-)Controller 134 und 136 sind vorgesehen, um die Datenübertragung im Kommunikationsprozessor 100 zu erleichtern. Die DMA-Controller 134 und 136 ermöglichen eine direkte Speicherübertragung zwischen Geräten und Speicher (z. B. dem Systemspeicher 106) ohne eine Intervention des Prozessors. Den Geräten können DMA-Kanäle zugeordnet sein, damit diese Geräte DMA-Übertragungen bzw. -Transfers anfordern können. Die Konfiguration der Kanäle kann vom DSP-Core 102 und der MCU 104 bestimmt werden. Obwohl beide Prozessoren auf jeden DMA-Kanal zugreifen können, kann die Kanalkonfiguration für eine Gruppe von Kanälen vom DSP-Core 102 gesteuert werden und die Kanalkonfiguration für die andere Gruppe von Kanälen kann vom MCU-Core 104 gesteuert werden. Ebenso kann der DMA-Controller 134 DMA-Transfers für Kanäle steuern, die vom DSP-Core 102 konfiguriert werden, während der DMA-Controller 136 DMA-Transfers für Kanäle steuern kann, die von der MCU 104 gesteuert werden.
  • Der DSP-Core 102 kann einen Level 1 (L1)-Befehls-Cache 144 und einen L1-Daten-Cache 146 aufweisen, um für eine geringe Latenz beim Zugriff auf im Cache gespeicherte Daten zu sorgen. Der DSP-Core 102 kann zwei Datenbusse aufweisen, die mit dem L1-Daten-Cache 146 verbunden sind, einen Befehlsbus, der mit dem L1-Befehls-Cache 144 verbunden ist, und einen DMA-Bus, der mit den Caches 144 und 146 verbunden ist. Ein Level 2 (L2)-Speicher 148 kann als SRAM zur Verwendung durch den DSP-Core 102 gewidmet sein. Der Speicher 148 kann vom DMA-Controller 134 aus zugänglich sein. Auf den Speicher 148 kann auch von der MCU 104, dem DMA-Controller 136 und der Verarbeitungsschnittstelle für externe Anwendungen (External Application Processing Interface, EAPI) 142 zugegriffen werden.
  • Eine Systembus-Schnittstelleneinheit (System Bus Interface Unit, SBIU) 132 führt Verbrückungsfunktionen aus. Beispielsweise kann die SBIU 132 als asymmetrischer Kreuzschienenschalter dienen, der Anfragen vom DSP-Core 102, vom DMA-Controller 134, von der MCU 104, vom DMA-Controller 136 und von der EAPI 142 zu geeigneten Systemressourcen, wie einem L1-Cache 144, einem L1-Cache 146, einem L2-Speicher 148 und anderen Systemressourcen, routet. Die SBIU 132 ermöglicht einen parallelen und gleichzeitigen Datentransfer zwischen verschiedenen Bussen.
  • Mensch/Maschinen-Schnittstellen-(Man-Machine Interface, MMI-)Module 150 sorgen für Hardware-Nutzer-Schnittstellen mit dem Kommunikationsprozessor 100 und sind über den PBUS-Bus 128 zugänglich. Die Module der MMI 150 können eine Schnittstelle mit Mehrzweck- bzw. General-Purpose-I/O (GPIO)-Anschlussstiften des Kommunikationsprozessors 100 aufweisen. Solche Anschlussstifte können für verschiedene Zwecke verwendet werden, einschließlich der Schnittstellenbildung mit einer Funkeinheit und anderen externen Geräten. Andere MMI-Module können eine Schnittstelle für einen Anzeigebildschirm, eine Schnittstelle für einen seriellen Port, eine Schnittstelle für einen universellen asynchronen Empfänger/Sender (universal asynchronous receiver transmitter, UART), eine USB-Schnittstelle und ein Teilnehmeridentitätsmodul (subscriber identiy module, SIM) aufweisen, das eine einzigartige Seriennummer des drahtlosen Endgeräts, in das der Kommunikationsprozessor 100 eingebettet ist, enthält. In der MMI 150 können viele andere Schnittstellenmodule enthalten sein.
  • Housekeeping- bzw. Organisationsmodule führen verschiedene Organisationsfunktionen für den Kommunikationsprozessor 152 aus und sind über den PBUS-Bus 128 zugänglich. Solche Funktionen schließen einen Überwachungszeitgeber (WDT), der abläuft und einen Reset erzeugt, wenn es zu gegenseitigen Software-Blockierungen im Kommunikationsprozessor kommt, falls diese nicht in Ordnung gebracht werden, allgemeine Zeitnehmer, die verwendet werden können, um Trigger für eine Mehrzweck-Zeitgeberfunktionalität zu erzeugen, und einen IRQ-Controller, um Interrupts für den DSP-Core 102 und die MCU 104 zu verwalten.
  • Drahtlose Systemmodule 154 sorgen für Schnittstellen mit Komponenten des drahtlosen Systems, die sich außerhalb des Kommunikationsprozessors 100 befinden und auf die über den PBUS-Bus 128 zugegriffen werden kann. Beispielsweise können drahtlose Systemmodule 154 einen CSport, bei dem es sich um eine Steuerungsschnittstelle eines seriellen Ports mit einem analogen Basisband-Chip handelt, und eine Schnittstelle mit einem Frequenzaufbereiter aufweisen.
  • DSP-Peripheriegeräte (ihren verschiedene Digitalsignal-Verarbeitungsfunktionen in Zusammenarbeit mit einem DSP-Core 102 aus und sind über den DPBUS-Bus 110 zugänglich. DSP-Peripheriegeräte können beispielsweise eine Coprozessor-Schnittstelle 162, einen BSport 164, ein Flag I/O 166, eine Hochgeschwindigkeits-Registrierungseinrichtung 168, eine Schlüsselmaschine 170 und einen DSP IRQ-Controller 172 einschließen.
  • Daten können zwischen verschiedenen Komponenten des Kommunikationsprozessors und zwischen dem Kommunikationsprozessor und Off-Chip-Geräten unter Verwendung eines oder mehrerer Busse übertragen werden. Jeder Bus kann ein paralleler oder ein serieller Bus sein. Außerdem kann jeder Bus unidirektional oder bidirektional sein. Darüber hinaus kann jeder Bus einen Adressbus und/oder einen Datenbus und/oder einen Steuerbus einschließen. Die Buskonfiguration des Kommunikationsprozessors 100, der in 1 dargestellt ist, schließt mehrere Bussysteme ein. Die Funktion jedes Bussystems wird nachstehend im Allgemeinen beschrieben. Viele Variationen, Modifikationen und Verbesserungen der Buskonfiguration, die in 1 dargestellt ist, liegen für den Fachmann nahe und sind im Gedanken und Gebiet der Erfindung eingeschlossen.
  • Ein SYSL2-Bus 108 ist zwischen die SBIU 132 und die Schnittstellen mit dem L2-Speicher 148 geschaltet. Der Speicher 144 gehört sowohl zur MCU 104, zum System-DMA-Controller 136 als auch zum DSP 102. Ein DPBUS-Bus 110 ist der periphere DSP-Bus und bildet eine Schnittstelle mit verschiedenen DSP-Peripheriegeräten, wie einem BSPort 164, bei dem es sich um einen seriellen Basisbandport handeln kann, einer Coprozessor-Schnittstelle 162, einem Flag I/O 166, einer Hochgeschwindigkeits-Registriereinrichtung 168, einer Schlüsselmaschine 170 und einem DSP IRQ-Controller 172. Den Zugriff auf den DPBUS-Bus 110 teilen sich die MCU 104, der System-DMA-Controller 136 und der DSP DMA-Controller 134. Der DSP-Core 102 kann auch über die SBIU 132 auf den DPBUS-Bus 110 zugreifen. Ein DSPBUS-Bus 112 ist die Schnittstelle für einen DSP-Core 102 und den PBUS-Bus 128, den Systemspeicher 106 und den EBUS-Bus 100. Ein DABUS 114 dient als DSP DMA-Controller-Schnittstelle mit der SBIU 132. Ein DMABUS-Bus 116 ist die Schnittstelle zwischen dem System-DMA-Controller 136 und Ressourcen am PBUS-Bus 128, am RBUS-Bus 118 und am EBUS-Bus 120. Ein RBUS-Bus 118 ist die Schnittstelle mit dem Systemspeicher 106. Den Zugriff auf den RBUS-Bus 118 teilen sich die MCU 104, der System-DMA-Controller 136, der DSP DMA-Controller 134 und der DSP-Core 102. Ein EBUS-Bus 120 dient als Schnittstelle mit einem FLASH-Speicher und einem SRAM, der sich außerhalb des Kommunikationsprozessors 100 befindet. Ein SBUS-Bus 122 ist der Hauptsystembus für die MCU 104. Ein EAPI-Bus 124 dient als Schnittstelle mit den Ressourcen des Kommunikationsprozessors 100 von einem Anwendungsprozessor, der außerhalb des Kommunikationsprozessors 100 angeordnet ist. Ein EABUS-Bus 140 ist die Schnittstelle zwischen der EAPI 142 und einem Anwendungsprozessor, der sich außerhalb des Kommunikationsprozessors 100 befindet. Es sei darauf hingewiesen, dass es nicht nötig ist, einen externen Anwendungsprozessor vorzusehen. Ein CBUS-Bus 126 ist die Schnittstelle mit einem externen Coprozessor. Der PBUS-Bus 128 ist ein peripherer Bus, der eine Schnittstelle mit drahtlosen Peripheriegeräten 154, Organisationsperipheriegeräten 152 und MMI-Peripheriegeräten 150 mit der MCU 104, dem System-DMA-Controller 136, dem DSP DMA-Controller 134 und dem DSP-Core 102 bildet.
  • Da sich mehrere Komponenten den Zugriff auf einige Busse teilen, beispielsweise den PBUS-Bus 128 und den RBUS-Bus 118, sind Busvermittler 130a, 130b und 130c vorgesehen, um den Zugriff auf diese Busse zu verwalten.
  • Der Kommunikationsprozessor 100 weist einen TEP-Prozessor 138 auf, der verwendet werden kann, um Ereignisse für den Kommunikationsprozessor 100 zeitlich zu planen. Solche Ereignisse können beispielsweise das Verbinden und Trennen von I/O-Pins, die Erzeugung von Interrupts für den DSP-Core 102 und die MCU 104 und die Initiierung von DMA-Speicherübertragungen zwischen TEP 138 und anderen Modulen des Kommunikationsprozessors 100 einschließen. Der TEP 138 wird mit anderen Modulen des Kommunikationsprozessors 10 über einen DPBUS-Bus 110 verbunden und ist auch mit einem DSP-DMA-Controller 134 und einem DSP IRQ-Controller 172 verbunden.
  • Im TEP 138 werden unterschiedliche drahtlose Systemzeitbasen in eine unifizierte Zeitbasis umgewandelt, die nicht spezifisch für irgendein drahtloses System ist. Ereignisse werden zeitlich anhand der unifizierten Zeitbasis als Trigger auf einen Absolutzeitpunkt geplant. Der TEP 138 erzeugt einen kalibrierten langsamen Takt als Bezug für die unifizierte Zeitbasis, indem er einen schnellen freilaufenden Hochpräzisionstakt als Kalibrierungsbezug nutzt, um eine Langzeitstabilität des kalibrierten langsamen Taktes zu erhalten. Der kalibrierte langsame Takt, der als Takt für die unifizierte Zeitbasis verwendet wird, wird durch Herausnehmen von Taktimpulsen ais einem freilaufenden langsamen Takt erhalten. Dies führt einen Phasenfehler ein, der kompensiert wird, um präzise Zeitsteuerungssignale zu erhalten. Eine Phasenkompensation wird für jeden Taktzyklus des freilaufenden langsamen Taktes berechnet. Die Phasenkompensation wird als Zahl der Taktzyklen des freilaufenden schnellen Taktes ausgedrückt und wird, zusammen mit dem kalibrierten langsamen Takt, verwendet, um eine exakte Zeitsteuerung zu liefern. Ein Merkmal ist, dass der Phasenkompensations wert auch beibehalten wird, obwohl der schnelle Takt ausgeschaltet wird. Diese Merkmale werden nachstehend ausführlich erläutert.
  • 5 ist eine schematische Darstellung von Beispielen der Funktionen des TEP 138. Der TEP 138 kann GPIO-Pins bzw. -Anschlussstifte verbinden und trennen, um Schnittstellen mit externen Geräten zu steuern. Der TEP 138 kann auch mit dem System-DMA-Controller 136 und dem DSP DMA-Controller 134 kommunizieren, um DMA-Kanäle zu aktivieren. Unter Verwendung eines gewidmeten DMA-Kanals 516 kann der TEP 138 auch aus einem beliebigen Speicherabbildungsort lesen und in diesen schreiben, wodurch der TEP 138 mit anderen Modulen, wie beispielsweise einem drahtlosen System 154, kommunizieren kann, um den Frequenzaufbereiter unter Verwendung der Frequenzaufbereiter-Schnittstelle 154a zu programmieren. Der TEP 138 kann eine Schnittstelle mit den DSP- und MCU IRQ-Controllers 506 bilden, um Interrupts für jeden Processing-Core zu erzeugen, wodurch die Processing-Cores in der Lage sind, den Leerlauf- bzw. Ruhezustand einzunehmen, wenn sie nicht gebraucht werden, und den Ruhezustand zu verlassen, wenn nötig, indem sie Interrupts vom TEP 138 empfangen. Alle TEP-Funktionen können präzise zeitlich gesteuert und geplant werden wie nachstehend beschrieben.
  • 2 ist ein Blockschema eines Beispiels für eine TEP-Architektur 138 gemäß einer Ausführungsform der Erfindung. Der TEP 138 kann als Zeitsteuerungs- und Laufzeitzuweisungsmechanismus für den Kommunikationsprozessor 100 dienen. Im Betrieb eines drahtlosen Systems finden alle Funksteuerungsereignisse zu geplanten Zeiten statt und erfordern eine exakte Zeitsteuerung. Zu bestimmten Zeiten während des Betriebs des Kommunikationsprozessors 100, insbesondere bei einer drahtlosen Kommunikationsanwendung, kann es sein, dass weder die MCU 104 noch der DSP-Core 102 irgendwelche Verarbeitungsfunktionen durchführen müssen und in einen Leerlauf- oder „Schlaf"-Modus eingehen. In diesem Modus müssen die Processing-Cores nicht mehr getaktet werden, wodurch die Oszillatoren ausgeschaltet werden können. Der Kommunikationsprozessor 100 kann in ein drahtloses Endgerät eingebettet sein und durch eine Batterie mit Leistung versorgt werden. Die Energieeinsparung durch den Ruhezustand von Prozessoren oder das Ausschalten von Oszillatoren, wenn diese nicht gebraucht werden, kann die Zeit bis zum nächsten Wiederaufladen der Batterie verlängern. Bevor die Processing-Cores in den Ruhezustand gehen, können sie jedoch dem TEP 138 einen Zeitpunkt mitteilen, zu dem sie erneut gestartet werden müssen.
  • Der TEP 138 kann eine Vielzahl von Folgesteuereinrichtungen 202a202n aufweisen, die im Allgemeinen dazu dienen, Befehle, die vom TEP 138 genutzt werden, um zeitspezifische Aktionen durchzuführen, auszuführen. Der TEP 138 weist auch einen Speicher 206 auf, bei dem es sich beispielsweise um einen statischen RAM (SRAM) handeln kann. Die Folgesteuereinrichtungen 202a202n können den Speicher 206 nutzen, um Codes und Daten zu speichern. Ein Speicherzugriffsresolver 208 verarbeitet ankommende Speicherzugriffsanfragen von den Folgesteuereinrichtungen 202a202n und dem DPBUS-Bus 110. Ein DPBUS-Bus-Schnittstellenmodul 210 sorgt für Verbrückungen zwischen dem Systemtaktgeber und den DPBUS-Bus-Taktdomänen innerhalb des TEP 138. Das DPBUS-Bus-Schnittstellenmodul 210 wird nachstehend ausführlicher beschrieben. Der TEP 138 weist ferner einen Taktkalibrierungsblock 212 auf, der zur Taktkalibrierung der unifizierten Zeitbasis im TEP verwendet werden kann. Der Taktkalibrierungsblock 212 ist nachstehend ausführlicher erläutert. Der TEP 138 kann auch einen Absolutzähler 214 aufweisen, der von den Folgesteuereinrichtungen 202a202n für Zeitsteuerungszwecke genutzt werden kann. Der Absolutzähler 214 ist nachstehend ausführlicher beschrieben. Der TEP 138 kann einen Absolutzähler 214 zum Auflösen von miteinander in Konflikt stehenden Signalen, die von den Folgesteuereinrichtungen 202a202n empfangen werden, aufweisen. Ein I/O-Konfliktresolver 204 ist nachstehend ausführlicher beschrieben. Ein Takt- und Leistungssteuerungsblock 216, der nachstehend ausführlicher erörtert wird, wird verwendet, um den Systemtaktgeber abzuschalten, wenn möglich.
  • Die Folgesteuereinrichtungen 202a202n können Prozessoren sein, wie RISC-Prozessoren, mit einem eigenen Befehlssatz und können für eine Zeitsteuerung mehrerer drahtloser Systeme gleichzeitig sorgen. Das heißt, die Folgesteuereinrichtungen 202a202n können Signale erzeugen, um GPIO-Pins zu verbinden oder zu trennen, Signal- DMA-Controller, und um Interrupts für den DSP-Core 102 und die MCU 104 zu erzeugen. Eine Folgesteuereinrichtung kann vorgesehen sein, um Befehle für jedes drahtlose System auszuführen, das gleichzeitig mit anderen ausgeführt werden soll. Eine verbesserte Leistung kann dadurch erhalten werden, dass man zwei oder mehr Folgesteuereinrichtungen für jedes drahtlose System vorsieht. Beispielsweise könne in einer Ausführungsform der Erfindung zwei Folgesteuereinrichtungen für jedes drahtlose System vorgesehen sein, das gleichzeitig mit anderen unterstützt werden soll. Bei dieser Konfiguration kann eine Folgesteuereinrichtung Befehle ausführen, während die andere Folgesteuereinrichtung mit Befehlen beladen wird. Es sei klargestellt, dass eine einzelne Folgesteuereinrichtung in der Lage ist, mehrere drahtlose Systeme zu unterstützen. Eine einzelne Folgesteuereinrichtung kann mit Befehlen beladen werden, die sich auf zwei unterschiedliche drahtlose Systeme beziehen. Eine echte Gleichzeitigkeit kann jedoch mittels einer einzigen Folgesteuereinrichtung nicht erzielt werden, da eine Ausführungszeit für einen Befehl, der sich auf das erste drahtlose System bezieht, sich mit einer Ausführungszeit für einen anderen Befehl, der sich auf das zweite drahtlose System bezieht, überschneiden kann. Da diese Befehle in einer Sequenz durch eine einzige Folgesteuereinrichtung ausgeführt werden, können sie nicht gleichzeitig ausgeführt werden. Es sei jedoch klargestellt, dass es nicht notwendig ist, zwei Folgesteuereinrichtungen für jedes drahtlose System zu verwenden. Es kann eine Folgesteuereinrichtung pro drahtlosem System verwendet werden, oder es können drei oder mehr Folgesteuereinrichtungen für jedes drahtlose System verwendet werden. Eine zusätzliche Folgesteuereinrichtung, die nicht auf die Verarbeitung drahtloser Systeme bezogen ist, kann verwendet werden, um für eine Mehrzweckzeitsteuerung zu sorgen. Beispielsweise kann die zusätzliche Folgesteuereinrichtung verwendet werden, um Zeitsteuerungsereignisse zu planen, die mit dem Aktualisieren eines Taktgebers am Anzeigebildschirm des drahtlosen Endgeräts in Zusammenhang stehen. In einigen Ausführungsformen weist der TEP 138 zwei Folgesteuereinrichtungen für jedes drahtlose System auf, das gleichzeitig mit anderen unterstützt werden soll, sowie eine zusätzliche Folgesteuereinrichtung.
  • Durch die Verwendung von mehreren Folgesteuereinrichtungen kann der Kommunikationsprozessor 100 gleichzeitig mit mehreren verschiedenen drahtlosen Systemen kommunizieren. Beispielsweise kann ein drahtloses Endgerät den Paging-Kanal eines GSM-Netzes überwachen, während es gleichzeitig Daten von einem drahtlosen LAN, einem Bluetooth-Netz oder einem anderen 802.11b-Netz empfängt. Ebenso kann ein drahtloses Endgerät mit einem Kommunikationsprozessor mit mehreren Folgesteuereinrichtungen beim Starten gleichzeitig Zellsuchen sowohl für ein 2G GSM-Netz als auch ein 3G WCDMA-Netz durchführen.
  • Wie oben angegeben, kann TEP 138 GPIO-Pins verbinden und trennen, DMA-Kanäle aktivieren, Interrupts erzeugen und eine Taktkalibrierung durchführen. Jedoch können zwei oder mehr Folgesteuereinrichtungen miteinander in Konflikt stehende Signale ausgeben. Beispielsweise kann eine Folgesteuereinrichtung ein gesetztes Signal für einen bestimmten I/O-Stift ausgeben, während eine andere Folgesteuereinrichtung gleichzeitig ein Löschsignal für den gleichen Pin ausgeben kann. Der I/O-Konfliktresolver 204, der in 2 dargestellt ist, verwaltet solche Konflikte. Eine Regel kann beispielsweise sein, dass jedes Trennsignal Vorrang vor einem Verbindungssignal hat. Eine Ausnahme kann erzeugt werden, um den Software-Prozess von dem Konflikt in Kenntnis zu setzen, und ein Interrupt kann an den Processing-Core gesendet werden. Für Interrupts und DMA-Kanalaktivierungen können miteinander in Konflikt stehende Signale einfach miteinander kombiniert werden, beispielsweise mittels einer logischen ODER-Operation.
  • Der in 2 dargestellte Speicher 206 kann über die DPBUS-Schnittstelle 210, die eine Schnittstelle mit dem DPBUS-Bus 110 bildet, zugänglich sein. Gemäß einer Ausführungsform der Erfindung ist der Speicher 206 26 Bits breit und weist mehrere Ports auf, um einen gleichzeitigen Zugriff durch die Folgesteuereinrichtungen 202a202n und den DPBUS-Bus 110 zu ermöglichen. Die Zahl der Lese- und Schreib-Ports, die für den Speicher 206 vorgesehen sind, kann auf der Basis der Zahl der Folgesteuereinrichtungen im TEP 138 gewählt werden. Beispielsweise können ein Lese-Port und ein Schreib-Port für jede Folgesteuereinrichtung vorgesehen sein. Jedoch verbraucht eine große Zahl von Ports Platz auf dem Chip und kann eine erhöhte Zahl von Befehls-Decodern benötigen. Alternativ dazu kann ein Befehls-Decoder für jede Folgesteuereinrichtung vorgesehen sein. Außerdem ist es nicht wahrscheinlich, dass alle Folgesteuereinrichtungen einen Speicherzugriff innerhalb des gleichen Taktzyklus erfordern. Daher kann die Zahl der Lese-Ports für den Speicher 206 auf der Basis der Zahl der drahtlosen Systeme, die gleichzeitig unterstützt werden, gewählt werden. Beispielsweise kann ein Lese-Port für jedes unterstützte drahtlose System vorgesehen sein. Da Schreibzugriffe seltener stattfinden als Lesezugriffe, könnten weniger Schreib-Ports als Lese-Ports vorgesehen sein. Die Zahl der Ports für den Speicher 206 kann auf der Basis beliebiger Kriterien ausgewählt werden, und die Erfindung ist nicht auf irgendeine bestimmte Zahl von Ports für den Speicher 206 beschränkt.
  • Wie oben angegeben, verarbeitet der Speicherzugriffs-Resolver 208 eingehende Zugriffsanfragen an den Speicher 206 von den Folgesteuereinrichtungen 202a202n und vom DPBUS-Bus 110. Der Speicherzugriffs-Resolver 208 verwaltet auch Konflikte, beispielsweise im Falle von mehr Zugriffsanfragen als Lese-Ports. Der Speicherzugriffs-Resolver 208 kann solche Situationen durch Priorisieren von Anfragen beispielsweise aufgrund eines Round-Robin-Schemas bewältigen. In einem solchen Round-Robin-Schema kann ein Shift-Back-Register verwendet werden, um die Priorität zu bestimmen. In einer Ausführungsform wird das Register verschoben, wenn ein Konflikt um einen Speicherzugriff eintritt. In einer anderen Ausführungsform kann das Shift-Back-Register jedes Mal verschoben werden, wenn irgendeine Folgesteuereinrichtung einen Speicherzugriff durchführt. Es sei jedoch klargestellt, dass viele andere Verfahren zur Verwaltung von Anfragekonflikten angewendet werden können.
  • Das DPBUS-Bus-Schnittstellenmodul 210 sorgt für Verbrückungen zwischen dem Systemtaktgeber und den Taktgeberdomänen des DPBUS-Busses innerhalb des TEP 138. Das DPBUS-Bus-Schnittstellenmodul 210 verwaltet auch die 16/32-Bit-Schnittstellenbildung zwischen dem DPBUS-Bus 110 und dem internen TEP-Bus.
  • Ein Blockschema des DPBUS-Bus-Schnittstellenmoduls 210 gemäß einer Ausführungsform der Erfindung ist in 8 dargestellt. Wie oben angegeben, führt die DPBUS-Bus-Schnittstelle 210 Intertaktsynchronisationen zwischen dem DPBUS-Bus-Takt und dem Systemtakt aus. Jede Taktdomäne kann unter Verwendung von Abstimmungszeichen für die Intersynchronisation separat gesteuert werden. Die DPBUS-Protokoll-FSM 802 verwaltet die Abstimmungssignale für den DPBUS. Die TEP-Zugriffs-FSM 804 verwaltet die Abstimmungssignale für den internen TEP-Bus.
  • 3 ist ein Blockschema, das ein Beispiel für eine Architektur der Folgesteuereinrichtung 202a gemäß einer Ausführungsform der Erfindung erläutert. Die Folgesteuereinrichtung 202a kann eine Vektorprozessor sein, der Abrufungs-, Decodierungs- und Ausführungsstufen aufweist. Ein Befehlsdecoder 328 decodiert Befehle, die von einem Multiplexer 342 empfangen werden. Die Befehle werden aus dem Speicher 206 des TEP 138 abgerufen. Folgesteuereinrichtungsbefehle können unter der Steuerung des DSP-Cores und der MCU 104 in den Speicher 206 geladen werden. Der Multiplexer 342 kann Daten, die mit Befehlen im Zusammenhang stehen, in ein Register 326 lenken. Die im Register 326 gespeicherten Daten können Daten sein, die in einer Schreib- oder Modifizierungsoperation geschrieben werden sollen, oder es können Daten sein, die in einer Leseoperation abgefragt werden. Die Folgesteuereinrichtung 202a kann ferner ein DMA-Steuermodul 348 zur Schnittstellenbildung mit einem DMA-Controller 134 und einem DMA-Controller 136 aufweisen. Die Folgesteuereinrichtung 202a kann eine Vielzahl von DMA-Registern (z. B. 302, 304, 306, 308, 310) aufweisen, die verwendet werden, um DMA-Kanäle zu konfigurieren. Die Folgesteuereinrichtung 202a kann ein Takt-Frequenzteilermodul 346 aufweisen, das verwendet wird, um einen Zeitimpuls zu erzeugen, um einen Delta-Zeitmesser 336 zu inkrementieren. Ein Folgesteuereinrichtungs-Steuermodul 348 verwaltet den gesamten Betrieb der Folgesteuereinrichtung und wird nachstehend ausführlicher erörtert.
  • 4 stellt ein Beispiel für ein Befehlsformat dar, das von den Folgesteuereinrichtungen 202a202n ausgeführt werden kann. Der Befehl 400 beinhaltet ein Sechsbit-Opcode-Feld 402, welches den Befehlstyp identifiziert. Ein Vierbit-Datenfeld 404 kann Daten beinhalten, die benötigt werden, um den Befehl zu verarbeiten. Beispielsweise kann ein Befehl, einen Mehrzweck-I/O (GPIO)-Pin zu verbinden, ein Datenfeld beinhalten, das einen zu verbindenden GPIO-Pin identifiziert. Ein erweitertes Feld 406 kann optional als Achtbit-Erweiterung des Datenfelds 404 verwendet werden. Wenn die Daten im Zusammenhang mit der Erweiterung für das Vierbit-Datenfeld zu groß sind, kann das Erweiterungsfeld 406 verwendet werden, um den Überlauf aufzunehmen. Ein Deltazeitfeld 408 kann verwendet werden, um eine Verzögerungszeit vor der Ausführung des Befehls anzuzeigen. Das Deltazeitfeld 408 kann eine Wartezeit nach der Ausführung des vorhergehenden Befehls und vor der Ausführung des aktuellen Befehls (d. h. des Befehls 400) anzeigen.
  • Nachdem ein Befehl vom Befehlsdecoder 328 decodiert wurde, kann der in 3 dargestellte Deltazeitgeber 336 verwendet werden, um die Wartezeit, die im Deltazeitfeld des Befehls angezeigt ist, festzulegen. Wenn die Verzögerungszeit die Zeit im Deltazeitnehmer 336 erreicht, kann der Befehl von der Ausführungseinheit 330 ausgeführt werden. Die Ausführung von Befehlen auf der Basis von Deltazeiten kann es den Folgesteuereinrichtungen ermöglichen, zeitabhängige Funktionen auszuführen, d. h. Funktionen, die zeitlich so geplant sind, dass sie zu bestimmten Zeiten stattfinden. Die Folgesteuereinrichtungen können beispielsweise zeitlich gesteuerte Interrupts für die Processing-Cores 102 und 104 (1) erzeugen, damit die Prozessoren in den Ruhezustand gehen können, wenn sie nicht verwendet werden, und sie können zeitlich gesteuerte Interrupts erzeugen, um diese Ruhezustände zu geeigneten Zeiten zu verlassen. Folgesteuereinrichtungsbefehle können die Verbindung von Pins zur Steuerung von externen Geräten steuern und können die Funkeinheit ein- oder ausschalten. Folgesteuereinrichtungsbefehle können auch zu festgelegten Zeiten DMA-Kanäle aktivieren.
  • Das in 3 dargestellte Takt-Frequenzteilermodul 346 wird verwendet, um einen Zeitimpuls zum Inkrementieren des Deltazeitnehmers 336 zu erzeugen. Das Taktfrequenzteilermodul 346 führt eine Taktteilung des Systemtakts durch, um den Zeitimpuls zu erzeugen. Um Energie zu sparen, ist es günstig, eine Frequenz zu verwenden, die so niedrig wie möglich ist und die trotzdem eine ausreichende zeitliche Genauigkeit für den Betrieb mit dem drahtlosen System liefert. Da die Taktfrequenz von der Zeitsteuerung des drahtlosen Systems abhängt, kann das Taktfrequenzteilermodul 346 den Systemtakt durch irgendeinen Frequenzteilungswert zwischen zwei und vierundsechzig teilen. Der Frequenzteilungswert kann in einem Register 314 gespeichert werden.
  • Ein Beispiel für einen Folgesteuereinrichtungsbefehl, der gemäß einer Ausführungsform der Erfindung gesetzt wird, ist in Tabelle 1 angegeben.
  • Figure 00210001
  • Figure 00220001
  • Figure 00230001
  • Manchmal kann es nötig sein, zwei oder mehr I/O-Pins gleichzeitig zu verbinden oder zu trennen. Obwohl der Folgesteuereinrichtungs-Befehlssatz Befehle zum Verbinden oder Trennen von I/O-Pins liefern kann, werden solche Befehle nacheinander und nicht gleichzeitig ausgeführt. Um zwei oder mehr Pins gleichzeitig zu verbinden oder zu trennen, können die Verbindungs- und Trennungsbefehle auf ein bestimmtes Signal synchronisiert werden. Wenn beispielsweise Pin GPIOA und Pin GPIOB gleichzeitig verbunden werden müssen, kann eine Folgesteuereinrichtung diese Befehle auf GPSigA synchronisieren. Dann kann die Folgesteuereinrichtung zuerst den Set GPIOA-Befehl ausführen, gefolgt vom Set GPIOB-Befehl. Diese Pins werden eigentlich nicht verbunden, bis ein Toggle GPSigA-Befehl ausgeführt wird, der bewirkt, dass beide Pins gleichzeitig verbunden werden.
  • Ein LongWait-Vergleichsmodul 340 wird verwendet, wenn ein LongWait-Befehl von der Folgesteuereinrichtung ausgeführt wird. Ein LongWait-Befehl kann ausgeführt werden, wenn von der Folgesteuereinrichtung für eine bestimmten Zeitraum keine anschließenden Befehle ausgeführt werden müssen. Ein LongWait-Befehl erlaubt die Ausschaltung des Systemtaktgebers und ermöglicht es der Folgesteuereinrichtung, einen langsamen Takt für die Zeitsteuerung zu verwenden, um dadurch Energie zu sparen.
  • Das LongWait-Vergleichsmodul 340 vergleicht die Wartezeit, die im LongWait-Befehl angezeigt ist, mit dem Wert des Absolutzählers 214 (2), was nachstehend ausführlicher erörtert wird. Die Wartezeit kann ein 24 Bit-Wert sein und somit die Verwendung des Achtbit-Deltazeitfelds, des Achtbit-Erweiterungsfelds, des Vierbit-Datenfelds und von vier Bits des Sechsbit-Opcode-Felds benötigen. Das LongWait-Vergleichsmodul 340 empfängt einen Input von einem 24 Bit-Absolutzähler 214 und vergleicht den Wert mit der 24 Bit-Wartezeit vom LongWait-Befehl. Wenn die Werte übereinstimmen, kann die Folgesteuereinrichtung den nächsten Befehl ausführen. Das LongWait-Vergleichsmodul 340 gibt auch Ruheinformationen aus, die vom Takt- und Leistungssteuerblock 216 des TEP 138 genutzt werden können, um zu bestimmen, ob die Folgesteuereinrichtungen LongWait-Befehle ausführen, so dass der Systemtaktgeber ausgeschaltet werden kann, wenn alle Folgesteuereinrichtungen im Ruhezustand sind.
  • Ein PreAbs32-Register 338 wird verwendet, um einen Zeitpunkt zum Einschalten des Oszillators zu bestimmen, wenn der Oszillator ausgeschaltet worden ist. Das PreAbs32-Register 338 zeigt den absoluten Zeitpunkt für die Einschaltung des Oszillators an, der dem Oszillator ausreichend Zeit lässt, sich zu stabilisieren, bevor der aktuell ausgeführte LongWait-Befehl beendet ist und die Ausführung des nächsten Befehls beginnt.
  • Das Folgesteuerungs-Steuermodul 334 steuert den Programmablauf und verwaltet Interrupts für die Folgesteuereinrichtungen 202a202n. Das Folgesteuerungs-Steuermodul 334 ruft auf der Basis des Inhalts des Programmregisters 322 Befehle vom Speicher ab. Ein Programmzählerregister 322 bewahrt die Adresse des nächsten auszuführenden Befehles auf. Das Folgesteuerungs-Steuermodul 334 kann Interrupts über eine Leitung 344 vom Interrupt-Selektor 332 empfangen, der die Interrupt-Abfrage mit der höchsten Priorität von einer Vielzahl von Interrupt-Quellen auswählen kann. Wenn ein Interrupt empfangen wird, kann das Interrupt-Aktivierungsbit in einem Register 316 gesetzt werden und die Adresse des Interrupt-Vektors kann in ein Register 318 geladen werden. Die Folgesteuereinrichtung springt zur Adresse des Interrupt-Vektors im Register 318 und setzt die Ausführung von dort aus fort.
  • Wenn eine Folgesteuereinrichtung einen harten Reset empfängt oder einen Ausschwingungs- bzw. Die-Befehl ausführt, geht die Folgesteuereinrichtung in den Ruhezustand. Ein weicher Reset wird verwendet, um einer Folgesteuereinrichtung zu befehlen, einen ersten Befehl abzurufen und mit der Ausführung von Befehlen zu beginnen. Wenn die Folgesteuereinrichtung einen weichen Reset oder einen Interrupt empfängt, kann sie mit der normalen Ausführung fortfahren. Wenn die Folgesteuereinrichtung einen weichen Reset empfängt, wird die Adresse, zu der die Folgesteuereinrichtung springt, um mit der Ausführung zu beginnen, in einem Register 320 aufgehoben. Wenn die Folgesteuereinrichtung einen Interrupt empfängt, wird die Adresse des Interrupt-Vektors, zu dem die Folgesteuereinrichtung springt, um die Ausführung zu beginnen, in einem Register 318 aufbewahrt.
  • DMA-Register 302, 304, 306, 308 und 310 werden von der Folgesteuereinrichtung verwendet, um DMA-Kanalkonfigurationsinformationen zu speichern. Beispielsweise können diese DMA-Register eine Quelladresse, eine Zieladresse und eine Zahl von Bytes, die übertragen werden sollen, speichern. Ein DMA-Steuermodul 348 bildet eine Schnittstelle mit einem DSPDMA-Controller 134 (1) und einem System-DMA-Controller 136, um DMA-Transfers zu initiieren.
  • 6 zeigt ein Beispiel für eine Schnittstelle zwischen TEP 138 und DMA-Controller 134. Ein DMA-Kanal kann der Verwendung durch den TEP 138 gewidmet sein und von anderen Ressourcen nicht genutzt werden. Zum Beispiel kann Kanal 0 der TEP-Verwendung zugewiesen sein, aber es kann jeder beliebige DMA-Kanal verwendet werden. Folgesteuereinrichtungen 202a202n können DMA-Transfers unter Verwendung des festen Kanals initiieren, indem sie einen Befehl ausführen, beispielsweise den DataMoveE-Befehl, der im Folgesteuereinrichtungs-Befehlssatz von Tabelle 1 gezeigt ist. Der DataMoveE-Befehl ruft DMA-Kanalkonfigurationsinformationen von den DMA-Registern 302, 304, 306, 308 und 310 ab und kopiert die Informationen in einen internen RAM 604 des DMA-Controllers 134. Mehrere Folgesteuereinrichtungen können gleichzeitig Zugriff auf den gewidmeten DMA-Kanal verlangen. Eine Anfragenresolver-Zustandsmaschine (FSM) 218 verwaltet diese gleichzeitigen Anfragen Beispielsweise kann die Anfragenresolver FSM 218 ein Round-Robin-Prioritätsschema verwenden, um den Folgesteuereinrichtungen 202a202n Zugriff auf DMA-Kanäle zu gewähren. Wenn Zugriff gewährt wird, werden die Werte der DMA-Register in den Speicher 604 des DMA-Controllers kopiert, und der Anfragenresolver FSM 218 setzt ein Kanalaktivierungs-Flag, um den gewidmeten Kanal zu aktivieren. Wenn der DMA-Transfer ausgeschlossen ist, schickt der DMA-Controller 134 einen Interrupt zur Anfragenresolver-FSM 218 zurück. Ebenso kann die Anfragenresolver-FSm 218, während sie in Betrieb ist, ein DRReqSysClk-Flag (nicht dargestellt) ausgeben, um sicherzustellen, dass der Systemtaktgeber während eines DMA-Transfers nicht abgestellt wird.
  • 7 zeigt schematisch ein Beispiel für einen TEP-initiierten DMA-Transfer, wie oben mit Bezug auf 6 beschrieben. Zuerst sendet der TEP 138 unter Verwendung des gewidmeten Kanals Kanalkonfigurationsinformationen an den DMA-Controller 134 und sendet ein Kanalaktivierungssignal an den DMA-Controller 134. Der DMA-Controller 134 führt die Datenübertragung durch und erzeugt einen Interrupt für TEP 138, der den Abschluss der Datenübertragung anzeigt.
  • Die in 2 dargestellte Taktkalibrierungseinheit 212 wird verwendet, um einen langsamen Takt des Kommunikationsprozessors 100 zu kalibrieren. Der Kommunikationsprozessor 100 kann Taktsignale von einem Systemtakt bei einer Frequenz von beispielsweise 13 MHz und von einem freilaufenden langsamen Takt bei einer Frequenz von beispielsweise 32 kHz empfangen. Während ein Hochfrequenz-Takt, wie der Systemtakt, notwendig sein kann, um die Processing-Cores des Kommunikationsprozessors 100 zu takten, kann der langsame Takt für die Zeitsteuerung verwendet werden, um Energie zu sparen, wenn die Processing-Cores im Ruhezustand sind und nicht vom Hochfrequenztakt getaktet werden müssen. Der TEP 138 kann eine Systemzeitsteuerung vom langsamen Takt ableiten. Die vom TEP 138 verwalteten Zeitsteuerungsereignisse beruhen auf einer Zeit des langsamen Taktes und einer Deltazeit (gezählt in Systemtaktzyklen) relativ zu einer Zeit des langsamen Taktes. Der Systemoszillator kann ausgeschaltet werden, wenn er nicht von einem der Module des Kommunikationsprozessors 100 gebraucht wird, und der langsame Takt kann die Aufgabe übernehmen, die Einschaltung des Systemtaktgebers zu initiieren, wenn dieser für die nächste zeitlich geplante Operation benötigt wird. Die Ausschaltung des Systemoszillators wird nachstehend ausführlicher erörtert.
  • Der langsame Takt ist nicht so genau wie der Hochfrequenz-Systemtakt und ist empfindlicher gegenüber Temperaturschwankungen. Somit kann der langsame Takt so kalibriert werden, dass ein gewünschter Grad an Genauigkeit sichergestellt ist. Der langsame Takt kann entweder mittels des Systemtakts oder der Zeitsteuerung des drahtlosen Systems, die über Funk empfangen wird, kalibriert werden. Wenn der Systemtakt zur Kalibrierung verwendet wird, kann die Zahl der Systemtaktzyklen über eine ausgewählte Zahl von langsamen Taktzyklen gezählt werden. Wenn die Zeitsteuerung von einem drahtlosen System zur Kalibrierung verwendet wird, kann die Zahl der drahtlosen Systemtaktzyklen (über Funk empfangen) über eine ausgewählte Zahl von langsamen Taktzyklen gezählt werden.
  • Um die Energie, die ansonsten durch Kalibrieren des langsamen Taktes unter Verwendung eines Frequenzaufbereiters oder eines VCO verbraucht würde, zu sparen, kann der langsame Taktgeber dadurch kalibriert werden, dass man Taktzyklen aus dem freilaufenden langsamen Takt herausnimmt, um für einen kalibrierten langsamen Takt zu sorgen. Das heißt, man kann eine Frequenz, die niedriger ist als die erwartete Frequenz des freilaufenden langsamen Taktes als kalibrierte Taktfrequenz wählen (z. B. 31 kHz im Falle eines langsamen 32 kHz-Taktes), und das kalibrierte Taktsignal kann durch Herausnehmen von Taktimpulsen aus dem freilaufenden langsamen Taktsignal erzeugt werden. Der freilaufende langsame Takt kann durch einen Bruch-N-Taktteiler eingestellt werden, der periodisch einen Taktzyklus aus dem freilaufenden langsamen Takt herausnimmt. Der Zeitraum, in dem ein Taktzyklus aus dem freilaufenden langsamen Takt herausgenommen wird, hängt von spezifischen Bruch- und Modulwerten und von Informationen ab, die aus dem Vergleich des langsamen Taktes und des Systemtaktes erhalten werden. Wenn beispielsweise der Zeitraum, in dem Taktzyklen entfernt werden, neun Zyklen des langsamen Taktes entspricht, werden acht Zyklen des kalibrierten langsamen Taktes für jeweils neun Zyklen des unkalibrierten langsamen Taktes erzeugt.
  • Jedoch werden durch das Herausnehmen von Taktzyklen aus dem freilaufenden langsamen Takt Phasenfehler in den kalibrierten langsamen Takt eingeführt. Solche Phasenfehler beruhen auf der Tatsache, dass der kalibrierte langsame Takt nicht wirklich periodisch ist. Man nehme beispielsweise an, dass eine kalibrierter langsamer Takt von 40 kHz aus einem freilaufenden 50 kHz-Takt erzeugt wird. Der 50 kHz-Takt weist alle 20 μs eine ansteigende Flanke auf. Das heißt, der 50 kHz-Takt weist ansteigende Flanken bei 20 μs, 40 μs, 60 μs, 80 μs, 100 μs, 120 μs usw. auf. Der kalibrierte langsame 40 kHz-Takt kann durch periodisches Herausnehmen eines Zyklus erzeugt werden. Somit weist der kalibrierte langsame Takt ansteigende Flanken bei 20 μs, 40 μs, 60 μs, 100 μs, 120 μs usw. auf. Der kalibrierte langsame Takt bildet im Durchschnitt eine 40 kHz-Takt, d. h. 40.000 ansteigende Taktflanken pro Sekunde, aber stimmt mit der Phase eines echten 40 kHz-Taktes nicht überein. Ein echter 40 kHz-Takt würde alle 25 μs eine ansteigende Taktflanke aufweisen. Beispielsweise würde ein echter 40 kHz-Takt ansteigende Taktflanken bei 25 μs, 50 μs, 75 μs, 100 μs, 125 μs usw. aufweisen. Somit treten die ansteigenden Flanken im kalibrierten 40 kHz-Takt und die ansteigenden Flanken im echten 40 kHz-Takt zu unterschiedlichen Zeiten auf, und eine Phasenkompensation wird verwendet, um den Phasenunterschied zwischen dem kalibrierten langsamen Takt und einem echten Takt mit der gleichen Frequenz zu berücksichtigen, wie nachstehend erörtert.
  • Die 9A und 9B zeigen eine Implementierung eines Bruch-N-Taktteilers mit Phasenkompensation bzw. ein Zeitssteuerungsdiagramm gemäß einer Ausführungsform der Erfindung. Ein fraktionales Inkrementierungsregister 902 speichert das Verhältnis von schnellen Taktzyklen zu freilaufenden 32 kHz-Taktzyklen und dient als ein Input bzw. eine Eingabe für einen Addierer 904. Ein Phasenkompensationsregister 906 ist ein Akkumulator, der den Output bzw. die Ausgabe eines Addierers 904 akkumuliert und dient als ein Input für einen Moduloperator 912. Ein Modulregister 908 speichert einen Wert, der von einem Komparator 914 mit den oberen 10 Bits im Phasenkompensationsregister 906 verglichen wird. Der Komparator 914 dient als Input für ein UND-Gatter 910 und steuert, ob der freilaufende 32 kHz-Takt das Gatter 910 passiert. Das Modulregister 908 ist ein zweiter Input für den Moduloperator 912. Der Moduloperator 912 berechnet einen Modulwert, der verwendet wird, um das Phasenkompensationsregister 906 zu inkrementieren, wenn der Komparator gesetzt wird.
  • Im Betrieb wird, wenn der Wert im Register 906 den Wert im Modulregister 908 erreicht, die Ausgabe des Komparators 914 gesetzt, wodurch die Ausgabe des Gatters 910 verhindert wird. Wie man sieht, wird der Umfang der Phasenkompensation (d. h. der Wert des Registers 906) akkumuliert und steigt linear über jeden freilaufenden 32 kHz-Taktzyklus an. Wenn der Akkumulator das Modulregister 908 erreicht, wird die Eingabe des freilaufenden 32 kHz-Taktes bis zum nächsten Taktzyklus ausgegattert. Dann wird der Phasenkompensationsakkumulator vom Moduloperator über den berechneten Modulwert zyklisch wiederholt.
  • Wie oben angegeben, werden durch die Entfernung von Taktimpulsen Phasenfehler in das kalibrierte Taktsignal eingeführt. Die Phasenfehler resultieren aus der Tatsache, dass der kalibrierte langsame Takt 930, aus dem Impulse herausgenommen wurden, wie in 9B dargestellt, Taktflanken aufweist, die zu anderen Zeiten auftreten als bei einem freilaufenden Takt der gleichen Frequenz Wie von der Wellenform 932 in 9B dargestellt, nimmt der Phasenfehler mit jedem langsamen Taktzyklus zu, bis ein Impuls herausgenommen wird, und nimmt dann auf null ab. Ohne die Phasenkompensation würden diese Phasenfehler Zeitsteuerungsfehler in drahtlosen Systemen erzeugen. Durch Nutzen des kalibrierten langsamen Takts und eines Phasenkompensationssignals, welches den Phasenfehler darstellt, wird eine exakte Zeitsteuerung mit dem kalibrierten langsamen Takt erreicht.
  • Wenn das kalibrierte Taktsignal verwendet wird, um den Absolutzähler 214 anzusteuern, werden somit die Phasenfehler im kalibrierten Taktsignal unter Verwendung der Phasenkompensation, die im Phasenkompensationsregister 906 berechnet wird, kompensiert. Unter Bezugnahme auf das oben erörterte Beispiel, in dem ein freilaufender langsamer 50 kHz-Takt und ein kalibrierter langsamer 40 kHz-Takt verwendet werden, nehme man an, dass ein Ereignis zeitlich so geplant wird, dass es bei der dritten ansteigenden Flanke des 40 kHz-Taktsignals eintritt. Wie oben erörtert, tritt in einem echten 40 kHz-Takt die dritte ansteigende Flanke bei 75 μs auf. Im kalibrierten 40 kHz-Takt tritt die dritte ansteigende Flanke jedoch bei 60 μs auf. Somit unterscheidet sich die Phase des kalibrierten langsamen Takts von derjenigen des echten 40 kHz-Takts um 15 μs. Wenn der kalibrierte langsame Takt bei 60 μs die dritte ansteigende Flanke erreicht, wird eine weitere Verzögerung von 15 μs, gerechnet in Systemtaktzyklen, hinzuaddiert, bevor das geplante Ereignis ausgeführt wird. Auf diese Weise werden die Folgesteuereinrichtungen im Hinblick auf die eingestellte Frequenz des kalibrierten Taktsignals kompensiert.
  • Manchmal kann beispielsweise wegen schnellen Temperaturschwankungen keine ausreichende Frequenzstabilität des langsamen Takts erreicht werden. Es kann jedoch trotzdem notwendig sein, eine kalibriertes langsames Taktsignal zum Ansteuern des Absolutzählers und zur zeitlichen Steuerung der Ausführung von LongWait-Befehlen zu erzeugen. In solchen Situationen kann eine Frequenzteilung des Systemtakts angewendet werden. Beispielsweise kann eine Taktteiler-FSM 916 den Systemtakt auf einen kalibrierten langsame Takt herunterbrechen.
  • Der in 2 dargestellte Absolutzähler 214 kann vom kalibrierten langsamen Takt getaktet werden. Der Absolutzähler ist ausführlicher in 10 dargestellt. In einer Ausführungsform kann es sich bei dem Absolutzähler 214 um einen 24 Bit-Zähler handeln und dieser kann von den Folgesteuereinrichtungen 202a202n verwendet werden, wenn diese einen LongWait-Befehl ausführen, um zu bestimmen, wann die Wartezeit abgelaufen ist. Beispielsweise können die Folgesteuereinrichtungen 202a202n den Wert des Absolutzählers 214 mit der Wartezeit des LongWait-Befehls vergleichen, um zu bestimmen, wann die Wartezeit abgelaufen ist.
  • Zwei Trigger-Generatoren 1002 und 1004 werden geliefert und können für verschiedene Zwecke verwendet werden, beispielsweise zum Triggern von Interrupts oder zum Triggern eines Snapshot. Ein Snapshot ist eine Messung des langsamen Takts gegen den Systemtakt oder eine Messung des langsamen Takts gegen die Zeitsteuerung des drahtlosen Systems, die über Funk erhalten wird und die verwendet werden kann, um den langsamen Takt zu kalibrieren. Ein Snapshot beinhaltet das Zählen der Systemtaktzyklen in einer bestimmten Zahl von langsamen Taktzyklen.
  • Die 11A und 11B zeigen ein Blockschema bzw. ein Zustandsübergangsschema, um einen Snapshot zu erhalten. Ein Snapshot kann durch mehrere verschiedene Eingaben initiiert werden. Beispielsweise kann ein Snapshot von irgendeinem der beiden periodischen Trigger des Absolutzählers initiiert werden oder kann durch Software initiiert werden, die auf irgendeinem der beiden Processing-Cores läuft, auf der Basis von im SeqCtrl-Register 312 (3) gesetzten Bits in irgendeiner der Registerdateien der Folgesteuereinrichtungen.
  • Wenn ein Snapshot initiiert wird, wird ein Kalibrierungssignal ausgegeben, um eine Ausschaltung des Systemtaktgebers zu verhindern. Dann nimmt eine Snapshot-FSM 1108 einen Setup-Zustand 1103 ein, in dem sie auf den Empfang eines SysClkOk-Signals 1110 wartet, welches anzeigt, dass der Systemtaktoszillator nicht ausgeschaltet wurde. Wenn das SysClkOk-Signal 1110 empfangen wird, geht die Snapshot-FSM 1108 in einen Snapshot-Zustand 1105 über, in dem die Zahl der Systemtaktzyklen während einer Anzahl von langsamen Taktzyklen gezählt wird. Die Zahl der langsamen Taktzyklen ist in einem TCLR-Register 1112 festgelegt, das durch Software konfiguriert werden kann. Nachdem die Zahl der Taktzyklen, die im TCLR-Register 1112 festgelegt ist, von einem Zähler 1114 des langsamen Takts gezählt wurde, wird ein Interrupt erzeugt und die Snapshot-FSM 1108 geht in den Wiederholungszustand 1107 über. Während die Snapshot 1108 im Wiederholungszustand 1107 ist, kann ein Systemtaktzyklus-Zähler 1116 über die DPBUS-Bus-Schnittstelle 210 gelesen werden, um etwaige Register, die zur Kalibrierung des langsamen Takts nötig sind, zu aktualisieren. Nachdem der Zähler 1116 gelesen wurde, kehrt die Snapshot-FSM 1108 in den Ruhezustand 1101 zurück.
  • Das Takt- und Leistungssteuermodul 216 ist in 2 dargestellt. Wenn bestimmte Module des TEP 138 nicht verwendet werden, können die Taktsignale für diese Module ausgegattert werden, um Energie zu sparen. Wenn eine oder mehrere Folgesteuereinrichtungen LongWait-Befehle ausführen und keine anderen Module die Verwendung des Systemtakts verlangen, kann das Takt- und Leistungssteuermodul 216 bestimmen, ob die Dauer des LongWait-Befehls ausreicht, um eine Ausschaltung des Systemtaktgebers zu erlauben.
  • 12 ist ein Blockschema des Takt- und Leistungssteuermoduls 216. Mehrere TEP-Module, wie ein Speicherzugriffsresolver 208 und ein DMA-Anfrageresolver 218, können die Verwendung des Systemtaktes erfordern und können dem Takt- und Leistungssteuermodul 216 über Signale 1206 bzw. 1208 anzeigen, dass der Systemtakt benötigt wird. Ein externes Signal, ReqSysClk 1210, kann von einer externen Quelle geschickt werden, um anzuzeigen, dass eines oder mehrere Module außerhalb des TEP die Verwendung des Systemtakts erfordern. Die Bestimmung, wann das ReqSysClk-Signal zu schicken ist, wird nachstehend ausführlicher erläutert. Das Kalibrierungssignal 1212 wird vom Taktkalibrierungsmodul ausgegeben, wenn eine Kalibrierung des langsamen Takts durchgeführt wird, und verlangt, dass der Systemtakt aktiv bleibt.
  • Jede Folgesteuereinrichtung 202a202n kann dem Takt- und Leistungssteuermodul 216 über ein Set/Reset-Flip-Flop (SRFF) 1218 anzeigen, dass der Systemtakt benötigt wird. Die Q-Ausgabe von SRFF 1218 ist ein TEPReqSysClk-Signal 1216. Jede Folgesteuereinrichtung, die keinen Systemtakt benötigt, gibt ein KillSysOsc-Signal über das ein UND-Gatter 1222 aus. Wenn keine der Folgesteuereinrichtungen den Systemtakt benötigt, geht das SRFF 1218 in den Reset-Zustand über und das Signal 1216 wird nicht ausgegeben. Wenn irgendeine Folgesteuereinrichtung die Verwendung des Systemtakts benötigt, gibt sie über ein ODER-Gatter 1224 ein Restart-Systemoszillatorsignal aus. Als Antwort darauf geht das SRFF 1218 in den Set-Zustand über, und das Signal 1216 wird ausgegeben. Das PreAbs32-Register 338 kann verwendet werden, um die späteste Zeit zu speichern, zu der der Oszillator ausgeschaltet bleiben kann, wobei die geplante Ausführungszeit des nächsten Befehls und die notwendige Aufwärmzeit des Oszillators berücksichtigt werden. Eine Folgesteuereinrichtung kann ein KillSysOsc-Signal ausgeben, wenn die aktuelle Zeit kürzer ist als die Zeit in ihrem PreAbs32-Register 338. Wenn die aktuelle Zeit der Zeit in ihrem PreAbs2-Register 338 gleich ist, dann kann eine Folgesteuereinrichtung ein RestartSysOsc-Signal ausgeben. Wenn die aktuelle Zeit der Ablaufzeit des LongWait-Befehls gleich ist, sollte der Systemtakt stabilisiert sein.
  • Eine Einschalt-Folgesteuereinrichtung 122 empfängt vom ODER-Gatter 1220 ein Eingangssignal, das anzeigt, ob irgendein Modul, ob innerhalb oder außerhalb des TEP, die Verwendung des Systemtakts benötigt. Wenn dieses Signal ausgegeben wird, kann die Einschalt-Folgesteuereinrichtung 1226 den Systemtaktoszillator durch Ausgeben des SysOscOn-Signals 1236 einschalten. Ein Clock-Pad-Power-Up-Register (CPPUR) 1228 speichert die Ausregelzeit für den Clock-Pad-Puffer und ein Oszillator-Warm-Up-Register OWUR 1230 speichert die Aufwärmzeit für den Oszillator. Wenn das Eingangssignal für die Einschaltungs-Folgesteuereinrichtung 1226 vom ODER-Gatter 1220 ausgegeben wird, startet eine FSM 1234 einen 10 Bit-Zähler 1232 bei null und gibt das SysOscOn-Signal 1236 aus, wodurch bewirkt wird, dass der Systemoszillator eingeschaltet wird. Wenn der Zähler 1232 die Zeit erreicht, die im OWUR 1230 spezifiziert wurde, wird ein ClkBufOn-Signal 1238 ausgegeben, wodurch ein Clock-Pad-Puffer aktiviert wird. Wenn der Zähler 1232 die im OWUR 1230 festgelegte Zeit plus der Zeit, die im CCPUR 1228 spezifiziert ist, erreicht, wird ein SysClkGate-Signal 1240 ausgegeben, das anzeigt, dass die Ausgabe des Systemtaktoszillators gültig ist, und das UND-Gatter 1242 wird aktiviert. Das UND-Gatter 1242 blockiert die Ausgabe des Systemtaktoszillators, bis der Oszillator genügend Zeit zum Stabilisieren gehabt hat. Der Oszillator ist stabil, nachdem die Oszillator-Aufwärmzeit, die im OWUR 1230 festgelegt ist, plus der Closk-Pad-Einschaltverzögerungszeit, die im CPPUR 1228 gespeichert ist, erreicht ist. Wenn diese Zeit erreicht ist, aktiviert das SysClkGate-Signal 1240 das UND-Gatter 1242, und Taktsignale vom Oszillator werden durch das Gatter hindurch gelassen.
  • Wie oben angegeben, empfängt das Takt- und Leistungssteuermodul 216 ein ReqSysClk-Signal von einer Quelle außerhalb des TEP 138. Das Signal zeigt an, ob irgendwelche Module außerhalb des TEP 138, wie ein DSP-Core 102 und eine MCU 104, die Verwendung des Systemoszillators erfordern. 13A zeigt, wie Taktsignale im Kommunikationsprozessor 100 erzeugt werden können. Eine Leistungsquelle 1300 versorgt einen Systemoszillator 1301 mit Energie. Die Leistungsquelle kann wie oben beschrieben von einem vom TEP empfangenen SysOscOn-Signal gesteuert werden. Dieses Signal kann verwendet werden, um zu steuern, ob der Oszillator 1301 an- oder ausgeschaltet wird. Der Oszillatorausgang wird in einen Kontaktfleckpuffer-Verstärker 1303 eingegeben. Der Pufferverstärker 1303 kann über ein Steuersignal vom TEP an- und ausgeschaltet werden. Der Taktsignalausgang vom Pufferverstärker 1303 wird in ein UND-Gatter 1305 eingegeben. Die zweite Eingabe in das Gatter 1305 ist ein SysClkGate-Signal, das vom TEP 138 empfangen wird und das eine Ausgatterung des Oszillatorausgangs während eines Aufwärmens des Oszillators zulässt.
  • Taktsignale vom Gatter 1305 werden in eine Nachlaufsynchronisation bzw. Phase-Locked-Loop (PLL) 1307 eingegeben, die das Taktsignal auf eine Frequenz multipliziert, die sich für die Taktung des DSP-Core 102 eignet. In Situationen, wo der DSP-Core in Ruhestellung ist, muss es nicht notwendig sein, das Taktsignal mittels PLL 1307 zu multiplizieren, und das Taktsignal, das vom Gatter 1305 ausgegeben wird, wird der PLL 1307 nicht geschickt. Der Multiplexer 1309 wählt entweder das multiplizierte Taktsignal von der PLL 1307 oder die Ausgabe des Gatters 1305 aus. Wie in 13B dargestellt, können mehrere Taktsignale aus der Ausgabe des Multiplexers 1309 erzeugt werden. Zuerst kann ein DCLK-Takt als Ausgabe der PLL 1307 erzeugt werden. Der DCLK-Takt kann verwendet werden, um den DSP-Core 102 zu takten. Ein nicht-gegatterter DCLK(nGDCLK)-Takt 1319 kann in ein UND-Gatter 1311 eingegeben werden. Der DCLK-Takt kann mittels des UND-Gatters 1311 ausgegattert werden, wenn er nicht vom DSP-Core benötigt wird. Dann kann ein DSCLK-Takt mittels eines Frequenzteilers 1321, mit dem der DCLK-Takt geteilt wird, erzeugt werden. Der Frequenzteiler 1321 kann über Software programmierbar sein und kann den DCLK-Takt durch 1 oder 2 teilen. Der DSCLK-Takt kann verwendet werden, um das DSP-Untersystem zu takten, welches die DSP-Peripheriegeräte und den DSP DMA-Controller 134 einschließt. Der DSCLK-Takt kann vom UND-Gatter 1312 ausgegattert werden, wenn er nicht benötigt wird. Der nicht-gegatterter DSCLK(nGDSCLK)-Takt 1323 kann einem programmierbaren Taktteiler 1325 zugeführt werden, der sein Eingangssignal durch eine Zahl zwischen 1 und 8 teilt, um einen BCLK-Takt zu erzeugen. Der BCLK-Takt kann verwendet werden, um die Busse des Kommunikationsprozessors 100 anzusteuern. Der BCLK-Takt kann von einem UND-Gatter ausgegattert werden, wenn er nicht benötigt wird. Ein MCLK-Takt kann die gleiche Frequenz aufweisen wie der BCLK-Takt und kann verwendet werden, um die MCU 104 zu takten. Der MCLK-Takt kann vom UND-Gatter 1317 ausgegattert werden, wenn er nicht gebraucht wird.
  • Die 14A und 14B zeigen, wie die Taktsignale der 13B ausgegattert werden können, wenn sie nicht gebraucht werden. Wie in 14A dargestellt, multipliziert die PLL 1307 die Oszillatorausgabe, um ein Taktsignal zu erzeugen. Der Taktteiler 1419 kann die gleichen Operationen durchführen wie die Taktteiler 1321 und 1325 von 13B. Die Taktsignale, die vom Taktteiler 1419 ausgegeben werden, können das NgDCLK-Signal, das nGDSCLK-Signal und das nGDBCLK-Signal sein. Jedes dieser Taktsignale wird dann zu einem der Multiplexer 1309a1309c gelenkt und dann zum geeigneten UND-Gatter 13111315.
  • Das Register 1405 ist ein MCU-Schlaftaktanforderungsregister (MSCRR). Das MSCRR-Register 1405, wie in 14B dargestellt, zeigt an, welche Takte benötigt werden, während die MCU schläft oder im Ruhezustand ist. Ebenso speichert ein MCU-Aktivtaktanforderungsregister(MACRR)-Register 1407 Informationen darüber, welche Takte benötigt werden, während die MCU aktiv ist. Ein MCU-Aktiv-Signal 1427, das von der MCU 104 erzeugt wird, wird von einem Multiplexer 1423 verwendet, um zu bestimmen, ob der Inhalt des MSCRR-Registers 1405 oder des MACRR-Registers 1407 ausgegeben werden soll. Ein PLL-Bypass-Bit im MSCRR-Register 1405 erlaubt, wenn es gesetzt ist, eine Umgehung der PLL 1307, während die MCU schläft. Da die MCU 104 möglicherweise nicht getaktet werden muss, während sie im Ruhezustand ist, muss es nicht notwendig sein, dass die PLL 1307 den Oszillator auf eine hohe Frequenz multipliziert, um die MCU 104 anzusteuern. Somit können Energieeinsparungen durch Umgehen der PLL 1307 erreicht werden. Ebenso können in manchen Fällen, wo keine hohe Verarbeitungsgeschwindigkeit nötig ist, der DSP-Core 102 und die MCU 104 auf dem Systemtakt laufen, der in den Kommunikationsprozessor ohne PLL-Multiplikation eingegeben wird.
  • Ähnlich wie die MCU 104 sind zwei DSP-Register vorgesehen: ein DSP-Schlaftaktanforderungsregister (DSCRR) 1401 und ein DSP-Aktivtaktanforderungsregister (DACRR) 1403. Die Register 1401 und 1403 zeigen an, welche Takte benötigt werden, während der DSP-Core 102 schläft, bzw. welche Takte benötigt werden, wenn der DSP-Core 102 aktiv ist. Ein DSP-Aktiv-Signal, das vom DSP-Core 102 erzeugt wird, wird von einem Multiplexer 421 verwendet, um zu bestimmen, ob der Inhalt des DSCRR-Registers 1401 oder des DACRR-Registers 1403 ausgegeben werden soll. ODER-Gatter 1409, 1411 und 1413 kombinieren die Ausgänge der MCU-Anforderungsregister 1405 und 1407 und der DSP-Anforderungsregister 1401 und 1403. UND-Gatter 1415, 1311, 1313, 1315 und 1317 können verwendet werden, um die entsprechenden Taktsignale gemäß dem Inhalt der Register 1401, 1403, 1405 und 1407 zu aktivieren oder zu blockieren.
  • Zusätzlich zur Blockierung bestimmter Taktsignale, wenn diese nicht benötigt werden, um dadurch Energie zu sparen, kann der Systemtaktoszillator ausgeschaltet werden, so dass keine Systemtaktsignale erzeugt werden, wenn keine Module des Kommunikationsprozessors 100 einen Takt benötigen Die 15 zeigt, wie der Oszillator ausgeschaltet werden kann. Der DSP-Core 102 und der MCU-Core 104 aktualisieren ein Register 1503, das anzeigt, ob die entsprechenden Processing-Cores Taktsignale benötigen und ob irgendwelche Peripheriegeräte Taktsignale benötigen. Ein Taktsteuermodul 1501 überwacht das Register 1503, um zu bestimmen, ob eines der Taktsignale von irgendwelchen Modulen im Kommunikationsprozessor 100 benötigt wird. Wenn keines dieser Taktsignale benötigt wird, kann das Taktsignalmodul 1501 ein SysClkReq-Signal an den TEP 138 ausgeben. Wie oben mit Bezug auf 12 erörtert, kann der TEP 138 dann bestimmen, ob der Systemoszillator ausgeschaltet werden kann. Auf diese Weise kann der Systemoszillator eingeschaltet werden, wenn er benötigt wird, und ausgeschaltet werden, wenn er nicht benötigt wird, um Energie zu sparen.

Claims (26)

  1. Basisbandprozessor für drahtlose Anwendungen, der folgendes aufweist: ein erstes Modul (208), das ein erstes Taktsignal benötigt, das von einem Systemoszillator (1301) abgeleitet wird, wobei das erste Modul ein erstes Anzeigesignal (1208) liefert; ein zweites Modul (218), das ein zweites Taktsignal benötigt, wobei das zweite Modul ein zweites Anzeigesignal (1206) liefert; und eine Leistungsverwaltungsschaltung (1220, 1226), dadurch gekennzeichnet, dass das erste Anzeigesignal einen ersten Zustand aufweist, der anzeigt, dass das erste Taktsignal erforderlich ist, und einen zweiten Zustand, der anzeigt, dass das erste Taktsignal nicht erforderlich ist; das zweite Taktsignal vom Systemoszillator (1301) abgeleitet wird; das zweite Anzeigesignal einen ersten Zustand aufweist, der anzeigt, dass das zweite Taktsignal erforderlich ist, und einen zweiten Zustand, der anzeigt, dass das zweite Taktsignal nicht erforderlich ist; die Leistungsverwaltungsschaltung (1220, 1226) für die ersten und zweiten Anzeigesignale zuständig ist, um den Systemoszillator (1301) zu deaktivieren, wenn das erste Anzeigesignal den zweiten Zustand angenommen hat und das zweite Anzeigesignal den zweiten Zustand angenommen hat; und die Leistungsverwaltungsschaltung (1220, 1226) für ein Aktivierungssignal für die Aktivierung des Systemoszillators zuständig ist.
  2. Prozessor nach Anspruch 1, wobei die Leistungsverwaltungsschaltung ferner eine Schaltung aufweist zur Blockierung eines Durchgangs des ersten Taktsignals zum ersten Modul, wenn das erste Anzeigesignal den ersten Zustand angenommen hat, und zur Blockierung eines Durchgangs des zweiten Taktsignals zum zweiten Modul, wenn das zweite Anzeigesignal den zweiten Zustand angenommen hat.
  3. Prozessor nach Anspruch 1, wobei das zweite Modul einen Zeitsteuerungs- und Ereignisprozessor aufweist und die Leistungsverwaltungsschaltung ferner eine Schaltung zur Aktivierung des Systemoszillators, wenn das zweite Anzeigesignal den ersten Zustand annimmt, aufweist.
  4. Prozessor nach Anspruch 1, wobei die Leistungsverwaltungsschaltung den Systemoszillator als Antwort auf den Empfang eines Unterbrechungssignals aktiviert.
  5. Prozessor nach Anspruch 1, wobei die Leistungsverwaltungsschaltung bewirkt, dass das erste Modul einen Leerlaufzustand verlässt, indem sie ein Unterbrechungssignal an das erste Modul sendet.
  6. Prozessor nach Anspruch 5, wobei das erste Modul bewirkt, dass das erste Anzeigesignal den ersten Zustand annimmt, sobald es den Leerlaufzustand verlässt.
  7. Prozessor nach Anspruch 1, wobei die Leistungsverwaltungsschaltung bewirkt, dass das zweite Modul einen Leerlaufzustand verlässt, indem es ein Unterbrechungssignal an das erste Modul sendet.
  8. Prozessor nach Anspruch 7, wobei das zweite Modul bewirkt, dass das zweite Anzeigesignal den ersten Zustand annimmt, sobald es den Leerlaufzustand verlässt.
  9. Prozessor nach Anspruch 1, wobei die Leistungsverwaltungsschaltung eine Schaltung zur Blockierung des Ausgangssignals des Systemoszillators für einen Zeitraum nach der Aktivierung des Oszillators aufweist.
  10. Prozessor nach Anspruch 9, wobei die Schaltung zur Blockierung des Ausgangssignals des Systemoszillators ein Register zur Speicherung des Zeitraums als Oszillatoraufwärmzeit und einen Zähler zur Bestimmung, ob die Oszillatoraufwärmzeit abgelaufen ist, aufweist.
  11. Prozessor nach Anspruch 10, wobei die Schaltung zur Blockierung des Ausgangssignals des Systemoszillators Mittel einschließt, die ein Ausgangssignal des Systemoszillators nach Ablauf der Aufwärmzeit durchlassen.
  12. Prozessor nach Anspruch 1, der ferner einen Zeitsteuerungs- und Ereignisprozessor zur Erzeugung von Zeitsteuerungs- und Ereignissignalen für Zeitsteuerungsoperationen für die ersten und zweiten Module aufweist, wobei der Zeitsteuerungs- und Ereignisprozessor ein drittes Taktsignal verwendet, das vom Systemoszillator abgeleitet wird, und ein drittes Anzeigesignal liefert, das einen ersten Zustand annimmt, der anzeigt, dass das dritte Taktsignal nicht benötigt wird, und einen zweiten Zustand, der anzeigt, dass das dritte Taktsignal benötigt wird, wobei der Zeitsteuerungs- und Ereignisprozessor ein viertes Taktsignal, das von einem Langsamtaktoszillator abgeleitet wird, empfängt, und wobei der Zeitsteuerungs- und Ereignisprozessor seinen Betrieb fortsetzt, wenn das dritte Anzeigesignal den zweiten Zustand angenommen hat.
  13. Prozessor nach Anspruch 12, wobei der Zeitsteuerungs- und Ereignisprozessor den Systemoszillator zu vorgegebener Zeit aktiviert, indem er den Zustand des dritten Anzeigesignals in den vierten Zustand ändert, wenn mindestens eines aus der Gruppe, die das erste Modul und das zweite Modul einschließt, die Verwendung des Systemoszillators verlangt.
  14. Prozessor nach Anspruch 12, wobei der Zeitsteuerungs- und Ereignisprozessor bewirkt, dass das erste Modul einen Leerlaufzustand verlässt, indem er ein Unterbrechungssignal an das erste Modul sendet.
  15. Prozessor nach Anspruch 14, wobei das erste Modul bewirkt, dass das erste Indikatorsignal den ersten Zustand annimmt, nachdem es den Leerlaufzustand verlassen hat.
  16. Prozessor nach Anspruch 12, wobei der Zeitsteuerungs- und Ereignisprozessor bewirkt, dass das zweite Modul einen Leerlaufzustand verlässt, indem er ein Unterbrechungssignal an das zweite Modul sendet.
  17. Prozessor nach Anspruch 16, wobei das zweite Modul bewirkt, dass das Anzeigesignal den ersten Zustand annimmt, nachdem es den Leerlaufzustand verlassen hat.
  18. Verfahren zur Steuerung eines Basisbandprozessors für drahtlose Anwendungen, das Folgendes umfasst: Empfangen eines ersten Indikatorsignals (1208) von einem ersten Modul (208), das ein erstes Taktsignal benötigt, das von einem Systemoszillator (1301) abgeleitet wird, wobei das erste Anzeigesignal einen ersten Zustand aufweist, der anzeigt, dass das erste Taktsignal benötigt wird, und einen zweiten Zustand, der anzeigt, dass das erste Taktsignal nicht benötigt wird; Empfangen eines zweiten Anzeigesignals (1206) von einem zweiten Modul (218), das ein zweites Taktsignal benötigt, das vom Systemoszillator (1301) abgeleitet wird, wobei das zweite Anzeigesignal einen ersten Zustand aufweist, der anzeigt, dass das zweite Taktsignal erforderlich ist, und einen zweiten Zustand, der anzeigt, dass das zweite Taktsignal nicht erforderlich ist; Deaktivierung des Systemoszillators (1301), wenn das erste Anzeigesignal (1208) den zweiten Zustand angenommen hat, und das zweite Anzeigesignal (1206) den zweiten Zustand angenommen hat; und Aktivieren des Systemoszillators (1301), wenn ein Ausgangssignal vom Systemoszillator von mindestens einem aus der Gruppe, die das erste Modul (208) und das zweite Modul (218) einschließt, benötigt wird.
  19. Verfahren nach Anspruch 18, das ferner folgendes aufweist: Blockierung des Durchgangs des ersten Taktsignals zum ersten Modul, wenn das erste Anzeigesignal den zweiten Zustand angenommen hat, und Blockieren des Durchgangs des zweiten Taktsignals zum zweiten Modul, wenn das zweite Anzeigesignal den zweiten Zustand angenommen hat.
  20. Verfahren nach Anspruch 18, wobei der Vorgang der Deaktivierung des Oszillators ferner eine Blockierung des Ausgangssignals vom Systemoszillator für einen Zeitraum nach der Aktivierung des Oszillators umfasst.
  21. Verfahren nach Anspruch 20, wobei der Vorgang der Blockierung des Ausgangssignals des Systemoszillators ferner eine Speicherung des Zeitraums als Oszillatoraufwärmzeit und die Verwendung eines Zählers, um zu bestimmen, wann die Oszillatoraufwärmzeit abgelaufen ist, umfasst.
  22. Verfahren nach Anspruch 21, wobei der Vorgang der Blockierung des Ausgangssignals des Systemoszillators ferner umfasst, dass das Ausgangssignal des Systemoszillators durchgelassen wird, wenn die Aufwärmzeit abgelaufen ist.
  23. Verfahren nach Anspruch 22, das ferner die Bereitstellung eines Zeitsteuerungs- und Ereignisprozessors zur Erzeugung von Zeitsteuerungs- und Ereignissignalen für Zeitsteuerungsoperationen für die ersten und zweiten Module umfasst, wobei der Zeitsteuerungs- und Ereignisprozessor ein drittes Taktsignal verwendet, das vom Systemoszillator abgleitet wird, und ein drittes Anzeigesignal liefert, das einen ersten Zustand aufweist, der anzeigt, dass das dritte Taktsignal nicht erforderlich ist, und einen zweiten Zustand, der anzeigt, dass das dritte Taktsignal erforderlich ist, und wobei der Zeitsteuerungs- und Ereignisprozessor ein viertes Taktsignal empfängt, das von einem Langsamtaktoszillator abgeleitet wird, und das Verfahren ferner den Betrieb des Zeitsteuerungs- und Ereignisprozessors unter Verwendung des vierten Taktsignals, wenn das dritte Anzeigesignal den zweiten Zustand angenommen hat, umfasst.
  24. Verfahren nach Anspruch 23, das ferner umfasst, dass der Zeitsteuerungs- und Ereignisprozessor die Inkraftsetzung des Systemoszillators zu einer präzise vorgegebenen Zeit umfasst, indem der Zustand des dritten Anzeigesignals in den ersten Zustand geändert wird, wenn mindestens eines aus der Gruppe, die das erste Modul und das zweite Modul umfasst, die Verwendung des Systemoszillators erfordert.
  25. Prozessor nach Anspruch 1, der ferner Folgendes aufweist: eine Phase-Locked-Loop-Schaltung zur Erhöhung der Frequenz eines dritten Taktsignals, das vom Systemoszillator erzeugt wird, um das erste Taktsignal zu erzeugen; eine Phase-Locked-Loop-Umgehung, um zu bewirken, dass das dritte Taktsignal die Phase-Locked-Loop-Schaltung umgeht, und das als erstes Taktsignal dient, wenn das erste Anzeigesignal den zweiten Zustand angenommen hat.
  26. Prozessor nach Anspruch 18, der ferner Folgendes aufweist: Schaffung einer Phase-Locked-Loop-Schaltung zur Erhöhung einer Frequenz eines dritten Taktsignals, das vom Systemoszillator erzeugt wird, um das erste Taktsignal zu erzeugen; und Bewirken, dass das dritte Taktsignal die Phase-Locked-Loop-Schaltung umgeht, und als erstes Taktsignal dient, wenn das erste Anzeigesignal den zweiten Zustand angenommen hat.
DE60223555T 2001-08-29 2002-08-29 Verfahren und apparat zur takt- und leistungssteuerung in drahtlosen systemen Expired - Lifetime DE60223555T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US31565501P 2001-08-29 2001-08-29
US315655P 2001-08-29
PCT/US2002/027462 WO2003021800A1 (en) 2001-08-29 2002-08-29 Methods and apparatus for clock and power control in wireless systems

Publications (2)

Publication Number Publication Date
DE60223555D1 DE60223555D1 (de) 2007-12-27
DE60223555T2 true DE60223555T2 (de) 2009-06-10

Family

ID=23225453

Family Applications (6)

Application Number Title Priority Date Filing Date
DE60211921T Expired - Lifetime DE60211921T2 (de) 2001-08-29 2002-08-29 Architektur und system von einem generischen seriellen port
DE60223051T Expired - Lifetime DE60223051T2 (de) 2001-08-29 2002-08-29 Anordnung und verfahren zum schnellen einschalten einer phase-locked loop
DE60228268T Expired - Lifetime DE60228268D1 (de) 2001-08-29 2002-08-29 G einer versorgungsspannung
DE60223555T Expired - Lifetime DE60223555T2 (de) 2001-08-29 2002-08-29 Verfahren und apparat zur takt- und leistungssteuerung in drahtlosen systemen
DE60239347T Expired - Lifetime DE60239347D1 (de) 2001-08-29 2002-08-29 Hochgeschwindigkeitsablaufverfolung eines computerprogramms
DE60210633T Expired - Lifetime DE60210633T2 (de) 2001-08-29 2002-08-29 Verfahren und vorrichtungen zur verbesserung des durchsatzes von eingebetteten prozessoren auf cache-basis durch umschalten von tasks als reaktion auf eine cache-verfehlung

Family Applications Before (3)

Application Number Title Priority Date Filing Date
DE60211921T Expired - Lifetime DE60211921T2 (de) 2001-08-29 2002-08-29 Architektur und system von einem generischen seriellen port
DE60223051T Expired - Lifetime DE60223051T2 (de) 2001-08-29 2002-08-29 Anordnung und verfahren zum schnellen einschalten einer phase-locked loop
DE60228268T Expired - Lifetime DE60228268D1 (de) 2001-08-29 2002-08-29 G einer versorgungsspannung

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE60239347T Expired - Lifetime DE60239347D1 (de) 2001-08-29 2002-08-29 Hochgeschwindigkeitsablaufverfolung eines computerprogramms
DE60210633T Expired - Lifetime DE60210633T2 (de) 2001-08-29 2002-08-29 Verfahren und vorrichtungen zur verbesserung des durchsatzes von eingebetteten prozessoren auf cache-basis durch umschalten von tasks als reaktion auf eine cache-verfehlung

Country Status (7)

Country Link
US (10) US7159134B2 (de)
EP (9) EP1421588B1 (de)
JP (10) JP2005502114A (de)
CN (9) CN100570577C (de)
AU (2) AU2002331774A1 (de)
DE (6) DE60211921T2 (de)
WO (8) WO2003021409A2 (de)

Families Citing this family (328)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1421588B1 (de) * 2001-08-29 2012-01-18 MediaTek Inc. Verfahren und vorrichtung benützend flash burst mode um prozessorsleistung zu verbessern
GB0123421D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Power management system
US7502817B2 (en) * 2001-10-26 2009-03-10 Qualcomm Incorporated Method and apparatus for partitioning memory in a telecommunication device
US6944780B1 (en) * 2002-01-19 2005-09-13 National Semiconductor Corporation Adaptive voltage scaling clock generator for use in a digital processing component and method of operating the same
EP1351117A1 (de) * 2002-04-03 2003-10-08 Hewlett-Packard Company Datenverarbeitungssystem und -verfahren
US7180322B1 (en) 2002-04-16 2007-02-20 Transmeta Corporation Closed loop feedback control of integrated circuits
US7941675B2 (en) * 2002-12-31 2011-05-10 Burr James B Adaptive power control
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US7149874B2 (en) * 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
US7836252B2 (en) 2002-08-29 2010-11-16 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US7395447B2 (en) * 2002-09-16 2008-07-01 Silicon Labs Cp, Inc. Precision oscillator for an asynchronous transmission system
US7774627B2 (en) * 2002-10-03 2010-08-10 Via Technologies, Inc. Microprocessor capable of dynamically increasing its performance in response to varying operating temperature
US7698583B2 (en) * 2002-10-03 2010-04-13 Via Technologies, Inc. Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature
US7290156B2 (en) * 2003-12-17 2007-10-30 Via Technologies, Inc. Frequency-voltage mechanism for microprocessor power management
US7770042B2 (en) * 2002-10-03 2010-08-03 Via Technologies, Inc. Microprocessor with improved performance during P-state transitions
US7814350B2 (en) * 2002-10-03 2010-10-12 Via Technologies, Inc. Microprocessor with improved thermal monitoring and protection mechanism
US7882369B1 (en) 2002-11-14 2011-02-01 Nvidia Corporation Processor performance adjustment system and method
US7886164B1 (en) 2002-11-14 2011-02-08 Nvidia Corporation Processor temperature adjustment system and method
US7849332B1 (en) * 2002-11-14 2010-12-07 Nvidia Corporation Processor voltage adjustment system and method
US7080268B2 (en) * 2002-12-03 2006-07-18 Intel Corporation Method and apparatus for regulating power to electronic circuits
US7065663B2 (en) * 2002-12-19 2006-06-20 Intel Corporation Methods and apparatus to control power state transitions
US7146822B2 (en) 2002-12-30 2006-12-12 Intel Corporation Centrifugal liquid pump with perimeter magnetic drive
US7444524B2 (en) 2002-12-30 2008-10-28 Intel Corporation Dynamic voltage transitions
US7228242B2 (en) 2002-12-31 2007-06-05 Transmeta Corporation Adaptive power control based on pre package characterization of integrated circuits
US7811231B2 (en) 2002-12-31 2010-10-12 Abbott Diabetes Care Inc. Continuous glucose monitoring system and methods of use
US8771183B2 (en) 2004-02-17 2014-07-08 Abbott Diabetes Care Inc. Method and system for providing data communication in continuous glucose monitoring and management system
US7953990B2 (en) * 2002-12-31 2011-05-31 Stewart Thomas E Adaptive power control based on post package characterization of integrated circuits
CN1759368A (zh) * 2003-01-23 2006-04-12 罗切斯特大学 多时钟域微处理器
US7206959B1 (en) * 2003-01-24 2007-04-17 National Semiconductor Corporation Closed-loop, supply-adjusted ROM memory circuit
US7069461B1 (en) * 2003-01-24 2006-06-27 National Semiconductor Corporation Closed-loop, supply-adjusted RAM memory circuit
US7587287B2 (en) 2003-04-04 2009-09-08 Abbott Diabetes Care Inc. Method and system for transferring analyte test data
EP1467582B1 (de) * 2003-04-11 2008-03-05 Telefonaktiebolaget LM Ericsson (publ) Verfahren zur Synchronisierung in einem mobilen Funkendgerät
CN100416573C (zh) * 2003-05-07 2008-09-03 睦塞德技术公司 利用电源岛管理集成电路上的功率
JP4033066B2 (ja) 2003-05-07 2008-01-16 ソニー株式会社 周波数制御装置、情報処理装置、周波数制御方法及びプログラム
JP2004348662A (ja) * 2003-05-26 2004-12-09 Toshiba Corp 電子機器、電源制御装置および電源制御方法
US7375553B1 (en) * 2003-05-28 2008-05-20 Actel Corporation Clock tree network in a field programmable gate array
US8066639B2 (en) 2003-06-10 2011-11-29 Abbott Diabetes Care Inc. Glucose measuring device for use in personal area network
US7245145B2 (en) 2003-06-11 2007-07-17 Micron Technology, Inc. Memory module and method having improved signal routing topology
US6822481B1 (en) * 2003-06-12 2004-11-23 Agilent Technologies, Inc. Method and apparatus for clock gating clock trees to reduce power dissipation
US7120727B2 (en) 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7260685B2 (en) 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7836222B2 (en) * 2003-06-26 2010-11-16 International Business Machines Corporation System and method for tracking messages between a processing unit and an external device
KR100540483B1 (ko) * 2003-06-30 2006-01-11 주식회사 하이닉스반도체 데이터 억세스 위치에 관계없이 연속적인 버스트 모드로 데이터를 억세스할 수 있는 반도체 메모리 장치 및 그의 구동방법
US7389364B2 (en) 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7210059B2 (en) * 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US7133991B2 (en) * 2003-08-20 2006-11-07 Micron Technology, Inc. Method and system for capturing and bypassing memory transactions in a hub-based memory system
US7196562B1 (en) * 2003-08-26 2007-03-27 Integrated Device Technology, Inc. Programmable clock drivers that support CRC error checking of configuration data during program restore operations
US7136958B2 (en) 2003-08-28 2006-11-14 Micron Technology, Inc. Multiple processor system and method including multiple memory hub modules
US7287245B2 (en) * 2003-09-17 2007-10-23 Faraday Technology Corp. Method for real-time instruction information tracing
US7194593B2 (en) 2003-09-18 2007-03-20 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US7225303B2 (en) * 2003-09-22 2007-05-29 Micron Technology, Inc. Method and apparatus for accessing a dynamic memory device by providing at least one of burst and latency information over at least one of redundant row and column address lines
JP4837247B2 (ja) * 2003-09-24 2011-12-14 パナソニック株式会社 プロセッサ
US7085943B2 (en) * 2003-09-26 2006-08-01 Freescale Semiconductor, Inc. Method and circuitry for controlling supply voltage in a data processing system
US20050081075A1 (en) * 2003-10-14 2005-04-14 Andrej Kocev Computer system, carrier medium and method for adjusting an expiration period
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
TWI254882B (en) * 2003-11-07 2006-05-11 Via Tech Inc Rate multiplication method and rate multiplier
GB2408357A (en) * 2003-11-18 2005-05-25 Motorola Inc Regulating a voltage supply to a semiconductor device
US7631307B2 (en) 2003-12-05 2009-12-08 Intel Corporation User-programmable low-overhead multithreading
US7692477B1 (en) 2003-12-23 2010-04-06 Tien-Min Chen Precise control component for a substrate potential regulation circuit
US7129771B1 (en) 2003-12-23 2006-10-31 Transmeta Corporation Servo loop for well bias voltage source
US7649402B1 (en) 2003-12-23 2010-01-19 Tien-Min Chen Feedback-controlled body-bias voltage source
US7012461B1 (en) 2003-12-23 2006-03-14 Transmeta Corporation Stabilization component for a substrate potential regulation circuit
KR101136036B1 (ko) * 2003-12-24 2012-04-18 삼성전자주식회사 유휴 모드에서의 전력 소모가 감소된 프로세서 시스템 및그 방법
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7188219B2 (en) 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7788451B2 (en) 2004-02-05 2010-08-31 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US7412574B2 (en) * 2004-02-05 2008-08-12 Micron Technology, Inc. System and method for arbitration of memory responses in a hub-based memory system
CN100361040C (zh) * 2004-02-24 2008-01-09 中国科学院计算技术研究所 一种soc架构下的处理器核动态变频装置和方法
US7479753B1 (en) 2004-02-24 2009-01-20 Nvidia Corporation Fan speed controller
US7240170B2 (en) * 2004-02-25 2007-07-03 Analog Devices, Inc. High/low priority memory
US7366864B2 (en) 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US7313707B2 (en) * 2004-03-09 2007-12-25 Hewlett-Packard Development Company, L.P. Systems and methods for configuring ports
US7613911B2 (en) * 2004-03-12 2009-11-03 Arm Limited Prefetching exception vectors by early lookup exception vectors within a cache memory
FI20040418A (fi) * 2004-03-18 2005-09-19 Nokia Corp Digitaalijärjestelmän kellokontrolli
US7769950B2 (en) * 2004-03-24 2010-08-03 Qualcomm Incorporated Cached memory system and cache controller for embedded digital signal processor
US7257683B2 (en) 2004-03-24 2007-08-14 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US7120723B2 (en) 2004-03-25 2006-10-10 Micron Technology, Inc. System and method for memory hub-based expansion bus
US6980042B2 (en) 2004-04-05 2005-12-27 Micron Technology, Inc. Delay line synchronizer apparatus and method
US7590797B2 (en) 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US7363419B2 (en) 2004-05-28 2008-04-22 Micron Technology, Inc. Method and system for terminating write commands in a hub-based memory system
US7310748B2 (en) 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US7519788B2 (en) 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7971191B2 (en) * 2004-06-10 2011-06-28 Hewlett-Packard Development Company, L.P. System and method for analyzing a process
US7042260B2 (en) * 2004-06-14 2006-05-09 Micron Technology, Inc. Low power and low timing jitter phase-lock loop and method
CN101006397A (zh) * 2004-06-15 2007-07-25 皇家飞利浦电子股份有限公司 用于性能参数的二进制控制的控制方案
EP1607835A1 (de) * 2004-06-15 2005-12-21 Koninklijke Philips Electronics N.V. Geschlossener Regelungskreis zur Leistungsabstimmung
US7562233B1 (en) 2004-06-22 2009-07-14 Transmeta Corporation Adaptive control of operating and body bias voltages
US7401241B2 (en) * 2004-06-22 2008-07-15 Intel Corporation Controlling standby power of low power devices
US7774625B1 (en) * 2004-06-22 2010-08-10 Eric Chien-Li Sheng Adaptive voltage control by accessing information stored within and specific to a microprocessor
KR100598011B1 (ko) * 2004-06-29 2006-07-06 삼성전자주식회사 클럭 사용 회로 및 클럭 신호 발생 방법
US20050008095A1 (en) * 2004-07-23 2005-01-13 Rush Frederick A. Apparatus using interrupts for controlling a processor for radio isolation and associated methods
US8472990B2 (en) * 2004-07-23 2013-06-25 St Ericsson Sa Apparatus using interrupts for controlling a processor for radio isolation and associated method
US7312487B2 (en) * 2004-08-16 2007-12-25 International Business Machines Corporation Three dimensional integrated circuit
US7681065B2 (en) * 2004-08-16 2010-03-16 Broadcom Corporation Method and system for a message processor switch for performing incremental redundancy in edge compliant terminals
US7308590B2 (en) 2004-10-15 2007-12-11 Intel Corporation Automatic dynamic processor operating voltage control
US7434073B2 (en) * 2004-11-29 2008-10-07 Intel Corporation Frequency and voltage scaling architecture
US7456829B2 (en) * 2004-12-03 2008-11-25 Hewlett-Packard Development Company, L.P. Methods and systems to control electronic display brightness
CN1319274C (zh) * 2004-12-10 2007-05-30 展讯通信(上海)有限公司 射频接收系统锁定时间及锁定后频率误差的评估方法
US7379718B2 (en) 2004-12-20 2008-05-27 Marvell World Trade Ltd. Method and apparatus to manage power consumption of a semiconductor device
US7337335B2 (en) * 2004-12-21 2008-02-26 Packet Digital Method and apparatus for on-demand power management
US7228446B2 (en) * 2004-12-21 2007-06-05 Packet Digital Method and apparatus for on-demand power management
FR2882449A1 (fr) * 2005-01-21 2006-08-25 Meiosys Soc Par Actions Simpli Procede non intrusif de rejeu d'evenements internes au sein d'un processus applicatif, et systeme mettant en oeuvre ce procede
FR2881246B1 (fr) * 2005-01-21 2007-03-23 Meiosys Soc Par Actions Simpli Procede perdictif de gestion, de journalisation ou de rejeu d'operations non deterministes au sein du deroulement d'un processus applicatif
US7409520B2 (en) * 2005-01-25 2008-08-05 International Business Machines Corporation Systems and methods for time division multiplex multithreading
JP2006236241A (ja) * 2005-02-28 2006-09-07 Toshiba Corp 周辺装置
US20060215567A1 (en) * 2005-03-25 2006-09-28 Arun Raghunath Method and apparatus for monitoring path statistics
US7529911B1 (en) * 2005-05-26 2009-05-05 Sun Microsystems, Inc. Hardware-based technique for improving the effectiveness of prefetching during scout mode
CN1881798B (zh) * 2005-06-16 2011-08-31 旺玖科技股份有限公司 有理数倍频电路与产生有理数倍频的方法
US8745627B2 (en) * 2005-06-27 2014-06-03 Qualcomm Incorporated System and method of controlling power in a multi-threaded processor
US20070008011A1 (en) * 2005-06-29 2007-01-11 Paulette Thurston Distributed power and clock management in a computerized system
CN101223490A (zh) * 2005-07-14 2008-07-16 Nxp股份有限公司 使用历史负载简档来动态调整手持多媒体设备处理器内核的工作频率及可用功率
US7953960B2 (en) * 2005-10-18 2011-05-31 International Business Machines Corporation Method and apparatus for delaying a load miss flush until issuing the dependent instruction
CN101297255B (zh) * 2005-10-26 2011-11-02 英特尔公司 可检测变化的集群体系结构
US7766829B2 (en) * 2005-11-04 2010-08-03 Abbott Diabetes Care Inc. Method and system for providing basal profile modification in analyte monitoring and management systems
US8253748B1 (en) 2005-11-29 2012-08-28 Nvidia Corporation Shader performance registers
US7809928B1 (en) * 2005-11-29 2010-10-05 Nvidia Corporation Generating event signals for performance register control using non-operative instructions
TW200805047A (en) * 2005-12-23 2008-01-16 Koninkl Philips Electronics Nv Performance analysis based system level power management
CN100346306C (zh) * 2006-01-06 2007-10-31 浙江大学 基于动态调频技术的节能编译方法
US7499724B2 (en) * 2006-01-30 2009-03-03 Harris Corporation Event sequencer used for controlling the sequence and timing of events in software defined radio
JP2007233718A (ja) * 2006-03-01 2007-09-13 Canon Inc 制御装置及び半導体集積回路
US20070214374A1 (en) * 2006-03-13 2007-09-13 Mark Hempstead Ultra low power system for sensor network applications
US8226891B2 (en) 2006-03-31 2012-07-24 Abbott Diabetes Care Inc. Analyte monitoring devices and methods therefor
US7620438B2 (en) 2006-03-31 2009-11-17 Abbott Diabetes Care Inc. Method and system for powering an electronic device
US7617409B2 (en) * 2006-05-01 2009-11-10 Arm Limited System for checking clock-signal correspondence
US7502913B2 (en) 2006-06-16 2009-03-10 Microsoft Corporation Switch prefetch in a multicore computer chip
DE502006006706D1 (de) * 2006-06-20 2010-05-27 Siemens Ag Verfahren zur Überwachung eines zyklischen Steuerungsprogramms
US7814339B2 (en) * 2006-06-30 2010-10-12 Intel Corporation Leakage power estimation
US7672393B2 (en) * 2006-08-02 2010-03-02 Richtek Technology Corporation Single-wire asynchronous serial interface
EP1895426A1 (de) * 2006-08-25 2008-03-05 Ali Corporation Sender und Übertragungssystem mit Verwendung desselben
JP4808108B2 (ja) 2006-08-29 2011-11-02 パナソニック株式会社 プロセッサシステム
US8200807B2 (en) * 2006-08-31 2012-06-12 The Mathworks, Inc. Non-blocking local events in a state-diagramming environment
US7958291B2 (en) * 2006-10-10 2011-06-07 Atmel Rousset S.A.S. Supplemental communication interface
US7840825B2 (en) * 2006-10-24 2010-11-23 International Business Machines Corporation Method for autonomous dynamic voltage and frequency scaling of microprocessors
EP1919103B8 (de) * 2006-11-02 2016-11-30 Google Technology Holdings LLC Verfahren und Vorrichtung zur automatischen Frequenzkorrektur in einer Vorrichtung mit mehreren Betriebsmodi
WO2008056293A2 (en) * 2006-11-08 2008-05-15 Nxp B.V. Fast adaptive voltage scaling
TWI335531B (en) * 2006-12-13 2011-01-01 Inst Information Industry Apparatus, method, application program, and computer readable medium thereof for generating and utilizing a feature code to monitor a program
US7840849B2 (en) * 2006-12-21 2010-11-23 Novell, Inc. Methods and apparatus for debugging software including divisions of an execution history of a debuggee program
US7917784B2 (en) * 2007-01-07 2011-03-29 Apple Inc. Methods and systems for power management in a data processing system
US8667198B2 (en) * 2007-01-07 2014-03-04 Apple Inc. Methods and systems for time keeping in a data processing system
US7949801B2 (en) * 2007-01-31 2011-05-24 Pitney Bowes Inc. Main processor initiating command timing signal via DMA to coprocessor in order to synchronize execution of instructions
US20080199894A1 (en) 2007-02-15 2008-08-21 Abbott Diabetes Care, Inc. Device and method for automatic data acquisition and/or detection
US8123686B2 (en) 2007-03-01 2012-02-28 Abbott Diabetes Care Inc. Method and apparatus for providing rolling data in communication systems
US7937076B2 (en) * 2007-03-07 2011-05-03 Harris Corporation Software defined radio for loading waveform components at runtime in a software communications architecture (SCA) framework
JP4950716B2 (ja) * 2007-03-22 2012-06-13 株式会社日立ハイテクノロジーズ 画像処理システム、及び走査型電子顕微鏡装置
US7900069B2 (en) * 2007-03-29 2011-03-01 Intel Corporation Dynamic power reduction
US7743279B2 (en) 2007-04-06 2010-06-22 Apple Inc. Program counter (PC) trace
US7917799B2 (en) * 2007-04-12 2011-03-29 International Business Machines Corporation Method and system for digital frequency clocking in processor cores
US8161314B2 (en) * 2007-04-12 2012-04-17 International Business Machines Corporation Method and system for analog frequency clocking in processor cores
DE102007019543A1 (de) 2007-04-25 2008-10-30 Rohde & Schwarz Gmbh & Co. Kg Messgerät mit serieller digitaler Schnittstelle
US9134782B2 (en) 2007-05-07 2015-09-15 Nvidia Corporation Maintaining optimum voltage supply to match performance of an integrated circuit
US8456301B2 (en) 2007-05-08 2013-06-04 Abbott Diabetes Care Inc. Analyte monitoring system and methods
US7928850B2 (en) 2007-05-08 2011-04-19 Abbott Diabetes Care Inc. Analyte monitoring system and methods
US8461985B2 (en) 2007-05-08 2013-06-11 Abbott Diabetes Care Inc. Analyte monitoring system and methods
US8665091B2 (en) 2007-05-08 2014-03-04 Abbott Diabetes Care Inc. Method and device for determining elapsed sensor life
US20080281171A1 (en) * 2007-05-08 2008-11-13 Abbott Diabetes Care, Inc. Analyte monitoring system and methods
US7845568B2 (en) * 2007-05-09 2010-12-07 Atmel Rousset S.A.S. Managing power and timing in a smart card device
JP5209046B2 (ja) * 2007-05-23 2013-06-12 アギア システムズ インコーポレーテッド 単一及び複数の無線技術通信システムにおいて移動体デバイスの時間節約型セル検索のためのシステム及び方法
US8645740B2 (en) * 2007-06-08 2014-02-04 Apple Inc. Methods and systems to dynamically manage performance states in a data processing system
US9313067B2 (en) * 2007-08-14 2016-04-12 Qualcomm Incorporated Multi-bandwidth communication system using a shared baseband processor
US7711864B2 (en) 2007-08-31 2010-05-04 Apple Inc. Methods and systems to dynamically manage performance states in a data processing system
US7921312B1 (en) 2007-09-14 2011-04-05 National Semiconductor Corporation System and method for providing adaptive voltage scaling with multiple clock domains inside a single voltage domain
TWI402647B (zh) * 2007-09-14 2013-07-21 Asustek Comp Inc 可動態調整電壓及有效節能之電壓控制裝置、方法及電腦裝置
GB2453174B (en) * 2007-09-28 2011-12-07 Advanced Risc Mach Ltd Techniques for generating a trace stream for a data processing apparatus
US7945804B2 (en) * 2007-10-17 2011-05-17 International Business Machines Corporation Methods and systems for digitally controlled multi-frequency clocking of multi-core processors
US9354890B1 (en) 2007-10-23 2016-05-31 Marvell International Ltd. Call stack structure for enabling execution of code outside of a subroutine and between call stack frames
US20090108817A1 (en) * 2007-10-30 2009-04-30 Topower Computer Industrial Co., Ltd. Method for actuation by boosting power source voltage
CN101436167B (zh) * 2007-11-16 2011-03-23 宏达国际电子股份有限公司 解译串行传输信号的方法
US8578193B2 (en) * 2007-11-28 2013-11-05 International Business Machines Corporation Apparatus, method and program product for adaptive real-time power and perfomance optimization of multi-core processors
KR20090059602A (ko) * 2007-12-07 2009-06-11 한국전자통신연구원 세션 메모리 버스를 구비한 암호화 장치
GB0724337D0 (en) * 2007-12-13 2008-01-23 Icera Inc Radio access technology
US8589706B2 (en) 2007-12-26 2013-11-19 Intel Corporation Data inversion based approaches for reducing memory power consumption
US20090182802A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Mobile device management scheduling
US8166145B2 (en) * 2008-01-10 2012-04-24 Microsoft Corporation Managing event-based conditional recurrent schedules
US8230436B2 (en) * 2008-01-10 2012-07-24 Microsoft Corporation Aggregating recurrent schedules to optimize resource consumption
US7841436B2 (en) 2008-01-21 2010-11-30 Amigo Mobility International Personal mobility vehicle
US8370663B2 (en) 2008-02-11 2013-02-05 Nvidia Corporation Power management with dynamic frequency adjustments
US8595538B2 (en) * 2008-03-03 2013-11-26 Quintic Holdings Single-clock-based multiple-clock frequency generator
US8312299B2 (en) 2008-03-28 2012-11-13 Packet Digital Method and apparatus for dynamic power management control using serial bus management protocols
EP2472727B1 (de) * 2008-03-31 2013-07-24 Telefonaktiebolaget L M Ericsson (publ) Digitale Basisband-Schaltung
US7826382B2 (en) 2008-05-30 2010-11-02 Abbott Diabetes Care Inc. Close proximity communication device and methods
US8112475B2 (en) * 2008-06-27 2012-02-07 Microsoft Corporation Managing data delivery based on device state
US8090826B2 (en) * 2008-06-27 2012-01-03 Microsoft Corporation Scheduling data delivery to manage device resources
US8904083B2 (en) * 2008-07-30 2014-12-02 Infineon Technologies Ag Method and apparatus for storing data in solid state memory
JP2010072897A (ja) * 2008-09-18 2010-04-02 Nec Electronics Corp クロック供給装置
US8122270B2 (en) * 2008-09-29 2012-02-21 Intel Corporation Voltage stabilization for clock signal frequency locking
US8127160B2 (en) 2008-10-13 2012-02-28 International Business Machines Corporation Dynamic frequency and voltage scaling for a computer processor
JP2010097277A (ja) * 2008-10-14 2010-04-30 Toshiba Corp 情報処理装置
US20100094572A1 (en) * 2008-10-15 2010-04-15 International Business Machines Corporation Dynamic Frequency And Voltage Scaling For A Computer Processor
JP5509579B2 (ja) * 2008-11-21 2014-06-04 セイコーエプソン株式会社 映像出力装置および映像出力方法ならびにプロジェクタ
JP5330409B2 (ja) 2008-11-28 2013-10-30 パナソニック株式会社 メモリ制御装置、データプロセッサ及びデータ読み出し方法
TWI363498B (en) * 2008-12-03 2012-05-01 Ind Tech Res Inst A tri-mode delay type phase lock loop
JP5816407B2 (ja) * 2009-02-27 2015-11-18 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US8285917B2 (en) * 2009-03-26 2012-10-09 Scaleo Chip Apparatus for enhancing flash memory access
US9226701B2 (en) 2009-04-28 2016-01-05 Abbott Diabetes Care Inc. Error detection in critical repeating data in a wireless sensor system
EP2424426B1 (de) * 2009-04-29 2020-01-08 Abbott Diabetes Care, Inc. Verfahren und system zur datenübertragung in einem system für kontinuierliche glucoseüberwachung und glucosemanagement
US9184490B2 (en) 2009-05-29 2015-11-10 Abbott Diabetes Care Inc. Medical device antenna systems having external antenna configurations
US9314195B2 (en) 2009-08-31 2016-04-19 Abbott Diabetes Care Inc. Analyte signal processing device and methods
WO2011026148A1 (en) 2009-08-31 2011-03-03 Abbott Diabetes Care Inc. Analyte monitoring system and methods for managing power and noise
EP2290542B1 (de) * 2009-09-01 2013-03-27 Research In Motion Limited System und Verfahren zur Sequenzierung von Funkelementen für einen Mehrbandempfänger mit mehreren Abwärtsverbindungen
US8213974B2 (en) * 2009-09-01 2012-07-03 Research In Motion Limited System and method for sequencing radio items for a multi downlink multi carrier receiver
JP2011118469A (ja) 2009-11-30 2011-06-16 Toshiba Corp メモリ管理装置およびメモリ管理方法
JP2011139370A (ja) * 2009-12-28 2011-07-14 Canon Inc 電子機器とその制御方法
US9256265B2 (en) 2009-12-30 2016-02-09 Nvidia Corporation Method and system for artificially and dynamically limiting the framerate of a graphics processing unit
US9830889B2 (en) 2009-12-31 2017-11-28 Nvidia Corporation Methods and system for artifically and dynamically limiting the display resolution of an application
US9582443B1 (en) * 2010-02-12 2017-02-28 Marvell International Ltd. Serial control channel processor for executing time-based instructions
US9000804B2 (en) 2010-03-03 2015-04-07 Freescale Semiconductor, Inc. Integrated circuit device comprising clock gating circuitry, electronic device and method for dynamically configuring clock gating
US8423802B2 (en) * 2010-04-07 2013-04-16 Andes Technology Corporation Power scaling module and power scaling unit of an electronic system having a function unit in a standby state which is insensitive to change in frequency or voltage during synchronization
US8839006B2 (en) 2010-05-28 2014-09-16 Nvidia Corporation Power consumption reduction systems and methods
US8766666B2 (en) 2010-06-10 2014-07-01 Micron Technology, Inc. Programmable device, hierarchical parallel machines, and methods for providing state information
CN101860353B (zh) * 2010-06-17 2012-02-29 广州市广晟微电子有限公司 数模混合芯片中的时钟电路控制装置及方法
US8667308B2 (en) 2010-06-18 2014-03-04 Apple Inc. Dynamic voltage dithering
WO2012004863A1 (ja) * 2010-07-07 2012-01-12 ルネサスエレクトロニクス株式会社 データ処理装置およびデータ処理システム
US20120017035A1 (en) * 2010-07-16 2012-01-19 Plx Technology, Inc. Runtime reprogramming of a processor code space memory area
US9996102B2 (en) 2010-07-20 2018-06-12 Nxp Usa, Inc. Clock circuit and method for providing an electronic device with an adjustable clock signal
JP2012033001A (ja) 2010-07-30 2012-02-16 Toshiba Corp 情報処理装置および情報処理方法
US20120042212A1 (en) * 2010-08-10 2012-02-16 Gilbert Laurenti Mixed Mode Processor Tracing
JP5598161B2 (ja) * 2010-08-26 2014-10-01 ヤマハ株式会社 クロック発生回路
US8732495B2 (en) 2010-08-31 2014-05-20 Integrated Device Technology, Inc. Systems, apparatuses and methods for dynamic voltage and frequency control of components used in a computer system
WO2012030329A1 (en) * 2010-08-31 2012-03-08 Integrated Device Technology, Inc. Systems, apparatuses and methods for dynamic voltage and frequency control of components used in a computer system
US20120072632A1 (en) * 2010-09-17 2012-03-22 Paul Kimelman Deterministic and non-Deterministic Execution in One Processor
JP5581960B2 (ja) * 2010-10-14 2014-09-03 凸版印刷株式会社 半導体装置
CN102457270B (zh) * 2010-10-29 2013-09-04 扬智科技股份有限公司 低增益压控振荡器的控制方法
GB2499151B (en) * 2010-11-09 2016-04-20 Ibm Energy capture of time-varying energy sources by varying computation workload
CN103404031B (zh) * 2010-12-01 2016-01-20 爱立信(中国)通信有限公司 锁相环控制电压确定
DE102011122074A1 (de) 2010-12-20 2012-06-21 Dmos Gmbh Bussystem zur Kommunikation und Stromversorgung von Teilnehmerschaltungen und Verfahren zur Reduzierung des Energieverbrauchs in Baugruppen von Bussystemen
CN102082506B (zh) * 2010-12-22 2012-12-12 复旦大学 适用于开关电源转换器的时钟频率选择电路
CN102611148A (zh) * 2011-01-24 2012-07-25 祥硕科技股份有限公司 配置充电端口的方法与控制器
TW201232239A (en) * 2011-01-24 2012-08-01 Asmedia Technology Inc Method and controller allocating charging ports
JP5284401B2 (ja) 2011-03-24 2013-09-11 株式会社東芝 動作切替装置およびプログラム
US8856571B2 (en) 2011-04-05 2014-10-07 Apple Inc. Adjusting device performance over multiple time domains
US8572421B2 (en) 2011-04-05 2013-10-29 Apple Inc. Adjusting device performance based on processing profiles
US9588881B2 (en) 2011-05-16 2017-03-07 Cypress Semiconductor Corporation Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space having an instruction set optimized to minimize processor stack accesses
US9910823B2 (en) 2011-05-16 2018-03-06 Cypress Semiconductor Corporation Stack processor using a ferroelectric random access memory (F-RAM) having an instruction set optimized to minimize memory fetch
US8934279B2 (en) * 2011-05-16 2015-01-13 Cypress Semiconductor Corporation Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space
US9135082B1 (en) * 2011-05-20 2015-09-15 Google Inc. Techniques and systems for data race detection
CN102170499B (zh) * 2011-05-24 2013-10-02 惠州Tcl移动通信有限公司 一种移动终端及其电源控制系统
US8884920B1 (en) 2011-05-25 2014-11-11 Marvell International Ltd. Programmatic sensing of capacitive sensors
US8855969B2 (en) 2011-06-27 2014-10-07 International Business Machines Corporation Frequency guard band validation of processors
US9098694B1 (en) 2011-07-06 2015-08-04 Marvell International Ltd. Clone-resistant logic
US9081517B2 (en) * 2011-08-31 2015-07-14 Apple Inc. Hardware-based automatic clock gating
US9069553B2 (en) 2011-09-06 2015-06-30 Marvell World Trade Ltd. Switching tasks between heterogeneous cores
GB2495959A (en) * 2011-10-26 2013-05-01 Imagination Tech Ltd Multi-threaded memory access processor
US9980669B2 (en) 2011-11-07 2018-05-29 Abbott Diabetes Care Inc. Analyte monitoring device and methods
JP2013106166A (ja) * 2011-11-14 2013-05-30 Sony Corp クロックゲーティング回路およびバスシステム
CN104011693B (zh) * 2011-12-21 2017-09-12 英特尔公司 设置基于i/o带宽的处理器频率层的装置和方法
CN102594344B (zh) * 2012-01-09 2015-03-18 青岛海信移动通信技术股份有限公司 一种集中式时钟装置和移动终端设备
TWI497304B (zh) * 2012-03-13 2015-08-21 Novatek Microelectronics Corp 序列介面傳送方法及其裝置
CN103324588B (zh) * 2012-03-22 2016-05-04 联咏科技股份有限公司 序列接口传送方法及其装置
US8943352B1 (en) 2012-05-07 2015-01-27 Dust Networks, Inc. Low power timing, configuring, and scheduling
JP6103825B2 (ja) * 2012-06-07 2017-03-29 キヤノン株式会社 半導体集積回路、情報処理装置
US9317460B2 (en) * 2012-06-15 2016-04-19 International Business Machines Corporation Program event recording within a transactional environment
CN103513698B (zh) * 2012-06-29 2017-03-01 联想(北京)有限公司 一种时钟信号校准方法、装置及电子设备
US8710879B2 (en) * 2012-07-06 2014-04-29 Silicon Integrated System Corp. Apparatus and method for multiplying frequency of a clock signal
US9968306B2 (en) 2012-09-17 2018-05-15 Abbott Diabetes Care Inc. Methods and apparatuses for providing adverse condition notification with enhanced wireless communication range in analyte monitoring systems
US9129072B2 (en) * 2012-10-15 2015-09-08 Qualcomm Incorporated Virtual GPIO
US9530398B2 (en) 2012-12-06 2016-12-27 White Eagle Sonic Technologies, Inc. Method for adaptively scheduling ultrasound system actions
US9983905B2 (en) 2012-12-06 2018-05-29 White Eagle Sonic Technologies, Inc. Apparatus and system for real-time execution of ultrasound system actions
US10499884B2 (en) 2012-12-06 2019-12-10 White Eagle Sonic Technologies, Inc. System and method for scanning for a second object within a first object using an adaptive scheduler
US9529080B2 (en) 2012-12-06 2016-12-27 White Eagle Sonic Technologies, Inc. System and apparatus having an application programming interface for flexible control of execution ultrasound actions
US10076313B2 (en) 2012-12-06 2018-09-18 White Eagle Sonic Technologies, Inc. System and method for automatically adjusting beams to scan an object in a body
DE102013001143A1 (de) * 2013-01-23 2014-07-24 Giesecke & Devrient Gmbh Verfahren zur Ausvührung eines Programms über einen Mikroprozessor auf einem Sicherheitsmodul
JP5892083B2 (ja) * 2013-02-12 2016-03-23 日本電気株式会社 パラメータ設定装置、パラメータ設定プログラム及びパラメータ設定方法
US9823719B2 (en) 2013-05-31 2017-11-21 Intel Corporation Controlling power delivery to a processor via a bypass
US9256276B2 (en) * 2013-09-27 2016-02-09 Intel Corporation Utilization of processor capacity at low operating frequencies
EP4254209A3 (de) * 2013-10-30 2023-11-22 INTEL Corporation Verfahren, vorrichtung und system zur latenzmessung in einer physikalischen einheit einer schaltung
US9814106B2 (en) * 2013-10-30 2017-11-07 Apple Inc. Backlight driver chip incorporating a phase lock loop (PLL) with programmable offset/delay and seamless operation
TWI497314B (zh) * 2013-11-06 2015-08-21 Univ Nat Chiao Tung 適應性計算之無線處理器
JP6381899B2 (ja) * 2013-12-05 2018-08-29 ルネサスエレクトロニクス株式会社 半導体装置の設計方法、設計支援プログラム、設計装置、及び、半導体装置
US10200951B2 (en) * 2014-02-20 2019-02-05 Qualcomm Incorporated Low power low latency protocol for data exchange
KR102320399B1 (ko) * 2014-08-26 2021-11-03 삼성전자주식회사 전원 관리 칩, 그것을 포함하는 모바일 장치 및 그것의 클록 조절 방법
US9841795B2 (en) 2014-09-22 2017-12-12 Nxp Usa, Inc. Method for resetting an electronic device having independent device domains
KR102271469B1 (ko) 2014-10-24 2021-06-30 삼성전자주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
CN104699578B (zh) * 2015-01-09 2017-12-26 同济大学 一种以内升温方式检测时延故障的定温指令级自测试方法
US9450582B2 (en) 2015-02-03 2016-09-20 Freescale Semiconductor, Inc. Programmable buffer system
US9696782B2 (en) 2015-02-09 2017-07-04 Microsoft Technology Licensing, Llc Battery parameter-based power management for suppressing power spikes
US10158148B2 (en) 2015-02-18 2018-12-18 Microsoft Technology Licensing, Llc Dynamically changing internal state of a battery
US9748765B2 (en) 2015-02-26 2017-08-29 Microsoft Technology Licensing, Llc Load allocation for multi-battery devices
JP6466740B2 (ja) * 2015-03-02 2019-02-06 株式会社メガチップス クロック生成回路
WO2016164543A1 (en) 2015-04-07 2016-10-13 Analog Devices, Inc. Quality factor estimation for resonators
US10432337B2 (en) * 2015-05-15 2019-10-01 Avago Technologies International Sales Pte. Limited Apparatus and method for timestamping of data packets
CN104881529B (zh) * 2015-05-18 2018-05-29 南京航空航天大学 基于有限状态机的采样保持控制策略的实现方法
US10210919B2 (en) 2015-06-03 2019-02-19 Altera Corporation Integrated circuits with embedded double-clocked components
US9503067B1 (en) * 2015-06-22 2016-11-22 Realtek Semiconductor Corporation Time shifter and method thereof
US9874863B2 (en) * 2015-08-24 2018-01-23 Keysight Technologies, Inc. Finite state machine-based trigger event detection employing interpolation
US9939862B2 (en) 2015-11-13 2018-04-10 Microsoft Technology Licensing, Llc Latency-based energy storage device selection
US10061366B2 (en) 2015-11-17 2018-08-28 Microsoft Technology Licensing, Llc Schedule-based energy storage device selection
US9793570B2 (en) 2015-12-04 2017-10-17 Microsoft Technology Licensing, Llc Shared electrode battery
CN105608027B (zh) * 2015-12-18 2018-10-19 华为技术有限公司 非易失存储设备和访问非易失存储设备的方法
US10303203B2 (en) 2016-01-25 2019-05-28 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system and method for operating semiconductor device
DE102017110821A1 (de) 2016-01-25 2018-07-26 Samsung Electronics Co., Ltd. Halbleitervorrichtung
US10248155B2 (en) 2016-01-25 2019-04-02 Samsung Electronics Co., Ltd. Semiconductor device including clock generating circuit and channel management circuit
US10296066B2 (en) 2016-01-25 2019-05-21 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system, and method of operating the semiconductor device
US10209734B2 (en) 2016-01-25 2019-02-19 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system, and method of operating the semiconductor device
KR102467172B1 (ko) * 2016-01-25 2022-11-14 삼성전자주식회사 반도체 장치
KR102474620B1 (ko) * 2016-01-25 2022-12-05 삼성전자주식회사 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법
JP2017191564A (ja) * 2016-04-15 2017-10-19 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US10445099B2 (en) * 2016-04-19 2019-10-15 Xiaolin Wang Reconfigurable microprocessor hardware architecture
KR20170124017A (ko) * 2016-04-29 2017-11-09 삼성전자주식회사 동작 전압을 조절하는 메모리 장치, 메모리 장치를 제어하는 어플리케이션 프로세서 및 메모리 장치의 동작방법
JP6594533B2 (ja) * 2016-05-17 2019-10-23 三菱電機株式会社 コントローラシステム
US10254782B2 (en) * 2016-08-30 2019-04-09 Micron Technology, Inc. Apparatuses for reducing clock path power consumption in low power dynamic random access memory
US10305495B2 (en) * 2016-10-06 2019-05-28 Analog Devices, Inc. Phase control of clock signal based on feedback
US10659063B2 (en) * 2016-11-01 2020-05-19 Nvidia Corporation Adaptive voltage frequency scaling for optimal power efficiency
JP2018120449A (ja) * 2017-01-26 2018-08-02 ソニーセミコンダクタソリューションズ株式会社 演算処理装置および情報処理システム
JP6819327B2 (ja) * 2017-02-03 2021-01-27 富士通株式会社 クロック生成回路、シリアル・パラレル変換回路及び情報処理装置
TW201838392A (zh) * 2017-02-10 2018-10-16 香港商凱歐斯科技(香港)有限公司 功能型手機及其操作方法
US10120819B2 (en) * 2017-03-20 2018-11-06 Nxp Usa, Inc. System and method for cache memory line fill using interrupt indication
KR102435034B1 (ko) * 2017-06-21 2022-08-23 삼성전자주식회사 디지털 위상 고정 루프 및 디지털 위상 고정 루프의 동작 방법
US10809790B2 (en) * 2017-06-30 2020-10-20 Intel Corporation Dynamic voltage-level clock tuning
US10578435B2 (en) 2018-01-12 2020-03-03 Analog Devices, Inc. Quality factor compensation in microelectromechanical system (MEMS) gyroscopes
US11360504B2 (en) * 2018-05-25 2022-06-14 Advanced Micro Devices, Inc. Adaptable voltage margin for a processor
EP3806336A4 (de) 2018-06-05 2021-08-04 Panasonic Intellectual Property Management Co., Ltd. Eingangs-/ausgangsschaltung
GB201810478D0 (en) * 2018-06-26 2018-08-08 Nordic Semiconductor Asa Precision timing between systems
US11041722B2 (en) 2018-07-23 2021-06-22 Analog Devices, Inc. Systems and methods for sensing angular motion in the presence of low-frequency noise
CN111435267A (zh) * 2019-01-15 2020-07-21 海信集团有限公司 功耗自动调整的方法、装置、设备及计算机可读存储介质
CN109787625B (zh) * 2019-03-05 2022-04-05 上海芷锐电子科技有限公司 一种基于双pll的系统超频引起的电压毛刺保护系统
IT201900006633A1 (it) * 2019-05-08 2020-11-08 Stmicroelectronics Application Gmbh Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento
CN110081933B (zh) * 2019-05-10 2021-07-20 上海岚盒信息技术有限公司 振动巡检仪及其低功耗频域变换方法、计算机可读存储介质
CN110413558A (zh) * 2019-07-15 2019-11-05 广芯微电子(广州)股份有限公司 一种实现低功耗串口模块动态分频方法
KR20210062499A (ko) * 2019-11-21 2021-05-31 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
CN112104537B (zh) * 2020-03-28 2022-04-19 上海芯郡电子科技有限公司 一种通信控制器
KR102414817B1 (ko) * 2020-05-25 2022-06-30 윈본드 일렉트로닉스 코포레이션 지연 락 루프 디바이스와 그 동작 방법
US11455264B2 (en) 2020-08-10 2022-09-27 International Business Machines Corporation Minimizing delay while migrating direct memory access (DMA) mapped pages
US11656876B2 (en) * 2020-10-29 2023-05-23 Cadence Design Systems, Inc. Removal of dependent instructions from an execution pipeline
TWI749960B (zh) * 2020-12-23 2021-12-11 瑞昱半導體股份有限公司 資料處理裝置與其資料存取電路
KR102392119B1 (ko) 2021-07-21 2022-04-27 중앙대학교 산학협력단 위상 회전자를 이용한 분수 서브 샘플링 위상 고정 루프
US11853237B2 (en) * 2021-11-19 2023-12-26 Micron Technology, Inc. Input/output sequencer instruction set processing
US20230378962A1 (en) * 2022-05-20 2023-11-23 Apple Inc. Clock Frequency Limiter

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3680050A (en) * 1970-07-10 1972-07-25 Gen Electric Serial digital pulse phase interface driver and receiver
US4110708A (en) * 1977-03-25 1978-08-29 Harris Corporation Multichannel modulation system including automatic gain shifter
GB2031676B (en) * 1978-09-02 1983-05-11 Marconi Instruments Ltd Frequency modulation systems
CH620087B (de) * 1979-03-09 Suisse Horlogerie Oszillator mit einem hochfrequenz-quarzresonator.
JPS5837737B2 (ja) 1979-11-05 1983-08-18 株式会社日立国際電気 デイジタル符号の伝送方式
JPS61287335A (ja) 1985-06-13 1986-12-17 Toshiba Corp パリテイ−生成回路
JPS63126018A (ja) * 1986-11-17 1988-05-30 Hitachi Ltd 半導体集積回路
US6760866B2 (en) * 1987-06-02 2004-07-06 Texas Instruments Incorporated Process of operating a processor with domains and clocks
US5535331A (en) * 1987-09-04 1996-07-09 Texas Instruments Incorporated Processor condition sensing circuits, systems and methods
JP2668898B2 (ja) * 1987-11-06 1997-10-27 富士通株式会社 バス制御回路
EP0479887A4 (en) * 1989-06-30 1992-08-12 Poqet Computer Corporation Computer power management system
GB2237157A (en) 1989-10-20 1991-04-24 Marconi Instruments Ltd Control of frequency modulators
US5038117A (en) * 1990-01-23 1991-08-06 Hewlett-Packard Company Multiple-modulator fractional-N divider
US6693951B1 (en) * 1990-06-25 2004-02-17 Qualcomm Incorporated System and method for generating signal waveforms in a CDMA cellular telephone system
US5159205A (en) * 1990-10-24 1992-10-27 Burr-Brown Corporation Timing generator circuit including adjustable tapped delay line within phase lock loop to control timing of signals in the tapped delay line
JPH05119876A (ja) * 1991-10-25 1993-05-18 Toshiba Corp 電子装置及びその装置に含まれる集積回路
EP0545581B1 (de) * 1991-12-06 1999-04-21 National Semiconductor Corporation Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul
FI95980C (fi) * 1992-09-04 1996-04-10 Nokia Mobile Phones Ltd Menetelmä ja kytkentäjärjestely ajan mittaamiseksi tarkasti epätarkalla kellolla
JPH06139373A (ja) * 1992-10-27 1994-05-20 Hitachi Ltd 半導体装置
EP0632360A1 (de) * 1993-06-29 1995-01-04 Xerox Corporation Rechnerleistungsverbrauchsreduzierung durch dynamische Spannungs- und Frequenzänderung
US5553276A (en) * 1993-06-30 1996-09-03 International Business Machines Corporation Self-time processor with dynamic clock generator having plurality of tracking elements for outputting sequencing signals to functional units
JPH0744266A (ja) * 1993-08-04 1995-02-14 Canon Inc デバイス制御装置
JP3490131B2 (ja) * 1994-01-21 2004-01-26 株式会社ルネサステクノロジ データ転送制御方法、データプロセッサ及びデータ処理システム
EP0665502B1 (de) * 1994-01-27 2002-06-12 Sun Microsystems, Inc. Asynchrone serielle kommunickationsschaltung
EP0666529B1 (de) * 1994-02-02 2004-10-06 Advanced Micro Devices, Inc. Leistungssteuerung in einem asynchronen Sender/Empfänger
JP3718251B2 (ja) * 1994-02-28 2005-11-24 株式会社ルネサステクノロジ データ処理装置
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5592173A (en) 1994-07-18 1997-01-07 Trimble Navigation, Ltd GPS receiver having a low power standby mode
JPH08152945A (ja) * 1994-11-28 1996-06-11 Nec Corp 消費電力管理装置
JPH08166834A (ja) * 1994-12-14 1996-06-25 Mitsubishi Electric Corp クロック発生回路及びマイクロコンピュータ
KR100255026B1 (ko) * 1994-12-28 2000-05-01 디. 크레이그 노룬드 마이크로프로세서 및 디버그 시스템
US5842037A (en) 1995-03-20 1998-11-24 Telefonaktiebolaget Lm Ericsson Interference reduction in TDM-communication/computing devices
US5655100A (en) * 1995-03-31 1997-08-05 Sun Microsystems, Inc. Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system
US5737547A (en) * 1995-06-07 1998-04-07 Microunity Systems Engineering, Inc. System for placing entries of an outstanding processor request into a free pool after the request is accepted by a corresponding peripheral device
US5613235A (en) * 1995-06-29 1997-03-18 Nokia Mobile Phones Limited Operation of a radiotelephone in a synchronous extended standby mode for conserving battery power
US5774701A (en) 1995-07-10 1998-06-30 Hitachi, Ltd. Microprocessor operating at high and low clok frequencies
JPH0944277A (ja) * 1995-07-25 1997-02-14 Mitsubishi Electric Corp マイクロコンピュータ
US5964893A (en) 1995-08-30 1999-10-12 Motorola, Inc. Data processing system for performing a trace function and method therefor
JP3466793B2 (ja) * 1995-09-28 2003-11-17 株式会社東芝 マルチプロセッサシステム
US5623234A (en) * 1996-03-04 1997-04-22 Motorola Clock system
US5724505A (en) 1996-05-15 1998-03-03 Lucent Technologies Inc. Apparatus and method for real-time program monitoring via a serial interface
US5809091A (en) * 1996-06-04 1998-09-15 Ericsson, Inc. Timing signal generator for digital communication system
US5933627A (en) * 1996-07-01 1999-08-03 Sun Microsystems Thread switch on blocked load or store using instruction thread field
US5790817A (en) * 1996-09-25 1998-08-04 Advanced Micro Devices, Inc. Configurable digital wireless and wired communications system architecture for implementing baseband functionality
WO1998019242A1 (fr) * 1996-10-30 1998-05-07 Hitachi, Ltd. Processeur de donnees et systeme de traitement de donnees
JPH10187300A (ja) * 1996-12-20 1998-07-14 Sony Corp 電源制御回路および電源制御方法
JPH10190568A (ja) * 1996-12-27 1998-07-21 Matsushita Electric Ind Co Ltd 無線受信装置
EP0856797B1 (de) 1997-01-30 2003-05-21 STMicroelectronics Limited Cachespeichersystem für gleichzeitig laufende Prozesse
US6029061A (en) * 1997-03-11 2000-02-22 Lucent Technologies Inc. Power saving scheme for a digital wireless communications terminal
US6031429A (en) * 1997-03-19 2000-02-29 Silicon Magic Corporation Circuit and method for reducing lock-in time in phase-locked and delay-locked loops
US6269426B1 (en) * 1997-06-24 2001-07-31 Sun Microsystems, Inc. Method for operating a non-blocking hierarchical cache throttle
US6052777A (en) * 1997-06-25 2000-04-18 Sun Microsystems, Inc. Method for delivering precise traps and interrupts in an out-of-order processor
US5963068A (en) * 1997-07-28 1999-10-05 Motorola Inc. Fast start-up processor clock generation method and system
US6170051B1 (en) * 1997-08-01 2001-01-02 Micron Technology, Inc. Apparatus and method for program level parallelism in a VLIW processor
US6005904A (en) * 1997-10-16 1999-12-21 Oasis Design, Inc. Phase-locked loop with protected output during instances when the phase-locked loop is unlocked
US6076157A (en) 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US5936565A (en) * 1997-12-10 1999-08-10 Nortel Networks Corporation Digitally controlled duty cycle integration
US6282184B1 (en) * 1997-12-22 2001-08-28 Nortel Networks Limited Common digitizing rate for multiple air interfaces for generic cell sites in cellular radio
EP0924947A1 (de) 1997-12-22 1999-06-23 The Technology Partnership Public Limited Company Verfahren zur Energieeinsparung für Endgerät eines digitalen zellularen Systems
US6430654B1 (en) * 1998-01-21 2002-08-06 Sun Microsystems, Inc. Apparatus and method for distributed non-blocking multi-level cache
EP0939495B1 (de) 1998-02-26 2004-04-14 Motorola Semiconducteurs S.A. Energiesparanordnung für ein elektronisches tragbares Gerät
US6145122A (en) * 1998-04-27 2000-11-07 Motorola, Inc. Development interface for a data processor
JPH11312026A (ja) 1998-04-28 1999-11-09 Nec Corp クロック信号切替方法およびクロック信号切替システム
JP4060442B2 (ja) * 1998-05-28 2008-03-12 富士通株式会社 メモリデバイス
JP3786521B2 (ja) * 1998-07-01 2006-06-14 株式会社日立製作所 半導体集積回路及びデータ処理システム
WO2000002118A1 (en) * 1998-07-02 2000-01-13 Hitachi, Ltd. Microprocessor
US6141762A (en) * 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
KR100306966B1 (ko) * 1998-08-04 2001-11-30 윤종용 동기형버스트반도체메모리장치
EP0992906B1 (de) * 1998-10-06 2005-08-03 Texas Instruments Inc. Vorrichtung und Verfahren für einen Software-Haltepunkt während eines Verzögerungsschlitzes
EP0992907B1 (de) * 1998-10-06 2005-09-28 Texas Instruments Inc. Verwaltung eines FIFO zur Abalufverfolgung
US6255822B1 (en) * 1998-10-09 2001-07-03 U.S. Philips Corporation MRI apparatus having a short uniform field magnet with an internal space
US6118306A (en) * 1998-12-03 2000-09-12 Intel Corporation Changing clock frequency
US6763448B1 (en) 1999-02-16 2004-07-13 Renesas Technology Corp. Microcomputer and microcomputer system
FI106761B (fi) * 1999-02-19 2001-03-30 Nokia Mobile Phones Ltd Menetelmä ja piirijärjestely järjestelmien keskinäisen tahdistuksen toteuttamiseksi monimoodilaitteessa
US6336168B1 (en) * 1999-02-26 2002-01-01 International Business Machines Corporation System and method for merging multiple outstanding load miss instructions
FR2791217B1 (fr) 1999-03-18 2001-06-01 Sagem Procede de veille dans un telephone mobile
US6425086B1 (en) * 1999-04-30 2002-07-23 Intel Corporation Method and apparatus for dynamic power control of a low power processor
US6341347B1 (en) * 1999-05-11 2002-01-22 Sun Microsystems, Inc. Thread switch logic in a multiple-thread processor
EP2267597A3 (de) 1999-05-12 2012-01-04 Analog Devices, Inc. Digitalen Signalprozessor mit Pipeline-Struktur
JP2001022480A (ja) * 1999-07-09 2001-01-26 Seiko Epson Corp 情報処理装置
JP2001036958A (ja) * 1999-07-16 2001-02-09 Nec Corp 待受け受信方式
US6748475B1 (en) * 1999-11-05 2004-06-08 Analog Devices, Inc. Programmable serial port architecture and system
EP1226493B1 (de) * 1999-11-05 2006-05-03 Analog Devices, Inc. Busarchitektur und verteiltes busarbitrierungsverfahren für einen kommunikationsprozessor
DE69940473D1 (de) 1999-11-25 2009-04-09 St Microelectronics Srl Leseverfahren für nichtflüchtige Speicheranordnung mit automatischer Erkennung eines Burstlesebetriebs sowie entsprechende Leseschaltung
EP1103978B1 (de) * 1999-11-25 2009-01-28 STMicroelectronics S.r.l. Nichtflüchtiger Speicher mit Burstlesebetrieb sowie entsprechendes Leseverfahren
US6205084B1 (en) * 1999-12-20 2001-03-20 Fujitsu Limited Burst mode flash memory
GB2357602A (en) 1999-12-22 2001-06-27 Nokia Mobile Phones Ltd Memory controller for a memory array comprising different memory types
US6625740B1 (en) * 2000-01-13 2003-09-23 Cirrus Logic, Inc. Dynamically activating and deactivating selected circuit blocks of a data processing integrated circuit during execution of instructions according to power code bits appended to selected instructions
US6974437B2 (en) 2000-01-21 2005-12-13 Medtronic Minimed, Inc. Microprocessor controlled ambulatory medical apparatus with hand held communication device
US7143401B2 (en) * 2000-02-17 2006-11-28 Elbrus International Single-chip multiprocessor with cycle-precise program scheduling of parallel execution
DE10009683A1 (de) * 2000-02-29 2001-08-30 Nokia Mobile Phones Ltd Verfahren zum Unterbrechen eines Ruhezustandes einer Kommunikationseinheit in einem Kommunikationssystem, insbesondere in einem Funk-Kommunikationssystem
US6421214B1 (en) * 2000-03-03 2002-07-16 Pass & Seymour, Inc. Arc fault or ground fault detector with self-test feature
JP2001313547A (ja) * 2000-05-01 2001-11-09 Mitsubishi Electric Corp 内部回路へのクロック供給方法およびクロック供給回路
EP1182559B1 (de) * 2000-08-21 2009-01-21 Texas Instruments Incorporated Mikroprozessor
JP2002082832A (ja) * 2000-09-08 2002-03-22 Nec Corp キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体
US6871292B1 (en) * 2000-11-20 2005-03-22 Intersil Americas, Inc. Sequencer and method of selectively inhibiting clock signals to execute reduced instruction sequences in a re-programmable I/O interface
US6636225B2 (en) * 2000-11-20 2003-10-21 Hewlett-Packard Development Company, L.P. Managing texture mapping data in a computer graphics system
US6732236B2 (en) * 2000-12-18 2004-05-04 Redback Networks Inc. Cache retry request queue
SE516758C2 (sv) * 2000-12-22 2002-02-26 Ericsson Telefon Ab L M Digitalt bussystem
US6665776B2 (en) * 2001-01-04 2003-12-16 Hewlett-Packard Development Company L.P. Apparatus and method for speculative prefetching after data cache misses
US6584546B2 (en) * 2001-01-16 2003-06-24 Gautam Nag Kavipurapu Highly efficient design of storage array for use in first and second cache spaces and memory subsystems
US20020138778A1 (en) * 2001-03-22 2002-09-26 Cole James R. Controlling CPU core voltage to reduce power consumption
US6968219B2 (en) * 2001-08-15 2005-11-22 Qualcomm, Incorporated Method for reducing power consumption in bluetooth and CDMA modes of operation
EP1421588B1 (de) * 2001-08-29 2012-01-18 MediaTek Inc. Verfahren und vorrichtung benützend flash burst mode um prozessorsleistung zu verbessern
US6865503B2 (en) * 2002-12-24 2005-03-08 Conexant Systems, Inc. Method and apparatus for telemetered probing of integrated circuit operation

Also Published As

Publication number Publication date
EP2230603A3 (de) 2012-08-01
WO2003021426A2 (en) 2003-03-13
US6768358B2 (en) 2004-07-27
US6978350B2 (en) 2005-12-20
AU2002327599A1 (en) 2003-03-18
WO2003021426A3 (en) 2004-10-28
EP1421465B1 (de) 2008-08-13
EP1421463B1 (de) 2007-10-17
CN1299201C (zh) 2007-02-07
EP1421497A2 (de) 2004-05-26
DE60223555D1 (de) 2007-12-27
WO2003021446A2 (en) 2003-03-13
AU2002331774A1 (en) 2003-03-18
EP1499955B1 (de) 2016-07-20
US20080077820A1 (en) 2008-03-27
CN1549960A (zh) 2004-11-24
CN100399472C (zh) 2008-07-02
CN100471079C (zh) 2009-03-18
CN1549961A (zh) 2004-11-24
JP4243186B2 (ja) 2009-03-25
DE60223051D1 (de) 2007-11-29
CN100451914C (zh) 2009-01-14
JP2007006505A (ja) 2007-01-11
US7114093B2 (en) 2006-09-26
WO2003021439A1 (en) 2003-03-13
EP1421704B1 (de) 2007-11-14
CN1549976A (zh) 2004-11-24
JP2005502259A (ja) 2005-01-20
JP2005510779A (ja) 2005-04-21
CN100517215C (zh) 2009-07-22
EP1421465A2 (de) 2004-05-26
US20030061445A1 (en) 2003-03-27
US20030058052A1 (en) 2003-03-27
CN1549971A (zh) 2004-11-24
JP4440900B2 (ja) 2010-03-24
DE60211921T2 (de) 2006-10-05
US7007132B2 (en) 2006-02-28
WO2003021453A3 (en) 2004-03-18
CN1549961B (zh) 2010-04-14
US20030051231A1 (en) 2003-03-13
EP1421463A1 (de) 2004-05-26
EP1421497B1 (de) 2011-03-02
WO2003021446A3 (en) 2003-06-19
EP1421490A1 (de) 2004-05-26
JP2005502126A (ja) 2005-01-20
EP1421588A2 (de) 2004-05-26
US8156366B2 (en) 2012-04-10
US7159134B2 (en) 2007-01-02
JP2009064456A (ja) 2009-03-26
US20030126487A1 (en) 2003-07-03
WO2003021426A9 (en) 2004-05-06
DE60210633T2 (de) 2007-04-05
EP1425671B1 (de) 2006-05-31
DE60228268D1 (de) 2008-09-25
US7315956B2 (en) 2008-01-01
JP2005502114A (ja) 2005-01-20
WO2003021453A2 (en) 2003-03-13
US20030149809A1 (en) 2003-08-07
DE60211921D1 (de) 2006-07-06
EP1421490B1 (de) 2006-04-12
EP1421588B1 (de) 2012-01-18
JP4799819B2 (ja) 2011-10-26
DE60223051T2 (de) 2008-07-24
WO2003021407A1 (en) 2003-03-13
CN1620645A (zh) 2005-05-25
EP1425671A2 (de) 2004-06-09
US20030117176A1 (en) 2003-06-26
JP4170218B2 (ja) 2008-10-22
DE60210633D1 (de) 2006-05-24
US7698590B2 (en) 2010-04-13
JP3852703B2 (ja) 2006-12-06
JP2005502144A (ja) 2005-01-20
US20030071657A1 (en) 2003-04-17
WO2003021409A3 (en) 2003-09-25
US20030070051A1 (en) 2003-04-10
EP2230603B1 (de) 2014-03-05
JP2005502120A (ja) 2005-01-20
EP1499955A2 (de) 2005-01-26
JP2005502241A (ja) 2005-01-20
US20080077770A1 (en) 2008-03-27
CN101673238B (zh) 2012-02-15
EP1421704A1 (de) 2004-05-26
CN1550016A (zh) 2004-11-24
US6889331B2 (en) 2005-05-03
JP4340536B2 (ja) 2009-10-07
WO2003021600A3 (en) 2003-10-23
US7174543B2 (en) 2007-02-06
DE60239347D1 (de) 2011-04-14
WO2003021600A2 (en) 2003-03-13
JP4338514B2 (ja) 2009-10-07
CN1550070A (zh) 2004-11-24
CN100361109C (zh) 2008-01-09
WO2003021800A1 (en) 2003-03-13
EP2230603A2 (de) 2010-09-22
CN1547701A (zh) 2004-11-17
JP2005502123A (ja) 2005-01-20
CN100570577C (zh) 2009-12-16
WO2003021409A2 (en) 2003-03-13
CN101673238A (zh) 2010-03-17

Similar Documents

Publication Publication Date Title
DE60223555T2 (de) Verfahren und apparat zur takt- und leistungssteuerung in drahtlosen systemen
DE69838044T2 (de) Verfahren zur Energieeinsparung in einem digitalen schnurlosen Kommunikationsgerät
DE102010002636B4 (de) Reduktion des Stromverbrauchs in einem Mikrocontroller
DE69727355T2 (de) Anordnung und Verfahren zur Taktsequenzierung in einem Datenverarbeitungssystem
DE112006003575B4 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
DE69907512T2 (de) Gerät und verfahren zur automatischen frequenzregelung einer zentralen verarbeitungseinheit
DE69532596T2 (de) Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung
DE10361017B4 (de) Taktsteuerschaltungsvorrichtung, Mikrocomputer, Taktsignaloszillationsfrequenz-einstellverfahren, Oszillationsschaltungsvorrichtung und Speicherschnittstellenschaltungsvorrichtung
DE102004062911A1 (de) Verfahren zum Betrieb eines Prozessors und zugehöriges Prozessorsystem
DE3335145A1 (de) Synchron arbeitender taktunterbrecher fuer mikroprozessoren
DE102008062692A1 (de) Vorrichtung und Verfahren mit gesteuertem Schaltmodus
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
DE112016005671T5 (de) Zeitbasissynchronisierung
DE69823162T2 (de) Energiesparanordnung für ein elektronisches tragbares Gerät
DE19919116A1 (de) Verfahren und System zum Schalten von Taktsignalen
DE102017110821A1 (de) Halbleitervorrichtung
DE19983709B4 (de) Einplanung von Ressourcenanforderungen in einem Computersystem
DE102016109387A1 (de) Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems
DE10025250A1 (de) Mikrocomputer und Speicherzugriffs-Steuerverfahren
DE69433906T2 (de) Vorrichtung und Verfahren zur Steuerung eines Peripheriebustaktsignals
CN114860418A (zh) 操作系统时钟源的使用方法、装置、电子设备及存储介质
GB2402843A (en) Mobile radio communications device
DE10230924A1 (de) Halbleitervorrichtung, die die Steuerung der Taktversorgung eines Prozessors auf Taktzyklusbasis ermöglicht

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication related to discontinuation of the patent is to be deleted
8327 Change in the person/name/address of the patent owner

Owner name: MEDIATEK INC., HSINCHU, TW

8364 No opposition during term of opposition