DE60211921T2 - Architektur und system von einem generischen seriellen port - Google Patents
Architektur und system von einem generischen seriellen port Download PDFInfo
- Publication number
- DE60211921T2 DE60211921T2 DE60211921T DE60211921T DE60211921T2 DE 60211921 T2 DE60211921 T2 DE 60211921T2 DE 60211921 T DE60211921 T DE 60211921T DE 60211921 T DE60211921 T DE 60211921T DE 60211921 T2 DE60211921 T2 DE 60211921T2
- Authority
- DE
- Germany
- Prior art keywords
- clock
- shift register
- state machine
- output
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000004044 response Effects 0.000 claims description 26
- 238000000034 method Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 230000002829 reductive effect Effects 0.000 claims description 5
- 230000000903 blocking effect Effects 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims 2
- 230000029305 taxis Effects 0.000 claims 1
- 238000012546 transfer Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 21
- 239000000872 buffer Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 102100021943 C-C motif chemokine 2 Human genes 0.000 description 1
- 101000897480 Homo sapiens C-C motif chemokine 2 Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/0802—Details of the phase-locked loop the loop being adapted for reducing power consumption
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/16—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
- H03L7/18—Indirect 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/183—Indirect 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3814—Wireless link with a computer system port
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/095—Details 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S331/00—Oscillators
- Y10S331/02—Phase locked loop having lock indicating or detecting means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Power Sources (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Systems (AREA)
- Telephone Function (AREA)
- Microcomputers (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Executing Machine-Instructions (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Advance Control (AREA)
- Storage Device Security (AREA)
- Transceivers (AREA)
- Devices For Executing Special Programs (AREA)
- Communication Control (AREA)
Description
- Verwandte Anmeldungen
- Diese Anmeldung beansprucht nach Artikel 35 US Code § 119 (e) die Priorität der am 29. August 2001 eingereichten US Patentanmeldung mit dem Titel „Digital Baseband Processor", von Allen, et al. Die oben genannte Patentanmeldung wird hierdurch durch Bezug hierin in ihrer Vollständigkeit aufgenommen.
- Gebiet der Erfindung
- Die vorliegende Erfindung betrifft im Allgemeinen programmierbare serielle Anschlüsse und insbesondere programmierbare serielle Hochgeschwindigkeitsanschlüsse.
- Hintergrund der Erfindung
- Auf dem Gebiet der elektronischen Schaltungen und in der Datenkommunikation sind viele Anordnungen serieller Anschlüsse bekannt. Anordnungen enthalten z. B. statische serielle Anschlüsse zum Übertragen und Empfangen von Daten eines ausgewählten seriellen Kommunikationsprotokolls (z. B. universale asynchrone Empfangs-Sendevorrichtungen (UART)), sowie konfigurierbare serielle Anschlüsse (z. B. Mikroprozessoren mit softwaregesteuerten seriellen Anschlüssen). Konfigurierbare serielle Anschlüsse bieten die Möglichkeit eine Vielzahl von Protokollen mit einer einzelnen Vorrichtung mit seriellem Anschluss zu bedienen bzw. betreiben. Statische und konfigurierbare serielle Anschlüsse werden für einen breiten Bereich von Anwendungen einschließlich der Kommunikation mit Anzeigevorrichtungen, sowie der Kommunikation mit Modems verwendet, und dienen als ein Universalsystemverbinder (USC = Universal System Connector).
- Es wurden zahlreiche serielle Kommunikationsprotokolle (hierin ebenfalls als Protokolle bezeichnet) veröffentlicht (z. B. um einige zu nennen, UART, I2C, HC11, IrDa), von welchen jedes spezifische Parameter definiert, nach welchen serielle Daten-Bits zwischen seriellen Anschlüssen kommuniziert werden. Die Parameter, welche ein Protokoll definieren, können Faktoren wie z. B. den Zeitablauf der empfangenen oder gesendeten Bits, elektrische Parameter (z. B. Signalpolarität, Leitungstreibercharakteristiken wie z. B. Open-Source oder Open-Collector Ausgabe Impedanzen, etc.), und logische Definitionen von Bit-Bedeutungen und Sequenzen enthalten.
- Ein Beispiel eines konfigurierbaren seriellen Anschlusses wird durch die Motorola M68HC11 Familie von Mikrocontrollern vorgesehen, welche einen im Stand der Technik als Motorola synchrone serielle Peripherschnittstelle (SPI) bekannten programmierbaren seriellen Anschluss enthält. Solche seriellen Schnittstellen können aus verschiedenen Gründen nachteilhaft sein. Der Prozessor muss z. B. ein Softwareprogramm zum Steuern des seriellen Anschlusses ausführen und sämtliche der über Signalwege zu sendenden Daten-Bits passieren durch den Prozessor, wodurch der Prozessor über die Belastung hinaus, welche dem Prozessor auferlegt wird, während dieser die Aufgabe durchführt, für welche er ansonsten verwendet wird, belastet. Da die serielle Hardware ein leistungsverbrauchendes Teil des Prozessors ist, wird wenn immer der Prozessor ein Softwareprogramm ausführt, zusätzliche Leistung verbraucht, auch falls der serielle Anschluss nicht aktiv ist.
- Als eine Alternative zu Mikrocontroller-gesteuerten programmierbaren seriellen Anschlüssen, sind programmierbare serielle Anschlüsse entwickelt worden, welche eine Zustandsmaschine implementieren, um den Prozessor von der Bürde zu entlasten, viele Aspekte des seriellen Anschlusses steuern zu müssen. Ein Beispiel eines solchen programmierbaren seriellen Anschlusses ist in der am 3. November 2000 eingereichten US Patentanmeldung „Generic Serial Port Architecture and System" von Sorenson mit der Seriennummer 09/706,450 gegeben.
-
1 ist ein Blockdiagramm eines solchen programmierbaren seriellen Anschlusses100 . In1 empfängt ein Schieberegister110 , wenn dieses im Sendemodus beschrieben wird, einen parallelen Satz von Daten-Bits auf den Kanälen102 von einem Pufferspeicher120 und gibt die Bits als eine serielle Ausgabe auf Kanal104 (über einen Treiber180 ) unter der Steuerung einer Zustandsmaschine120 aus. Wenn das Schieberegister110 im Gegensatz dazu in einem Empfangsmodus betrieben wird, empfängt dieses eine serielle Eingabe auf Kanal104 und gibt einen parallelen Satz von Daten-Bits auf den Kanälen102 aus. - Der Begriff (Zustandsmaschine) ist hierin als eine Vorrichtung definiert, welche einen existierenden Status (z. B. einen Programmzähler und eine Vielzahl von anderen Registern) speichert und nach Empfangen einer Eingabe (z. B. einer Instruktion oder eines Befehls) in einen neuen Status wechselt und/oder eine deterministische Aktion oder eine Ausgabe einleitet, welche in Reaktion auf den existierenden Status und die Eingabe stattfindet. Während Zustandsmaschinen eine arithmetische logische Einheit (ALU) oder andere Schaltungen, welche im herkömmlichen Sinne mit Mikroprozessoren verbunden sind, enthalten können, schließt der Begriff Zustandsmaschine, wie hierin definiert, solche Schaltungen oder Elemente nicht aus.
- In dem programmierbaren seriellen Anschluss
100 werden Instruktionen, welche Regeln zum Implementieren von zwei oder mehreren Protokollen entsprechen, in einem Speicher130 gespeichert. Unter Verwendung der Instruktionen des Speichers130 führt die Zustandsmaschine120 Instruktionen aus, welche einem durch den Controller150 ausgewähltem Protokolle entsprechen, um eine Ausgabe entsprechend einem angegebenen Protokoll auf Kanal104 vorzusehen. Ein Bitzähler170 sieht an die Zustandsmaschine120 eine numerische Anzahl der gesendeten Bits vor, um es zu erleichtern, eine Ausgabe entsprechend dem ausgewählten Protokoll vorzusehen, da das Verarbeiten eines Bits häufig von der Position in entweder den parallelen Kanälen102 oder dem seriellen Empfangs- oder Sendebitstream auf Kanal102 abhängt. - Eine Ausgabe wird typischerweise durch einen Treiber
180 geleitet, um eine Ausgabe vorzusehen, welche spezifische elektrische Parameter aufweist bzw. mit diesen kompatibel ist. In herkömmlichen, auf Zustandsmaschinen basierenden programmierbaren seriellen Anschlüssen (z. B. der programmierbare serielle Anschluss100 ) erfordert die Ausführung von Instruktionen zum Vorsehen einer Ausgabe entsprechend einem ausgewählten Protokoll, dass die Zustandsmaschine120 von dem Taktgenerator160 ein Taktimpuls empfängt und an das Schieberegister110 ein Taktsignal vorsieht, um die Ausgabe jedes Bits von dem Schieberegister110 je nachdem an den Kanal104 oder dem Pufferspeicher120 zu steuern, und erfordert, dass die Zustandsmaschine eine durch einen Bitzähler170 vorgesehene Bitanzahl bzw. Zählung beibehält und verarbeitet. - Das Vorsehen einer Ausgabe entsprechend einem ausgewählten Protokoll erfordert, dass eine Ausgabe zu angegebenen Zeiten vorgesehen wird. In manchen Protokollen muss eine Ausgabe auf Kanal
104 z. B. innerhalb eines bestimmten bzw. angegebenen Zeitraums auf den Empfang eines Zeitablaufsignals (z. B. eine ansteigende Flanke auf einem Kanal190 ) durch den programmierbaren seriellen Anschluss100 hin erfolgen. Da das Zeitintervall zwischen dem Empfang des Taktsignals und dem Vorsehen der Ausgabe sehr kurz sein kann muss eine Instruktion, um eine Ausgabe zu erreichen, in der Lage sein kurze Ausführungszeiten aufzuweisen, sonst kann der serielle Anschluss eine unzureichende Datenausgabegeschwindigkeit aufweisen und in manchen Fällen kann es sein, dass ein Betrieb von manchen Protokollen nicht möglich ist. -
2 ist ein Ablaufdiagramm200 eines typischen Satzes von Instruktionen für einen herkömmlichen programmierbaren seriellen Anschluss, um eine Standardausgabe (z. B. eine UART-kompatible Ausgabe) zu erreichen. Bei Schritt205 wartet die Zustandsmaschine auf eine Anzeige, das das Schieberegister mit Daten gefüllt ist (d. h. einem parallelen Datensatz). Bei Schritt210 lädt die Zustandsmaschine den Treiber mit einem Startzustand (z. B. ein logischer Wert 1 oder 0). Bei Schritt220 initialisiert die Zustandsmaschine den Bitzähler (z. B. eine Anfangsbitanzahl wird geladen). Bei Schritt240 identifiziert die Zustandsmaschine die Codezeilen, der Schleife, durch welche Daten von dem Schieberegister verschoben werden. Das erste Daten-Bit wird gesendet und für so viele Taktzyklen wie für das Protokoll notwendig sind, beibehalten, und der Bitzähler wird bei den Schritten250 bzw.260 durch die Zustandsmaschine gesenkt. Nachfolgende Daten-Bits werden gesendet und der Bitzähler wird durch die Zustandsmaschine (bei Schritt270 ) gesenkt, bis der Bitzähler Null erreicht. Nachdem alle Daten-Bits gesendet sind, veranlasst die Zustandsmaschine, dass ein Paritäts-Bit bei Schritt280 gesendet wird. Bei Schritt290 wird der Treiber schließlich in einen Stop-Zustand versetzt. - Ein Verfahren zum Erreichen schnellerer Ausführungszeiten ist es, die Taktrate, mit welcher die Zustandsmaschine Instruktionen ausführt, zu erhöhen, so dass eine größere Anzahl von Instruktionen in einem gegebenen Zeitintervall ausgeführt werden (z. B. das Zeitintervall zwischen einem Zeitsteuersignal und dem Beginn der Ausgabe von seriellen Daten-Bits); eine schnellere Taktrate kann jedoch schnellere und teurere elektronische Komponenten erfordern. Eine schnellere Taktrate kann zusätzlich einen erhöhten Leistungsverbrauch erfordern. Es wird dementsprechend ein programmierbarer serieller Anschluss benötigt, welcher in der Lage ist, notwendige Eingabe (z. B. Zeitsteuersignale) zu empfangen und verarbeiten, und notwendige Ausgaben mit einer relativ hohen Geschwindigkeit vorzusehen, während dieser eine relativ geringe Taktgeschwindigkeit beibehält. Es wird darüber hinaus ein programmierbarer serieller Anschluss benötigt, welcher in der Lage ist, entsprechend einer breiten Vielfalt von Protokollen Ausgaben vorzusehen und Eingaben anzunehmen.
- WO02/42919 offenbart eine Ablaufsteuerung, welche Instruktionen basierend auf einer Funktionstaktfrequenz ausführt, um Eingabe/Ausgabefunktionen in einer seriellen peripheren Schnittstelle durchzuführen. Der Funktionstakt weist eine Frequenz auf, welche ein zweifaches des Quelltaktsignals beträgt. Ein Funktionstaktgenerator erzeugt das Funktionstaktsignal und wählt die zu entschlüsselnde Instruktion aus. Die Instruktion gibt wahlweise die Frequenz des Funktionstaktsignals vor, so dass dieses während der Zeitdauer des Funktionstaktsignals, während welcher die vorbestimmte Instruktion entschlüsselt wird, um eine einzelne Instruktion während des Quelltaktsignals auszuführen, der Frequenz des Quelltaktsignals gleicht.
- Zusammenfassung der Erfindung
- Entsprechend einem ersten Aspekt der vorliegenden Erfindung ist ein programmierbarer serieller Anschluss vorgesehen, aufweisend:
ein erstes Schieberegistermodul, welches ein Schieberegister enthält, dass einen Eingabekanal zum Empfangen einer parallelen Eingabe einer ersten Vielzahl von Bits einen ersten Ausgabekanal zum Vorsehen einer seriellen Ausgabe einer zweiten Vielzahl von Bits, sowie ein weiteres Register zum Steuern des Schieberegistermoduls aufweist;
einen Taktgenerator; und
eine erste Zustandsmaschine,
dadurch gekennzeichnet, dass der Taktgenerator ein erstes Taktsignal an das erste Schieberegistermodul vorsieht, und der Taktgenerator, sowie das erste Schieberegistermodul auf Instruktionen von der Zustandsmaschine reagieren, so dass die Zustandsmaschine zumindest eine Instruktion ausgeben kann, um eine Ausgabe der zweiten Vielzahl von Bits von dem Schieberegister ohne eine weitere Steuerung durch die Zustandsmaschine zu bewirken. - Der Taktgenerator kann ferner einen zweiten Ausgabekanal an ein zweites Schieberegistermodul aufweisen, wobei der zweite Ausgabekanal ein zweites Taktsignal, welches eine vorbestimmte Anzahl von Impulsen aufweist, mit einer vorbestimmten Frequenz in Reaktion auf zumindest eine Instruktion vorsieht. Der Taktgenerator kann ferner optional einen zweiten Ausgabekanal an eine Zustandsmaschine aufweisen, wobei der zweite Ausgabekanal ein zweites Taktsignal an die Zustandsmaschine vorsieht. In manchen Ausführungsformen weist der Taktgenerator ferner ein mit dem zweiten Ausgabekanal gekoppeltes Gate auf, so dass das zweite Taktsignal durch das Gate passiert und wobei das Gate durch die zumindest eine der Instruktionen, welche die vorbestimmte Anzahl von Impulsen anzeigt, und die vorbestimmte Frequenz steuerbar ist. In anderen Ausführungsformen des ersten Aspekts der Erfindung weist der Taktgenerator ferner einen Teiler auf, welcher mit dem zweiten Ausgabekanal gekoppelt ist, um das zweite Taktsignal zu empfangen, sowie mit dem ersten Ausgabekanal gekoppelt ist, um das erste Taktsignal vorzusehen, wodurch das zweite Taktsignal geteilt wird, um das erste Taktsignal zu bilden.
- Die Zustandsmaschine kann konfiguriert und angeordnet sein, um Instruktionen entsprechend einer Vielzahl von seriellen Kommunikationsprotokollen vorzusehen. Jedes der zweiten Vielzahl von Bits kann in Reaktion auf einen Taktimpuls der zweiten Vielzahl von Impulsen ausgegeben werden.
- In manchen Ausführungsformen weist das Schieberegistermodul ferner einen Bitzähler auf, wobei der Bitzähler konfiguriert ist, einen numerischen Zählwert der seriellen Ausgabe der zweiten Vielzahl von Bits beizubehalten. Der Bitzähler wird optional in Reaktion auf einen Taktimpuls der zweiten Vielzahl von Impulsen gesenkt. Jedes der zweiten Vielzahl von Bits kann ein Daten-Bit, ein Paritäts-Bit, oder ein Stop-Bit sein. Jedes der zweiten Vielzahl von Bits wird optional basierend auf dem Bit-Zählwert ausgewählt.
- Das Schieberegistermodul kann ferner einen Paritätsgenerator aufweisen. In manchen Ausführungsformen gibt das Scheiberegistermodul von dem Paritätsgenerator in Reaktion auf einen Taktimpuls der zweiten Vielzahl von Impulsen ein Paritäts-Bit aus. Der programmierbare serielle Anschluss kann ferner einen programmierbaren Treiber aufweisen, welcher mit dem ersten Ausgabekanal gekoppelt ist, um die elektrischen Parameter der seriellen Ausgabe zu steuern. Ein Interrupt-Verarbeitungsmodul kann mit der ersten Zustandsmaschine gekoppelt sein, um einen Interrupt bzw. eine Unterbrechung der Zustandsmaschine zu bewirken.
- Der programmierbare serielle Anschluss kann ferner ein zweites Schieberegistermodul aufweisen, wobei der zweite Taktgenerator mit dem zweiten Schiebereigistermodul gekoppelt ist, um ein zweites Taktsignal vorzusehen, welches eine zweiten Vielzahl von Taktimpulsen aufweist, und wobei das zweite Schieberegistermodul in Reaktion auf das zweite Taktsignal eine zweite serielle Ausgabe vorsieht.
- Das Schieberegistermodul enthält vorteilhafterweise einen Bit-Zähler, welcher konfiguriert ist, einen Zählwert der Anzahl von Bits beizubehalten, welche durch den seriellen Anschluss ausgegeben werden. Der Bit-Zähler kann in Reaktion auf ein Taktimpuls gesenkt werden. In manchen Ausführungsformen weist das Schieberegistermodul ferner einen Paritätsgenerator auf. Das Schieberegistermodul kann in Reaktion auf den numerischen Zählwert ein Paritäts-Bit vorsehen. Jedes der Vielzahl von Bits, welches der seriellen Ausgabe entspricht, kann ein Daten-Bit, ein Paritäts-Bit, oder ein Stop-Bit sein. Jedes der Vielzahl der Bits, welches der seriellen Ausgabe entspricht, kann optional basierend auf dem numerischen Zählwert ausgewählt werden.
- Entsprechend einem zweiten Aspekt der vorliegenden Erfindung ist ein Verfahren zum Steuern eines Schieberegistermoduls vorgesehen, welches ein erstes Schieberegister aufweist, das eine erste Vielzahl von Bits enthält, um eine serielle Ausgabe entsprechend dem ausgewählten einer Vielzahl von seriellen Kommunikationsprotokollen vorzusehen, wobei das erste Schieberegistermodul mit einem Taktgenerator und einer Zustandsmaschine gekoppelt ist und das Verfahren aufweist.
- Entsprechend dem ausgewählten Protokoll, Auswählen einer durch die Zustandsmaschine unter einer Vielzahl von Instruktionssequenzen auszuführende Instruktionssequenz, wobei jede der Instruktionssequenzen einem Protokoll entspricht; Steuern des Taktgenerators entsprechend einer Instruktion der ausgewählten Instruktionssequenz um eine erste Vielzahl von Taktimpulsen an das Schieberegistermodul vorzusehen, und Ausgeben einer zweiten Vielzahl von Bits, welche der ersten Vielzahl von Bits entsprechen in Reaktion auf die Taktimpulse und Ausführung der Instruktionssequenz ohne weitere Steuerung durch die Zustandsmaschine.
- Kurze Beschreibung der Zeichnungen
- Darstellende, nicht begrenzende Ausführungsformen der vorliegenden Erfindung werden anhand von Beispielen mit Bezug auf die begleitenden Zeichnungen beschrieben, in welchen gleiche Bezugszeichen zum Bezeichnen der gleichen Komponenten in unterschiedlichen Figuren verwendet werden. Es zeigt:
-
1 ist ein Blockdiagramm eines herkömmlichen programmierbaren seriellen Anschlusses; -
2 ist ein Ablaufdiagramm eines typischen Instruktionssatzes für einen herkömmlichen programmierbaren seriellen Anschluss, um eine Standardausgabe (z. B. eine UART kompatible Ausgabe) zu erreichen; -
3A ist ein funktionelles Blockdiagramm einer ersten beispielhaften Ausführungsform eines programmierbaren seriellen Anschlusses entsprechend von zumindest manchen Aspekten der vorliegenden Erfindung; -
3B stellt ein Zeitablaufdiagramm für einen beispielhaften Ausgabe-Bit-Stream eines Schieberegistermoduls dar, welches konfiguriert ist, automatisch ein Paritäts-Bit und ein Stop-Bit auszugeben; -
4A ist ein funktionelles Blockdiagramm einer zweiten beispielhaften Ausführungsform eines programmierbaren seriellen Anschlusses entsprechend von zumindest manchen Aspekten der vorliegenden Erfindung; -
4B ist ein schematisches Diagramm eines beispielhaften Interrupt-Verarbeitungsmoduls; -
5 ist ein schematisches Diagramm einer beispielhaften Ausführungsform eines Transferregister-Schiebemoduls entsprechend von zumindest manchen Aspekten der vorliegenden Erfindung; -
6 ist ein schematisches Diagramm eines Beispiels eines Treibers (z. B. der Treiber in3A ), welcher in einem programmierbaren Anschluss verwendet werden kann; -
7 ist ein schematisches Diagramm eines Beispiels einer Ausführungsform eines Taktgenerators zur Verwendung mit zumindest manchen programmierbaren seriellen Anschlüssen entsprechend von Aspekten der vorliegenden Erfindung; -
8A stellt eine beispielhafte Taktgeneratorausgabe für einen Taktgenerator dar,. welcher einen Taktimpuls in einem Standardmodus erzeugt; -
8B stellt eine Taktgeneratorausgabe für einen Taktgenerator dar, welcher in einem Leistungssparmodus betrieben wird; -
9 ist ein Ablaufdiagramm einer beispielhaften Instruktionssequenz für einen programmierbaren seriellen Anschluss entsprechend von manchen Aspekten der vorliegenden Erfindung, um eine Standardausgabe (z. B. eine UART kompatible Ausgabe) zu erreichen; -
10A ist eine schematische Darstellung einer geeigneten Speicherordnung, welche zur Verwendung im Rahmen der vorliegenden Erfindung geeignet ist; -
10B ist eine schematische Darstellung einer beispielhaften Zustandsmaschinen-Dekodierarchitektur, welche zur Verwendung im Rahmen der in10A gezeigten Speicherordnung geeignet ist; und -
11A und11B sind Tabellen, welche einen beispielhaften Satz von Binärimplementierungen eines Instruktionssatzes darstellen. - Ausführliche Beschreibung
-
3A ist ein funktionelles Blockdiagramm einer ersten beispielhaften Ausführungsform eines programmierbaren seriellen Anschlusses300 entsprechend von zumindest manchen Aspekten der vorliegenden Erfindung. Der programmierbare serielle Anschluss300 überträgt einen parallelen Satz von Daten-Bits, welcher eine Vielzahl von Bits (z. B. ein Byte von Daten) aufweist, auf den Kanälen302 , und sieht eine serielle Ausgabe einer zweiten Vielzahl von Bits, welche der ersten Vielzahl von Bits entsprechen, auf einem Kanal304 vor. Der programmierbare serielle Anschluss300 kann ebenfalls verwendet werden, eine serielle Eingabe auf Kanäle304 zu empfangen und eine parallele Ausgabe auf den Kanälen302 vorzusehen. Der programmierbare serielle Anschluss300 kann des weiteren im Simplex oder Halb-Duplexbetrieb betrieben werden. In der nachfolgenden Erörterung wird der Schwerpunkt hauptsächlich auf den Paralleleingabe/Serielleausgabe-Modus gelegt, da der Serielleingabe/Paralleleausgabe-Modus gewöhnlich ohne weitere Ausführungen ersichtlich ist. - Der programmierbare serielle Anschluss
300 enthält eine Zustandsmaschine320 , einen Taktgenerator360 (hierin ebenfalls als Taktimpulsgenerator bezeichnet), ein Schieberegister312 und einen Treiber380 . Ein Controller350 (herkömmlicher Natur) steuert einige Funktionen des programmierbaren seriellen Anschlusses300 , z. B. durch Initialisieren der obigen Komponenten, welche den programmierbaren seriellen Anschluss300 aufweisen, durch Auswählen eines Protokolls, unter welchem die serielle Kommunikation stattfindet, und Füllen des Pufferspeichers320 . - Wie nachstehend ausführlicher beschrieben ist, steuert die Zustandsmaschine
320 den Betrieb des Schieberegisters312 und des Taktgenerators360 durch Vorsehen von Befehlen an jede von ihnen, einschließlich dem Steuern von Konfigurationsregistern jeder von ihnen. Die Zustandsmaschine320 führt Instruktionen entsprechend einem durch den Controller350 ausgewähltem Protokollprogramm durch. Der Controller sieht z. B. eine Programmtextzeilenzahl von einem Satz von Instruktionen vor, welche einem gewähltem Protokollprogramm entsprechend vor, welches in einem Speicher330 gespeichert ist. Der Speicher kann eine Vielzahl von Instruktionen enthalten, welche einem unterschiedlichen Protokoll entsprechen. - Ein Schieberegistermodul
312 empfängt eine parallele Eingabe einer Vielzahl von Bits von einem Pufferspeicher320 auf den Kanälen302 , und sieht eine serielle Ausgabe, welche der Vielzahl von Bits entspricht, an den Treiber380 vor. Das Schieberegistermodul312 enthält ein Schieberegister310 , um auf dem Kanal302 empfangene Daten zu seriallisieren bzw. in serieller Reihenfolge zu erstellen, sowie einen Bitzähler370 . Der Bitzähler370 ist konfiguriert, eine numerierte Anzahl von den Bits serieller Daten beizubehalten, welche durch das Schieberegistermodul312 ausgegeben werden. - Der Taktgenerator
360 ist mit der Zustandsmaschine320 gekoppelt, und sieht einen oder mehrere Taktimpulse an das Schieberegister310 in Reaktion auf zumindest eine Instruktion der Zustandsmaschine320 vor. Die Taktimpulse steuern die Zeitvorgabe des Schiebens von Daten in das und aus dem Schieberegistermodul312 . Der Taktgenerator360 weist einen Eingabekanal auf, um zumindest eine Instruktion von der Zustandsmaschine320 zu empfangen, und einen Ausgabekanal, um Taktimpulse an die Zustandsmaschine320 vorzusehen. In Reaktion auf z. B. zumindest eine Instruktion, kann der Taktgenerator360 eine vorbestimmte Anzahl von Taktimpulsen an das Schieberegister310 mit vorbestimmter Frequenz zu einem vorbestimmten Zeitpunkt (oder nach einer vorbestimmten Verzögerung) vorsehen. In einigen Ausführungsformen sieht die Zustandsmaschine320 einen einzelnen Befehl an den Taktgenerator360 vor, um eine vorbestimmte Anzahl von Impulsen mit einer vorbestimmten Frequenz zu erzeugen, um die Ausführungszeitdauer, welche zum Steuern des Taktgenerators notwendig ist, zu verringern. Die Anzahl der durch die Zustandsmaschine durchgeführten Instruktionen, um eine Ausgabe entsprechend einem gewählten Protokoll zu erreichen ist deshalb relativ gesehen geringer und die Gesamtdurchführungszeitdauer zum Erreichen einer Ausgabe ist relativ kurz; der programmierbare serielle Anschluss300 ist somit in der Lage, Ausgaben vorzusehen und Eingaben entsprechend einer breiten Vielfalt von Protokollen zu akzeptieren. Die Zustandsmaschine320 und der Taktgenerator360 bilden zusammen ein Schieberegistersteuermodul355 zum Steuern des Schieberegistermoduls312 aus. - In Reaktion auf einen von dem Taktgenerator
360 empfangenen Taktimpuls (welchem andere Taktimpulse für andere Zwecke vorangegangen sein können) gibt das Schieberegistermodul312 ein einzelnes Datenbit an den Treiber380 aus, und der Bitzähler370 wird gesenkt oder erhöht (abhängig davon, ob ein Protokoll angibt, dass das Bit mit dem höchsten Stellenwert oder das Bit mit dem geringsten Stellenwert zuerst übertragen werden soll). Das Schieberegister312 kann derart konfiguriert sein, so dass für ausgewählte Protokolle der erste Taktimpuls, welcher empfangen wird, nachdem der Zähler Null erreicht, automatisch in einer Ausgabe des Paritäts-Bits resultiert, und der zweite empfangene Taktimpuls, nachdem der Zähler Null erreicht in der Ausgabe eines Stop-Bits resultiert. -
3B stellt ein Zeitablaufdiagramm für einen beispielhaften Ausgabe-Bitstream390 von einem Schieberegistermodul312 dar, welches konfiguriert ist, automatisch ein Paritäts-Bit und ein Stop-Bit auszugeben. Zusätzlich zu dem Ausgabe-Bitstream390 sind ein entsprechender Bit-Zählwert392 des Bitzählers370 (in3A oben gezeigt) und ein Taktsignal394 des Taktgenerators360 (in3A gezeigt) dargestellt. In dem beispielhaften Bitstream390 , wird angenommen, dass die Daten-Bits an der ansteigenden Flanke des Taktsignals394 ausgegeben werden. Nach Empfang jeder der jeweiligen Flanken396a bis d (entsprechend der Bit-Zählwerte 1 bis 4), wird ein entsprechendes Datenbit ausgegeben. Nach Empfang der ersten ansteigenden Flanke396e , wenn der Bit-Zählwert Null beträgt, wird ein Paritäts-Bit ausgegeben; und nach Empfang der zweiten ansteigenden Flanke396f , wenn der Bit-Zählwert Null beträgt, wird ein Stop-Bit ausgegeben. - Nochmals auf
3A Bezug nehmend ist der Treiber380 mit dem Kanal304 gekoppelt, um Leitungssteuer- und Empfangsschaltungen und für das gewählte Protokoll erforderliche Parameter vorzusehen. Der Treiber380 kann z. B. die Wahl einer gewünschten Leitungstreiber-Schaltungsart, wie z. B. einer Open-Source oder Open-Collector Leitungstreiberschaltung, die Wahl der Polarität eines Ausgabesignals und die Wahl eines Hochimpedanzzustands erlauben. Der Treiber380 kann zusätzlich die Wahl einer Datenquelle erlauben (z. B. Ausgabe an einem festen logischen Wert (d. h. eins oder zwei), Eingabe/Ausgabe von einer Zustandsmaschine, oder eine Eingabe/Ausgabe von einem Schieberegister). Der Treiber kann ebenfalls Eingabedaten/Ausgabedaten Fehlzuordnungen erfassen. Im Halb-Duplexbetrieb kann der Treiber380 zusätzlich auf dem Kanal304 gesendete und empfangene Daten multiplexen. Der Treiber380 ist vorzugsweise in Reaktion auf ein Protokollauswahlsignal, welches wie gezeigt auf Leitung381 bereit gestellt wird, programmierbar, um protokollbezogene Auswahlen und Betriebe auszuführen. Das Protokollauswahlsignal kommt direkt oder indirekt von dem Kontrolle350 . Während der Treiber380 als den Ausgabekanal304 aufweisend dargestellt ist, ist es ersichtlich, dass der Treiber380 einen oder mehrere zusätzliche Ausgaben, wie z. B. eine Taktsignal bzw. Taktsignale vorsehen kann. Der Treiber380 wird ferner nachstehend mit Bezug auf6 beschrieben. -
4A ist ein funktionales Blockdiagramm einer zweiten beispielhaften Ausführungsform eines programmierbaren seriellen Anschlusses400 entsprechend von zumindest einigen Aspekten der vorliegenden Erfindungen. Der programmierbare serielle Anschluss400 enthält einen Treiber480 , zwei Zustandsmaschinen420 und421 , von welchen jede einen entsprechenden Speicher430 und431 aufweist, Schieberegistermodule412 und413 , und einen Taktgenerator460 und461 . Die Schieberegistermodule412 und413 weisen entsprechende Schieberegister410 und411 , sowie Bitzähler470 und471 auf. Die Schieberegister410 und411 empfangen parallele Daten-Bits von Pufferspeichern422 und423 und sehen jeweils serielle Ausgaben auf den Kanälen404 und405 vor. - Wie oben steuert ein Controller
450 einige Funktionen des programmierbaren seriellen Anschlusses400 , z. B. durch Initialisieren jeglicher der obigen Komponenten, welche den programmierbaren seriellen Anschluss400 aufweisen und durch Auswahl eines Protokolls, unter welchen die Eingaben und Ausgaben verarbeitet werden. - Der programmierbare serielle Anschluss
400 ist konfiguriert, um ein gleichzeitiges Senden und Empfangen von Daten über die jeweiligen Schieberegistermodule412 und413 zu erlauben; der programmierbare serielle Anschluss400 ist dementsprechend in der Lage, eine Voll-Duplexkommunikation oder Halb-Duplexkommunikation durchzuführen. - Um die Voll-Duplexkommunikation zu erreichen, arbeiten die Schieberegistermodule
412 und413 gleichzeitig, Daten zu senden und zu empfangen; und um in Halb-Duplexbetrieb zu arbeiten, senden/empfangen die Schieberegistermodule412 und413 Daten in abwechselnden Zeitzyklen. - In manchen Ausführungsformen enthält der programmierbare serielle Anschluss
400 zwei Ablauf- bzw. Ereigniszähler (eventcounter)480 und481 , welche jeweils den Zustandsmaschinen420 und421 zugehörig sind. Die Ablaufzähler480 und481 sind Register, welche in Reaktion auf eine Eingabe wie z. B. ein Taktsignal oder ein Signal von den Zustandsmaschinen420 und421 erhöht oder vermindert werden. Jeder der Ablaufzähler480 und481 ist in der Lage, einen entsprechenden Zählregisterwert vorzusehen. Die Zähler480 und481 sind konfigurierbar, in Reaktion auf eine Eingabe von einer Zustandsmaschine oder einer anderen Quelle (z. B. einem Taktgeber) erhöht oder vermindert zu werden. Auf einen Zählregisterwert kann z. B. über die Vergleichs-Instruktion (nachstehend erörtert) zugegriffen werden, und ein Zählregister kann zusätzlich festverdrahtet werden, um eine Ausgabe an eine zugehörige Zustandsmaschine nach dem Auftreten eines Ablaufs bzw. Ereignisses vorzusehen (z. B. der Zähler480 ,481 wird auf Null vermindert, oder ein Registerüberlauf ist aufgetreten). In einigen Ausführungsformen wird die Ausführung angegebener Instruktionen (eine Verzögerungsinstruktion, ein Wartebefehl oder ein Taktbefehl, welcher den Leistungssparmodus aufruft (jede dieser Instruktionen ist nachstehend beschreiben)) ein Taktsignal705 und706 einer Zustandsmaschine (in7 sichtbar) durch ein Gate708 ,709 gesperrt, bis die Zustandsmaschine einer Ausgabe von den Ablaufzähler480 ,481 empfängt, welche angibt, dass der Zähler480 ,481 auf Null gesenkt worden ist. - In einigen Ausführungsformen kann der programmierbare serielle Anschluss
400 ein Statusregister495 und einen Komparator490 enthalten. Das Statusregister495 ist in der Lage Daten zu empfangen, welche den Status jeglicher anderer Komponenten des programmierbaren seriellen Anschlusses400 angeben, z. B. ein Bit kann angeben, dass ein bestimmtes Register voll ist, leer ist, oder dass ein Überfluss vorliegt, oder kann einen Paritäts-Bitfehler angeben). Die Zustandsmaschinen420 und421 können bedingte bzw. an Bedingungen geknüpfte Vorgänge basierend z. B. auf jeglichen der Bits des Statusregisters oder eines Zählwerts der Ablaufzähler480 ,481 durchführen. Ein Komparator490 kann enthalten sein, um die Durchführung der bedingten Vorgänge durch die Zustandsmaschinen420 und421 zu erleichtern. Der Komparator490 kann z. B. einen Datenwert in einem ausgewählten Register vergleichen. - Optional kann eine Interrupt-Verarbeitung durch Interrupt-Verarbeitungsmodule
455 und456 vorgesehen werden. Bezugnehmend auf4B ist ein schematisches Diagramm eines beispielhaften Interrupt-Verarbeitungsmoduls455 dargestellt. Ein Interrupt-Verarbeitungsmodul ist definiert, konfiguriert und angeordnet, um eine Zustandsmaschine entsprechend von zumindest einem ersten Operand selektiv zu unterbrechen. Das Interrupt-Verarbeitungsmodul enthält ein erstes Interrupt- Auswahlregister457 zum Steuern von Multiplexern462 und463 , welche jeweils einen ersten Operand und einen zweiten Operand an ein Bediener- bzw. Anwendermodul464 vorsehen. Der erste Operand und der zweite Operand können z. B. ausgewählte Bits des Statusregisters495 sein, oder entweder der erste Operand, oder der zweite Operand kann ein ausgewählter Datenwert sein. Das Anwendermodul464 führt mit den ausgewählten Operanden einen ausgewählten Vorgang durch und erzeugt eine Ausgabe (z. B. logisch und/oder logisch oder von ihren Werten). Ein Interrupt-Konfigurationsregister466 kann zum Steuern des Aktivierens eines Interrupts, der Umkehrung bzw. Inversion einer Eingabe oder einer Ausgabe, und ob der Vergleich nach Empfang eines erfassten Niveaus oder einer Flanke durchgeführt wird, verwendet werden. Ein Interrupt-Konfigurationsregister kann ein Interrupt-Freigabe-Bit zum Steuern eines UND Gates469 enthalten, um zu bestimmen, ob ein Interrupt an einer Zustandsmaschine vorgesehen werden sollte und dadurch einen Interrupt der Zustandsmaschine verursacht. - Nach Empfang eines Interrupts, beginnt die Zustandsmaschine ein Programm bzw. eine Routine beginnend an einer Adresse (d. h. ein Interupt-Vektor), welche in dem Interrupt-Adressregister
467 angegeben ist. Eine Zustandsmaschine kann optional, nach Empfang eines Interrupts, eine Return-Adresse in einem Return-Register468 speichern, um der Zustangsmaschine zu erlauben, zu der Programmzeile zurückzukehren, welche die Zustandsmaschine ausgeführt hat, als der Interrupt aufgetreten ist. -
5 ist ein schematisches Diagramm einer beispielhaften Ausführungsform eines Transferregisterschiebemoduls500 entsprechend von zumindest einigen Aspekten der vorliegenden Erfindung. Das Schieberegistermodul500 ist hierin definiert, zumindest ein Schieberegister510 zu enthalten, um auf Kanal502 empfangene Daten in serieller Reihenfolge zu erstellen. Das Schieberegister500 enthält optional ein Bitzählermodul570 , Transferlogik520 und ein Transferkonfigurationsregister506 . Ein Bitzähler572 ist konfiguriert, einen numerischen Zählwert der Bits der seriellen Daten, welche durch das Schieberegistermodul500 ausgegeben werden, beizubehalten. - Das Schieberegistermodul
500 empfängt eine Eingabe von einem Pufferspeicher (z. B. Pufferspeicher420 in4 ) auf Kanal502 oder von einer alternativen Quelle wie z. B. einer durch die Zustandsmaschine420 (in4 gezeigt) bezeichnete Speicherstelle auf Kanal505 , welche einen Satz paralleler Daten-Bits aufweist. Die Quelle der parallelen Eingabe wird durch einen Multiplexer504 bestimmt. Das Schieberegistermodul500 sieht eine serielle Ausgabe entsprechend dem parallelen Satz von Bits auf Kanal503 vor. Die Ausgabe wird z. B. an den Treiber380 (in3A sichtbar) vorgesehen. - Das Schieberegister
510 erstellt die ausgewählte parallele Eingabe in serieller Reihenfolge. Es ist ersichtlich, dass das hierin definierte Schieberegister510 ein herkömmliches Schieberegister oder jegliche andere geeignete Struktur zum Erstellen von Daten in serieller Reihenfolge enthält (z. B. ein mit einem Multiplexer gekoppelter Pufferspeicher, um serielle Bits entsprechend einem Satz paralleler EingabeDaten-Bits selektiv auszugeben). - Die Transferlogik
520 enthält einen Multiplexer522 , um ein Stop-Bit zu erzeugen und enthält einen Multiplexer523 , um das Stop-Bit als Ausgabe vorzusehen. Die Transferlogik520 enthält zusätzlich einen Paritätsgenerator524 und einen Multiplexer525 um das auszugebende Paritäts-Bit vorzusehen. Der Multiplexer522 wählt ein logisches hoch-Pegel oder ein logisches Niedrig-Pegel aus, wie durch ein durch das Transferkonfigurationsregister506 angegebenes Steuersignal bestimmt wird. Ein Daten-Bit Multiplexer526 erlaubt dem Schieberegistermodul500 die Quelle der Daten, welche über den Kanal503 ausgegeben werden, zu steuern; z. B. in einem gegebenen Protokoll kann ein gegebenes Bit z. B. angegeben werden, von dem Schieberegister510 sowie der Zustandsmaschine420 zu kommen oder kann ausgewählt werden, ein logisches hoch-Pegel oder ein logisches Niedrig-Pegel aufzuweisen. Der Paritäts-Bit-Generator524 empfängt Daten-Bit Werte, welche von dem Daten-Bit Multiplexer526 ausgegeben werden und berechnet ein Paritäts-Bit. - Wie oben beschrieben wird das Schieberegistermodul
500 entsprechend von Aspekten der vorliegenden Erfindung in Reaktion auf den Empfang eines Taktimpulses572 automatisch vermindert. Ein Paritäts-Bit wird automatisch nach Abschluss der Übertragung der Daten-Bits (falls dies ein Protokoll erfordert) ausgegeben und ein Stop-Zustand wird nach Empfang einer vorbestimmten Anzahl von Taktzyklen eingeleitet, nachdem der Bit-Zähler Null erreicht, ohne die Notwendigkeit, dass die Zustandsmaschine weitere Instruktionen ausführt. Die Anzahl der durch die Zustandsmaschine ausgeführten Instruktionen, um eine Ausgabe entsprechend einem ausgewählten Protokoll zu erreichen ist deshalb relativ gesehen geringer und die Gesamtausführungszeitdauer zum Erreichen einer Ausgabe ist relativ kurz; ein programmierbarer serieller Anschluss ist somit in der Lage entsprechend einer breiten Vielfalt von Protokollen Ausgaben vorzusehen und Eingaben zu akzeptieren. - Um die obigen automatischen Ausgaben zu erreichen weist das Bit-Zähler-Modul
570 einen Bit-Zähler574 , einen Komparator572 , einen Zähl-Analysator576 , einen Weg-Controller578 und andere Logik wie nachstehend beschrieben auf. Der Weg-Controller578 empfängt einen Zählwert und steuert das Schieberegister510 , sowie die Transferlogik520 , um auf dem Kanal503 entsprechend einem ausgewählten Protokoll automatisch eine Ausgabe vorzusehen. Das Konfigurationsregister506 enthält durch den Controller450 (in4 oben gezeigt) vorgesehene Daten, um jede der obigen Komponenten entsprechend dem ausgewählten Protokoll anzuordnen und zu steuern. - Ein Anfangszählwert wird in Abhängigkeit davon, ob eine Eingabe
506a von dem Konfigurationsregister506 angibt, daß das ausgewählte Protokoll erfordert, daß das höchstwertige Bit oder das niedrigstwertige Bit zuerst gesendet wird, durch den Multiplexer580 an den Bitzähler574 vorgesehen. Falls das höchstwertige Bit zuerst gesendet werden soll, sieht der Multiplexer580 einen Anfangszählwert vor, welcher der Datengröße gleicht (d.h. der Gesamtanzahl von Daten-Bits in einem gegebenen Satz von Daten-Bits, welche durch den Kanal502 vorgesehen werden) und der Bitzähler574 wird auf Null gesenkt und falls das niedrigswertige Bit zuerst gesendet wird, sieht der Multiplexer580 einen Anfangszählwert vor, welcher gleich Null ist und der Bitzähler574 wird auf einen Wert erhöht, welcher der Datengröße gleicht. Der Weg-Controller578 wählt basierend auf dem Zählwert des Bitzählers574 für jeden Taktimpuls aus, ob ein Datenwert, ein Paritäts-Bit oder ein Stop-Bit gesendet wird. - Auf den Empfang eines Taktimpulses
572 hin wird der Zählwert des Bit-Zählers574 basierend auf dem ausgewählten Protokoll erhöht oder gesenkt. Der Weg-Controller578 empfängt den Zählwert von dem Bitzähler574 . Der Weg-Controller578 vergleicht den Zählwert mit der Eingabe 06a von dem Konfigurationsregister506 , um zu bestimmen, ob die Multiplexer523 ,526 ,525 konfiguriert werden sollten, ein Datenbit von dem Schieberegister510 , ein Paritäts-Bit oder ein Stop-Bit auf dem Ausgabekanal503 vorzusehen. Auf den Empfang eines ersten Null-Zählwerts hin, steuert der Weg-Controller578 die Multiplexer523 ,526 ,525 ein niedrigstwertiges Bit, ein Paritäts-Bit oder ein Stop-Bit auszugeben. Auf den Empfang eines zweiten Null-Zählwerts, steuert der Weg-Controller528 die Multiplexer523 ,526 ,525 ein Paritäts-Bit vorzusehen, falls die Eingabe506a angibt, dass ein Stop-Bit gesendet werden soll. Der Weg-Controller578 kann den Zählwert an das Schieberegister510 vorsehen, welches als ein Zeiger auf das auszugebende Daten-Bit verwendet werden kann; dementsprechend wird jedes der Daten-Bits in dem Schieberegister in Reaktion auf einen Taktimpuls ausgegeben. - Der Komparator
572 bestimmt, ob die Anzahl der gesendeten Bits der Datengröße entspricht (z. B. falls das niedrigstwertige Bit zuerst gesendet wurde, bestimmt der Komparator572 ob der Zählwert der Datengröße gleicht. Die Ausgabe des Komparators572 wird an den Zählanalysator576 vorgesehen und der Zählanalysator576 verwendet die Eingabe506a in Kombination mit der Ausgabe des Komparators, um den nächsten Wert des Bit-Zählers574 zu bestimmen. Bis der Komparator572 angibt, dass eine Anzahl von Bits, welche der Datengröße entsprechen, gesendet worden sind, wird die Bit-Zahl geeigneterweise erhöht (oder gesenkt). Auf den Empfang einer Ausgabe von dem Komparator572 hin, welche angibt, daß eine Anzahl von Bits, welche der Datengröße entspricht, gesendet worden ist, bestimmt der Zählanalysator576 , ob ein Paritäts-Bit notwendig ist (z. B. nachdem der Zähler Null erreicht, wird es dem Zähler erlaubt für einen ersten Impuls bei Null zu verbleiben), oder gibt an, dass ein Stop-Bit notwendig ist (z. B. es wird dem Zähler erlaubt nach dem Erreichen von Null für einen zweiten Impuls bei Null zu verbleiben), und ob ein Umlaufs- bzw. zyklischer Modus (circular mode) eingestellt ist (d.h. der Zähler wird auf den Anfangswert zurückgesetzt, nachdem das Paritäts-Bit und das Stop-Bit gesetzt sind). -
6 ist ein schematisches Diagramm eines Beispiels eines Treibers480 , welcher in dem programmierbaren Anschluß verwendet werden kann. In der dargestellten beispielhaften Ausführungsform sind sechs Eingabe/Ausgabe-Treiberschaltungen vorgesehen: eine Datentransfer-Treiberschaltung601 , eine Takttransfer-Treiberschaltung, eine Datenempfangs-Treiberschaltung603 , eine Taktempfangs-Treiberschaltung604 , und zwei konfigurierbare Eingabe/Ausgabe-Schaltungen605 und606 . Die konfigurierbaren Eingabe/Ausgabe-Schaltungen605 und606 können z. B. Freigabesignale vorsehen, jeweils eines für die Empfangs- und Sendeanschlüsse, oder können zum Empfang eines Signals verwendet werden, welches als ein Slave-Taktsignal verwendet wird (unten beschrieben). - Die Schaltungen können beliebige herkömmliche Eingabe/Ausgabe-Treiberschaltungen sein. Die Schaltungen können z. B. die Auswahl einer Quelle/Empfänger (z. B. Leistungsversorgung bei logischer Eins oder Null oder eine Eingabe/Ausgabe von einer Zustandsmaschine, oder eine Ausgabe von einem Schieberegister), eine Auswahl der Polarität eines Ausgabesignals, eine Auswahl eines Hoch-Impedanz-Zustands, eine Erfassung einer Daten-Eingabe/Daten-Ausgabe-Fehlzuordnung und eine Paritäts-Bit-Berechnung erlauben. Ein Schalter
610 kann optional enthalten sein, um eine Zuordnung von Eingaben-Ausgaben zu einem der sechs Ausgabe-Pins621 bis626 einer integrierten Schaltung zu erlauben, in welcher der programmierbare Datenanschluß angeordnet ist. -
7 ist ein schematisches Diagramm eines Beispiels einer Ausführungsform eines Taktgenerators700 zur Verwendung mit zumindest einigen programmierbaren seriellen Anschlüssen entsprechend von Aspekten der vorliegenden Erfindung. Der Taktgenerator700 wählt von einer Vielzahl von Taktquellen ein Master-Taktsignal aus; ein Master-Taktsignal kann z. B. von einem System-Taktgeber702 ausgewählt werden, welches von einem Mikro-Controller (z. B. der Mikro-Controller450 in4 ) angegeben wird, oder einem Hilfstaktgeber703 , welcher von einer Quelle von Impulsen eingegeben wird, welche zur Verwendung als ein Master-Taktsignal704 geeignet sind, ausgewählt, und sieht Ausgabe-Taktsignale vor. Solche Ausgabe-Taktsignale enthalten Ausgabe-Taktsignale705 und706 an eine erste und eine zweite Zustandsmaschine (z. B. die Zustandsmaschinen420 und421 in4 oben), Ausgabe-Taktsignale726 und736 an erste und zweite Schieberegistermodule (z. B. die Schieberegistermodule412 und413 ), sowie Ausgabe-Taktsignale727 und737 an einem Treiber (z. B. der Treiber480 in4 ). - Ein Taktgeneratormodul
710 einer Zustandsmaschine empfängt das Master-Taktsignal704 und sieht die Taktsignal-Ausgaben705 und706 an die Zustandsmaschinen (z. B. die Zustandsmaschinen420 und421 in4 oben) auf den Ausgabekanälen705 bzw.706 vor, um die Instruktionsausführungen durch die Zustandsmaschinen zu steuern. Die Ausgabe-Taktsignale705 und706 können durch einen Zustandsmaschinenteiler712 , welcher mit den Ausgabekanälen705 und706 gekoppelt ist, geteilt werden oder relativ zu dem Master-Taktsignal704 phasenverzögert werden, oder der Zustandsmaschinenteiler712 kann (abhängig von dem an den Multiplexer714 angelegten Steuersignal) kurzgeschlossen bzw. umgangen werden, so daß die Taktsignalausgaben705 und706 den Master-Taktsignalen704 gleichen. Die Gates708 und709 können mit den Ausgabekanälen707 bzw.708 mit den Gate-Ausgabe-Taktsignalen705 und706 gekoppelt sein; die Gates708 und709 können z. B. durch Steuersignale von den Zustandsmaschinen420 bzw.421 resultierend von der Ausführung einer Warte-Instruktion, einer Verzögerungs-Instruktion oder einer Takt-Instruktion gesteuert werden, was einen Leistungssparmodus, wie nachstehend erläutert, aufruft und werden durch die mit "Steuerung" gekennzeichneten Eingaben708a und709a angegeben. - Das Zustandsmaschinen-Taktgeneratormodul
710 enthält ein Konfigurationsregister707 , um die Taktquelle des Mastertakts704 , den auf den Teiler712 anzuwendenden Teilungsfaktor und die Phase des Ausgabe-Taktsignals705 und706 relativ zu der Taktquelle zu bestimmen. Die Steuereingaben708a und709a können ebenfalls durch die Inhalte des Konfigurationsregisters in manchen Ausführungsformen eingestellt werden. - Ein Takttransfergeneratormodul
720 empfängt von dem Zustandsmaschinen-Taktgeneratormodul710 eine Signalausgabe705a , sowie alternative Takteingaben (z. B. ein asynchrones Slave-Taktsignal721 , ein logisches Hoch-Signal, und ein logisches Niedrig-Signal) und sieht Taktsignal-Ausgaben726 und727 (welche eine Vielzahl von Taktimpulsen aufweisen) an ein Transferschieberegister (412 in4 ) bzw. einen Treiber (z. B. der Treiber480 in4 ) vor. Ein Transferteiler722 und ein Transferteiler724 teilen die Nicht-Gate-gesteuerte Ausgabe705a des Zustandsmaschinen-Taktgeneratormoduls710 und sind mit dem Transferschieberegister gekoppelt, um eine Taktsignalausgabe726 vorzusehen. Der Multiplexer725 wählt von dem Slave-Taktsignal721 ein logisches Hoch-Level und ein logisches Niedrig-Level aus; und ein Multiplexer745 wählt zwischen der Ausgabe des Multiplexers725 und der Ausgabe des Transferteilers722 aus, um eine Taktsignalausgabe726 vorzusehen. Der Multiplexer723 wählt zwischen der Ausgabe des Transferteilers724 und der Ausgabe des Multiplexers745 aus, um die Taktsignalausgabe727 vorzusehen. Durch eine geeignete Konfiguration des Multiplexers723 können das Transferschieberegister und der Transfertreiber entsprechend durch das gleiche Taktsignal angesteuert werden. - Ein Takttransfer-Konfigurationsregister
728 steuert die Teilungsfaktoren der Teiler722 und724 sowie die Startpolarität und Stop-Polarität der Ausgaben, ob der Taktgenerator im Leistungssparmodus betrieben wird (d.h. ob der Taktgenerator der Zustandsmaschine während dem Takttransferbetrieb abgeschaltet ist), und ob der Betrieb des Taktgenerators der Zustandsmaschine an dem Ende des Betriebs oder einen Taktzyklus früher gestartet wird (aus Gründen, die nachstehend mit Bezug auf die8A und8B näher erläutert sind). Ein Takttransfer-Teilerregister729 steuert den Taktzyklus des Takttransfersignals. Das Takttransfer-Teilerregister kann z. B. ein Hoch-Pegel-Teilungsverhältnis und ein Niedrig-Pegel-Teilungsverhältnis enthalten, um die Anzahl von Zyklen zu bestimmen, in welchen die Taktsignale726 und727 einen Hoch-Pegel, sowie einen Niedrig-Pegel aufweisen, und somit der Taktzyklus bestimmt wird. Dem Durchschnitts-Fachmann ist die Implementierung solcher Hoch-Pegel-, sowie Gering-Pegel-Teilungsverhältnissen ersichtlich; deshalb sind weitere Details hierin nicht enthalten. - Ein Taktempfangs-Generatormodul
730 empfängt eine Signalausgabe705a von dem Zustansmaschinen-Taktgeneratormodul710 , sowie alternative Takteingaben (z. B. ein asynchrones Slave-Taktsiganl731 , ein logisches Hoch-Pegel-Signal und ein logisches Niedrig-Pegel-Signal) und sieht die Taktsignalausgaben736 und737 an ein Empfangsschieberegister (413 in4 ) bzw. einen Treiber (z. B. Treiber480 in4 ) vor. Ein Empfangsteiler723 und ein Empfangsteiler734 teilen die nicht-Gate-gesteuerte Ausgabe705a des Zustandsmaschinen-Taktgeneratormoduls710 . Ein Multiplexer735 wählt zwischen dem Slave-Taktsignal731 und einem logischen Hoch-Pegel sowie einem logischen Niedrig-Pegel aus, und ein Multiplexer746 wird zwischen der Ausgabe des Multiplexers735 und der Ausgabe des Transferteileer732 aus, um eine Taktsignalausgabe736 vorzusehen. Ein Multiplexer733 wählt zwischen einer Ausgabe des Transferteilers734 und der Ausgabe des Multiplexers746 aus, um eine Taktsignal-Ausgabe737 vorzusehen. Durch eine geeignete Konfiguration bzw. einen geeigneten Aufbau des Multiplexers433 können das Transferschieberegister und der Transfertreiber entsprechend durch das gleiche Taktsignal angesteuert werden. - Ein Taktempfangs-Konfigurationsregister
738 steuert den Teilungsfaktor der Teiler732 und734 , sowie die Startpolarität als auch die Stop-Polarität der Ausgaben. Das Taktempfangs-Teilerregister737 steuert den Taktzyklus des Takttransfersignals. Das Taktempfangs-Teilerregister737 kann ein Hoch-Pegel-Teilungsverhältnis und ein Niedrig-Pegel-Teilungsverhältnis enthalten, um die Anzahl der Zyklen zu bestimmen, in welchen die Taktsignale736 und737 einen Hoch-Pegel, sowie einen Niedrig-Pegel aufweisen und somit der Taktzyklus bestimmt wird. Dem Durchschnittsfachmann ist die Implementierung solcher Hoch-Pegel- und Niedrig-Pegel-Teilungsverhältnisse ersichtlich; weitere Details sind deshalb hierin nicht enthalten. - Es ist ersichtlich, daß durch die Verwendung des Taktgenerators
700 ein programmierbarer serieller Anschluß, welcher eine erste Zustandsmaschine und eine zweite Zustandsmaschine aufweist (z. B. der programmierbare serielle Anschluß400 in4 ), in einem Vollduplex-Betrieb betrieben werden kann. Der Taktgenerator700 , welcher eine erste Zustandsmaschine und eine zweite Zustandsmaschine aufweist, kann alternativ in einem Halb-Duplex-Betrieb betrieben werden, wobei das Takttransfersignal und das Empfangssignal ausgebildet sind, so dass Transfers und ein Empfang in abwechselnden Taktintervallen auftreten. -
8A und8B sind Zeitablaufdiagramme zweier beispielhafter Taktoptionen. Jedes Zeitablaufdiagramm stellt einen Master-Takt892 , einen Schieberegister-Steuertakt804 oder814 (d.h. ein Takttransfersignal oder ein Taktempfangssignal) und ein entsprechendes Zustandsmaschinen-Taktsignal806 ,816 dar. Zusätzlich wird eine Anzeige810 oder820 des Taktzyklus, während welchem die Taktinstruktionen ausgeführt werden, zusammen mit einer Anzeige805 oder815 des Taktzyklus, während welchem die Ausführung der Instruktionen auf die Taktinstruktion folgend (ebenfalls auf die "nächste Instruktion" bezeichnet) gezeigt. -
8A stellt eine beispielhafte Taktgeneratorausgabe eines Taktgenerators dar, welcher einen Taktimpuls in einem Standardmodus erzeugt. In einem Standardmodus wird ein Zustandsmaschinen-Taktsignal806 während dem Zeitraum, wenn das Schieberegister-Taktsteuersignal804 erzeugt wird, erzeugt. Die der Taktinstruktion folgende Instruktion wird dementsprechend während dem Master-Taktzyklus805 unmittelbar auf den Taktzyklus810 folgend ausgeführt, während welchem die Taktinstruktion ausgeführt wird. - Die beispielhaften Zeitablaufdiagramme entsprechen einem Taktgenerator, welcher ein Konfigurationsregister aufweist, das konfiguriert ist, einen AUS-Zustand
821 von eins und einen Startzustand823 von Null zu erreichen. Zusätzlich wird durch Auswahl der niedrig-Pegel-und-hoch-Pegel-Teilungsfaktoren ein Tastzyklus von einem Viertel erreicht, so dass zwei von acht Zyklen einen hoch-Pegel aufweisen. -
8B stellt eine Taktgeneratorausgabe eines Taktgenerators dar, welcher in einem Leistungssparmodus betrieben wird. In dem Leistungssparmodus wird das Zustandsmaschinen-Taktsignal816 ausgesetzt, während das Schieberegister-Taktsteuersignal814 erzeugt wird. Der Leistungssparmodus ermöglicht eine Senkung des Leistungsverbrauchs. Der Leistungssparmodus kann z. B. verwendet werden, falls ein ausgewähltes Protokoll nicht erfordert, dass Instruktionen ausgeführt werden, währende ein Schieberegister-Steuertakt erzeugt wird (d. h. während Bits von einem entsprechenden Schieberegister ausgegeben werden). - Der Leistungssparmodus wird durch Verwenden der Gates
708 ,709 (in7 gezeigt) erreicht, um eine Ausgabe eines Zustandsmaschinen-Taktsignals zu blockieren, während ein entsprechendes Schieberegistermodul eine Ausgabe vorsieht. Während der Ausführung einer Taktinstruktion blockieren die Gates708 und/oder709 die Signale705 bzw.706 , falls die Steuerregister728 und738 in einem Leistungssparmodus konfiguriert sind, und nach Vollendung der geeigneten Anzahl von Zyklen wird das Blockieren des Zustandsmaschinen-Taktsignals durch die Gates708 ,709 aufgehoben. - In
8B sieht das Schieberegistersteuersignal816 einen Schieberegistersteuertakt814 vor, welcher zwei Zeiteinheiten bzw. Intervalle (wie durch den Bereich825 angezeigt) dauert. Das Taktsignal weist einen Tastzyklus von 33 Prozent, einen AUS-Zustand822 von Null und einen Start-Zustand824 von eins auf. - Da das Dekodieren und die Ausführung einer Instruktion zwei Taktzyklen erfordert, tritt die Ausführung der nächsten Instruktion in dem zweiten Taktzyklus
815 nach dem Ende830 des Schieberegistersteuertaktsignals814 auf (das Dekodieren der nächsten Instruktion tritt während dem ersten Taktzyklus831 auf das Ende830 hin folgend auf). In manchen Ausführungsformen kann ein Gate708 und/oder709 dementsprechend gesteuert sein, so dass dieses bzw. dieser das Blockieren des Zustandsmaschinen-Taktsignals816 einen Zyklus vor dem Ende830 der Schieberegistertaktausgabe beendet bzw. beenden. Dies ermöglicht das Ausführen der nächsten Instruktion in dem Taktzyklus, welcher unmittelbar auf die Beendigung der Schieberegistertakterzeugung folgt. -
9 ist ein Ablaufdiagramm900 einer beispielhaften Sequenz von Instruktionen für einen programmierbaren seriellen Anschluss entsprechend von einigen Aspekten der vorliegenden Erfindung, um eine Standardausgabe (z. B. eine UART kompatible Ausgabe) zu erreichen. Bei Schritt905 wartet die Zustandsmaschine auf eine Eingabe von dem Schieberegister, dass das Schieberegister mit Daten gefüllt ist. Bei Schritt910 lädt die Zustandsmaschine den Treiber mit einem Start-Zustand. Bei Schritt920 wird der Bit-Zähler initialisiert. Bei Schritt930 lädt die Zustandsmaschine den Bit-Zähler in das Schieberegister. Das erste Daten-Bit wird gesendet und der logische Wert wird für so viele Taktzyklen wie für das Protokoll nötig sind, bei Schritt950 gehalten. Bei Schritt960 wird ein Taktbefehl an den Taktgenerator gesendet, welcher die Anzahl von Impulsen und den Teilungsfaktor für den Teiler definiert. Der Treiber wird schließlich bei Schritt990 in einen Stop-Zustand versetzt. - Im Gegensatz zu dem Ablaufdiagramm des Programms für einen herkömmlichen programmierbaren seriellen Anschluss (oben mit Bezug auf
2 beschrieben), ist es ersichtlich, dass die Ausführungszeit, welche notwendig ist; um eine gegebene Datenausgabe zu erreichen, entsprechend dem hierin gezeigten Verfahren und der Vorrichtung bedeutend verringert wird, da eine verringerte Anzahl von Instruktionen durch die Zustandsmaschine ausgeführt werden muss, um eine ausgewählte Ausgabe vorzusehen. In2 war z. B. erforderlich, dass die Zustandsmaschine für jedes auszugebende Daten-Bit einen Befehl an das Schieberegister sendet (Schritt270 in2 ). In9 dagegen wird ein einzelner Befehl an den Taktgenerator gesendet (z. B. Taktgenerator360 in3 ), um eine vorbestimmte Anzahl von Impulsen mit einer durch eine Teilungsrate bestimmten Geschwindigkeit zu erzeugen. Da der Taktgenerator mit dem Schieberegister gekoppelt ist, gibt das Schieberegister in Reaktion auf die Taktimpulse. des Taktgenerators Daten-Bits aus, wodurch die Zustandsmaschine von der Erfordernis befreit wird, dem Schieberegister zu befehlen, jede Daten-Bit-Ausgabe vorzusehen. In2 senkt die Zustandsmaschine ebenfalls den Bit-Zähler (Schritt260 ), um eine numerische Anzahl von ausgegebenen Daten-Bits beizubehalten. In9 ist es dagegen nicht erforderlich, dass die Zustandsmaschine eine Instruktion ausführt, einen Zähler zu senken, da das Schieberegister einen Bit-Zähler aufweist, welcher in Reaktion auf den Empfang eines Taktimpulses von dem Taktgenerator automatisch gesenkt wird. Das Schieberegister ist des weiteren angeordnet, ein Paritäts-Bit auszugeben (falls das Protokoll dies erfordert) und auf den Empfang von Taktzyklen hin, nachdem die Bits gesendet worden sind, in einen Stop-Zustand zu gehen, ohne dass es notwendig ist, dass die Zustandsmaschine weitere Instruktionen ausführt. - Die folgende Liste von Instruktionen ist ein beispielhafter Instruktionssatz, welcher durch die Zustandsmaschinen
410 und411 (in4 gezeigt) ausgeführt werden soll. Die10A und10B sind Tabellen, welche einen beispielhaften Satz binärer Implementierungen jeder der Instruktionen auf der Liste darstellen. Die Liste enthält eine funktionelle Beschreibung, als auch eine Erklärung der in einer entsprechenden Binärimplementierung enthaltenen Bits für die entsprechenden in den10A und10B dargestellten Binärimplementierungen1000 . - Da die Binärimplementierungen in den
10A und10B zur Implementierung mit der Dekodier- und Ausführungsarchitektur, in welcher ausgewählte Instruktionen parallel ausgeführt werden können (nachstehend mit Bezug auf10A beschrieben) geeignet ist, entsprechen einige Instruktionen der nachfolgenden Liste zwei Binärimplementierungen, jeweils eine in10A (zur Verwendung an den Bitstellen 0 bis 7) und10B (zur Verwendung an den Bitstellen 15 bis 8). - Bezugnehmend auf die
10A und10B weist jede Instruktion einen Betriebscode1004 (durch logische Werte von eins und Null in den Binärimplementierungen1000 angegeben), sowie ein oder mehrere Datenfelder und/oder Adressfelder auf. - Die nachfolgende Liste von Instruktionen enthält fünf Typen von Instruktionen: Konfigurationsinstruktionen, Betriebssteuerinstruktionen, Ablaufsteuerinstruktionen, Zeitablaufsteuerinstruktionen, Taktsteuerinstruktionen, sowie Bedingungsinstruktionen. Programmierbare serielle Bit-Anschlüsse können unter Verwendung von Zustandsmaschinen implementiert werden, welche ein bekanntes Abruf-, Dekodier-, sowie Ausführungsschema aufweisen. Die aufgezählten Instruktionen können z. B. sequentiell ausgeführt werden. In manchen Ausführungsformen werden die Instruktionen wie nachstehend beschrieben parallel ausgeführt.
Konfigurationsinstruktionen kurze Beschreibung Load lädt Daten in ein angegebenes Register - Bezugnehmend auf
10A (1002 ) stellen die d Werte die zu ladenden Werte dar und die i Werte geben eine zu ladende Registeradresse an.Dual Bit Load lädt zwei ausgewählte Daten-Bits an den Treiber oder das Treiberkonfigurationsregister. - Bezugnehmend auf die
10A und10B (1004a ,1004b ), geben die i Werte die Bits an, in welche die Werte geladen werden sollen, und die v Werte stellen die zu ladenden Werte dar.Mask ermöglicht das Setzen/Zurücksetzen ausgewählter Bits eines ausgewählten Registers. - Bezugnehmend auf
10A (1006 ) bilden die m Werte die Maske und die i Werte schildern die Adresse eines auszublendenden Registers dar.Map wird in Kombination mit Instruktionen verwendet, welche eine endliche Anzahl von Adress-Bits aufweisen, um die Anzahl von Bits zu erhöhen, die unter Verwendung der Instruktion in einem gegebenen Register zugreifbar sind. Eine ausgewählte Instruktion, welche ein drei-Bit Adressfeld aufweist kann z. B. unter Verwendung der Map Instruktion unter mehr als acht Bits auswählen; die Map Instruktion wählt einen acht- Bit Vektor von innerhalb eines Registers aus, welches mehr als insgesamt acht Bits aufweist und das drei-Bit Adressfeld wählt ein Bit innerhalb des acht-Bit Vektors aus. Map kann z. B. bei der Bedingungs-Ausführungsinstruktion (nachstehend erläutert) verwendet werden, um unter 55 Bits des Statusregisters 495 (in Fig. 4A gezeigt)auszuwählen, trotz der Tatsache, dass in manchen Ausführungsformen das Bedingungs- Ausführungsregister lediglich ein drei-Bit Adressfeld aufweist. - Bezugnehmend auf
10B (1008 ) geben die i Werte einen acht-Bit Vektor an.Extend ein Extend Befehl wird in Kombination mit einer anderen Instruktion (z. B. einem Dual Bit Load oder einem Trigger) zum Vorsehen eines vergrößerten Adressfelds verwendet. - Bezugnehmend auf
10A (1010 ) stellen die i Werte zusätzliche Adressbits dar.Betriebssteuerinstruktion Trigger ein Trigger Befehl ermöglicht es einer Zustandsmaschine einen angegebenen fest programmierten Ablauf durch Setzen bzw. Einstellen ausgewählter Bits einer Ausgabe einer Zustandsmaschine zu erreichen. Der Ablauf kann direkt oder indirekt (z. B. über ein Register, welches fest programmiert ist, einen angegebenen Ablauf zu erreichen) erreicht werden. - Bezugnehmend auf die
10A und10B (1012a ,1012b ), bezeichnet i die Adresse eines fest programmierten Registers, und die bi Werte geben ein spezifisches Bit innerhalb des Registers an, welches einem bestimmten Ablauf entspricht.Ablaufsteuerinstruktionen Jump Absolute Springen zu einer absoluten Zeile eines Instruktionssatzes. - Bezugnehmend auf
10A (1014 ), stellt der a Wert die Bestimmungsadresse des Sprungs dar.Jump Short Relative ein relativer Sprung, welcher auf einen Sprung einer ausgewählten Anzahl von Zeilen begrenzt ist (z. B. 32 Zeilen vor und 16 Zeilen zurück). - Bezugnehmend auf die
10A und10B (1016a ,1016b ), stellen die a Werte die Anzahl der zu überpringenden Programmlinien dar.Call Absolute Springen an eine absolute Adresse und Speichern einer Rücksprungadresse in einem designierten Register. - Bezugnehmend auf
10A (1018 ), stellen die a Werte die Bestimmungsadresse des Sprungs dar.Ret Rücksprung an Adresse, welche in einem designierten Register während eines Call absolut gespeichert wurde, wie als 1020a und1020b in denFiguren 10A bzw. 10B dargestellt ist. Software Reset setzt eine Zustandsmaschine zurück. In manchen Ausführungsformen kann der Speicherinhalt bewahrt werden. - Als
1022a und1022b in den10A bzw.10B dargestellt.Loop führt eine Schleife unter Verwendung einer angegebenen Startadresse und einer angegebenen Endadresse aus. Die Instruktionen zwischen der Startadresse und der Endadresse werden mehrmals, wie durch ein ausgewähltes Register angegeben, ausgeführt. - Bezugnehmend auf
10A (1024 ), gibt der o1 Wert eine Startadresse und der o2 Wert eine Endadresse für eine Schleife an. Die Anzahl der Wiederholungen ist durch ein getrenntes Schleifenzählerregister festgelegt.Null ein „Auffüller", welcher verwendet wird, um sechzehn-Bit Instruktionen in Ausführungsformen, welche sechzehn-Bit Abrufe aufweisen, ausrichtet. Resultiert in keiner Ausführung. (Aspekte der Null- Instruktion sind nachstehend mit Bezug auf Fig. 10A ausführlicher beschrieben). - Als
1026 in10B dargestellt.Zeitablaufsteuerinstruktionen Delay verzögert die Ausführung einer nächsten Instruktion für eine ausgewählte Anzahl von Taktzyklen. Wie oben mit Bezug auf Fig. 4A beschrieben ist, kann eine Verzögerung unter Verwendung von den Event-Zählern 480 ,481 ausgeführt werden. - Bezugnehmend auf die
10A und10B (1028a ,1028b ), stellen die d Werte eine Gesamtverzögerungslänge bzw. Dauer dar.Long Delay Long Delay ist ein Vorgang, der Delay gleicht, außer dass eine Dauer der Verzögerung unter Verwendung eines Zeigers zu einem Register anstatt innerhalb der Instruktion selbst ausgewählt wird. Es kann dementsprechend eine längere Verzögerungsdauer angegeben werden. - Bezugnehmend auf
10A und10B (1030a ,1030b ), stellen die i Werte einen Zeiger zu einem Register dar, welches eine Gesamtverzögerungslänge aufweist.Wait wartet bis eine angegebene Bedingung war ist (z. B. eine unter Verwendung des Statusregisters 495 und des Komparators490 (siehe Fig. 4A)angegebene Bedingung). Der Takt der Zustandsmaschine kann während der Ausführung einer Wait Instruktion unter Verwendung der Gates 708 ,709 gate gesteuert werden. - Bezugnehmend auf
10A (1032 ), geben die c1 Werte eine erste zu testende Bedingung an (z. B. eine Flankenerfassung, Pufferspeicher voll oder Pufferspeicher leer), und die c2 Werte stellen eine zweite Bedingung dar. Die v1 und v2 Werte sind Werte, welche auf die erste Bedingung bzw. die zweite Bedingung getestet werden. Die mm Werte wählen die für einen oder beide der ersten Bedingung und der zweiten Bedingung zu machende Wertung aus (z. B. eine Bewertung kann sowohl Bedingung c1 gleich v1 und c2 gleich v2 enthalten).Taktsteuerinstruktionen Clock weist einen ausgewählten Taktteiler an, eine ausgewählte Anzahl von Taktzyklen in einem Standard- oder Leistungssparmodus in Abhängigkeit von dem Taktkonfigurationsregister auszugeben. - Bezugnehmend auf
10A (1034 ), wählen die cd Werte eine Taktauswahl aus, und die d Werte stellen eine Anzahl von auszugebenden Impulsen dar.Logische Instruktionen Conditional Execution die Ausführung einer angegebenen Instruktion wird an eine ausgewählte Bedingung geknüpft. - Bezugnehmend auf
10A (1040 ), stellen die i Werte das Bit innerhalb eines acht-Bit Vektors des Statusregister dar, welches den Operand bildet, und der v Wert stellt die Bedingung (1 = wahr und 0 = falsch) dar. Das zweite Byte, welches typischerweise als das erste Byte einer sechzehn-Byte Instruktion verwendet wird, ist die auszuführende Instruktion, falls die Bedingung wahr ist.Compare Data Vergleich von Daten in einem angegebenen Register mit einem angegebenen Datenwert. Der Vergleich kann einen Vergleich basierend auf zumindest den folgenden Operatoren enthalten: kleiner als, größer als, gleich, etc. - Bezugnehmend auf
10A (1036 ), geben die d Werte das Register an, welches als der erste Operand agiert. Die d Werte geben die Daten an, welche den zweiten Operand bilden, und die tc Werte stellen den Vergleichstyp dar (Daten = Register, Daten zwei Register, Daten neun Register).Compare Registers Vergleich von Daten in einem angegebenen Register mit Daten in einem anderen angegebenen Register. - Bezugnehmend auf
10A (1038 ), geben die i Werte das Registerpaar an, welches den ersten Operand und den zweiten Operand bildet, und die tc Werte stellen den Vergleichstyp dar (Daten = Register, Daten zwei Register, Daten neuen Register). - Konfigurationsregisterinhalte und Instruktionen zum Implementieren eines Protokolls können direkt manuell erzeugt werden oder von einer Eingabe höherer Ebene unter Verwendung von geeigneten Werkzeugen übersetzt werden. Eine Instruktionssequenz zur Verwendung für programmierbare serielle Anschlüsse entsprechend von Aspekten der vorliegenden Erfindung kann in einer geeigneten Speicherorganisation bzw. Ordnung angeordnet werden.
11A ist eine schematische Darstellung einer geeigneten Speicherordnung1100 , welche zur Verwendung mit der vorliegenden Erfindung geeignet ist; die Speicherordnung1100 ermöglicht die Verwendung eines Instruktionssatzes einschließlich einer Kombination von acht-Bit und sechzehn-Bit Instruktionen (wie oben mit Bezug auf die10A und10B erläutert), und ermöglicht, dass ein sechzehn-Bit Abruf bei jedem Taktzyklus auftritt, ohne dass partielle Instruktionen während einem gegebenen Abruf abgerufen werden. Die beispielhafte Speicherordnung1100 weist die Speicherzeilen1102 ,1104 ,1106 , sowie1108 auf; jede Speicherzeile ist in sechzehn-Bit Segmente unterteilt. - In manchen Ausführungsformen ist eine erste acht-Bit Instruktion
1102a in den acht-Bit Speichersegmenten1120 angeordnet, welche bei der Stelle15 beginnen, wobei das höchstwertige Bit an Stelle15 angeordnet ist, und eine zweite acht-Bit Instruktion1102b ist in einem nächsten acht-Bit Speichersegment1135 (d. h. beginnend bei Stelle7 der Zeile1102 ) angeordnet. Die zweite Speicherzeile1104 wird von einer sechzehn-Bit Instruktion1104a besetzt. - Ähnlich der ersten Zeile
1102 , weist die Zeile1104 eine erste acht-Bit Instruktion1106a auf, welche in den acht-Bit Speichersegmenten1130 beginnend an Stelle15 angeordnet ist, wobei das höchstwertige Bit an Stelle15 angeordnet ist. Da die nächste Instruktion jedoch eine sechzehn-Bit Instruktion1108a ist, wird die zweite Instruktion1106b in Zeile1106 ausgewählt, eine Null-Instruktion (oben beschrieben) zu sein, um sechzehn-Bit Abrufe zu vermeiden, welche partielle Instruktionen enthalten (d. h. die Hälte einer sechzehn-Bit Instruktion). Ein Übersetzer zur Verwendung in einer solchen Architektur fügt entsprechend vorzugsweise eine acht-Bit Null-Instruktion1106b in die acht-Bit Speichersegmente1135 der Zeile1106 ein. Die Null-Instruktion ist vorzugsweise eine nicht-ausgeführte Instruktion (d. h. diese ist einfach eine Platzhalterinstruktion). -
11B ist eine schematische Darstellung einer beispielhaften Zustandsmaschinen Dekodier- und Ausführungsarchitektur1150 , welche zur Verwendung in der Speicherordnung1100 der11A geeignet ist. Die Dekodier- und Ausführungsarchitektur1150 enthält einen Vor-Dekoder1160 und zwei Dekoder1170 , sowie1175 . - Wie oben erwähnt ruft die zwei-Stufen Dekodier- und Ausführungsarchitektur
1150 sechzehn Instruktionsbits wie oben beschrieben bei jedem Taktzyklus ab. Der Vor-Dekoder1160 prüft unter Verwendung verwandter Techniken die Vorgangs- bzw. Ablaufcodes von Instruktionen, welche einer Speicherzeile1102 ,1104 sowie1106 (in11A oben sichtbar) entsprechen. Der Vor-Dekoder1160 bestimmt, ob die sechzehn Bits eine sechzehn-Bit Instruktion, zwei acht-Bit Instruktionen, welche parallel ausgeführt werden sollen, oder zwei acht-Bit Instruktionen, welche serielle bzw. in Reihe ausgeführt werden sollen, aufweist. - Die Präsenz einer in
10B dargestellten Instruktion, welche an einer Speicherstelle1130 angeordnet ist (z. B. wie durch Identifizieren ihres Vorgangscodes bestimmt), gibt an, dass die acht-Bit Instruktionen an den Stellen1130 und1135 parallel ausgeführt werden sollen. Die Präsenz von anderen Instruktionen gibt die Präsenz einer sechzehn-Bit Instruktion oder zwei acht-Bit Instruktionen an, welche parallel ausgeführt werden sollen. - Im Falle, dass eine bestimmte Speicherzeile
1102 ,1104 ,1106 (in11A sichtbar) eine sechzehn-Bit Instruktion enthält, werden sechzehn Bits an den Dekoder1170 vorgesehen; im Falle dass eine bestimmte Speicherzeile1102 ,1104 ,1106 zwei acht-Bit Instruktionen enthält, welche seriell ausgeführt werden sollen, werden acht Bits, die der ersten Instruktion entsprechen, in einem ersten Zyklus und acht Bits in dem nächsten Zyklus vorgesehen, so dass die erste Instruktion in einem ersten Taktzyklus und die zweite Instruktion in dem folgenden Taktzyklus ausgeführt wird; und im Falle, dass einen bestimmte Speicherzeile1102 ,1104 ,1106 zwei acht-Bit Instruktionen enthält, welche parallel ausgeführt werden sollen, empfängt der Dekoder1170 die erste Instruktion und der Dekoder1175 die zweite Instruktion in einem ersten Taktzyklus. - Da somit die erfinderischen Konzepte einer Anzahl beispielhafter Auführungsformen beschrieben worden sind, ist es dem Fachmann ersichtlich, dass die Erfindung auf verschiedene Arten implementiert werden kann, und dass Modifikationen und Verbesserungen sich solchen Personen leicht erschließen. Die gegebenen Beispiele sind somit nicht als begrenzend beabsichtigt. Die Erfindung ist lediglich, wie erforderlich, durch die folgenden Ansprüche und deren Äquivalente begrenzt. Es ist ebenfalls ersichtlich, dass die Verwendung der Begriffe (enthalten), oder (aufweisen) die entsprechend nachstehend aufgeführten Gegenstände und deren Äquivalente als auch zusätzliche Gegenstände, welche vor, nach, oder zwischen den aufgeführten Gegenständen genannt sind, umfassen.
Claims (23)
- Programmierbarer serieller Anschluß, aufweisend: ein erstes Schieberegistermodul (
312 ) einschließlich einem Schieberegister, aufweisend einen Eingabekanal zum Empfangen einer parallelen Eingabe einer ersten Vielzahl von Bits und einen ersten Ausgabekanal zum Vorsehen einer seriellen Ausgabe einer zweiten Vielzahl von Bits, und ein weiteres Register zum Steuern des Schieberegistermoduls; einen Taktgenerator; und eine erste Zustandsmaschine (320 ), dadurch gekennzeichnet, daß der Taktgenerator (360 ) ein erstes Taktsignal an das erste Schieberegistermodul vorsieht, und der Taktgenerator, sowie das erste Schieberegistermodul auf Instruktionen von der Zustandsmaschine reagiert, so daß die Zustandsmaschine zumindest eine Instruktion ausgeben kann, um eine Ausgabe der zweiten Vielzahl von Bits von dem Schieberegister ohne weitere Steuerung von der Zustandsmaschine zu verursachen. - Programmierbarer serieller Anschluß nach Anspruch 1, wobei der Taktgenerator einen zweiten Ausgabekanal an die erste Zustandsmaschine aufweist, und der Kanal ein zweites Taktsignal an die erste Zustandsmaschine vorsieht, wobei das Signal eine zweite Vielzahl von Taktimpulsen aufweist.
- Programmierbarer serieller Anschluß nach den Ansprüchen 1 oder 2, wobei der Taktgenerator mit einer ersten Zustandsmaschine durch ein Gate gekoppelt ist, welches durch zumindest eine der Instruktionen steuerbar ist.
- Programmierbarer serieller Anschluß nach Anspruch 3, wobei das Gate steuerbar ist, um das zweite Taktsignal zu blockieren, während das Schieberegister die serielle Ausgabe vorsieht.
- Programmierbarer serieller Anschluß nach Anspruch 2, ferner einen Teiler aufweisend, welcher mit dem zweiten Ausgabekanal gekoppelt ist, um das zweite Taktsignal zu empfangen, und mit dem ersten Ausgabekanal gekoppelt ist, um das erste Taktsignal vorzusehen, wobei das zweite Taktsignal geteilt wird, um das erste Taktsignal zu bilden.
- Programmierbarer serieller Anschluß nach einem der vorhergehenden Ansprüche, wobei die Zustandsmaschine konfiguriert und angeordnet ist, um Instruktionen entsprechend einer Vielzahl von seriellen Kommunikationsprotokollen vorzusehen.
- Programmierbarer serieller Anschluß nach Anspruch 2 oder einem der Ansprüche 3 bis 6 sofern dieser von Anspruch 2 abhängig ist, wobei jedes der zweiten Vielzahl von Bits in Reaktion auf einen Taktimpuls der zweiten Vielzahl von Impulsen ausgegeben wird.
- Programmierbarer serieller Anschluß nach Anspruch 2 oder einem der Ansprüche 3 bis 7, sofern dieser von Anspruch 2 abhängig ist, wobei das Schieberegistermodul ferner einen Bit-Zähler aufweist, und der Bit-Zähler konfiguriert ist, einen numerischen Zählwert der seriellen Ausgabe der zweiten Vielzahl von Bits beizubehalten.
- Programmierbarer serieller Anschluß nach Anspruch 8, wobei der Bit-Zähler in Reaktion auf einen Taktimpuls der – zweiten Vielzahl von Impulsen vermindert wird.
- Programmierbarer serieller Anschluß nach Anspruch 9, wobei jedes der zweiten Vielzahl von Bits entweder ein Daten-Bit, ein Paritäts-Bit, oder ein Stop-Bit ist.
- Programmierbarer serieller Anschluß nach Anspruch 10, wobei jedes der zweiten Vielzahl von Bits basierend auf dem Bit-Zählwert ausgewählt wird.
- Programmierbarer serieller Anschluß nach einem der vorhergehenden Ansprüche, wobei das erste Schieberegistermodul ferner einen Paritäts-Generator aufweist.
- Programmierbarer serieller Anschluß nach Anspruch 12, wobei das erste Schieberegistermodul ein Paritäts-Bit von dem Paritäts-Generator in Reaktion auf einen Taktimpuls der zweiten Vielzahl von Impulsen ausgibt.
- Programmierbarer serieller Anschluß nach einem der vorhergehenden Ansprüche, ferner einen programmierbaren Treiber aufweisend, welcher mit dem ersten Ausgabekanal gekoppelt ist, um die elektrischen Parameter der seriellen Ausgabe zu steuern.
- Programmierbarer serieller Anschluß nach einem der vorhergehenden Ansprüche, ferner ein Interrupt-Verarbeitungsmodul aufweisend, welches mit der ersten Zustandsmaschine gekoppelt ist, um einen Interrupt der Zustandsmaschine zu verursachen.
- Programmierbarer serieller Anschluß nach einem der vorhergehenden Ansprüche, ferner ein zweites Schieberegistermodul aufweisend, wobei der Taktgenerator mit dem zweiten Schieberegistermodul gekoppelt ist, um ein zweites Taktsignal vorzusehen, welches eine zweite Vielzahl von Taktimpulsen aufweist, und das zweite Schieberegistermodul in Reaktion auf das zweite Taktsignal eine zweite serielle Ausgabe vorsieht.
- Verfahren zum Steuern eines Schieberegistermoduls, aufweisend ein erstes Schieberegister, welches eine erste Vielzahl von Bits enthält, um eine serielle Ausgabe entsprechend einem ausgewählten einer Vielzahl von seriellen Kommunikationsprotokollen vorzusehen, wobei das erste Schieberegistermodul mit einem Taktgenerator und einer Zustandsmaschine gekoppelt ist, und das Verfahren aufweist: Auswählen einer Instruktionssequenz von einer Vielzahl von Instruktionssequenzen entsprechend dem ausgewählten Protokoll, welche durch die Zustandsmaschine ausgeführt werden soll, wobei jede der Instruktionssequenzen einem Protokoll entspricht; Steuern des Taktgenerators entsprechend einer Instruktion der ausgewählten Instruktionssequenz, um eine erste Vielzahl von Taktimpulsen an das Schieberegistermodul vorzusehen, und Ausgeben einer zweiten Vielzahl von Bits, welche der ersten Vielzahl von Bits entsprechen, in Reaktion auf die Taktimpulse und Ausführen der Instruktionssequenz ohne weitere Steuerung durch die Zustandsmaschine
- Verfahren zum Steuern eines Schieberegistermoduls nach Anspruch 17, ferner einen Vorgang des Beibehaltens eines Zählwerts der zweiten Vielzahl von Bits aufweisend.
- Verfahren zum Steuern eines Schieberegistermoduls nach Anspruch 18, ferner einen Vorgang des selektiven Ausgebens eines Paritäts-Bits in Reaktion auf den Zählwert aufweisend.
- Verfahren zum Steuern eines Schieberegisters nach den Ansprüchen 17 bis 19, ferner einen Vorgang des Steuerns des Taktgenerators zum Vorsehen einer zweiten Vielzahl von Taktimpulsen zum Steuern der Ausführung der Instruktionssequenz durch die Zustandsmaschine aufweisend.
- Verfahren zum Steuern eines Schieberegisters nach Anspruch 20, ferner einen Vorgang des Blockierens der zweiten Vielzahl von Taktimpulsen aufweisend, wobei das Ausführen der Vielzahl von Instruktionen während dem Ausgeben der zweiten Vielzahl von Bits gestoppt wird.
- Verfahren zum Steuern eines Schieberegistermoduls nach einem der Ansprüche 17 bis 21, ferner den Vorgang des Steuerns des Taktgenerators zum Vorsehen einer dritten Vielzahl von Taktimpulsen an ein zweites Schieberegistermodul, welches eine dritte Vielzahl von Bits enthält, und das Ausgeben einer vierten Vielzahl von Bits in Reaktion auf die Taktimpulse entsprechend der dritten Vielzahl von Bits aufweisend.
- Verfahren zum Steuern eines Schieberegisters nach Anspruch 17, wobei das Steuern des Taktgenerators entsprechend einer Instruktion das Angeben der Anzahl von Impulsen und der Taktrate enthält.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31565501P | 2001-08-29 | 2001-08-29 | |
US315655P | 2001-08-29 | ||
PCT/US2002/027920 WO2003021453A2 (en) | 2001-08-29 | 2002-08-29 | Generic serial port architecture and system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60211921D1 DE60211921D1 (de) | 2006-07-06 |
DE60211921T2 true DE60211921T2 (de) | 2006-10-05 |
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 |
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 |
DE60223051T Expired - Lifetime DE60223051T2 (de) | 2001-08-29 | 2002-08-29 | Anordnung und verfahren zum schnellen einschalten einer phase-locked loop |
DE60223555T Expired - Lifetime DE60223555T2 (de) | 2001-08-29 | 2002-08-29 | Verfahren und apparat zur takt- und leistungssteuerung in drahtlosen systemen |
DE60228268T Expired - Lifetime DE60228268D1 (de) | 2001-08-29 | 2002-08-29 | G einer versorgungsspannung |
Family Applications After (5)
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 |
DE60223051T Expired - Lifetime DE60223051T2 (de) | 2001-08-29 | 2002-08-29 | Anordnung und verfahren zum schnellen einschalten einer phase-locked loop |
DE60223555T Expired - Lifetime DE60223555T2 (de) | 2001-08-29 | 2002-08-29 | Verfahren und apparat zur takt- und leistungssteuerung in drahtlosen systemen |
DE60228268T Expired - Lifetime DE60228268D1 (de) | 2001-08-29 | 2002-08-29 | G einer versorgungsspannung |
Country Status (7)
Country | Link |
---|---|
US (10) | US6768358B2 (de) |
EP (9) | EP1425671B1 (de) |
JP (10) | JP4170218B2 (de) |
CN (9) | CN1299201C (de) |
AU (2) | AU2002331774A1 (de) |
DE (6) | DE60211921T2 (de) |
WO (8) | WO2003021439A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Families Citing this family (329)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6768358B2 (en) * | 2001-08-29 | 2004-07-27 | Analog Devices, Inc. | Phase locked loop fast power up methods and apparatus |
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 |
US7941675B2 (en) | 2002-12-31 | 2011-05-10 | Burr James B | Adaptive power control |
US7180322B1 (en) | 2002-04-16 | 2007-02-20 | Transmeta Corporation | Closed loop feedback control of integrated circuits |
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 |
US7290156B2 (en) * | 2003-12-17 | 2007-10-30 | Via Technologies, Inc. | Frequency-voltage mechanism for microprocessor power management |
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 |
US7774627B2 (en) * | 2002-10-03 | 2010-08-10 | Via Technologies, Inc. | Microprocessor capable of dynamically increasing its performance in response to varying operating temperature |
US7814350B2 (en) * | 2002-10-03 | 2010-10-12 | Via Technologies, Inc. | Microprocessor with improved thermal monitoring and protection mechanism |
US7770042B2 (en) * | 2002-10-03 | 2010-08-03 | Via Technologies, Inc. | Microprocessor with improved performance during P-state transitions |
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 |
US7444524B2 (en) * | 2002-12-30 | 2008-10-28 | Intel Corporation | Dynamic voltage transitions |
US7146822B2 (en) | 2002-12-30 | 2006-12-12 | Intel Corporation | Centrifugal liquid pump with perimeter magnetic drive |
AU2003303597A1 (en) | 2002-12-31 | 2004-07-29 | Therasense, 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 |
US7228242B2 (en) | 2002-12-31 | 2007-06-05 | Transmeta Corporation | Adaptive power control based on pre package characterization of integrated circuits |
KR20050115227A (ko) * | 2003-01-23 | 2005-12-07 | 유니버시티 오브 로체스터 | 다중 클록 도메인 마이크로프로세서 |
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 |
ES2302876T3 (es) * | 2003-04-11 | 2008-08-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Metodo de sincronizacion en un terminal de radio movil. |
JP4033066B2 (ja) * | 2003-05-07 | 2008-01-16 | ソニー株式会社 | 周波数制御装置、情報処理装置、周波数制御方法及びプログラム |
EP3321769A1 (de) * | 2003-05-07 | 2018-05-16 | Conversant Intellectual Property Management Inc. | Verwaltung von strom auf integrierten schaltungen durch verwendung von strominseln |
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 |
US7649402B1 (en) | 2003-12-23 | 2010-01-19 | Tien-Min Chen | Feedback-controlled body-bias voltage source |
US7692477B1 (en) | 2003-12-23 | 2010-04-06 | Tien-Min Chen | Precise control component for a substrate potential regulation circuit |
US7012461B1 (en) | 2003-12-23 | 2006-03-14 | Transmeta Corporation | Stabilization component for a substrate potential regulation circuit |
US7129771B1 (en) | 2003-12-23 | 2006-10-31 | Transmeta Corporation | Servo loop for well bias voltage source |
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 |
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 |
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 |
US7479753B1 (en) | 2004-02-24 | 2009-01-20 | Nvidia Corporation | Fan speed controller |
CN100361040C (zh) * | 2004-02-24 | 2008-01-09 | 中国科学院计算技术研究所 | 一种soc架构下的处理器核动态变频装置和方法 |
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 |
EP1607835A1 (de) * | 2004-06-15 | 2005-12-21 | Koninklijke Philips Electronics N.V. | Geschlossener Regelungskreis zur Leistungsabstimmung |
CN101006397A (zh) * | 2004-06-15 | 2007-07-25 | 皇家飞利浦电子股份有限公司 | 用于性能参数的二进制控制的控制方案 |
US7401241B2 (en) * | 2004-06-22 | 2008-07-15 | Intel Corporation | Controlling standby power of low power devices |
US7562233B1 (en) | 2004-06-22 | 2009-07-14 | Transmeta Corporation | Adaptive control of operating and body bias voltages |
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 | 삼성전자주식회사 | 클럭 사용 회로 및 클럭 신호 발생 방법 |
US8472990B2 (en) * | 2004-07-23 | 2013-06-25 | St Ericsson Sa | Apparatus using interrupts for controlling a processor for radio isolation and associated method |
US20050008095A1 (en) * | 2004-07-23 | 2005-01-13 | Rush Frederick A. | Apparatus using interrupts for controlling a processor for radio isolation and associated methods |
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 |
ATE535856T1 (de) * | 2005-07-14 | 2011-12-15 | Nxp Bv | Verwendung von vorgeschichtlichen lastprofilen zur dynamischen justierung der betriebsfrequenz und verfügbaren leistung für einen prozessorkern eines in der hand gehaltenen multimedia-geräts |
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 |
US7809928B1 (en) * | 2005-11-29 | 2010-10-05 | Nvidia Corporation | Generating event signals for performance register control using non-operative instructions |
US8253748B1 (en) | 2005-11-29 | 2012-08-28 | Nvidia Corporation | Shader performance registers |
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 |
JP5075196B2 (ja) * | 2006-06-30 | 2012-11-14 | インテル・コーポレーション | 漏れ電力推定 |
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 |
US8667198B2 (en) * | 2007-01-07 | 2014-03-04 | Apple Inc. | Methods and systems for time keeping in a data processing system |
US7917784B2 (en) | 2007-01-07 | 2011-03-29 | Apple Inc. | Methods and systems for power management 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 |
US8161314B2 (en) * | 2007-04-12 | 2012-04-17 | International Business Machines Corporation | Method and system for analog frequency clocking in processor cores |
US7917799B2 (en) * | 2007-04-12 | 2011-03-29 | International Business Machines Corporation | Method and system for digital 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 |
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 |
US20080281171A1 (en) * | 2007-05-08 | 2008-11-13 | 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 |
US8456301B2 (en) | 2007-05-08 | 2013-06-04 | 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 |
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 |
US20090182802A1 (en) * | 2008-01-10 | 2009-07-16 | Microsoft Corporation | Mobile device management scheduling |
US9442758B1 (en) | 2008-01-21 | 2016-09-13 | Marvell International Ltd. | Dynamic processor core switching |
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 |
EP2107684A1 (de) | 2008-03-31 | 2009-10-07 | Telefonaktiebolaget LM Ericsson (publ) | Ereignisbehandlung in einer Schaltung für Funkverbindung |
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 | セイコーエプソン株式会社 | 映像出力装置および映像出力方法ならびにプロジェクタ |
WO2010061588A1 (ja) * | 2008-11-28 | 2010-06-03 | パナソニック株式会社 | メモリ制御装置、データプロセッサ及びデータ読み出し方法 |
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 |
WO2010127050A1 (en) | 2009-04-28 | 2010-11-04 | 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 |
CN103003769B (zh) * | 2010-07-20 | 2016-02-24 | 飞思卡尔半导体公司 | 时钟电路、电子设备以及提供时钟信号的方法 |
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 | ヤマハ株式会社 | クロック発生回路 |
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 |
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 |
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 | 扬智科技股份有限公司 | 低增益压控振荡器的控制方法 |
CN103201702B (zh) * | 2010-11-09 | 2016-04-20 | 国际商业机器公司 | 对计算工作负载进行管理的方法和系统 |
WO2012071683A1 (en) * | 2010-12-01 | 2012-06-07 | Telefonaktiebolaget L M Ericsson (Publ) | Phase-locked loop control voltage determination |
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 | 株式会社東芝 | 動作切替装置およびプログラム |
US8572421B2 (en) | 2011-04-05 | 2013-10-29 | Apple Inc. | Adjusting device performance based on processing profiles |
US8856571B2 (en) | 2011-04-05 | 2014-10-07 | Apple Inc. | Adjusting device performance over multiple time domains |
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 |
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 |
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 |
CA2840640C (en) | 2011-11-07 | 2020-03-24 | Abbott Diabetes Care Inc. | Analyte monitoring device and methods |
JP2013106166A (ja) * | 2011-11-14 | 2013-05-30 | Sony Corp | クロックゲーティング回路およびバスシステム |
US9977482B2 (en) | 2011-12-21 | 2018-05-22 | Intel Corporation | Method and apparatus for setting an I/O bandwidth-based processor frequency floor |
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 |
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 |
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 |
US9983905B2 (en) | 2012-12-06 | 2018-05-29 | White Eagle Sonic Technologies, Inc. | Apparatus and system for real-time execution of ultrasound system actions |
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 |
US9773496B2 (en) | 2012-12-06 | 2017-09-26 | White Eagle Sonic Technologies, Inc. | Apparatus and system for adaptively scheduling ultrasound system actions |
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 |
US9345083B2 (en) * | 2013-10-30 | 2016-05-17 | Apple Inc. | Boost converter with a pulse frequency modulation mode for operating above an audible frequency |
EP3063640B1 (de) * | 2013-10-30 | 2020-10-07 | Intel Corporation | Verfahren, vorrichtung und system zur latenzmessung in einer physikalischen einheit einer schaltung |
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 | 株式会社メガチップス | クロック生成回路 |
US10309782B2 (en) | 2015-04-07 | 2019-06-04 | 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 | 华为技术有限公司 | 非易失存储设备和访问非易失存储设备的方法 |
KR102467172B1 (ko) * | 2016-01-25 | 2022-11-14 | 삼성전자주식회사 | 반도체 장치 |
US10209734B2 (en) | 2016-01-25 | 2019-02-19 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system, and method of operating the semiconductor device |
US10296066B2 (en) | 2016-01-25 | 2019-05-21 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system, and method of operating the semiconductor device |
KR102474620B1 (ko) * | 2016-01-25 | 2022-12-05 | 삼성전자주식회사 | 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법 |
US10303203B2 (en) | 2016-01-25 | 2019-05-28 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US10248155B2 (en) | 2016-01-25 | 2019-04-02 | Samsung Electronics Co., Ltd. | Semiconductor device including clock generating circuit and channel management circuit |
DE102017110823A1 (de) | 2016-01-25 | 2018-07-26 | Samsung Electronics Co., Ltd. | Halbleitervorrichtung, Halbleitersystem und Verfahren zum Betreiben der Halbleitervorrichtung |
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 | 富士通株式会社 | クロック生成回路、シリアル・パラレル変換回路及び情報処理装置 |
TW201835751A (zh) * | 2017-02-10 | 2018-10-01 | 香港商凱歐斯科技(香港)有限公司 | 功能型手機及其操作方法 |
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 |
JP7281679B2 (ja) | 2018-06-05 | 2023-05-26 | パナソニックIpマネジメント株式会社 | 入出力回路 |
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 | 上海岚盒信息技术有限公司 | 振动巡检仪及其低功耗频域变换方法、计算机可读存储介质 |
GB2586954B (en) * | 2019-07-10 | 2023-06-14 | Siemens Ind Software Inc | Handling trace data |
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 |
US12021538B2 (en) | 2022-05-20 | 2024-06-25 | Apple Inc. | Clock frequency limiter |
CN118672662A (zh) * | 2024-08-23 | 2024-09-20 | 苏州国芯科技股份有限公司 | 一种指令跟踪方法、装置、设备及介质 |
Family Cites Families (105)
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 | 富士通株式会社 | バス制御回路 |
AU6031390A (en) * | 1989-06-30 | 1991-01-17 | 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 | 電子装置及びその装置に含まれる集積回路 |
DE69228980T2 (de) * | 1991-12-06 | 1999-12-02 | National Semiconductor Corp., Santa Clara | 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 |
DE69533599T2 (de) * | 1994-02-02 | 2005-10-13 | Advanced Micro Devices, Inc., Sunnyvale | 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 | クロック発生回路及びマイクロコンピュータ |
CN1279449C (zh) * | 1994-12-28 | 2006-10-11 | 株式会社东芝 | 微处理器 |
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 |
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 |
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 |
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 | 株式会社日立製作所 | 半導体集積回路及びデータ処理システム |
JP3857052B2 (ja) * | 1998-07-02 | 2006-12-13 | 株式会社ルネサステクノロジ | マイクロプロセッサ |
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 | 윤종용 | 동기형버스트반도체메모리장치 |
EP0992907B1 (de) * | 1998-10-06 | 2005-09-28 | Texas Instruments Inc. | Verwaltung eines FIFO zur Abalufverfolgung |
EP0992906B1 (de) * | 1998-10-06 | 2005-08-03 | Texas Instruments Inc. | Vorrichtung und Verfahren für einen Software-Haltepunkt während eines Verzögerungsschlitzes |
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 |
EP2267596B1 (de) | 1999-05-12 | 2018-08-15 | Analog Devices, Inc. | Prozessorkern zur Verarbeitung von Befehlen verschiedener Formate |
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 |
AU1458501A (en) | 1999-11-05 | 2001-06-06 | Analog Devices, Inc. | Generic serial port architecture and system |
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 |
DE69940369D1 (de) | 1999-11-25 | 2009-03-19 | St Microelectronics Srl | 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 |
US6694191B2 (en) | 2000-01-21 | 2004-02-17 | Medtronic Minimed, Inc. | Ambulatory medical apparatus and method having telemetry modifiable control software |
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 | キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体 |
US6636225B2 (en) * | 2000-11-20 | 2003-10-21 | Hewlett-Packard Development Company, L.P. | Managing texture mapping data in a computer graphics system |
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 |
US6732236B2 (en) * | 2000-12-18 | 2004-05-04 | Redback Networks Inc. | Cache retry request queue |
SE0004832L (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 |
US6768358B2 (en) * | 2001-08-29 | 2004-07-27 | Analog Devices, Inc. | Phase locked loop fast power up methods and apparatus |
US6865503B2 (en) * | 2002-12-24 | 2005-03-08 | Conexant Systems, Inc. | Method and apparatus for telemetered probing of integrated circuit operation |
-
2002
- 2002-08-29 US US10/230,868 patent/US6768358B2/en not_active Expired - Lifetime
- 2002-08-29 JP JP2003525461A patent/JP4170218B2/ja not_active Expired - Lifetime
- 2002-08-29 WO PCT/US2002/027670 patent/WO2003021439A1/en active IP Right Grant
- 2002-08-29 US US10/230,528 patent/US6978350B2/en not_active Expired - Lifetime
- 2002-08-29 WO PCT/US2002/027920 patent/WO2003021453A2/en active IP Right Grant
- 2002-08-29 JP JP2003525468A patent/JP2005502123A/ja active Pending
- 2002-08-29 EP EP02763598A patent/EP1425671B1/de not_active Expired - Lifetime
- 2002-08-29 DE DE60211921T patent/DE60211921T2/de not_active Expired - Lifetime
- 2002-08-29 JP JP2003526013A patent/JP4340536B2/ja not_active Expired - Lifetime
- 2002-08-29 AU AU2002331774A patent/AU2002331774A1/en not_active Abandoned
- 2002-08-29 AU AU2002327599A patent/AU2002327599A1/en not_active Abandoned
- 2002-08-29 DE DE60239347T patent/DE60239347D1/de not_active Expired - Lifetime
- 2002-08-29 EP EP02773260A patent/EP1421490B1/de not_active Expired - Lifetime
- 2002-08-29 EP EP02768760A patent/EP1421588B1/de not_active Expired - Lifetime
- 2002-08-29 US US10/230,668 patent/US7007132B2/en not_active Expired - Lifetime
- 2002-08-29 CN CNB028167791A patent/CN1299201C/zh not_active Expired - Lifetime
- 2002-08-29 EP EP10159945.4A patent/EP2230603B1/de not_active Expired - Lifetime
- 2002-08-29 EP EP02761537A patent/EP1421465B1/de not_active Expired - Lifetime
- 2002-08-29 JP JP2003525448A patent/JP3852703B2/ja not_active Expired - Lifetime
- 2002-08-29 JP JP2003525854A patent/JP4338514B2/ja not_active Expired - Lifetime
- 2002-08-29 EP EP02759483A patent/EP1421704B1/de not_active Expired - Lifetime
- 2002-08-29 JP JP2003525475A patent/JP4799819B2/ja not_active Expired - Lifetime
- 2002-08-29 EP EP02797802.2A patent/EP1499955B1/de not_active Expired - Lifetime
- 2002-08-29 US US10/231,446 patent/US6889331B2/en not_active Expired - Lifetime
- 2002-08-29 CN CNB028169271A patent/CN100361109C/zh not_active Expired - Lifetime
- 2002-08-29 EP EP02759508A patent/EP1421497B1/de not_active Expired - Lifetime
- 2002-08-29 JP JP2003525430A patent/JP4243186B2/ja not_active Expired - Lifetime
- 2002-08-29 CN CN2009102091339A patent/CN101673238B/zh not_active Expired - Lifetime
- 2002-08-29 DE DE60210633T patent/DE60210633T2/de not_active Expired - Lifetime
- 2002-08-29 US US10/231,526 patent/US7114093B2/en not_active Expired - Lifetime
- 2002-08-29 CN CNB028169263A patent/CN100570577C/zh not_active Expired - Lifetime
- 2002-08-29 WO PCT/US2002/027666 patent/WO2003021409A2/en active Application Filing
- 2002-08-29 CN CNB028169689A patent/CN100471079C/zh not_active Expired - Lifetime
- 2002-08-29 DE DE60223051T patent/DE60223051T2/de not_active Expired - Lifetime
- 2002-08-29 JP JP2003525432A patent/JP2005502114A/ja active Pending
- 2002-08-29 WO PCT/US2002/027462 patent/WO2003021800A1/en active IP Right Grant
- 2002-08-29 DE DE60223555T patent/DE60223555T2/de not_active Expired - Lifetime
- 2002-08-29 WO PCT/US2002/027684 patent/WO2003021600A2/en active Application Filing
- 2002-08-29 US US10/230,534 patent/US7159134B2/en not_active Expired - Lifetime
- 2002-08-29 WO PCT/US2002/027669 patent/WO2003021407A1/en active IP Right Grant
- 2002-08-29 CN CNB028169697A patent/CN100451914C/zh not_active Expired - Lifetime
- 2002-08-29 CN CNB028169700A patent/CN100517215C/zh not_active Expired - Lifetime
- 2002-08-29 CN CN02816976XA patent/CN1549961B/zh not_active Expired - Lifetime
- 2002-08-29 US US10/231,722 patent/US7174543B2/en not_active Expired - Lifetime
- 2002-08-29 CN CNB02816928XA patent/CN100399472C/zh not_active Expired - Lifetime
- 2002-08-29 WO PCT/US2002/027695 patent/WO2003021426A2/en active Application Filing
- 2002-08-29 US US10/230,669 patent/US7315956B2/en not_active Expired - Lifetime
- 2002-08-29 DE DE60228268T patent/DE60228268D1/de not_active Expired - Lifetime
- 2002-08-29 EP EP02773259A patent/EP1421463B1/de not_active Expired - Lifetime
- 2002-08-29 WO PCT/US2002/027758 patent/WO2003021446A2/en active Application Filing
-
2006
- 2006-07-04 JP JP2006184344A patent/JP4440900B2/ja not_active Expired - Lifetime
-
2007
- 2007-11-15 US US11/985,375 patent/US8156366B2/en not_active Expired - Fee Related
- 2007-11-15 US US11/985,374 patent/US7698590B2/en not_active Expired - Lifetime
-
2008
- 2008-10-16 JP JP2008267243A patent/JP2009064456A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60211921T2 (de) | Architektur und system von einem generischen seriellen port | |
DE4235005C2 (de) | Mikroprozessor | |
DE69130630T2 (de) | Synchrones Verfahren und Gerät für Prozessoren | |
DE69625473T2 (de) | Taktsteuerungssystem- und verfahren | |
DE69126351T2 (de) | Einchip-Mikrorechner mit Taktsignalumschaltfunktion | |
DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
DE69233510T2 (de) | Ausgangspuffer für Mikroprozessor | |
DE60017775T2 (de) | Architektur und system von einem generischen und seriellen port | |
DE3882772T2 (de) | Vektorprozessor angepasst zum Sortieren von Vektordaten. | |
DE19983138B4 (de) | Verfahren und Vorrichtung zum Verändern einer Taktfrequenz auf einer Phase-zu-Phase-Basis | |
EP1222739A1 (de) | Rekonfigurierbares gate-array | |
DE2654050B2 (de) | Taktsignalsteuersystem eines Mikrocomputersystems | |
DE19852457C2 (de) | Verfahren und Vorrichtung zur Phasendrehung in einem Phasenregelkreis | |
DE60226141T2 (de) | Fifo-speicher system und verfahren dafür | |
DE3400723C2 (de) | ||
DE2544945A1 (de) | Mikroprocessor | |
DE10122481B4 (de) | Schaltung zur wahlweisen Erzeugung eines Ausgangssignals aus einem von mehreren Taktsignalen | |
DE3850808T2 (de) | Erzeugung von Taktimpulsen. | |
DE4306463C2 (de) | System zur Erzeugung von Datensignalen zur Anlegung an ein in Prüfung befindliches Gerät mit unabhängig voneinander einstellbaren steigenden und fallenden Flanken | |
DE3725821A1 (de) | Integrierte halbleiterschaltvorrichtung mit prueffunktion | |
DE69909924T2 (de) | Verfahren und Vorrichtung zur Reduzierung der Verlustleistung in einer Schaltung | |
EP0350039B1 (de) | Zähler-/Zeitgeber-Schaltung für einen Microcontroller | |
DE10018988B4 (de) | Hochgeschwindigkeits-Pipelinevorrichtung und Verfahren zum Erzeugen von Steuersignalen dafür | |
DE2759120A1 (de) | Prozessor fuer datenverarbeitungssysteme | |
DE19650341C2 (de) | A/D-Wandlervorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: MEDIATEK INC., HSINCHU, TW |