DE10221394A1 - Operating cache memory in processor involves differentiating programs provided for call-up as selected and unselected programs; selected programs are installed in cache memory in write-protected manner - Google Patents
Operating cache memory in processor involves differentiating programs provided for call-up as selected and unselected programs; selected programs are installed in cache memory in write-protected mannerInfo
- Publication number
- DE10221394A1 DE10221394A1 DE10221394A DE10221394A DE10221394A1 DE 10221394 A1 DE10221394 A1 DE 10221394A1 DE 10221394 A DE10221394 A DE 10221394A DE 10221394 A DE10221394 A DE 10221394A DE 10221394 A1 DE10221394 A1 DE 10221394A1
- Authority
- DE
- Germany
- Prior art keywords
- programs
- cache memory
- memory
- unselected
- frequency
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren zum Betreiben wenigstens eines Cache-Speichers einer Prozessoreinrichtung, wobei Programme oder Programmsegmente in den Cache-Speicher geladen und ausgeführt werden, ferner einen Cache-Speicher zur Durchführung des Verfahrens sowie ein Telefonvermittlungssystem. The invention relates to a method for operating at least a cache memory of a processor device, wherein Programs or program segments loaded into the cache memory and executed, a cache for Implementation of the procedure and a telephone exchange system.
Bei einem Cache-Speicher handelt es sich um einen kleinen, schnellen Pufferspeicher, der einer Prozessoreinrichtung zugeordnet ist oder häufig in der Prozessoreinrichtung, sofern diese als Mikroprozessor ausgebildet ist, integriert ist. In dem Cache-Speicher werden Programmsegmente mit den zuletzt benötigten Befehlscodes gespeichert. A cache memory is a small, fast buffer memory that a processor device is assigned or frequently in the processor device, if it is designed as a microprocessor, is integrated. In program segments with the most recent are stored in the cache memory required command codes are saved.
Dabei werden aufgerufene Programme nacheinander in den Cache- Speicher geladen und abgearbeitet, bis die Speicherkapazität des Cache-Speichers erschöpft ist und somit ein Speicherzyklus abgeschlossen wird; am Ende eines Speicherzyklus beginnt ein neuer Speicherzyklus, wobei die dabei aufgerufenen Programme die innerhalb des jeweils vorherigen Speicherzyklus abgespeicherten Programme überschreiben können. Called programs are successively stored in the cache Memory loaded and processed until the storage capacity of the cache is exhausted and therefore a Storage cycle is completed; begins at the end of a storage cycle a new storage cycle, the called up Programs within the previous storage cycle overwrite stored programs.
In vielen Anwendungsprogrammen, insbesondere in interaktiven Anwendungsprogrammen wie sie z. B. in Telefonvermittlungssystemen zum Einsatz kommen, laufen gleichartige Vorgänge, bei denen jeweils identische Programme oder Programmsegmente unmittelbar aufeinanderfolgen, mit relativ geringer Häufigkeit ab, während mit weitaus größerer Häufigkeit ungleichartige Vorgänge ablaufen, bei denen verschiedene Programme oder Programmsegmente jeweils unmittelbar zeitlich aufeinanderfolgen; im Falle von unterschiedlichen, zeitlich unmittelbar aufeinanderfolgenden Programmen kommt es, wenn das jeweils aktuell aufgerufene Programm nicht mehr innerhalb des laufenden Speicherzyklus im Cache-Speicher verfügbar ist, sukzessive zu Überschreibungen im Cache-Speicher. Durch diese Schreibzugriffe auf den Cache-Speicher erhöht sich entsprechend der Anzahl der Schreibzugriffe insgesamt die Zugriffszeit auf den Cache-Speicher. In many application programs, especially interactive ones Application programs such as B. in Telephone switching systems are used, run similar processes which have identical programs or program segments in immediate succession, with a relatively low frequency decreasing, while dissimilar with far greater frequency Operations that involve different programs or Program segments follow each other immediately in time; in the case of different, immediately in time successive programs will happen if that is current at the time called program no longer within the current Storage cycle is available in the cache, successively Cache overrides. Through this Write access to the cache memory increases accordingly Total number of write accesses the access time to the Cache memory.
Der Erfindung liegt demgegenüber die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art und einen Cache-Speicher zur Durchführung des Verfahrens bereitzustellen, womit derartige Vorgänge schneller, d. h. mit Zeitgewinn, gegenüber dem herkömmlichen Verfahren bewältigbar sind. In contrast, the invention is based on the object Method of the type mentioned and a cache memory to provide for carrying out the method, with what such operations faster, d. H. with time saving compared to conventional methods are manageable.
Die Aufgabe wird in verfahrenstechnischer Hinsicht dadurch gelöst, dass die zum Aufruf vorgesehenen Programme in selektierte und unselektierte Programme unterschieden werden und die selektierten Programme im Cache-Speicher schreibgeschützt installiert werden. In terms of process engineering, the task is thereby solved that the programs to be called in selected and unselected programs are distinguished and the selected programs are write-protected in the cache memory be installed.
Im Gegensatz zum Stand der Technik, bei dem die Programme entsprechend der Reihenfolge ihres Aufrufs in den Cache-Speicher geladen werden, sofern nicht innerhalb des laufenden Speicherzyklus das identische Programm bereits vorher aufgerufen und abgespeichert wurde und somit im Cache-Speicher noch verfügbar ist, ist demgegenüber für das erfindungsgemäße Verfahren mithin charakteristisch, dass bestimmte Programme oder Programmsegmente einer Anwendung als selektiert eingestuft werden und nur die selektierten Programme in dem Cache- Speicher fest abgespeichert werden; wird dann im laufenden Betrieb, d. h. während des Programmablaufs, ein derart selektiertes und im Cache-Speicher abgespeichertes Programm aufgerufen, so wird es im Cache-Speicher angesprochen und ohne den zeitintensiven Zwischenschritt des Neuladens bzw. Überschreibens ausgeführt. In contrast to the prior art, where the programs according to the order of their call in the Cache memory can be loaded unless within the running Memory cycle the identical program beforehand was called and saved and thus in the cache memory is still available, however, is for the invention Procedures therefore characteristic of certain programs or program segments of an application as selected are classified and only the selected programs in the cache Memory can be saved; will then be in progress Operation, d. H. during the course of the program, such selected and stored in the cache memory called, it is addressed in the cache and without the time-consuming intermediate step of reloading or Overwrite executed.
Eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens besteht darin, dass der Cache-Speicher in einen für die selektierten Programme reservierten ersten Speicherbereich und einen für die übrigen unselektierten Programme vorbehaltenen zweiten Speicherbereich aufgeteilt wird. Durch die definierte Abgrenzung des Speicherplatzes des Cache-Speichers für selektierte und unselektierte Programme wird ein schneller Speicherzugriff und eine günstigere Speicherplatzausnutzung ermöglicht. A preferred embodiment of the invention The procedure is that the cache memory is stored in one for the selected programs reserve the first memory area and one for the other unselected programs reserved second memory area is divided. Through the defined delimitation of the storage space of the cache memory for selected and unselected programs faster memory access and a cheaper one Storage space utilization enabled.
Indem dabei der erste Speicherbereich des Cache-Speichers nach Installierung der selektierten Programme gegen Überschreiben geschützt wird, sind die selektierten Programme dort "statisch" abgespeichert, während demgegenüber die unselektierten Programme bei Aufruf innerhalb des Programmablaufs "dynamisch" abgespeichert und dabei teilweise überschrieben werden. By doing so, the first memory area of the cache memory after installing the selected programs The selected programs are protected against overwriting stored "statically" there, while the unselected programs when called within the program sequence "dynamically" saved and partially overwritten become.
Um eine Einteilung der aufzurufenden Programme einer Anwendung in selektierte und unselektierte vorzunehmen, werden häufig aufgerufene Programme ermittelt und diese selektiert. Um das erfindungsgemäße Verfahren an die jeweilige Anwendung anzupassen, wird ein Größenverhältnis von dem ersten zu dem zweiten Speicherbereich des Cache-Speichers in Abhängigkeit von der Größe der zum Aufruf vorgesehenen Programme, deren Anzahl und/oder deren Aufrufhäufigkeit gewählt. Mit diesen Verfahrensparametern, welche die Größe der selektierten und unselektierten Programme, deren Anzahl und/oder Aufrufhäufigkeit umfassen, ist die Geschwindigkeit des Programmablaufs gemäß dem erfindungsgemäßen Verfahren steuerbar, indem die Größe des ersten Speicherbereichs in Relation zu der Größe des zweiten Speicherbereichs eingestellt wird. In order to classify the programs to be called up Application in selected and unselected Frequently called programs are identified and selected. To the method according to the application to adjust, a size ratio of the first to the dependent second memory area of the cache memory on the size of the programs to be called, whose Number and / or frequency of calls selected. With these Process parameters that determine the size of the selected and unselected programs, their number and / or The frequency of calls is the speed of the program execution controllable according to the inventive method by the Size of the first memory area in relation to the size of the second memory area is set.
Als weiterer Verfahrensparameter wird eine Schwellenwertgröße definiert, mit welcher diejenigen Programme selektiert werden, deren Aufrufhäufigkeit die vordefinierte Schwellenwertgröße übersteigt. Demgegenüber werden Programme als unselektiert eingestuft, deren Aufrufhäufigkeit die vordefinierte Schwellenwertgröße unterschreitet oder dieser entspricht. A threshold value size is used as a further process parameter defines with which those programs are selected whose call frequency is the predefined one Threshold size exceeds. In contrast, programs are considered classified unselected, the frequency of calls the predefined Falls below or corresponds to the threshold size.
Eine Ausführungsvariante des erfindungsgemäßen Verfahrens, mit welcher die Bestimmung der als selektiert einzustufenden Programme z. B. anhand von Simulationen oder Simulationsmodellrechnungen durchführbar ist, kann darin bestehen, dass die Aufrufhäufigkeit der einzelnen Programme statistisch ermittelt wird. Nach einer dazu alternativen Ausführungsvariante kann die Aufrufhäufigkeit der einzelnen Programme anhand von Messungen ermittelt werden. Derartige Messungen sind beispielsweise elektronisch innerhalb des jeweils zugeordneten Betriebssystems durchführbar. An embodiment variant of the method according to the invention, with which the determination of those to be classified as selected Programs z. B. based on simulations or Simulation model calculations can be carried out in that the frequency of calls of the individual programs statistically is determined. For an alternative The variant of execution can call the frequency of the individual programs on the basis of measurements can be determined. Such measurements are for example electronically within the respectively assigned Operating system feasible.
In vorrichtungstechnischer Hinsicht wird die oben angegebene Aufgabe bei einem zur Durchführung des erfindungsgemäßen Verfahrens vorgesehenen Cache-Speicher dadurch gelöst, dass der Cache-Speicher in einen ersten Speicherbereich, der überschreibgeschützt ausgebildet ist, und einen zweiten Speicherbereich aufgeteilt ist. Dabei weist der erste Speicherbereich vorinstallierte selektierte Programme auf. Indem ferner das Größenverhältnis von dem ersten zu dem zweiten Speicherbereich des Cache-Speichers in Abhängigkeit von der Größe der aufgerufenen Programme, deren Anzahl und/oder deren Aufrufhäufigkeit einstellbar ist, ist der erste und der zweite Speicherbereich an die jeweilige Anwendungssoftware anpassbar, so dass sich eine günstige Ausnutzung des Cache-Speichers ergibt. Besonders vorteilhaft ist der erfindungsgemäße Cache-Speicher bei Verwendung in einem prozessorgesteuerten Telefonvermittlungssystem. In einem prozessorgesteuerten Telefonvermittlungssystem können als gleichartige Vorgänge z. B. unmittelbar aufeinanderfolgende sog. Analog/Analog-Teilnehmerverbindungen (d. h. zwischen Teilnehmern mit Analog-Anschluss geschaltete Verbindungen) oder unmittelbar aufeinanderfolgende sog. Digital/Digital-Teilnehmerverbindungen (d. h. zwischen Teilnehmern mit Digital-Anschluss geschaltete Verbindungen) ablaufen; als gleichartige Vorgänge sind jedoch auch unmittelbar aufeinanderfolgende ankommende/gehende Amts- Querverbindungen oder Transitverbindungen möglich. Da unmittelbar gleichartig aufeinanderfolgende Vorgänge relativ selten auftreten im Vergleich zu ungleichartig unmittelbar aufeinanderfolgenden Vorgängen, werden die den gleichartig unmittelbar aufeinanderfolgenden Vorgängen zugeordneten Programme als unselektiert eingestuft, während die den ungleichartig unmittelbar aufeinanderfolgenden Vorgängen zugeordneten Programme aufgrund ihrer relativ hohen Aufrufhäufigkeit selektiert werden und in den ersten Speicherbereich des Cache- Speichers installiert werden. Dadurch kommt es im Telefonvermittlungsbetrieb zu einer deutlich geringeren Zahl von zeitintensiven Überschreibungszugriffen in der Cache-Speichereinrichtung, so dass sich dementsprechend die Programmablaufgeschwindigkeit erhöht. In terms of device technology, the above is Task with one to carry out the invention Method provided cache memory solved by the Cache memory in a first memory area, the is overwrite protected, and a second Memory area is divided. The first memory area pre-installed selected programs. By further that Size ratio from the first to the second Memory area of the cache memory depending on the size of the called programs, their number and / or their Call frequency is adjustable, the first and the second Storage area to the respective application software adaptable, so that a favorable use of the Cache results. The one according to the invention is particularly advantageous Cache memory when used in a processor-controlled Telephone switching system. In a processor controlled Telephone switching system can be used as similar processes such. B. immediately successive so-called Analog / analog subscriber connections (i.e. between subscribers with Analog connection switched connections) or immediately successive so-called digital / digital subscriber connections (i.e. switched between participants with digital connection Connections); are like operations, however also immediately successive incoming / outgoing official Cross connections or transit connections possible. There immediately similar successive processes relative rarely occur immediately compared to dissimilar successive processes, they become the same assigned to successive operations Programs classified as unselected, while the unequally assigned to successive operations Programs due to their relatively high frequency of calls be selected and placed in the first memory area of the cache Be installed. This is what happens in Telephone exchange operation to a significantly lower number of time consuming overwrite accesses in the Cache memory device, so that the Program execution speed increased.
Anhand der beigefügten Zeichnung soll nachstehend eine Ausführungsform der Erfindung näher erläutert werden. In schematischen Ansichten zeigen: Based on the accompanying drawing, a Embodiment of the invention will be explained in more detail. In schematic views show:
Fig. 1 ein Programmablaufschema von aufgerufenen Programmen in einem Cache-Speicher gemäß einem herkömmlichen Verfahren sowie Fig. 1 shows a program flow diagram of called programs in a cache memory according to a conventional method and
Fig. 2 ein Programmablaufschema von aufgerufenen Programmen in dem Cache-Speicher von Fig. 1 gemäß dem erfindungsgemäßen Verfahren. FIG. 2 shows a program flow diagram of called programs in the cache memory of FIG. 1 according to the inventive method.
Fig. 1 zeigt ein in einem Cache-Speicher ablaufendes herkömmliches Verfahren anhand eines Programmablaufschemas 10, bei dem im Ausführungsbeispiel acht Programme P1 bis P8 von jeweils identischer Speichergröße in statistischer Reihenfolge aufgerufen werden. Dabei werden die Programme P1 bis P8 mit unterschiedlicher Häufigkeit aufgerufen, nämlich die Programme P2, P3, P5 je fünfmal, das Programm P4 viermal, während die Programme P6, P7, nur einmal, P1 zweimal und P8 dreimal aufgerufen werden. Die Speicherkapazität des Cache-Speichers ist im Ausführungsbeispiel so ausgebildet, dass maximal vier dieser Programme darin speicherbar sind. Die ersten vier Programme sind P1, P2, P5, P7 und werden in den zunächst leeren Cache-Speicher neu geladen d. h. abgespeichert, wobei nach Abspeichern von P7, der Cache-Speicher voll ist, d. h. dessen Speicherkapazität erschöpft ist. Dabei zeigt das unter dem jeweiligen Programm stehende Symbol "°" in Fig. 1 an, dass das zugeordnete Programm neu geladen wurde. Nach Abarbeiten bzw. Ausführen dieser neu geladenen Programme werden die nächsten Programme P8, P3, P4 aufgerufen und in den Cache- Speicher geladen, wobei die - im vorherigen Zyklus - zuvor abgespeicherten ersten drei Programme P1, P2, P5 überschrieben werden. Bei den darauf folgenden Programme P3, P4, P5 wird festgestellt, dass die ersten beiden P3, P4 noch im Cache- Speicher vorhanden sind und somit nicht neu geladen werden müssen, was durch das Symbol "*" in Fig. 1 angezeigt wird, während P5 das im vorherigen ersten Zyklus zuletzt abgespeicherte Programm P7 überschreibt, wie dies in Fig. 1 anhand des Symbols "°" dargestellt ist. Nach Abspeichern von P5 ist die Speicherkapazität des Cache-Speichers erneut erschöpft; somit beginnt nach Ausführen der diesem Zyklus P8, P3, P4, P3, P4, P5 zugeordneten Programme mit dem Aufruf der nächsten darauffolgenden Programme der nächste Zyklus, wobei es erneut zu Überschreibungen im Cache-Speicher kommt, wenn jeweils aufgerufene Programme nicht im jeweils aktuell geladenen Speicherinhalt des Cache-Speichers sind und demgemäss neu geladen und abgespeichert werden und dabei an die Stelle von in einem vorherigen Zyklus abgespeicherten Programme treten. Dieses zyklische Abarbeiten der in dem Ablaufschema 10 aufgeführten Programme setzt sich solange fort, bis alle Programme aufgerufen und abgearbeitet sind, wobei es laufend zu Überschreibungsvorgängen kommt. Da derartige Schreibzugriffe bzw. Speicherungsvorgänge zeitintensiv sind, läuft das gesamte Programm umso langsamer ab, je größer die Anzahl der auftretenden Speicherungsvorgänge ist. Fig. 1 shows a running in a cache memory of a conventional method based program flowchart 10, in which in the exemplary embodiment eight channels are called P 1 to P 8 of each identical memory size in random order. The programs P 1 to P 8 are called with different frequencies, namely the programs P 2 , P 3 , P 5 five times, the program P 4 four times, while the programs P 6 , P 7 , only once, P 1 twice and P 8 can be called three times. In the exemplary embodiment, the storage capacity of the cache memory is designed such that a maximum of four of these programs can be stored therein. The first four programs are P 1 , P 2 , P 5 , P 7 and are reloaded ie stored in the initially empty cache, and after storing P 7 , the cache is full, ie its storage capacity is exhausted. The symbol "°" in FIG. 1 below the respective program indicates that the assigned program has been reloaded. After these newly loaded programs have been processed or executed, the next programs P 8 , P 3 , P 4 are called up and loaded into the cache memory, the first three programs P 1 , P 2 , P 5 previously stored in the previous cycle be overwritten. In the subsequent programs P 3 , P 4 , P 5 it is found that the first two P 3 , P 4 are still present in the cache memory and therefore do not have to be reloaded, which is indicated by the symbol “*” in FIG. 1 is displayed while P 5 overwrites the program P 7 last stored in the previous first cycle, as is shown in FIG. 1 with the symbol "°". After storing P 5 , the storage capacity of the cache memory is exhausted again; thus, after executing the programs assigned to this cycle P 8 , P 3 , P 4 , P 3 , P 4 , P 5 , the next cycle begins with the call of the next following programs, with overwrites in the cache memory occurring again, if each called programs are not in the currently loaded memory content of the cache memory and are accordingly reloaded and saved, taking the place of programs saved in a previous cycle. This cyclical processing of the programs listed in flowchart 10 continues until all programs have been called up and processed, with overwriting processes occurring continuously. Since such write accesses or storage processes are time-consuming, the greater the number of storage processes that occur, the slower the entire program.
Hier nun setzt das erfindungsgemäße Verfahren an, indem in einer initialisierenden Phase die Programme in selektierte und unselektierte Programme unterschieden werden. Dazu wird die Häufigkeit des Aufrufs der jeweiligen Programme ermittelt. Nach Maßgabe der jeweils ermittelten Häufigkeit und in Abhängigkeit davon, ob die jeweils ermittelte Häufigkeit einen voreingestellten Schwellenwert übersteigt, werden diejenigen Programme, welche eine gegenüber diesem Schwellenwert höhere statistische Aufrufhäufigkeit oder -Wahrscheinlichkeit aufweisen, selektiert, während die übrigen Programme, welche demgemäss eine Aufrufhäufigkeit oder -Wahrscheinlichkeit aufweisen, die diesen Schwellenwert nicht übersteigt (d. h. Aufrufhäufigkeit ≤ Schwellenwert), als unselektiert eingestuft werden. Die Aufrufhäufigkeit kann in einer Erprobungs- oder Testlaufphase beispielsweise anhand von Messungen ermittelt werden oder anhand von Simulationen bzw. Simulationsmodellen, wobei es sich dann im letzteren Fall um eine statistische Aufrufhäufigkeit bzw. Aufrufwahrscheinlichkeit handelt. This is where the method according to the invention comes in, in the programs in an initializing phase and unselected programs can be distinguished. This will the frequency of calling the respective programs determined. According to the frequency determined and in Depends on whether the frequency determined in each case exceeds a preset threshold those programs that have a against this threshold higher statistical frequency or probability have selected, while the other programs, which accordingly, a frequency or probability of calls that do not exceed this threshold (i.e. Frequency of calls ≤ threshold), classified as unselected become. The frequency of calls can be in a trial or Test run phase determined, for example, using measurements or using simulations or simulation models, in the latter case it is statistical Frequency of calls or probability of calls.
Danach wird der Cachespeicher aufgeteilt und zwar in einen ersten Speicherbereich, der für die selektierten Programme reserviert ist, und in einen zweiten Speicherbereich, der für die übrigen unselektierten Programme vorgesehen ist. In den ersten Speicherbereich werden die zuvor selektierten Programme speicherresident bzw. schreibgeschützt abgespeichert. In den zweiten Speicherbereich werden demgegenüber die unselektierten Programme dynamisch abgespeichert, d. h. während der Programmausführung werden die jeweils aktuell aufgerufenen unselektierten Programme sukzessive geladen, wobei vorher in diesen Speicherbereich geladene Programme überschrieben werden können, falls der zweite Speicherbereich während eines aktuellen Zyklus voll ist und sich die jeweils aufgerufenen Programme nicht im aktuellen Speicherinhalt des zweiten Speicherbereichs befinden. Then the cache is split into one first memory area for the selected programs is reserved, and in a second memory area which is for the remaining unselected programs is provided. In the The first memory area will be the previously selected ones Programs stored resident or write protected. In contrast, the unselected programs dynamically saved, d. H. while of the program execution are always up to date called unselected programs successively loaded, before Programs loaded into this memory area are overwritten if the second memory area during a current cycle is full and the respectively called Programs not in the current memory content of the second Storage area.
Fig. 2 veranschaulicht dazu ein Programmablaufschema 20 des erfindungsgemäßen Verfahrens. Dabei werden im Ausführungsbeispiel acht Programme P1 bis P8 von jeweils identischer Speichergröße und in der gleichen Reihenfolge wie in Fig. 1 aufgerufen und seriell abgearbeitet; die Aufrufhäufigkeiten der einzelnen Programme entsprechen somit denjenigen von Fig. 1. Fig. 2 is a program flow diagram illustrated to 20 of the method of the invention. In the exemplary embodiment, eight programs P 1 to P 8, each with an identical memory size and in the same order as in FIG. 1, are called up and processed serially; the frequency of calls of the individual programs thus corresponds to that of FIG. 1.
Der Cache-Speicher fasst wie in Fig. 1 maximal vier Programme. Gemäß dem erfindungsgemäßen Verfahren werden jedoch im Ausführungsbeispiel die Programme P2, P3, P4, P5 selektiert, welche die höchste Aufrufhäufigkeit aufweisen, und im zugeordneten ersten Speicherbereich schreibgeschützt abgespeichert, wie dies in Fig. 2 anhand des Symbols "." dargestellt ist. Dadurch werden selektierte Programme P2, P3, P4, P5, die während des Programmablaufs aufgerufen werden, im zugeordneten ersten Speicherbereich angesprochen und ohne Schreibzugriff direkt abgearbeitet, während die übrigen Programme P1, P6, P7, P8, welche aufgrund ihrer niedrigeren Aufrufhäufigkeit als unselektiert eingestuft wurden und während des Programmablaufs aufgerufen werden, jeweils bei ihrem Aufruf in den zweiten Speicherbereich neu geladen werden, falls sie sich nicht im aktuellen Speicherinhalt des zweiten Speicherbereichs befinden. Im Vergleich zum in Fig. 1 erläuterten herkömmlichen Verfahren, bei dem bei insgesamt 27 aufgerufenen Programmen lediglich elfmal ohne Schreibzugriff direkt aus dem Cache-Speicher abgearbeitet wurde, wird demgegenüber beim erfindungsgemäßen Verfahren gemäß Fig. 2 bei ebenfalls 27 aufgerufenen Programmen 20mal ohne Schreibzugriff direkt aus dem Cache-Speicher abgearbeitet. Aufgrund dieser zahlenmäßig deutlichen Differenz ergibt sich im Ausführungsbeispiel durch die geringere Zahl der Schreibzugriffe während des Programmablaufs eine gegenüber dem Stand der Technik schnellere Programmdurchführung. As in FIG. 1, the cache memory holds a maximum of four programs. According to the method according to the invention, however, in the exemplary embodiment the programs P 2 , P 3 , P 4 , P 5 are selected which have the highest frequency of calls and are stored in the assigned first memory area as write-protected, as is shown in FIG. 2 with the symbol "." is shown. As a result, selected programs P 2 , P 3 , P 4 , P 5 , which are called up during the program run, are addressed in the assigned first memory area and processed directly without write access, while the other programs P 1 , P 6 , P 7 , P 8 , which have been classified as unselected due to their lower call frequency and are called during program execution, are reloaded into the second memory area each time they are called, if they are not in the current memory content of the second memory area. In comparison to the conventional method explained in FIG. 1, in which only a total of 27 programs called were processed directly from the cache memory eleven times without write access, the method according to the invention according to FIG processed the cache memory. Due to this numerically clear difference, in the exemplary embodiment, the smaller number of write accesses during the program execution results in a faster program execution compared to the prior art.
Zur Durchführung des erfindungsgemäßen Verfahrens wird das Größenverhältnis von dem ersten zu dem zweiten Speicherbereich des Cachespeichers eingestellt und zwar in Abhängigkeit von der Größe bzw. Speichergröße der selektierten und unselektierten Programme, deren Anzahl und Aufrufhäufigkeit sowie dem Schwellenwert. To carry out the method according to the invention Size ratio from the first to the second Memory area of the cache memory set, depending on it on the size or memory size of the selected and unselected programs, their number and frequency of calls as well the threshold.
Eine andere Ausführungsform des erfindungsgemäßen Verfahrens
kann darin bestehen, dass die Einstufung der Programme einer
Anwendung in selektierte und unselektierte Programme nicht in
der initialisierenden Phase sondern während des
Programmablaufs vorgenommen wird.
Bezugszeichenliste
10 Programmablaufschema gemäß Stand der Technik
20 Programmablaufschema gemäß Erfindung
P1-P8 Programme bzw. Programmsegmente
Another embodiment of the method according to the invention can consist in that the classification of the programs of an application into selected and unselected programs is not carried out in the initializing phase but during the program run. 10 program flow diagram according to the prior art
20 program flow diagram according to the invention
P 1 -P 8 programs or program segments
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10221394A DE10221394A1 (en) | 2002-05-14 | 2002-05-14 | Operating cache memory in processor involves differentiating programs provided for call-up as selected and unselected programs; selected programs are installed in cache memory in write-protected manner |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10221394A DE10221394A1 (en) | 2002-05-14 | 2002-05-14 | Operating cache memory in processor involves differentiating programs provided for call-up as selected and unselected programs; selected programs are installed in cache memory in write-protected manner |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10221394A1 true DE10221394A1 (en) | 2003-12-04 |
Family
ID=29413798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10221394A Ceased DE10221394A1 (en) | 2002-05-14 | 2002-05-14 | Operating cache memory in processor involves differentiating programs provided for call-up as selected and unselected programs; selected programs are installed in cache memory in write-protected manner |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10221394A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69210714T2 (en) * | 1991-08-24 | 1996-12-12 | Motorola Inc | Real-time cache implemented by dual-purpose on-chip memory |
US6092151A (en) * | 1996-01-12 | 2000-07-18 | Samsung Electronics Co., Ltd. | CRT update apparatus and method for variable size cache memory using tags and address boundary determination |
-
2002
- 2002-05-14 DE DE10221394A patent/DE10221394A1/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69210714T2 (en) * | 1991-08-24 | 1996-12-12 | Motorola Inc | Real-time cache implemented by dual-purpose on-chip memory |
US6092151A (en) * | 1996-01-12 | 2000-07-18 | Samsung Electronics Co., Ltd. | CRT update apparatus and method for variable size cache memory using tags and address boundary determination |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69722979T2 (en) | Resource management method and device of a multitasking data processing system | |
DE2756890C2 (en) | Circuit arrangement for controlling the data transmission between a central processing unit and a plurality of peripheral units | |
DE4220698C2 (en) | Method for operating a data processing system | |
DE2556661A1 (en) | CONTROL CIRCUIT WITH ADDRESS EXTENSION | |
DE4426001A1 (en) | Process for avoiding overload during a system startup of a multi-computer system and multi-computer system therefor | |
EP1079307B1 (en) | Method for operating a memory system as well as memory system | |
EP1230590B1 (en) | Processor system | |
DE10115610A1 (en) | Method and base station for baseband processing of received signals | |
DE10221394A1 (en) | Operating cache memory in processor involves differentiating programs provided for call-up as selected and unselected programs; selected programs are installed in cache memory in write-protected manner | |
DE19859389C1 (en) | Method for controlling functional units in a processor and processor arrangement for carrying out the method | |
DE2759120A1 (en) | PROCESSOR FOR DATA PROCESSING SYSTEMS | |
EP1147466B1 (en) | Method for changing the flow of a program stored in a read-only memory | |
WO1994009432A1 (en) | Process for performing at least one test on at least one of the objects of an object-oriented program capable of running in parallel on a computer | |
DE102007042999A1 (en) | EDF implementation for real-time systems with static priorities | |
DE10121745A1 (en) | Method and arrangement for a stack with a memory divided into data groups with several elements | |
EP1248430A1 (en) | Method and device for generating filter masks for checking relevance of features | |
EP2463423B1 (en) | Method for producing a knitted pattern described with knit data in multiple processing stages and knit design system | |
DE19629055C2 (en) | Method for establishing a start state with regard to an interface by means of two identical command sequences | |
DE19622065C1 (en) | Central control system for communications network | |
EP2124309B1 (en) | Switching device with extendible technology function and related process | |
DE102019217764A1 (en) | Method for managing a hardware buffer memory and control unit | |
DE2451984A1 (en) | DATA PROCESSING SYSTEM | |
DE10220367B4 (en) | Method for controlling erasure methods in memories of a mobile telephone | |
DE10249597A1 (en) | Control method for memory/data storage cleaning in a portable data storage medium cleans up chip cards or chip modules with a processor core and a non-volatile writable semiconductor memory | |
EP1199813A2 (en) | Base station for a radio communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |