DE102022125248A1 - Prozessor und Computer mit mindestens einem Prozessor mit vorzeitiger Programmvariantenauswahl bei noch unbekannten Vergleichsergebnissen - Google Patents

Prozessor und Computer mit mindestens einem Prozessor mit vorzeitiger Programmvariantenauswahl bei noch unbekannten Vergleichsergebnissen Download PDF

Info

Publication number
DE102022125248A1
DE102022125248A1 DE102022125248.5A DE102022125248A DE102022125248A1 DE 102022125248 A1 DE102022125248 A1 DE 102022125248A1 DE 102022125248 A DE102022125248 A DE 102022125248A DE 102022125248 A1 DE102022125248 A1 DE 102022125248A1
Authority
DE
Germany
Prior art keywords
tcam
processor
comparison results
comparison
program
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.)
Granted
Application number
DE102022125248.5A
Other languages
English (en)
Other versions
DE102022125248B4 (de
Inventor
gleich Anmelder Erfinder
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE102022125248.5A priority Critical patent/DE102022125248B4/de
Publication of DE102022125248A1 publication Critical patent/DE102022125248A1/de
Application granted granted Critical
Publication of DE102022125248B4 publication Critical patent/DE102022125248B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead

Abstract

Die Erfindung betrifft eine neuartige Universalrechner-Architektur, welche eine erhebliche Beschleunigung des Ablaufs von Hochsprachen-Programmcode mit vielen Fallunterscheidungen ermöglicht. Durch das vorzeitige Anlegen von bekannten Ergebnissen an einen ternären TCAM-Speicher zusammen mit der Kennzeichnung noch unbekannter Ergebnisse als X-undefiniert kann eine Vielzahl von konventionellen Sprungbefehlen gemeinsam ausgeführt werden, ohne dass tatsächlich jeder Vergleich berechnet werden muss. Eine Kombination mit klassischen Befehlssätzen ist möglich.

Description

  • Der Erfindung liegt die Aufgabe zugrunde, die Ablaufgeschwindigkeit von in Hochsprachen wie C, C++, C#, Java oder FORTRAN oder Pascal geschriebenen Programmen auf einem Universalrechner deutlich zu erhöhen.
  • Bisherige Rechnerarchitekturen verwenden hierzu beispielsweise Ansätze wie eine parallele Verarbeitung von Befehlen in mehreren Ausführungseinheiten oder eine Pipeline zur Aufteilung komplexer Befehle in mehrere Teilschritte ähnlich einer Fließband-Produktion, wodurch die einzelnen Recheneinheiten inhärent beschleunigt und gut ausgelastet werden.
  • Einen guten Überblick über den Stand der Technik gibt John Paul Shen, Mikko H. Lipasti; Modem Processor Design: Fundamentals of Superscalar Processors; Long Grove: Waveland Press 2013.
  • Bei der Pipeline-Architektur ist jedoch nachteilig, dass bei bedingten Verzweigungen die Fließband-Produktion dann unterbrochen werden kann, wenn die Bedingung der Verzweigung falsch vorhergesagt wird. Die Entwicklung einer guten Verzweigungsvorhersage (Branch Prediction) hat sich in vielen Erfindungen niedergeschlagen, so in EP1008036B1 oder EP0661625B1 .
  • Weiterhin bekannt sind Verfahren zur optimierten Belegung von Registern, um den Datenfluss innerhalb der Zentraleinheit zu optimieren, beispielhaft sei hier EP0798636B1 angeführt.
  • All diese Verfahren haben jedoch den Nachteil, dass sie spekulativ und somit sub-optimal arbeiten. Bestenfalls kann ein optimierender Compiler das Programm so in einen Maschinencode übersetzen, dass es in der vermuteten oder durch Profiling ermittelten häufigsten Ablaufvariante eine möglichst optimale Auslastung der Ausführungseinheiten und sonstigen Ressourcen der Zentraleinheit erreicht. Hingegen werden weitergehende Optimierungsmöglichkeiten, die sich einem menschlichen Betrachter aus der in einer Hochsprache formulierten Programmlogik in einer Vielzahl der Fälle ergeben würden, nicht berücksichtigt. Insbesondere muss ein Programm im Maschinencode auch dann immer alle Sonderfälle der Programmlogik berücksichtigen, selbst wenn diese nur äußerst selten auftreten.
  • Als eine erste Lösung dieser Problematik wurde gemäß DE102005036605B4 vom selben Erfinder die Anbindung eines inhaltsadressierbaren Speichers an den Prozessor vorgeschlagen, gemäß Unteranspruch auch eines ternären - TCAM - Speichers. Die grundlegende Idee der Erfindung besteht darin, zu gleichartigen Hochsprachen- oder Assembler-Sequenzen unterschiedliche Maschinencodes zu generieren, die jeweils für eine bestimmte Programm- oder ParameterKonstellation optimiert sind. Nachteilig ist jedoch dabei, dass erst die Konstellation vom Prozessor vollständig ermittelt werden muss, wohingegen in neuen superskalaren Prozessordesigns auch partielle Ergebnisse vorliegen können.
  • Der Erfindung liegt daher die Aufgabe zugrunde, das aus der algorithmischen Formulierung der Programmlogik in einer Hochsprache vorliegende Optimierungspotential zur Erhöhung der Ablaufgeschwindigkeit eines Computerprogramms durch eine geeignete Gestaltung der Hardware des Prozessors speziell bei superskalaren Architekturen besser auszunutzen.
  • Das Problem wird erfindungsgemäß durch den in Patentanspruch 1. beschriebenen Prozessor gelöst, dessen Funktion im folgenden anhand eines Ausführungsbeispiels gemäß Bild 1 erläutert wird:
    • Gegeben sei beispielhaft der Vergleich des modifizierten Elements an der Spitze eines Heap z.B. in einem Heapsort-Algorithmus.
  • Eine gewöhnliche Rechnerarchitektur würde nacheinander im Rahmen einer Schleife das erste Heap-Element mit dem zweiten und dritten vergleichen, bedarfsweise ein Heap-Element mittels Tausch hochziehen und auf der nächsten Ebene fortfahren.
  • Die vorliegende Rechnerarchitektur setzt hingegen alle Vergleiche im Programmcode sogar über mehrere Heap-Ebenen gemeinsam auf (PC) und löst final einen Switch aus. Bedingt durch den Prefetch der superskalaren Architektur, durch einen Cache oder durch entsprechende „early“ Codes in den Vergleichsbefehlen liegt die Information über einen demnächst auszuführenden Sprung dem Prozessor frühzeitig vor.
  • Erfindungsgemäß wird jetzt bei jedem neuen Vergleichsergebnis dieses im Suchmuster-Register (CR) eingetragen, die Position ergibt sich im Beispiel aus einer Codierung im Befehl gemäß Unteranspruch, wohingegen noch offene Vergleiche mit einem X-undefiniert dort codiert werden. Mit jedem neuen Vergleichsergebnis wird jetzt eine Abfrage des inhaltsadressierbaren TCAM-Speichers (TC) durchgeführt und gemäß Unteranspruch die Verzweigung - Befehl SWITCH - vorzeitig ausgelöst, wenn ein passender Eintrag im TCAM vorliegt.
  • Der sodann ausgewählte optimierte Programmcode zur Fortsetzung nach dem Sprung nach dem Befehl SWITCH mit der Adresse aus dem Tag-RAM (TR) kann dann für diesen Fall erhebliche Optimierungen aufweisen, z.B. eine optimierte Verschiebung des Elements an der Spitze des Heap über mehrere Ebenen.
  • Damit wird überraschenderweise auch das Pipeline-Stall Problem superskalarer Architekturen in diesem Fall gelöst, indem eben nicht mit hälftiger Wahrscheinlichkeit bei echten - nicht gut vorhersagbaren - Entscheidungs-Sprungbefehlen jedes Mal ein Stall der Pipeline stattfindet, sondern alle Sprungebenen zu einer Entscheidung zusammengefasst werden und trotzdem offensichtliche Fälle, z.B. das Element an der Spitze des Heaps ist größer als beide darunter, vorzeitig gehandhabt werden können.
  • Somit entsteht eben kein Geschwindigkeitsnachteil durch die Vergleiche ab V(2) in der Zeichnung, bereits mit den beiden ersten Vergleichen wird in dem Fall der Sprung ausgeführt.
  • In einer besonders vorteilhaften Version der Erfindung gemäß Unteranspruch wird weiterhin jede derartige Sequenz mit einem Funktions- oder Sequenzcode (Funcid.) im TCAM von anderen separiert. Dieser kann gemäß Unteranspruch ebenso wie die Bitzuordnungen der Vergleichsbefehle auch aus deren Befehlsadresse abgeleitet werden, z.B. mittels eines möglichst kollisionsarmen Hardware-Hash.
  • Weiterhin kann gemäß Unteranspruch die Zuordnung eines TCAM-Registerbits zum Vergleichsbefehl und die Auswahl der Operanden auch über eine abgelegte Rechenvorschrift erfolgen, z.B. beim Heap zur Auswahl der Operanden (k), (2k) und (2k+1).
  • Der Vergleichsbefehl braucht auch nicht unbedingt direkt zwei Operanden vergleichen, vielmehr kann die Auswertung einer vorherigen Rechenoperation auf Carry, Zero usw. erfolgen, im Sinne eines simulierten Sprungbefehls. Zusammen mit der automatischen Übersetzung eines zweiten Befehlssatzes bietet sich gemäß Unteranspruch auch eine hervorragende Möglichkeit, bestehende Programme schneller auszuführen, indem typische Situationen im Rahmen einer dynamischen Übersetzung einen eigenen Programmcode erhalten. Da ohnehin z.B. IA32 oder AMD64 Code in modernen Prozessoren dynamisch in einen Mikrooperations-Cache in pipelinefähigen RISC-Code übersetzt wird, kann an dieser Stelle die erfindungsgemäße Optimierung vorgenommen werden.
  • Hierbei kann sich auch eine bewusste Randomisierung der Ausführungsreihenfolge anbieten, um dann z.B. mittels statistischer Zähler besonders häufig vorkommende Konstellationen bevorzugt erfassen zu können.
  • Sollte noch nicht für einen bestimmten Fall optimierter Code im Rahmen der dynamischen Übersetzung erstellt sein, so kann über einen Rückfalleintrag -„default“ - gemäß Unteranspruch zum Zeitpunkt des SWITCH eine Standardprozedur ausgelöst werden, dazu kann z.B. ein TCAM-Bit als Erledigt-Bit (DONE) für alle Vergleiche genutzt werden.
  • Zur Erstellung des Maschinencodes bietet sich neben der dynamischen Übersetzung ein optimierter Compiler an, wobei in der Hochsprache besonders zu beschleunigende Sequenzen mit einem speziellen Befehl - „#pragma“ - gekennzeichnet werden können. Die eigentliche Optimierung erfolgt durch das Programm- und Datenflussdiagramm des Compilers ähnlich der Loop Invariant Erkennung: Es werden bestimmte Vergleichsergebnisse für die fragliche Variante als fest angenommen und dann entstehender unbenutzter Programmcode verworfen.
  • Inhaltsadressierbare TCAM Speicher sind in verschiedenen Varianten problemlos in Prozessoren integrierbar oder als separater Die in einer Chiplet-Konstruktion ankoppelbar, in Verbindung des erfindungsgemäßen Prozessors mit einem geeigneten Compiler kann mit Hilfe der Erfindung eine erhebliche Steigerung der Rechenleistung derartiger Prozessoren erzielt werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • EP 1008036 B1 [0004]
    • EP 0661625 B1 [0004]
    • EP 0798636 B1 [0005]
    • DE 102005036605 B4 [0007]

Claims (10)

  1. Prozessor, mit mindestens einem unmittelbar enthaltenen oder extern angekoppeltem inhaltsadressierbaren ternärem Speicher (TC), der mindestens die Zustände 0, 1 und X-undefiniert in einem Ternärbit unterstützt und abgelegte Muster wie Suchmuster mit solchen Ternärbits erlaubt und zu einem Suchmuster (CR), sofern mindestens ein dazu passender Eintrag gefunden wurde, zusätzliche Informationen oder einen Index liefert - im Folgenden wird dieser Speicher als TCAM bezeichnet -, und mit einem Befehlssatz mit mindestens einem Befehl zur Berechnung oder Auswertung eines Vergleichs von Operanden, welcher mindestens ein binäres Ergebnis liefert, wobei ein Vergleichsergebnis, das beim Ausführen des Befehls entsteht, mindestens einem Ternärbit des Suchmusters des TCAM zugeordnet wird, weiterhin mehrere Vergleichsergebnisse mittels des Befehlssatzes oder der Befehlsadresse unterschiedlichen Ternärbits des Suchmusters des TCAM zugeordnet werden können, dadurch gekennzeichnet, dass solche Vergleichsergebnisse, die im Programmablauf (PC) bisher noch nicht errechnet wurden, dem TCAM als X-undefiniert im Suchmuster registriert übergeben werden und mit solchen unvollständigen Ergebnissen am Eingang des TCAM trotz deren Unvollständigkeit eine vorzeitige Abfrage des TCAM durchgeführt wird und beim Vorliegen eines hierfür gültigen Eintrags im TCAM oder einer zu diesem Eintrag hinterlegten Sprungadresse oder weiterer hinterlegter Informationen vorzeitig eine Programmverzweigung ausgeführt wird, wohingegen, wenn kein gültiger Eintrag gefunden wird, weitere Vergleichsergebnisse errechnet werden und hernach der TCAM erneut abgefragt wird.
  2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, dass beim vorzeitigen Ermitteln eines Eintrags im TCAM aus unvollständigen Suchmustern die Berechnung weiterer Vergleichsergebnisse vorzeitig abgebrochen wird, auch, soweit diese bereits in einer superskalaren oder anderweitig parallelen Architektur reserviert wurden, und ein besonders für diese Konstellation optimierter Programmcode aufgerufen wird.
  3. Prozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Vergleichsergebnisse unabhängig von der durch die Befehlsreihung vorgegebenen Reihenfolge errechnet werden, was einer superskalaren oder anderweitig parallelen Architektur entspricht, wobei die Reihenfolge auch bewusst randomisiert werden kann.
  4. Prozessor nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Befehlssatz in einzelnen Befehlen Felder enthält, welche direkt oder über mindestens ein indirektes Register eine Zuordnung eines Vergleichsergebnisses zu einem TCAM-Ternärbit tätigen.
  5. Prozessor nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Operanden der Vergleichsoperationen und die Zuordnung der Vergleichsergebnisse zu einem TCAM-Ternärbit durch eine per Befehlssatz hinterlegte Rechenvorschrift geschieht, diese Zuordnung kann auch superskalar oder anderweitig parallel berechnet werden.
  6. Prozessor nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass in dem Suchmuster weiterhin eine Information codiert wird, welche eine Programmsequenz oder ein Programm oder eine Betriebssystemtask eindeutig identifiziert, und somit eine Mehrfachnutzung des TCAM ermöglicht wird.
  7. Prozessor nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass im TCAM mindestens ein Rückfalleintrag für bislang unbekannte Kombinationen von Ergebnissen vorliegt.
  8. Prozessor nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass ein weiterer zweiter Befehlssatz mit P-Code, IA32-Code, AMD64-Code, ARM-Code oder anderen kompatiblen Befehlscodes vorliegt, welcher dynamisch in den von dem Prozessor ausgeführten ersten Befehlscode übersetzt wird und dabei aufgetretene Fälle neuer Kombinationen von Vergleichsergebnissen mindestens einen neuen TCAM-Eintrag im Rahmen der dynamischen Übersetzung bewirken, wobei die Zuordnung eines klassischen Vergleichs- oder Sprungbefehls zu einem TCAM-Ternärbit aus der Adresse des entsprechenden Befehls mittels eines Hash oder einer Funktion abgeleitet werden kann, wobei die Optimierung des Programmcodes in einer verbesserten Sprungvorhersage bestehen kann.
  9. Prozessor nach Anspruch 7 und 8, dadurch gekennzeichnet, dass die dynamische Übersetzung im Hintergrund stattfindet und bis zum Vorliegen eines Übersetzungsergebnisses eine verallgemeinerte Maschinencode-Variante des Rückfalleintrags verwendet wird, die alle möglichen Vergleichsergebnisse handhaben kann.
  10. Computer mit mindestens einem Prozessor nach Anspruch 1, dadurch gekennzeichnet, dass die zur Programmierung verwendete Programmiersprache mindestens ein zusätzliches Sprachelement beinhaltet, welches für eine Optimierung und Suche im inhaltsadressierbaren Speicher vorgesehene Variablen oder Programmsequenzen kennzeichnet und für diese eine automatische Erstellung der TCAM-Suchmuster und darauf optimierten Befehlssequenzen mittels Programm- oder Datenflussanalyse im Compiler erfolgt.
DE102022125248.5A 2022-09-30 2022-09-30 Prozessor und Computer mit mindestens einem Prozessor mit vorzeitiger Programmvariantenauswahl bei noch unbekannten Vergleichsergebnissen Active DE102022125248B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022125248.5A DE102022125248B4 (de) 2022-09-30 2022-09-30 Prozessor und Computer mit mindestens einem Prozessor mit vorzeitiger Programmvariantenauswahl bei noch unbekannten Vergleichsergebnissen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022125248.5A DE102022125248B4 (de) 2022-09-30 2022-09-30 Prozessor und Computer mit mindestens einem Prozessor mit vorzeitiger Programmvariantenauswahl bei noch unbekannten Vergleichsergebnissen

Publications (2)

Publication Number Publication Date
DE102022125248A1 true DE102022125248A1 (de) 2024-04-04
DE102022125248B4 DE102022125248B4 (de) 2024-05-02

Family

ID=90246484

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022125248.5A Active DE102022125248B4 (de) 2022-09-30 2022-09-30 Prozessor und Computer mit mindestens einem Prozessor mit vorzeitiger Programmvariantenauswahl bei noch unbekannten Vergleichsergebnissen

Country Status (1)

Country Link
DE (1) DE102022125248B4 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0661625B1 (de) 1994-01-03 1999-09-08 Intel Corporation Verfahren und Vorrichtung zum Implementieren eines vierstufigen Verzweigungsauflosungssystem in einem Rechnerprozessor
EP1008036B1 (de) 1996-11-19 2002-02-13 Advanced Micro Devices, Inc. Verzweigungsvorhersagemechanismus mit auswahlschaltern zum auswählen einer verzweigungsvorhersage
EP0798636B1 (de) 1996-03-25 2002-06-05 Sun Microsystems, Inc. Verfahren, System und Rechnerprogrammprodukt zur Registerzuweisung unter Verwendung mehrerer Interferenzgraphen
DE102005036605B4 (de) 2005-08-01 2008-11-06 Oliver Bartels Schnelle Universalrechnerarchitektur mit automatischer Programmvariantenauswahl

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0661625B1 (de) 1994-01-03 1999-09-08 Intel Corporation Verfahren und Vorrichtung zum Implementieren eines vierstufigen Verzweigungsauflosungssystem in einem Rechnerprozessor
EP0798636B1 (de) 1996-03-25 2002-06-05 Sun Microsystems, Inc. Verfahren, System und Rechnerprogrammprodukt zur Registerzuweisung unter Verwendung mehrerer Interferenzgraphen
EP1008036B1 (de) 1996-11-19 2002-02-13 Advanced Micro Devices, Inc. Verzweigungsvorhersagemechanismus mit auswahlschaltern zum auswählen einer verzweigungsvorhersage
DE102005036605B4 (de) 2005-08-01 2008-11-06 Oliver Bartels Schnelle Universalrechnerarchitektur mit automatischer Programmvariantenauswahl

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hashmi, Atif; Lipasti, Mikko: Accelerating search and recognition with a TCAM functional unit. In: 2008 IEEE International Conference on Computer Design, 12.10.2015, S. 81-86. - ISSN 1063-6404. https://doi.org/10.1109/ICCD.2008.4751844 [abgerufen am 23.03.2023]

Also Published As

Publication number Publication date
DE102022125248B4 (de) 2024-05-02

Similar Documents

Publication Publication Date Title
DE112012000303B4 (de) Dynamische binäre Optimierung
DE69727773T2 (de) Verbesserte Verzweigungsvorhersage in einem Pipelinemikroprozessor
DE4447238B4 (de) Schaltungsanordnung und Verfahren zum Gewinnen von Informationen zur Verzweigungsvorhersage
DE10121792C2 (de) Universelle Ladeadresse/Wertevorhersageschema
DE69723286T2 (de) Echtzeitprogramm-sprachbeschleuniger
DE60002327T2 (de) Ableitung von operandtypen innerhalb einer zwischensprache
WO1994022079A1 (de) Verfahren zur maschinellen erzeugung von nebenläufig bearbeitbaren befehlsgruppen aus einem programm für superskalare mikroprozessoren
DE2555963A1 (de) Einrichtung zur funktionsmodifizierung
EP1738257B1 (de) Verfahren zum vermeiden von dateninkonsistenz zwischen zugriffen verschiedener funktionen einer anwendung auf eine globale variable in einer datenverarbeitungsanlage
DE202016007893U1 (de) Systeme zum Entfernen von PLT-Stubs aus dynamisch verknüpften Binärdateien
DE69933323T2 (de) Kompiler
DE102022125248B4 (de) Prozessor und Computer mit mindestens einem Prozessor mit vorzeitiger Programmvariantenauswahl bei noch unbekannten Vergleichsergebnissen
DE102005001679B4 (de) Mikroprozessor-Einrichtung, und Verfahren zur Branch-Prediktion für conditional Branch-Befehle in einer Mikroprozessor-Einrichtung
DE10103070A1 (de) System und Verfahren zum Finden und Prüfen der Gültigkeit des neulichsten Vorabladevorgangs für einen gegebenen Prüfladevorgang
DE102005036605B4 (de) Schnelle Universalrechnerarchitektur mit automatischer Programmvariantenauswahl
DE1549381A1 (de) Ziffernrechner mit Adressensteueroperation
DE102004001651B4 (de) Verfahren und Prozessor zur automatischen Befehls-Betriebsartumschaltung zwischen N-Bit und 2N-Bit Befehlen unter Verwendung einer Paritätsüberprüfung
DE102004001652A1 (de) Prozessor und Verfahren die geeignet sind bedingte Befehle auszuführen
DE10111461B4 (de) Verfahren zum Umsetzen eines Objektcodes für einen ersten Prozessor in einen Objektcode eines zweiten Prozessors
EP1920328B1 (de) Operationscode-umschaltung
DE102008044808B4 (de) Verfahren zur Generierung von Programmcode in einem Betriebssystemspeicher und einem Applikationsspeicher eines Datenträgers
EP1159675B1 (de) Mikroprozessor und verfahren zur adressierung in einem mikroprozessor
EP0818728B1 (de) Verfahren zur Behandlung von indizierten Sprüngen bei einer Codetransformation
DE10308867B4 (de) Verfahren zur Adressierung von Adressräumen bei der Emulation eines für einen emulierten Prozessor erstellten Programms auf einem emulierenden Prozessor
DE10204345A1 (de) Verfahren zur Befehlsbearbeitung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division