DE19841893B4 - Mikrokontroller - Google Patents

Mikrokontroller Download PDF

Info

Publication number
DE19841893B4
DE19841893B4 DE19841893A DE19841893A DE19841893B4 DE 19841893 B4 DE19841893 B4 DE 19841893B4 DE 19841893 A DE19841893 A DE 19841893A DE 19841893 A DE19841893 A DE 19841893A DE 19841893 B4 DE19841893 B4 DE 19841893B4
Authority
DE
Germany
Prior art keywords
register
bit
microcontroller
result
boolean
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 - Fee Related
Application number
DE19841893A
Other languages
English (en)
Other versions
DE19841893A1 (de
Inventor
Rod G. Mountain View Fleck
Karl-Heinz San Jose Mattheis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies North America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of DE19841893A1 publication Critical patent/DE19841893A1/de
Application granted granted Critical
Publication of DE19841893B4 publication Critical patent/DE19841893B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX

Abstract

Mikrokontroller zum Ausführen von in einem Speicher gespeicherten Instruktionen, wobei der Mikrokontroller mehrere Daten enthaltende Register (1, 2, 5, 6) aufweist, die mit einer Ausführungseinheit verbunden sind, die eine Logikeinheit (3, 4) zum Ausführen von Logikoperationen aufweist, wobei der Mikrokontroller eine Instruktion in einem Zyklus ausführen kann, die Werte in einem ersten Register (1), zweiten Register (2) und dritten Register (5) adressiert und mit Hilfe der Logikeinheit folgende Operationen durchführt:
• eine Komparatoreinheit (3) ist mit dem ersten Register (1) und dem zweiten Register (2) als Eingaberegister verbunden und erzeugt als Vergleichsergebnis eines Vergleichs ein Ausgangs-Bit;
• ein Bool'scher Operator (4) verknüpft darauf das Ausgangs-Bit der Komparator-Einheit (3) als erstes Eingangssignal und ein einzelnes Bit des dritten Registers (5), in dem bereits ein Vergleichsergebnis einer vorhergehenden Instruktion gespeichert ist, als zweites Eingangssignal und erzeugt ein einzelnes Ausgangs-Bit als Ergebnis der Bool'schen Operation.

Description

  • Die Erfindung betrifft einen Mikrokontroller zum Ausführen von Instruktionen gemäß den Merkmalen des Oberbegriffs des Anspruchs 1. Ein solcher Mikrokontroller ist z.B. in US 5,692,207 beschrieben. Die Kombination zweier arithmetischer Operationen erfolgt mit einem Hardware-Befehl. Mikrokontroller werden in verschiedenen Anwendungen eingesetzt. Um das Programmieren dieser Mikrokontroller zu erleichtern, können Nutzer Programmiersprachen hohen Niveaus nutzen, wie etwa „C" oder „Pascal", oder Programmiersprachen auf niedrigerem Niveau, wie etwa Assembler. Zum rascheren Programmieren und für die Unabhängigkeit von dem tatsächlichen Ziel-Mikroprozessor oder -Mikrokontroller ist es bevorzugt, die jeweiligen Maschinen in einer der Programmiersprachen hohen Niveaus zu programmieren. Zahlreiche Befehle in einer Programmiersprache hohen Niveaus, wie etwa „C", können in einzelne Maschinensprachen-Instruktionen übersetzt werden. Zahlreiche Befehle, wie etwa bedingte Verzweigungsinstruktionen, erfordern jedoch mehrere Maschinen-Code-Instruktionen, die in Abfolge bzw. Sequenz die Ausführung eines Programms verzögern können.
  • Eine Aufgabe der vorliegenden Erfindung besteht deshalb darin, einen Mikrokontroller mit der Fähigkeit, eine arithmetische und eine logische Operation parallel auszuführen, zu schaffen.
  • Gelöst wird diese Aufgabe durch einen Mikrokontroller mit den Merkmalen des Anspruchs 1.
  • Die Ausführungsformen gemäß der vorliegenden Erfindung erlauben eine parallele Ausführung eines arithmetischen und einer logischen Operation in einem Hardwarebefehl, wodurch die Ausführung von logischen Instruktionen beschleunigt wird, und wodurch es einfach und effizient ist, eine Programmiersprache hohen Niveaus in Maschineninstruktionen zu übersetzen.
  • Nachfolgend wird die Erfindung anhand der Zeichnungen beispielhaft näher erläutert; es zeigen
  • 1 ein Blockdiagramm einer ersten Ausführungsform gemäß der vorliegenden Erfindung
  • 2 eine zweite Ausführungsform gemäß der vorliegenden Erfindung,
  • 3 eine dritte Ausführungsform gemäß der vorliegenden Erfindung,
  • 4 eine vierte Ausführungsform gemäß der vorliegenden Erfindung,
  • 5 eine erste Ausführungsform eines Bool'schen Logikoperators gemäß 1, 2 bzw. 4, und
  • 6 eine zweite Ausführungsform eines Bool'schen Logikoperators.
  • 1 bis 4 zeigen Beispiele, wie die Register einer Registerdatei mit den jeweiligen Elementen, beispielsweise einer Ganzzahlenausführungseinheit, verbunden sind, um die jeweiligen Instruktionen auszuführen.
  • Instruktionen werden üblicherweise in einem Speicher gespeichert, der mit einem Mikrokontroller oder Mikroprozessor verbunden ist. Der Mikrokontroller oder Mikroprozessor weist eine Ausführungseinheit auf, die beispielsweise eine Logik- und eine arithmetische Ausführungseinheit aufweist. Diese Ausführungseinheit steuert sämtliche Verbindungen zwischen jeweiligen Registern und Logik- und/oder arithmetischen Operatoren.
  • In 1 bezeichnet die Bezugsziffer 1 ein erstes Register A und die Bezugsziffer 2 bezeichnet ein zweites Register B. Beide Register 1, 2 gehören zu einer Registerdatei für beispielsweise mehreren 32-Bit-Registern. Die Bezugsziffer 5 bezeichnet ein drittes Register C, welches ebenfalls Teil der Registerdatei bildet. Die 32 Bits eines jeden Registers 1 und 2 sind mit den jeweiligen Eingängen einer Komparatoreinheit 3 verbunden. Die Komparatoreinheit 3 ist in der Lage, beide 32-Bit-Wörter jedes Registers 1 und 2 in unterschiedlichen Weisen zu vergleichen. Beispielsweise vermag die Vergleichs- Instruktion zu prüfen, ob der Inhalt des Registers A größer, gleich, kleiner und dergleichen als der Inhalt des Registers B ist. Die Komparatoreinheit 3 erzeugt ein Ausgangssignal mit einem einzigen Bit, welches anzeigt, ob das Vergleichsinstruktionsergebnis wahr oder falsch bzw. unwahr ist. Dieses Ausgangssignal wird in den ersten Eingang eines Bool'schen Logikoperators 4 eingegeben. Ein einzelnes Bit, beispielsweise das niedrigstwertige Bit des Registers C ist mit dem zweiten Eingang des Bool'schen Logikoperators 4 verbunden bzw. gekoppelt. Der Bool'sche Logikoperator 4 kann einzelne oder mehrfache Logikoperatoren, wie etwa AND- (UND-), OR- (ODER-), NAND-, NOR- und dergleichen Operatoren umfassen. Der Bool'sche Logikoperator 4 erzeugt ein einzelnes Ausgangs-Bit, welches in einem Register 6 gespeichert wird. Das Register 6 kann gleich dem Register 5 sein, wie in 1 durch den Registernamen C' gezeigt. Die Register 1, 2, 5 und 6 können aus der Registerdatei frei gewählt sein, wodurch es sogar möglich ist, ein einzelnes Register für die Register 1, 2, 5 und 6 zuzuordnen. Die Instruktion führt einen Vergleich zwischen Register 1 und Register 2 korrekt aus. Das Ergebnis wird mit einem vorausgehenden Vergleichsergebnis kombiniert, das im Register 5 gespeichert ist. Die Bool'sche Kombination erfolgt bevorzugt entweder als logische AND-, OR- oder XOR-Operation.
  • Eine derartige Maschinen-Code-Instruktion kann in einem Zyklus ausgeführt werden, weil auf das Ergebnis des Bool'schen Logikoperators nahezu verzögerungsfrei zugegriffen werden kann. Die Vergleichsinstruktion, bei der es sich entweder um =, ≠, <, > und dergleichen handeln kann, ist vorgesehen, eine Übersetzung des nachfolgenden "C"-Ausdrucks in lediglich zwei Maschinen-Code-Instruktionen zu ermöglichen. Ein Beispiel eines derartigen "C"-Ausdrucks lautet: d5 = (d1<d2 )|(d3==d4).
  • Unter der Annahme, daß sämtliche Variablen in Register verzeichnet wurden, berechnet die Zwei-Instruktionsabfolge d5:
    Figure 00050001
  • In 2 werden die 32 Bits des Registers 1 in die 32 Eingangsanschlüsse eines Multiplexers 7 eingegeben. In derselben Weise werden die 32 Bits des Registers 2 mit den 32 Eingängen bzw. Eingangsanschlüssen eines Multiplexers 8 verbunden. Die Multiplexer 7 und 8 stellt ein Wahleingangssignal p1 bzw. p2 bereit. Mittels dieser Wahleingangssignale p1 und p2 kann ein einzelnes Bit 1a oder 2a der Register 1 und 2 gewählt werden. Der Multiplexer 7 verbindet bzw. koppelt deshalb eines der 32 Bits des Registers 1 mit einem ersten Eingang eines ersten Bool'schen Logikoperators 9 und ein Multiplexer 8 verbindet bzw. koppelt eines der 32 Bits des Registers 2 mit einem zweiten Eingang des Bool'schen Logikoperators 9. Der Bool'sche Logikoperator 9 erzeugt ein einzelnes Bit-Ausgangs- signal, das in einen ersten Eingang eines zweiten Bool'schen Logikoperators eingespeist wird. Der zweite Eingang des Bool'schen Logikoperators 11 wird mit einem einzelnen Bit 10a des Registers 10 verbunden bzw. gekoppelt. Bei diesem einzelnen Bit kann es sich um das niedrigstwertige Bit oder ein beliebiges Bit handeln, das durch einen Multiplexer gewählt wird, wie für die Register 1 und 2 gezeigt. Bei dem Ausgang bzw. Ausgangssignal des Bool'schen Logikoperators handelt es sich ebenfalls um ein einzelnes Bit-Signal, das mit einem einzelnen Bit 12a eines vierten Registers 12 verbunden bzw. gekoppelt wird.
  • Zur Auswertung bzw. Berechnung der Bool'schen Logikausdrücke stellt die erfindungsgemäße Datenverarbeitungseinheit spezielle Instruktionen bereit. Insbesondere zieht die Auswertung bzw. Berechnung komplexer Bool'scher Gleichungen Nutzen aus einer Bool'schen Funktion mit drei Eingängen ähnlich derjenigen, die in 1 erläutert ist. Anstelle des Komparators 3 führt ein erster Bool'scher Logikoperator 9 eine Bool'sche Operation auf zwei einzelnen Bits aus, wodurch jedes Bit von einem der Register 1 und 2 gewählt wird. Das Ergebnis dieser Operation wird durch einen zweiten Bool'schen Logikoperator 11 mit einem einzigen Bit 10a eines dritten Registers kombiniert, bei dem es sich bevorzugt um das niedrigstwertige Bit des Registers 10 handelt. Das Ergebnis dieser Operation kann in einem einzelnen Bit eines Registers 12 gespeichert werden, bei dem es sich wiederum um dasselbe Register handeln kann, welches den zweiten Eingang bzw. das zweite Eingangssignal für den Bool'schen Logikoperator 11 bereitstellt. In diesem Fall bleiben die höchstwertigen Bits, d.h. sämtliche Bits mit Ausnahme des Bits 12a des Registers 12 ungeändert. Dessen ungeachtet kann das Ergebnis auch beispielsweise erweitert werden, um das gesamte Register zu füllen, oder um sämtliche anderen Bits auf "0" zu setzen.
  • Die möglichen Drei- oder Vier-Eingangs- bzw. -Eingangs- bzw. Eingabeoperationen können eine beliebige Kombination einer Bool'schen Logik sein, beispielsweise AND.AND, AND.NAND, AND.NOR, AND.OR, OR.AND, OR.NAND, OR.NOR, OR.OR und dergleichen. Da die Instruktionsgröße häufig begrenzt bzw. beschränkt ist, kann es sich bei den dritten und vierten Registern 10 und 12 um dieselben Register handeln, und das niedrigstwertige Bit wird stets als das Eingangs-Bit für den Bool'schen Logikoperator 11 und als das Ziel für das Ausgangs-Bit des Bool'schen Logikoperators 11 verwendet. Der Inhalt des Registers 10 wird demnach durch das Ergebnis der Operation überschrieben. Wenn der ursprüngliche Wert später benötigt wird, muß er deshalb in einer unterschiedlichen Stelle bevorratet bzw. gespeichert werden.
  • 3 zeigt eine dritte Ausführungsform der vorliegenden Erfindung. Das Register 1, das Register 2 und der Komparator 3 sind in derselben Weise wie in 1 verbunden. Beim Ausgang des Komparators 3 handelt es sich erneut um eine einzelne Bit-Leitung, die mit einem einzelnen Bit 14a eines Registers 14 verbunden bzw. gekoppelt ist. Das Register 14 ist mit einer Schiebeeinrichtung bzw. einem Schieberegister 13 verbunden bzw. gekoppelt.
  • Bestimmte Steueranwendungen erfordern, daß mehrere Bool'sche (Logikoperatoren) in ein einzelnes Register gepackt werden. Dieser Satz von gepackten Bits kann daraufhin als Index in eine Konstanttabelle oder Sprungtabelle genutzt werden. Die Verwendung einer Tabelle ermöglicht es, daß komplexe Bool'sche Funktionen und/oder Zustandsmaschinen in wirksamer Weise ausgewertet bzw. berechnet werden können. Auch Sprachen hohen Niveaus, wie etwa "C" oder "Pascal", unterstützen sogenannte Schaltgehäuse-Instruktionen, die mehrere Vergleichsinstruktionen erfordern, auf Grundlage von welchen eine von mehreren Instruktionsroutinen gewählt wird. Um das Packen Bool'scher Ergebnisse in ein Register zu erleichtern, stellt die erfindungsgemäße Ausführungsform eine sogenannte "Vergleiche unter Verschieben"-Verbundinstruktion bereit. Das Ergebnis des Vergleichs, der durch eine Komparatoreinheit 3 ausgeführt wird, wird in dem niedrigstwertigen Bit des Ergebnisregisters 14 plaziert, nachdem der Inhalt des Registers 14 um eine Stelle verschoben wurde. Wie angeführt, handelt es sich bei der Verschiebeoperation bevorzugt um eine Verschie bung um eine Stelle nach links; es kann sich jedoch auch um eine Verschiebung nach rechts oder eine Mehrfach-Bit-Verschiebung nach links oder rechts handeln.
  • 4 zeigt eine vierte erfindungsgemäße Ausführungsform. Die Elemente 1, 2, 7, 8 und 9 sind in derselben Weise wie in 2 verbunden bzw. gekoppelt. Die einzelne Ausgangs-Bit-Leitung des Bool'schen Logikoperators 9 ist mit einem einzigen Bit 16a eines Registers 16 verbunden bzw. gekoppelt. Das Register 16 ist mit einer Schiebeeinrichtung bzw. einem Schieberegister 15 verbunden.
  • Wie vorstehend angeführt und in 3 gezeigt, müssen die Ergebnisse von Bit-Operationen häufig in ein einzelnes Register für Kontrolleranwendungen gepackt werden. Aus diesem Grund können mehrere Instruktionen mit einem Schieberpräfix kombiniert werden. Diese Operationen führen zunächst eine Einzel-Bit-Verschiebung nach links auf dem Bestimmungsregister 16 durch und speichern daraufhin das Ergebnis der Zwei-Eingangslogikfunktion, die durch den Bool'schen Logikoperator 9 ausgeführt wird, in sein niedrigstwertiges Bit 16a. Als Beispiel wie wirksam eine Programmiersprache hohen Niveaus in einen Maschinen-Code übersetzt werden kann, könnte ein Beispiel des "C"-Codes lauten: OUT0 = b^d; OUT1 = (a&b)|(c&d);
  • Es wird angenommen, daß die Eingänge bzw. Eingangssignale in den niedrigstwertigen Bits von D0 gespeichert sind, d.h.:
    D0:0 stellt a dar;
    D0:1 stellt b dar;
    D0:2 stellt c dar; und
    D0:3 stellt d dar,
    und die zwei Ausgänge bzw. Ausgangssignale sollten in die zwei niedrigstwertigen Bits von D1 gepackt sein. Die geeignete Instruktionssequenz, um dies zu berechnen, würde lauten:
    Figure 00090001
  • Die erste Instruktion schreibt das Ergebnis von (a&b) in das Bit 0 des Registers D1. Die zweite Instruktion kombiniert (c&d) mit D1:0 und speichert den Ausgang bzw. das Ausgangssignal zurück in dieses. Sh.xor.t verschiebt schließlich D1 um ein Bit nach links, wodurch D1:0 zu D1:1 verschoben wird und es speichert das Ergebnis der XOR-Operation (b^d) in D1:0. OUT1 und OUT0 werden damit in D1:1 und D1:0 gepackt.
  • 5 zeigt ein Beispiel eines wählbaren Bool'schen Logikoperators 4, 9 oder 11. Ein erstes Eingangs-Bit kann in einen Anschluß 17 eingespeist werden, der mit einem Eingang eines Multiplexers 21 verbunden ist, der durch ein Steuersignal gesteuert wird, das in den Anschluß 19 eingespeist ist. Der Multiplexer 21 weist vier Ausgänge auf, die mit jeweiligen ersten Eingängen von vier Bool'schen Operatoren 23, 24, 25 und 26 verbunden bzw. gekoppelt sind. Ein zweiter Multiplexer 22 ist vorgesehen, dessen Eingang mit einem Anschluß 18 verbunden ist, der mit dem zweiten Eingang verbunden sein kann. Ein Steuereingangsanschluß 30 ist mit dem Steuereingang des Multiplexers 22 verbunden. Zumindest zwei Leitungen sind erforderlich, um die Eingänge 19 und 20 zu steuern, um zwischen vier verschiedenen Operatoren zu wählen. Der Multiple xer 22 umfaßt vier Ausgänge, die mit den zweiten Eingängen der vier Bool'schen Operatoren 23, 24, 25 bzw. 26 verbunden sind. Die vier Bool'schen Operatoren 23, 24, 25 und 26 stellen offene Kollektorausgänge bereit, die mit einem Ausgangsanschluß 27 verbunden sind.
  • 6 zeigt eine zweite Ausführungsform, welche lediglich einen Multiplexer 28 verwendet, der zwischen die Ausgänge der Bool'schen Operatoren 23, 24, 25 und 26 geschaltet ist. Die Anschlüsse 17 und 18 sind mit jedem ersten und zweiten Eingang der Bool'schen Operatoren 23, 24, 25 und 26 verbunden. Der Anschluß 29 führt ein Wahlsignal dem Multiplexer 28 zu.
  • Mehrere unterschiedliche Bool'sche Operatoren können in einer derartigen Bool'schen Logikeinheit enthalten sein. Zusätzlich oder alternativ können NOR- und NAND-Elemente durch zusätzliche Inverter gebildet sein, die mit Eingängen oder Ausgängen des jeweiligen Logikelements verbunden sein können. Eine weite Vielfalt von Logikoperationen können deshalb durch eine derartige Einheit ausgeführt werden.

Claims (6)

  1. Mikrokontroller zum Ausführen von in einem Speicher gespeicherten Instruktionen, wobei der Mikrokontroller mehrere Daten enthaltende Register (1, 2, 5, 6) aufweist, die mit einer Ausführungseinheit verbunden sind, die eine Logikeinheit (3, 4) zum Ausführen von Logikoperationen aufweist, wobei der Mikrokontroller eine Instruktion in einem Zyklus ausführen kann, die Werte in einem ersten Register (1), zweiten Register (2) und dritten Register (5) adressiert und mit Hilfe der Logikeinheit folgende Operationen durchführt: • eine Komparatoreinheit (3) ist mit dem ersten Register (1) und dem zweiten Register (2) als Eingaberegister verbunden und erzeugt als Vergleichsergebnis eines Vergleichs ein Ausgangs-Bit; • ein Bool'scher Operator (4) verknüpft darauf das Ausgangs-Bit der Komparator-Einheit (3) als erstes Eingangssignal und ein einzelnes Bit des dritten Registers (5), in dem bereits ein Vergleichsergebnis einer vorhergehenden Instruktion gespeichert ist, als zweites Eingangssignal und erzeugt ein einzelnes Ausgangs-Bit als Ergebnis der Bool'schen Operation.
  2. Mikrokontroller nach Anspruch 1, wobei die Komparatoreinheit (3) eine Vergleichsoperation durchführt.
  3. Mikrokontroller nach Anspruch 1, wobei die Komparatoreinheit (3) eine Bool'sche Operation durchführt.
  4. Mikrokontroller nach Anspruch 3, wobei die Bool'sche Operation des ersten Logikoperators auf einem definierbaren einzelnen Bit von sowohl dem ersten wie dem zweiten Register durchgeführt wird.
  5. Mikrokontroller nach Anspruch 1, wobei das Ergebnis der Bool'schen Operation in dem dritten Register (5) als niedrigstwertiges Bit gespeichert ist.
  6. Mikrokontroller nach Anspruch 1, wobei das Ergebnis der Bool'schen Operation in dem dritten Register (5) als mehrere Bits gespeichert ist.
DE19841893A 1997-09-12 1998-09-11 Mikrokontroller Expired - Fee Related DE19841893B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/928,427 1997-09-12
US08/928,427 US6961846B1 (en) 1997-09-12 1997-09-12 Data processing unit, microprocessor, and method for performing an instruction

Publications (2)

Publication Number Publication Date
DE19841893A1 DE19841893A1 (de) 1999-03-18
DE19841893B4 true DE19841893B4 (de) 2005-06-30

Family

ID=25456219

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19841893A Expired - Fee Related DE19841893B4 (de) 1997-09-12 1998-09-11 Mikrokontroller

Country Status (2)

Country Link
US (1) US6961846B1 (de)
DE (1) DE19841893B4 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526601B2 (en) * 2004-04-05 2013-09-03 Advanced Micro Devices, Inc. Method of improving operational speed of encryption engine
US20110138156A1 (en) * 2009-10-15 2011-06-09 Awad Tom Method and apparatus for evaluating a logical expression and processor making use of same
US20120030451A1 (en) * 2010-07-28 2012-02-02 Broadcom Corporation Parallel and long adaptive instruction set architecture
US9672037B2 (en) * 2013-01-23 2017-06-06 Apple Inc. Arithmetic branch fusion
US9483266B2 (en) 2013-03-15 2016-11-01 Intel Corporation Fusible instructions and logic to provide OR-test and AND-test functionality using multiple test sources
US9886277B2 (en) * 2013-03-15 2018-02-06 Intel Corporation Methods and apparatus for fusing instructions to provide OR-test and AND-test functionality on multiple test sources
JP2020144480A (ja) * 2019-03-04 2020-09-10 パナソニックIpマネジメント株式会社 プロセッサ及びプロセッサの制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5569856A (en) * 1978-11-22 1980-05-26 Toshiba Corp Overlap system
US5692207A (en) * 1994-12-14 1997-11-25 International Business Machines Corporation Digital signal processing system with dual memory structures for performing simplex operations in parallel

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3656109A (en) * 1970-03-13 1972-04-11 Sperry Rand Corp Hamming distance and magnitude detector and comparator
US3723710A (en) * 1971-06-28 1973-03-27 Ibm Method and device for reading and decoding a high density self-clocking bar code
US4061880A (en) * 1975-03-21 1977-12-06 Dicom Systems, Ltd. Time-multiplex programmable switching apparatus
US4003033A (en) * 1975-12-22 1977-01-11 Honeywell Information Systems, Inc. Architecture for a microprogrammed device controller
US4112490A (en) * 1976-11-24 1978-09-05 Intel Corporation Data transfer control apparatus and method
US4257110A (en) * 1977-04-19 1981-03-17 Semionics Associates, Inc. Recognition memory with multiwrite and masking
US4164025A (en) * 1977-12-13 1979-08-07 Bell Telephone Laboratories, Incorporated Spelled word input directory information retrieval system with input word error corrective searching
US4163211A (en) * 1978-04-17 1979-07-31 Fujitsu Limited Tree-type combinatorial logic circuit
US4338675A (en) * 1980-02-13 1982-07-06 Intel Corporation Numeric data processor
US4533992A (en) * 1982-02-22 1985-08-06 Texas Instruments Incorporated Microcomputer having shifter in ALU input
US4728927A (en) * 1984-09-28 1988-03-01 Aman James A Apparatus and method for performing comparison of two signals
US5493687A (en) * 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5251203A (en) * 1991-12-23 1993-10-05 Xerox Corporation Hub privacy filter for active star CSMA/CD network
JPH06332664A (ja) * 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
US5442577A (en) * 1994-03-08 1995-08-15 Exponential Technology, Inc. Sign-extension of immediate constants in an alu
US5781457A (en) * 1994-03-08 1998-07-14 Exponential Technology, Inc. Merge/mask, rotate/shift, and boolean operations from two instruction sets executed in a vectored mux on a dual-ALU
US5751614A (en) * 1994-03-08 1998-05-12 Exponential Technology, Inc. Sign-extension merge/mask, rotate/shift, and boolean operations executed in a vectored mux on an ALU
US5764550A (en) * 1996-07-22 1998-06-09 Sun Microsystems, Inc. Arithmetic logic unit with improved critical path performance

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5569856A (en) * 1978-11-22 1980-05-26 Toshiba Corp Overlap system
US5692207A (en) * 1994-12-14 1997-11-25 International Business Machines Corporation Digital signal processing system with dual memory structures for performing simplex operations in parallel

Also Published As

Publication number Publication date
US6961846B1 (en) 2005-11-01
DE19841893A1 (de) 1999-03-18

Similar Documents

Publication Publication Date Title
DE19839627B4 (de) Digitaler Signalprozessor
DE2755273C2 (de)
DE2753062C2 (de) Einrichtung zur wiederholten Durchführung von Programmschleifen
DE2724125C2 (de)
DE60018078T2 (de) Einstellung von bedingungswerten in einem rechner
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
WO2001024368A1 (de) Rekonfigurierbares gate-array
DE3900248C2 (de) Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens
DE19814415A1 (de) Logikanalyse-Untersystem in einem Zeitscheibenemulator
DE69634227T2 (de) Emulationssystem mit emulierten Mehrtaktzyklen pro Emulation-Taktzyklus und Signalweglenkung
DE3114921A1 (de) Datenverarbeitungssystem
DE19841893B4 (de) Mikrokontroller
WO1995010803A1 (de) Prozessor für zeichenketten variabler länge
DE3507584C2 (de)
DE19821004C2 (de) Sequenzgenerator
CH692311A5 (de) Datenverarbeitungsanlage zum Erzeugen eines Unterbruchsignals.
DE10164416A1 (de) Verfahren zum Multiplizieren zweier Faktoren aus dem Galois-Feld sowie Multiplizierer zum Durchführen des Verfahrens
DE2245284A1 (de) Datenverarbeitungsanlage
DE102004006769B3 (de) Auslesevorrichtung
EP1789889B1 (de) Rechnereinrichtung mit rekonfigurierbarer architektur zur aufnahme eines globalen zellularen automaten
EP1068580B1 (de) Verfahren zum vergleich elektrischer schaltungen
DE1184122B (de) Addiervorrichtung
EP1476977B1 (de) Hardware-schaltung zur punktierung und wiederholungscodierung von datenströmen und verfahren zum betrieb der hardware-schaltung
DE10206830B4 (de) Verfahren und Anordnung zur Zusammenführung von Daten aus parallelen Datenpfaden
DE10319562B3 (de) Anordnung zur Durchführung externer Berechnungsalgorithmen für einen digitalen Signalprozessor

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 9/305

8127 New person/name/address of the applicant

Owner name: INFINEON TECHNOLOGIES NORTH AMERICA CORP., SAN JOS

8364 No opposition during term of opposition
R082 Change of representative

Representative=s name: PATENTANWAELTE WESTPHAL MUSSGNUG & PARTNER, DE

R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES NORTH AMERICA CORP., SAN JOSE, CALIF., US

Effective date: 20121128

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES NORTH AMERICA CORP., SAN JOSE, US

Effective date: 20121128

R082 Change of representative

Representative=s name: WESTPHAL, MUSSGNUG & PARTNER PATENTANWAELTE MI, DE

Effective date: 20121128

Representative=s name: PATENTANWAELTE WESTPHAL MUSSGNUG & PARTNER, DE

Effective date: 20121128

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee