Recherche dans les collections de brevets nationales et internationales
Une partie du contenu de cette demande n'est pas disponible pour le moment.
Si cette situation persiste, contactez-nous auObservations et contact
1. (WO1993018460) PROCEDE POUR REUNIR DES PARTIES DE PROGRAMME EN UN SEUL PROGRAMME
Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

Patentansprüche

1. Verfahren zum Binden von Programmteilen zu einem Pro-gramm, das von einem nach dem Cache-Prinzip arbeitenden
Rechner mit minimaler Laufzeit abgearbeitet werden kann, a) bei dem pseudozufällig eine Mehrzahl von Reihenfolgen der Programmteile erzeugt werden und die Mehrzahl der Reihenfolgen bezüglich der Laufzeit bewertet werden und eine erste Reihenfolge von Programmteilen ausgewählt wird, die das beste Bewertungsergebnis, also die geringste Laufzeit hat, b) bei dem mit der ersten Reihenfolge der Programmteile weitergearbeitet wird und jeweils pseudozufällig zwei Programmteile vertauscht werden und- dann festgestellt wird, ob die geänderte Reihenfolge zu einem besseren Bewertungsergebnis führt und für diesen Fall mit der geänderten Reihenfolge als aktuelle Reihenfolge weitergearbeitet wird, sonst mit der nicht geänderten Reihenfolge der Programmteile.

2. Verfahren nach Anspruch 1,
a) bei dem bei der ersten Reihenfolge der Programmteile pseudozufällig zwei Programmteile ausgewählt werden,
b) bei dem die zwei ausgewählten Programmteile vertauscht werden und die dadurch entstehende neue Reihenfolge bewertet wird,
c) bei dem bei günstigeren Bewertungsergebnis mit der geänderten aktuellen Reihenfolge der Programmteile mit Schritt a) weitergegangen wird, sonst mit der nicht geänderten Reihenfolge der Programmteile mit Schritt a) weitergegangen wird. d) und bei dem die Schritte a) bis c) solange durchgeführt werden bis ein vorgegebenes Abbruchkriterium erfüllt ist.

3. Verfahren nach Anspruch 2, bei dem trotz negativem Ergebnis der Bewertung mit der geänderten Reihenfolge der Progra m-teile weitergearbeitet wird, wenn die Verschlechterung des Bewertungsergebnisses kleiner ist als eine von einem Pseudo-zufallszahlengenerator erzeugte Zufallszahl, ~ die auf das Be- wertungsergebnis der aktuellen Reihenfolge normiert ist.

4. Verfahren nach einem der Ansprüche 2 oder 3, bei dem
5 das Bewertungsverfahren dann beendet wird, wenn eine vorgegebene Anzahl von Bewertungen durchgeführt worden ist.

5. Verfahren nach einem der vorhergehenden Ansprüche,
bei dem die Bewertung mit Hilfe eines Cache-Simulators durch-0 geführt wird.

6. Verfahren nach einem der Ansprüche 1 bis 4,
bei dem die Bewertung mit Hilfe einer Kostenfunktion auf folgende Weise durchgeführt wird,- a) ein Trace-Verfahren für das Programm aus dem Programteilen wird durchgeführt, das als Trace-Ergebnis Adreßaufrufe zu Codebereichen oder Datenbereichen der Programmteile enthält,
b) es wird aus dem Trace-Ergebnis festgestellt, wie oft sich zwei Programmteile höchstens verdrängen können,
c) es wird für jeweils ein Paar von Programmteilen festgestellt, wie groß in Cache-Blöcken ausgedrückt und bei Abbildung des Programms auf den Cache die Überlappung dieses Programmteilepaares ist,
d) es wird für jedes Paar von Progammteilen das Produkt aus der Anzahl der Verdrängungen und der Anzahl der kollidierenden sich überlappenden Cache-Blöcke gebildet,
e) es wird zur Ermittlung der Anzahl der Verdrängungs-Misses des Programms und damit als Bewertungsergebnis die Summe über alle Produkte gebildet.

7. Verfahren nach Anspruch 6, bei dem zur Bestimmung der
Anzahl der Verdrängungen der Programmteilepaare anhand der Aufruffolge der Programmteile festgestellt wird, welche
Programmteile zwischen zwei aufeinanderfolgenden Aufrufen eines Programmteiles liegen und daraus ermittelt wird, wie oft die Programmteile eines Paares nacheinander aufgerufen werden.

8. Verfahren nach Anspruch 7, bei dem zur Bestimmung der Anzahl der Verdrängungen ein LRU-Stack-Speicher verwendet wird, in dem die die aufrufenden Programmteile kennzeichnen-5 den Elemente hineingeschoben werden,
bei dem bei Aufruf eines ersten Programmteiles aus dem Trace- Ergebnis durch Vergleich dieses ersten Programmteiles mit bereits im LRU-Stackspeicher enthaltenen Programmteil von oben beginnend festgestellt wird, ob dieser erste Programm-0 teil schon einmal aufgerufen worden ist und für diesen Fall die oberhalb des im LRU-Stackspeicher enthaltenen ersten Programmteiles liegende Programmteile notiert werden und anschließend der erste Programmteil an die erste Stelle des LRU-Stackspeichers geschoben wird.