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 PDFInfo
- 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
Links
- 230000015654 memory Effects 0.000 claims abstract description 8
- 238000005457 optimization Methods 0.000 claims description 7
- 238000013519 translation Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 3
- 238000005206 flow analysis Methods 0.000 claims 1
- 230000001133 acceleration Effects 0.000 abstract 1
- 230000001419 dependent effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- 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, 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 oderEP0661625B1 . - 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)
- 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.
- 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. - Prozessor nach
Anspruch 1 oder2 , 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. - Prozessor nach einem der
Ansprüche 1 bis3 , 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. - Prozessor nach einem der
Ansprüche 1 bis4 , 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. - Prozessor nach einem der
Ansprüche 1 bis5 , 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. - Prozessor nach einem der
Ansprüche 1 bis6 , dadurch gekennzeichnet, dass im TCAM mindestens ein Rückfalleintrag für bislang unbekannte Kombinationen von Ergebnissen vorliegt. - Prozessor nach einem der
Ansprüche 1 bis7 , 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. - Prozessor nach
Anspruch 7 und8 , 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. - 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.
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)
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 |
-
2022
- 2022-09-30 DE DE102022125248.5A patent/DE102022125248B4/de active Active
Patent Citations (4)
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)
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 |