DE69726140T2 - Verfahren und System zum Ausführen von Befehlen in einem Mikroprozessor - Google Patents

Verfahren und System zum Ausführen von Befehlen in einem Mikroprozessor Download PDF

Info

Publication number
DE69726140T2
DE69726140T2 DE69726140T DE69726140T DE69726140T2 DE 69726140 T2 DE69726140 T2 DE 69726140T2 DE 69726140 T DE69726140 T DE 69726140T DE 69726140 T DE69726140 T DE 69726140T DE 69726140 T2 DE69726140 T2 DE 69726140T2
Authority
DE
Germany
Prior art keywords
program
commands
directly executable
language
processor
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
DE69726140T
Other languages
English (en)
Other versions
DE69726140D1 (de
Inventor
Ralph Mcgarity
Franz Steininger
Jean Casteres
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.)
NXP USA Inc
Original Assignee
Motorola Semiconducteurs SA
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 Motorola Semiconducteurs SA filed Critical Motorola Semiconducteurs SA
Publication of DE69726140D1 publication Critical patent/DE69726140D1/de
Application granted granted Critical
Publication of DE69726140T2 publication Critical patent/DE69726140T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft ein Verfahren zum Ausführen von Befehlen in einem Mikroprozessor und insbesondere, aber nicht ausschließlich, ein solches Verfahren zur Verwendung in einer tragbaren Kommunikationsvorrichtung, wie zum Beispiel einem Mobiltelefon.
  • Hintergrund der Erfindung
  • In einem Mobiltelefon erfordern Daten, die über eine Funkschnittstelle übertragen oder empfangen werden sollen, eine komplexe Verarbeitung nach speziellen Algorithmen.
  • Um eine solche komplexe Verarbeitung zu erleichtern, hat ein Mobiltelefon neben einem Mikrocontroller zur Bereitstellung der Steuerung der Merkmale und Funktionen des Mobiltelefons normalerweise einen digitalen Signalprozessor (DSP), der dazu dient, die übertragenen und empfangenen Daten handzuhaben.
  • Für den Mikrocontroller ist ein Programm geschrieben, das die gewünschten Merkmale und Funktionen enthält. Dieses Programm kann unter Verwendung eines Software-Tools in einer virtuellen (zwischen-)Sprache ("intermediate language") geschrieben sein. Der Mikrocontroller hat einen Übersetzer (chipintegriert oder nicht), der die virtuelle Sprache während der Ausführung des Programms in maschineneigene Sprache übersetzt.
  • Anders als oben ist für den DSP ein kurzer Code geschrieben, der die erforderlichen Algorithmen enthält. Dieser Code muss in maschineneigener Sprache geschrieben sein, weil Software-Compiler derzeit einen DSP-artigen Code nicht verarbeiten können und weil die Algorithmen schnell verarbeitet werden müssen, was mit einer virtuellen Sprache, die mit Übersetzern arbeitet, nicht kompatibel ist.
  • Wenn ein neuer DSP zur Verwendung in einem Mobiltelefon ausgelegt ist, ist ein Mikrocontroller ebenfalls für die Einheit ausgelegt bzw. ausgewählt. Normalerweise ist eine Anzahl von Software-Teams daran beteiligt, die gesamte obengenannte Software bereitzustellen. Ein Team muss das Programm in der virtuellen Sprache schreiben, ein anderes Team muss den Code für den DSP schreiben. Noch ein anderes Team muss einen Übersetzer für den Mikrocontroller und den DSP schreiben.
  • Ein Problem bei dieser Anordnung besteht darin, dass bei neuen Generationen von Mobiltelefonen, die mit hoher Geschwindigkeit produziert werden und neue Mikrocontroller und digitale Signalprozessoren haben, der zusätzliche Auf wand an Softwareentwicklungszeit die Fertigstellung eines neuen Mobiltelefondesigns beträchtlich verzögern kann.
  • Bei dieser Erfindung geht es darum, ein Verfahren und ein System zum Ausführen von Befehlen in einem Mikroprozessor bereitzustellen, die die obengenannten Nachteile beheben.
  • Aus der Veröffentlichung von MICHAEL P. PLETZBERT ET AL: 'DOES "JUST IN TIME" = "BETTER LATE THAN NEVER"?', CONFERENCE RECORD OF POPL '97: THE 24TH ACM SIGPLAN-SICACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, PARIS, FRANKREICH, 15.–17. JANUAR 1997, ISBN 0-89791-858-3, SEITEN 120–131, XP002054081, sind drei verschiedene Verfahren bekannt, einschließlich 'Just-in-Time'-Kompilierung, zum Durchführen der Ausführung eines Bytecodes in virtueller Sprache und eines maschineneigenen Binärcodes in einem Codestrom. In dieser Veröffentlichung geht es hauptsächlich um das Thread-Problem, das die 'Just-in-Time'-Kompilierung aufwirft, und um den Einfluss einzelner oder doppelter Threads, um die Leistung der Ausführung zu verbessern.
  • Aus der Veröffentlichung von GABRIEL SILBERMANN ET AL: "AN ARCHITECTURAL FRAMEWORK FOR SUPPORTING HETEROGENEOUS INSTRUCTION-SET ARCHITECTURES", ist eine Lösung zum Umstellen eines Codes von einem Basissystem auf ein maschineneigenes System bekannt, d. h. eine Morphismuslösung, die weder vorkompilierte Code-Abschnitte noch einen Codestrom berücksichtigt, der das Ergebnis einer Kombination des virtuellen Maschinencodes und eines optimierten maschineneigenen binären Zielcodes ist. In dieser Veröffentlichung geht es um eine ausführliche Untersuchung und Betrachtung der möglichen Techniken zum Umwandeln einer Binärcodebasis in eine andere Codebasis.
  • Zusammenfassung der Erfindung
  • Gemäß einer ersten Ausgestaltung der vorliegenden Erfindung wird ein Verfahren zum Ausführen von Befehlen auf einem anwendungsspezifischen Mikroprozessor bereitgestellt, der eine Maschinensprache mit einer Prozessorbeschreibung hat, wobei das Verfahren die folgenden Schritte umfasst: Bereitstellen von mikrocontrollerartigen Befehlen in einem nicht direkt ausführbaren, Format zur Ausführung auf dem Prozessor; Kompilieren von höheren DSP-artigen Funktionen unter Verwendung der Prozessorbeschreibung zu DSP-artigen Befehlen in einem direkt ausführbaren Format zur Ausführung auf dem Prozessor; Kombinieren der mikrocontrollerartigen Befehle mit den DSP-artigen Befehlen, um ein Programm zu erzeugen, wobei das Programm einen nicht direkt ausführbaren Abschnitt und einen direkt ausführbaren Abschnitt hat; Ausführen des Programms durch Vorverarbeiten des nicht direkt ausführbaren Abschnitts des Programms unter Verwendung der Prozessorbeschreibung zu direkt ausführbaren Befehlen und durch direktes Ausführen des direkt ausführbaren Abschnitts des Programms, so dass der anwendungsspezifische Mikroprozessor sowohl die DSP-artigen Befehle als auch die mikrocontrollerartigen Befehle ausführt.
  • Vorzugsweise ist das nicht direkt ausführbare Format eine virtuelle Sprache, und die Vorverarbeitung ist eine Übersetzung von virtueller Sprache in Maschinensprache, die dazu ausgelegt ist, den nicht direkt ausführbaren Abschnitt des Programms in die Maschinensprache zu übersetzen.
  • Das Verfahren umfasst vorzugsweise des Weiteren den Schritt des Komprimierens der in virtueller Sprache ge schriebenen mikrocontrollerartigen Befehle vor dem Schritt des Kombinierens; und der Vorverarbeitungsschritt umfasst vorzugsweise außerdem einen Dekomprimierungsschritt, der dazu ausgelegt ist, den nicht direkt ausführbaren Abschnitt des Programms vor dem Übersetzungsschritt zu dekomprimieren.
  • Gemäß einer zweiten Ausgestaltung der vorliegenden Erfindung wird ein Mikroprozessorsystem zum Ausführen von Befehlen bereitgestellt, das folgendes umfasst: einen anwendungsspezifischen Mikroprozessor, der eine Maschinensprache mit einer Prozessorbeschreibung hat; einen Speicher, der dazu ausgelegt ist, ein Programm zur Ausführung auf dem Prozessor zu speichern, wobei das Programm einen nicht direkt ausführbaren Abschnitt hat, der mikrocontrollerartige Befehle in einem nicht direkt ausführbaren Format enthält, und einen direkt ausführbaren Abschnitt, der aus höheren DSP-artigen Funktionen unter Verwendung der Prozessorbeschreibung kompilierte DSP-artige Befehle in der Maschinensprache enthält; und eine Vorverarbeitungseinheit, die dazu ausgelegt ist, den nicht direkt ausführbaren Abschnitt unter Verwendung der Prozessorbeschreibung in Befehle in Maschinensprache umzuwandeln; wobei dann, wenn das Programm auf dem Prozessor ausgeführt wird, der nicht direkt ausführbare Abschnitt des Programms durch die Vorverarbeitungseinheit zu Befehlen in Maschinensprache vorverarbeitet wird und der direkt ausführbare Abschnitt des Programms direkt ausgeführt wird, so dass der Prozessor sowohl die DSP-artigen Befehle als auch die mikrocontrollerartigen Befehle ausführt.
  • Vorzugsweise ist das nicht direkt ausführbare Format eine virtuelle Sprache, und die Vorverarbeitungseinheit ist ein Übersetzer zum Übersetzen von virtueller Sprache in Maschinensprache, der dazu ausgelegt ist, den nicht direkt ausführbaren Abschnitt des Programms in die Maschinensprache zu übersetzen.
  • Das nicht direkt ausführbare Format ist vorzugsweise eine komprimierte virtuelle Sprache, und die Vorverarbeitungseinheit umfasst einen Dekomprimierer und einen Übersetzer zum Übersetzen von virtueller Sprache in Maschinensprache, so dass dann, wenn das Programm auf dem Prozessor ausgeführt wird, der nicht direkt ausführbare Abschnitt des Programms dekomprimiert wird und dann in Befehle in Maschinensprache übersetzt wird.
  • Vorzugsweise ist das nicht direkt ausführbare Format ein komprimiertes Maschinensprachenformat, und die Vorverarbeitungseinheit ist eine Dekomprimierungseinheit. Der anwendungsspezifische Mikroprozessor ist vorzugsweise in ein Mobiltelefon eingebaut.
  • Auf diese Weise können sowohl DSP-artige Befehle als auch mikrocontrollerartige Befehle in einem einzigen Prozessor ausgeführt werden.
  • Kurze Beschreibung der Zeichnungen
  • Eine beispielhafte Ausführungsform der Erfindung wird nun anhand der Zeichnungen beschrieben; darin zeigen:
  • 1 ein Flussdiagramm eines Verfahrens zum Ausführen von Befehlen gemäß einer ersten Ausgestaltung der Erfindung;
  • 2 ein Flussdiagramm eines Verfahrens zum Ausführen von Befehlen gemäß einer zweiten Ausgestaltung der Erfindung;
  • 3 ein Mikroprozessorsystem, das dazu ausgelegt ist, das Verfahren von 1 durchzuführen.
  • Beschreibung einer bevorzugten Ausführungsform
  • 1 zeigt ein Flussdiagramm der Verfahrensschritte, die zum Ausführen von Befehlen auf einem anwendungsspezifischen Befehls-Mikroprozessor (ASIP = "Application-Specific Instruction microprocessor"), wie zum Beispiel einem in einem Mobiltelefon verwendeten Prozessor, erforderlich sind.
  • Anhand von 3 ist außerdem ein Mikroprozessorsystem 200 dargestellt, das einen ASIP 210 und einen Speicher 220 umfasst.
  • Der Mikroprozessor hat eine maschineneigene Sprache, und der Prozessorhersteller stellt bei Lieferung des Prozessors eine Prozessorbeschreibung bereit, die Einzelheiten über die Maschinensprache und Angaben zum Übersetzen enthält. Die Prozessorbeschreibung (Block 10) wird von einem Softwareprogrammierer verwendet, um sicherzustellen, dass von dem Programmierer geschriebene Befehle wie beabsichtigt auf dem Mikroprozessor ausgeführt werden.
  • In einem Mobiltelefon sind für zwei Hauptfunktionen Mikroprozessoren erforderlich. Systemfunktionen sorgen für den Betrieb des Telefons. Die Funktionen umfassen die Handhabung von Benutzereingabevorrichtungen, wie zum Beispiel einer Tastatur, die Steuerung des Sendens und Empfangens von Daten und verschiedene Menü-Optionen, wie zum Beispiel gespeicherte Telefonnummern. Systemfunktionen sind normalerweise in einem Controllercode (Block 20) definiert, bei dem es sich um eine Reihe von in einer höheren Sprache geschriebenen Befehlen handelt.
  • Die zweite Hauptfunktion eines Mobiltelefons, die einen Mikroprozessor erfordert, ist die Handhabung von Daten, die von dem Mobiltelefon gesendet und empfangen werden. Die Daten sind normalerweise digitale Daten und unterliegen normalerweise komplexen Kompressions-/Dekompressions- und Filteralgorithmen. Im Stand der Technik ist in dem Mobiltelefon ein spezieller digitaler Signalprozessor (DSP) vorgesehen, um diese Algorithmen zu verarbeiten. Die Algorithmen sind normalerweise im DSP-Code (Block 30) definiert.
  • Es stehen Software-Tools zur Verfügung (Block 40), die unter Verwendung der Prozessorbeschreibung ein Programm in prozessorspezifischer Maschinensprache generieren. Mit solchen Tools können aus dem DSP-Code (Block 30) auf dem DSP ausführbare Befehle (Block 50) geschaffen werden.
  • Außerdem stehen Software-Tools zur Verfügung (Block 60), die aus einem Satz von höheren Befehlen ein Programm in einer virtuellen (prozessorunabhängigen) Sprache generieren (Block 70). Mit solchen Tools kann aus dem Controllercode (Block 20) ein Programm in virtueller Sprache (Block 70) geschaffen werden.
  • Das in virtueller Sprache geschriebene Programm (70) wird zum Zeitpunkt der Ausführung durch einen Übersetzer übersetzt. Ein Übersetzer (230) von 3 ist auf einem Chip (240) vorgesehen, der außerdem den ASIP (210) enthält. Der Übersetzer (230) kann Hardware oder Software sein und verwendet die Prozessorbeschreibung des Mikrocontrollers, um virtuelle Sprache in die ASIP(210)-spezifische Maschinensprache zu übersetzen.
  • Im Stand der Technik arbeiten zwei Prozessoren parallel und teilen sich einen Dual-Port-Speicher. Der Mikro controller verwaltet die Aktivitäten des DSP und des Dual-Port-Speichers.
  • Bei der vorliegenden Erfindung wird der einzelne ASIP 210 verwendet. Eine einzelne Prozessorbeschreibung (Block 10) wird von dem Software-Tool (40) verwendet, um aus dem DSP-Code (30) auf dem DSP ausführbare Befehle (50) in der ASIP-spezifischen Maschinensprache zu schaffen. Dieselbe Prozessorbeschreibung (10) wird verwendet, um die Übersetzersoftware (Block 90) zu schreiben, wenn von dem Lieferanten des ASIP nicht schon eine solche bereitgestellt wurde. Die Übersetzersoftware kann chipintegriert sein oder nicht (innerhalb oder außerhalb des ASIP).
  • Das virtuelle Software-Tool (60) generiert das virtuelle Programm (70) aus dem Controllercode (20). Die auf dem DSP ausführbaren Befehle (50), die bereits in der ASIP-spezifischen Maschinensprache geschrieben sind, werden markiert (Block 75), um anzuzeigen, dass sie direkt ausführbar sind. Die Markierung kann in Form eines Start- und Endeflags analog zu Sprachmarkierungen oder als kurzes Stück Kopfcode vorliegen, der die Länge der auf dem DSP ausführbaren Befehle (50) angibt. Das virtuelle Programm (70) und die markierten, auf dem DSP ausführbaren Befehle (75) werden dann in einem einzigen Programm (80) kombiniert, das dadurch virtuelle und nichtvirtuelle Abschnitte hat.
  • Das Programm 80 kann in dem Nur-Lese-Speicher (ROM) des Mobiltelefons gespeichert werden, wie zum Beispiel in dem Speicher 220 von 3. Der Speicher 220 enthält ein solches Programm 250. Wenn das Programm 250 ausgeführt wird (Block 100), übersetzt der Übersetzer 230 in virtueller Sprache geschriebene Abschnitte 260 des Programms 250 in Befehle in Maschinensprache, worauf sie von dem ASIP 210 ausgeführt werden (Pfeile 265 und 266).
  • Wenn der Übersetzer 230 auf markierte Befehle 270 trifft, erkennt er sie als in Maschinensprache geschrieben, und sie werden direkt von dem ASIP 210 ausgeführt (Pfeil 275).
  • Auf diese Weise führt der ASIP sowohl die DSP-artigen Befehle als auch die mikrocontrollerartigen Befehle aus.
  • Anhand von 2 ist nun außerdem ein ähnliches Verfahren wie das von 1 oben dargestellt, außer dass der Controllercode nicht in virtueller Sprache, sondern als komprimierter Maschinencode bereitgestellt ist, und dass statt des Übersetzers 90 eine Dekomprimierungseinheit bzw. ein Dekomprimierungsalgorithmus (Block 190) verwendet wird.
  • Wieder wird von dem Software-Tool (40) eine einzige Prozessorbeschreibung (Block 110) verwendet, um aus dem DSP-Code (130) auf dem DSP ausführbare Befehle (Block 150) in der ASIP-spezifischen Maschinensprache zu schaffen. Dieselbe Prozessorbeschreibung (110) wird nun verwendet, um den Controllercode (Block 120) in ASIP-spezifischen Maschinencode (Block 160) zu übersetzen.
  • Ein Komprimierungssoftware-Tool generiert einen komprimierten Code (Block 170). Die auf dem DSP ausführbaren Befehle (150), die in der ASIP-spezifischen Maschinensprache geschrieben sind, werden markiert (Block 175), um anzuzeigen, dass sie direkt ausführbar sind. Der komprimierte Code (170) und die markierten, auf dem DSP ausführbaren Befehle (175) werden dann in einem einzigen Programm 180 kombiniert, das dadurch komprimierte und nicht komprimierte Abschnitte hat.
  • Wieder kann das Programm 180 im ROM des Mobiltelefons gespeichert werden. Wenn das Programm 250 ausgeführt wird (Block 200), dekomprimiert die Dekomprimierungseinheit 190 die komprimierten Abschnitte des Programms (Block 180) zu Befehlen in Maschinensprache, worauf sie von dem ASIP 210 ausgeführt werden.
  • Wenn die Dekomprimierungseinheit 190 auf markierte Befehle trifft, erkennt sie diese als in nichtkomprimierter Maschinensprache geschrieben, und sie werden direkt von dem ASIP210 ausgeführt.
  • Es versteht sich, dass alternative Ausführungsformen zu der oben beschriebenen möglich sind. Zum Beispiel könnte der Übersetzer 230 als nicht chipintegriert vorgesehen sein (nicht auf derselben integrierten Schaltung 240 befindlich wie der ASIP 210).
  • Außerdem könnte der in virtueller Sprache geschriebene Code mit einem Komprimierungsalgorithmus komprimiert werden, bevor er mit den DSP-Befehlen kombiniert wird, so dass bei seiner Ausführung Dekomprimierung und virtuelle Übersetzung auf dem Controllercode durchgeführt werden. Dies würde einen Übersetzer in Kombination mit einem Dekomprimierer erfordern.
  • Ferner könnte das Markieren der auf dem DSP ausführbaren Befehle auch anders als oben beschrieben durchgeführt werden.

Claims (8)

  1. Verfahren zum Ausführen von Befehlen auf einem anwendungsspezifischen Mikroprozessor, der eine Maschinensprache mit einer Prozessorbeschreibung hat, wobei das Verfahren die folgenden Schritte umfasst: Bereitstellen von mikrocontrollerartigen Befehlen in einem nicht direkt ausführbaren Format zur Ausführung auf dem Prozessor; Kompilieren von höheren DSP-artigen Funktionen unter Verwendung der Prozessorbeschreibung zu DSP-artigen Befehlen in einem direkt ausführbaren Format zur Ausführung auf dem Prozessor; Kombinieren der mikrocontrollerartigen Befehle mit den DSP-artigen Befehlen, um ein Programm zu erzeugen, wobei das Programm einen nicht direkt ausführbaren Abschnitt und einen direkt ausführbaren Abschnitt hat; Ausführen des Programms durch Vorverarbeiten des nicht direkt ausführbaren Abschnitts des Programms unter Verwendung der Prozessorbeschreibung zu direkt ausführbaren Befehlen und durch direktes Ausführen des direkt ausführbaren Abschnitts des Programms, so dass der anwendungsspezifische Mikroprozessor sowohl die DSP-artigen Befehle als auch die mikrocontrollerartigen Befehle ausführt.
  2. Verfahren nach Anspruch 1, bei dem das nicht direkt ausführbare Format eine virtuelle Sprache ist und die Vorverarbeitung eine Übersetzung von virtueller Sprache in Maschinensprache ist, die dazu ausgelegt ist, den nicht direkt ausführbaren Abschnitt des Programms in die Maschinensprache zu übersetzen.
  3. Verfahren nach Anspruch 2, das ferner den Schritt des Komprimierens der in virtueller Sprache geschriebenen microcontrollerartigen Befehle vor dem Schritt des Kombinierens umfasst; und bei dem der Vorverarbeitungsschritt außerdem einen Dekomprimierungsschritt umfasst, der dazu ausgelegt ist, den nicht direkt ausführbaren Abschnitt des Programms vor dem Übersetzungsschritt zu dekomprimieren.
  4. Mikroprozessorsystem zum Ausführen von Befehlen, mit: einem anwendungsspezifischen Mikroprozessor, der eine Maschinensprache mit einer Prozessorbeschreibung hat; einem Speicher, der dazu ausgelegt ist, ein Programm zur Ausführung auf dem Prozessor zu speichern, wobei das Programm einen nicht direkt ausführbaren Abschnitt hat, der mikrocontrollerartige Befehle in einem nicht direkt ausführbaren Format enthält, und einen direkt ausführbaren Abschnitt, der aus höheren DSP-artigen Funktionen unter Verwendung der Prozessorbeschreibung kompilierte DSP-artige Befehle in der Maschinensprache enthält; und einer Vorverarbeitungseinheit, die dazu ausgelegt ist, den nicht direkt ausführbaren Abschnitt unter Verwendung der Prozessorbeschreibung in Befehle in Maschinensprache umzuwandeln; wobei dann, wenn das Programm auf dem Prozessor ausgeführt wird, der nicht direkt ausführbare Abschnitt des Programms durch die Vorverarbeitungseinheit zu Befehlen in Maschinensprache vorverarbeitet wird und der direkt ausführbare Abschnitt des Programms direkt ausgeführt wird, so dass der Prozessor sowohl die DSP-artigen Befehle als auch die mikrocontrollerartigen Befehle ausführt.
  5. System nach Anspruch 4, bei dem das nicht direkt ausführbare Format eine virtuelle Sprache ist und die Vorverarbeitungseinheit ein Übersetzer zum Übersetzen von virtueller Sprache in Maschinensprache ist, der dazu ausgelegt ist, den nicht direkt ausführbaren Abschnitt des Programms in die Maschinensprache zu übersetzen.
  6. System nach Anspruch 4, bei dem das nicht direkt ausführbare Format eine komprimierte virtuelle Sprache ist und die Vorverarbeitungseinheit einen Dekomprimierer und einen Übersetzer zum Übersetzen von virtueller Sprache in Maschinensprache umfasst, so dass dann, wenn das Programm auf dem Prozessor ausgeführt wird, der nicht direkt ausführbare Abschnitt des Programms dekomprimiert wird und dann in Befehle in Maschinensprache übersetzt wird.
  7. Verfahren oder System nach Anspruch 1 bzw. Anspruch 4, bei dem das nicht direkt ausführbare Format ein komprimiertes Maschinensprachenformat ist und die Vorverarbeitungseinheit eine Dekomprimierungseinheit ist.
  8. Verfahren oder System nach einem der vorhergehenden Ansprüche, bei dem der anwendungsspezifische Mikroprozessor in ein Mobiltelefon eingebaut ist.
DE69726140T 1997-09-09 1997-09-09 Verfahren und System zum Ausführen von Befehlen in einem Mikroprozessor Expired - Fee Related DE69726140T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP97402090A EP0902365B1 (de) 1997-09-09 1997-09-09 Verfahren und System zum Ausführen von Befehlen in einem Mikroprozessor

Publications (2)

Publication Number Publication Date
DE69726140D1 DE69726140D1 (de) 2003-12-18
DE69726140T2 true DE69726140T2 (de) 2004-08-26

Family

ID=8229845

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69726140T Expired - Fee Related DE69726140T2 (de) 1997-09-09 1997-09-09 Verfahren und System zum Ausführen von Befehlen in einem Mikroprozessor

Country Status (3)

Country Link
US (1) US6266807B1 (de)
EP (1) EP0902365B1 (de)
DE (1) DE69726140T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107302B1 (en) 1999-05-12 2006-09-12 Analog Devices, Inc. Finite impulse response filter algorithm for implementation on digital signal processor having dual execution units
US6820189B1 (en) * 1999-05-12 2004-11-16 Analog Devices, Inc. Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation
US6859872B1 (en) 1999-05-12 2005-02-22 Analog Devices, Inc. Digital signal processor computation core with pipeline having memory access stages and multiply accumulate stages positioned for efficient operation
US7111155B1 (en) 1999-05-12 2006-09-19 Analog Devices, Inc. Digital signal processor computation core with input operand selection from operand bus for dual operations
US6578020B1 (en) * 1999-12-07 2003-06-10 International Business Machines Corporation Method and system for converting code to executable code using neural networks implemented in a very large scale integration (VLSI) integrated circuit
WO2001069376A2 (en) * 2000-03-15 2001-09-20 Arc International Plc Method and apparatus for processor code optimization using code compression
WO2002019100A1 (en) * 2000-08-31 2002-03-07 Koninklijke Philips Electronics N.V. System for executing virtual machine instructions
US6999758B2 (en) * 2003-05-06 2006-02-14 Ocmc, Inc. System and method for providing communications services

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USH1385H (en) * 1991-10-18 1994-12-06 The United States Of America As Represented By The Secretary Of The Navy High speed computer application specific integrated circuit
JPH07121352A (ja) * 1993-10-21 1995-05-12 Canon Inc 演算処理装置
GB2294844B (en) * 1994-11-07 1999-05-26 Motorola Inc Communications operating system and method therefor
US5590331A (en) * 1994-12-23 1996-12-31 Sun Microsystems, Inc. Method and apparatus for generating platform-standard object files containing machine-independent code
US5550893A (en) * 1995-01-31 1996-08-27 Nokia Mobile Phones Limited Speech compensation in dual-mode telephone
GB9526129D0 (en) * 1995-12-21 1996-02-21 Philips Electronics Nv Machine code format translation
US5826089A (en) * 1996-01-04 1998-10-20 Advanced Micro Devices, Inc. Instruction translation unit configured to translate from a first instruction set to a second instruction set
US5794010A (en) * 1996-06-10 1998-08-11 Lsi Logic Corporation Method and apparatus for allowing execution of both compressed instructions and decompressed instructions in a microprocessor
US6044267A (en) * 1997-03-24 2000-03-28 At&T Corporation Method for network operability of a multi-function cordless/cellular telephone
US6029000A (en) * 1997-12-22 2000-02-22 Texas Instruments Incorporated Mobile communication system with cross compiler and cross linker

Also Published As

Publication number Publication date
DE69726140D1 (de) 2003-12-18
US6266807B1 (en) 2001-07-24
EP0902365B1 (de) 2003-11-12
EP0902365A1 (de) 1999-03-17

Similar Documents

Publication Publication Date Title
DE69926602T2 (de) Hybrider Rechtzeitkompiler der minimale Betriebsmittel verwendet
DE69836902T2 (de) Auf variable instruktionen eingestellter computer
DE69724322T2 (de) Verfahren und Anordnung zum frühzeitigen Einfügen von Assemblercode zwecks Optimierung
DE69918334T2 (de) Erzeugung von kompilierten programmen für interpretative laufzeitumgebungen
DE60131864T2 (de) Speichern von stapeloperanden in registern
EP0502857B1 (de) Verfahren zur dynamischen bindung von definierbaren programmelementen eines interaktiven datenverarbeitungssystems
DE102020110688A1 (de) Hardware-agnostischer compiler für tiefgehende neuronale netze
DE60006410T2 (de) Verfahren und system zum verteilen von objektorientierten rechnerprogrammen
DE112012000303B4 (de) Dynamische binäre Optimierung
DE69820027T2 (de) Vorrichtung zur ausführung virtueller maschinenbefehle
DE60007252T2 (de) Graphischer benutzerschnittstellentreiber für eingebettete systeme
DE69814174T2 (de) Java laufzeitsystem mit veränderter sammlung von konstanten
DE19983504B4 (de) Verbesserung der Portabilität von digitalen Bildern
DE102008005515A1 (de) Virtuelle Architektur und virtueller Befehlssatz für die Berechnung paralleler Befehlsfolgen
DE69905776T2 (de) Sprachenverarbeitungsverfahren mit geringem Aufwand und Speicherbedarf bei der Profildatensammlung
US6424883B1 (en) Virtual numeric control device adaptable to any real numeric control device
DE69726140T2 (de) Verfahren und System zum Ausführen von Befehlen in einem Mikroprozessor
DE69727177T2 (de) Emulation von asynchronen Signalen mit Verzweigungsmechanismus
DE69933323T2 (de) Kompiler
DE60318993T2 (de) Eingebettete Speicherbereinigung
DE69911104T2 (de) Statische Bindung von dynamisch abgesendeten Anrufen in Anwesenheit von dynamischer Verknüpfung und Ladung
EP1890228A2 (de) Automatisches Erzeugen einer Anwendung
DE10109848B4 (de) Programmierbarer Logik Controller und Programmerzeugungsvorrichtung zum Erzeugen eines Sequenzprogramms für einen programmierbaren Logik Controller
DE10054001A1 (de) Automatisierte Schnittstellengenerierung für Computerprogramme in unterschiedlichen Umgebungen
EP1709534B1 (de) Ausführung eines programms durch eine virtuelle maschine

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: FREESCALE SEMICONDUCTOR, INC., AUSTIN, TEX., US

8339 Ceased/non-payment of the annual fee