Method for statically reserving and allocating information to a memory area, information technology system and vehicle

The method addresses inefficiencies in microcontroller memory management by statically allocating output data to fixed memory areas, reducing runtime and memory needs through optimized mapping and swapping, especially with TCM, enhancing efficiency in systems with limited resources.

JP7797749B2Active Publication Date: 2026-01-13MERCEDES BENZ GROUP AG
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2025519663
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-10-05
Filing Date
2023-09-18
Publication Date
2026-01-13
Estimated Expiration
2043-09-18

AI Technical Summary

Technical Problem

Existing memory management methods, particularly in microcontrollers, are inefficient and cumbersome, leading to increased runtime due to memory space exhaustion and latency in dynamic memory allocation, which is not suitable for systems with limited computing resources.

Method used

A method for statically reserving and allocating information to memory areas by mapping output data from multiple functions to fixed memory areas based on a single analysis process, allowing simultaneous processing and reducing memory requirements through efficient mapping and swapping strategies, especially using tightly coupled memory (TCM) for auxiliary storage.

Benefits of technology

This approach reduces memory requirements and execution time by minimizing swapping and optimizing memory usage, particularly in microcontrollers, ensuring efficient operation even with limited resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007797749000001
    Figure 0007797749000001
  • Figure 0007797749000002
    Figure 0007797749000002
  • Figure 0007797749000003
    Figure 0007797749000003
Patent Text Reader

Abstract

The present invention relates to a method for statically reserving and allocating information in a memory area (1) of a memory (2) external to a processor of an information technology system, characterized in that the information technology system, in a single analysis process: checks which output data (6) of a function (4) are simultaneously processed by the processor during its iterative execution (5); maps the output data (6) to a fixed memory area (1); and in standard operation, during the iterative execution (5), the information technology system: writes first output data (6.1) to the fixed memory area (1.1) associated with it and leaves it in the fixed memory area (1.1) at least until the processor has completed processing of the function (4.1) requiring the first output data (6.1); writes second output data (6.2) to the same fixed memory area (1.1) to replace the first output data (6.1) before the processor has processed a function (4.2) requiring the second output data (6.2).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a method for statically reserving and allocating information to memory areas in a memory external to a processor of an information technology system, as defined in more detail in the preamble of claim 1, an information technology system for implementing said method, and a vehicle equipped with such an information technology system. [Background technology]

[0002] Information technology systems, such as PCs or microcontrollers, include various electrical and electronic components, for example in the form of embedded systems. Of particular importance here are processors used to execute code and memory elements used to store the corresponding code and to store information generated by the processor when processing the code. Typically, the availability of free memory in information technology systems is limited. Mass storage devices, such as hard disks or SSDs, have relatively large memory spaces and are relatively inexpensive, but have relatively slow processor access times. Typically, the faster the processor can access the memory elements, the smaller the available memory space and the more expensive the memory elements become.

[0003] To reduce the runtime of a program, it is desirable to distribute as much of the data processing as possible to memory elements that can be accessed by the processor in a relatively short time.

[0004] The part of an operating system that manages the memory hierarchy is called memory management. In relation to a PC, for example, memory management should provide efficient and convenient access to the physical working memory. During the runtime of the operating system, information about the operating system itself and the programs running on it is written to the working memory, which the computer's processor can access. In this case, it is possible that there is insufficient working memory to hold all the information. This is also called "spillover." This is improved by so-called dynamic memory management, in which data that is not currently needed is written from the working memory to a mass storage medium such as a hard disk or SSD. If the information is to be further processed, it is loaded into the working memory again, and other information is deleted from the working memory.

[0005] Dynamic memory management can be achieved using so-called bitmaps and chained lists.

[0006] A dynamic memory allocation method based on the use of chained lists is known, for example, from U.S. Pat. No. 005,784,698. In this document, the memory of a computer system is divided into a series of so-called buffer pools, each containing a number of buffers. The buffers in each buffer pool are the same size but are differentiated by the fact that they pass through different buffer pools. When information is written to memory, the individual buffers are filled sequentially, so that the largest free buffer is filled with information until excess information is generated. A check is then made to see which buffer is still large enough to accommodate the excess. This allows the smallest possible buffer to be provided to accommodate the excess, which prevents too much memory from remaining unused in the buffer being written to. This ensures efficient memory usage. However, this is a dynamic method and is correspondingly cumbersome.

[0007] Furthermore, DE 10 2019 217 844 A1 discloses a method for configuring a memory unit of a computing unit, which is a method for dynamic memory management, realizing a reconfiguration of the memory unit during normal operation of the computing unit, in which the division of the memory unit into separate memory areas is dynamically changed during runtime.

[0008] Because microcontrollers have very scarce computing resources, they impose special requirements on memory management. Therefore, dynamic memory management in microcontrollers is generally too cumbersome, so static memory allocation is implemented. To achieve this, the microcontroller's memory is divided into individual segments, and a fixed mapping is established as to which information generated during operation is written to each memory segment during the execution of a program or program section (also called a function). In this case, the sequential allocation of corresponding information to the individual memory segments quickly exhausts the available memory space. When memory space is no longer sufficient, the information must be swapped out to another memory. This results in an increase in the runtime of the corresponding program due to the latency associated with memory access. Summary of the Invention [Problem to be solved by the invention]

[0009] The object on which the present invention is based is to provide an improved method for statically reserving and allocating information to memory areas in memory external to the processor of an information technology system, which allows for efficient operation of the information technology system. [Means for solving the problem]

[0010] According to the invention, this object is achieved by a method for statically reserving and allocating information to a memory area of ​​a memory external to a processor of an information technology system with the features of claim 1. Advantageous configurations and developments, as well as a corresponding information technology system and a vehicle equipped with such an information technology system, become apparent from the claims dependent on claim 1.

[0011] A method for statically reserving and allocating information to memory areas in a memory external to a processor of an information technology system as mentioned in the introduction comprises the information technology system processing a chain of multiple functions during repeated execution by the processor to solve a task, each function providing output data as information that can be read by a function located downstream in the information flow direction, each output data being written to a separate memory area in the memory to which each function has access for reading, wherein the information technology system performs, in a single analysis process: -Check which output data of the function are processed simultaneously by the processor during the execution of the iterations; - mapping the output data to fixed memory areas, in which each output data is mapped to exactly one fixed memory area, and at least one first output data and at least one second output data processed by the processor at different times during the iterative execution are mapped to the same fixed memory area; During normal operation, repetitive execution of an information technology system: -writing the first output data to a fixed memory area associated with the first output data and leaving the first output data in the fixed memory area at least until the processor has completed processing of the function requiring the first output data; - writing the second output data to the same fixed memory area to replace the first output data before the function requiring the second output data is processed by the processor; This is an improvement made by the present invention.

[0012] Despite the static memory allocation, the method according to the invention allows different output data to be mapped to the same memory area, which reduces the memory requirement and allows smaller memories to be provided in the information technology system or the freed memory space to be used for other purposes.

[0013] This is achieved through a single analysis process that is performed separately from the standard operation of the information technology system. The method is particularly suitable for information technology systems that operate in a limited characteristic field, i.e., in a narrow area with fixed boundary conditions. This includes microcontrollers, such as those in the form of embedded systems, because a limited number of "standard program sequences" are processed here. This allows the number of functions processed in a task to remain manageable. This allows the costs of checking which output data of functions are simultaneously processed by the processor during repeated execution and of correspondingly mapping the output data to fixed memory areas to be kept within limits.

[0014] The above-mentioned one-time analysis process can be carried out, for example, during the development of an information technology system / embedded system, i.e., during the development of the embedded system, the requirements specification of the embedded system is defined, along with the tasks to be processed and the functions to be processed for the tasks. In this way, it is clearly defined which output data will be generated at what time, which allows for a fixed memory allocation for each output data according to the method of the present invention.

[0015] Two cases need to be distinguished here: in the first case, in the task, the function requiring the first output data is present only before the function(s) requiring the second output data, whereas in the second case, in the task, at least one function requiring the first output data is also present after the function requiring the second output data. These cases are explained in more detail below.

[0016] In an advantageous development of the method, if the third output data is provided before the fourth output data and the function requiring the third output data is processed by the processor after the function requiring the fourth output data, the third output data and the fourth output data are mapped to different fixed memory areas, i.e., the third output data and the fourth output data are not subject to a common mapping of the same memory area, despite being required by different functions processed by the processor at different times. This helps to meet the second case mentioned above.

[0017] According to a further advantageous configuration of the method, the memory is formed by a main memory and the information technology system has at least one auxiliary memory, and the first output data is discarded from the main memory or swapped out to the at least one auxiliary memory in order to replace the first output data with the second output data.

[0018] In general, the output data provided or read by any function may form first, second, third, fourth or other output data, depending on which other output data it is associated with. The terms "first," "second," "third," and "fourth" are used herein only to more clearly distinguish the order of processing in the direction of information flow.

[0019] According to the first case, the first data is erased from the fixed memory area and replaced by the second output data, since it is no longer needed later by another function.

[0020] According to the second case, the third output data cannot simply be erased from memory because it will be needed again after the fourth output data has been processed by at least one function. To solve this problem, two strategies are used.

[0021] Because the third output data and the fourth output data are written to separate memory areas, the problem of having to delete the third output data from the memory area so that the fourth output data can be written to the memory area no longer exists.

[0022] Alternatively, the third output data can be swapped out to secondary memory as long as the function requires the fourth output data. Swapping out in this context means that the third output data is indeed deleted from main memory, but is copied to secondary memory before being discarded. The third and fourth output data are understood to be similar to the first and second output data, as already explained above.

[0023] In a further advantageous embodiment of the method, the auxiliary memory has a different access time than the main memory, and in particular, a tightly coupled memory (TCM) is used as the auxiliary memory. In other words, the auxiliary memory can be formed by a memory element with a different physical configuration from the main memory. Here, the access time, i.e., the time required to read and write information, can be long or short. It is particularly advantageous if the auxiliary memory is a TCM and therefore has a particularly short access time. A TCM is a memory element located physically very close to the corresponding processor, thereby achieving particularly short access times. For example, an SRAM multi-transistor memory module can be used. The management effort, also referred to as "overhead," for memory management of a TCM is lower than the management effort for a processor cache. In addition to output data, time-critical routines, such as so-called interrupt handler routines, real-time tasks, and so-called interrupt stacks, can be stored in the TCM.

[0024] In another advantageous embodiment of the method, the information technology system solves at least two different tasks simultaneously, at least temporarily. The simultaneous processing of multiple tasks is realized using the information technology system. Therefore, the available computing resources must be allocated to the individual tasks. The method according to the present invention is particularly advantageous here, since it allows for efficient allocation of information even in information technology systems with limited computing resources, particularly limited memory elements. During the analysis process, the information technology system checks, for all tasks, which output data of each function of all tasks are simultaneously processed by the processor. This also allows for efficient mapping of each output data of each function of all tasks to fixed memory areas. The at least two different tasks can be completely simultaneously processed by the processor, i.e., can start and end simultaneously, or the at least two different tasks can have different start or end times.

[0025] In a further advantageous configuration of the method, the output data of the function of the first task is written to the main memory, and the output data of the function of the second task is written to one of the auxiliary memories. Generally, all output data of tasks different from the first task can be written to the same auxiliary memory. However, if the information technology system has multiple auxiliary memories, the output data of different tasks can also be written to separate auxiliary memories. By distributing the output data to the memory according to the tasks, more efficient memory management is possible. This is particularly advantageous when there is no need to exchange information, i.e., output data, between tasks. This allows for particularly efficient use of computing resources, as the write or read access of another task is not blocked by the wait time due to the latency for writing or reading the output data of each task to or from the memory element. This reduces the execution or solution time of each task. If two tasks depend on information exchange, the output data of the two tasks can be written to a common memory.

[0026] According to a further advantageous configuration of the method, the information technology system determines the memory requirements of each output data item and maps only output data items having substantially the same memory requirements to the same fixed memory area. "Substantially the same" here means exactly the same, i.e., two different output data items both have a size of 156 KB, for example. Alternatively, two different output data items may have different sizes, but only with a relatively small difference. For example, the size of a first output data item may be 128 KB, and the size of a second output data item may be 156 KB. The difference in file size that determines two different output data items as having "substantially" the same size may be fixed or may depend on the file size of each output data item. For example, the allowable size difference may correspond to a percentage value, such as 10% or 20% of the file size of the output data item. For example, if the size of the output data item is 128 KB, the allowable difference may be 13 KB or 26 KB.

[0027] By allocating output data of substantially the same size to a fixed memory area in this manner, more efficient use of memory space is possible. In other words, if output data of different sizes were mapped to the same fixed memory area, available memory space would be wasted in the memory if only relatively small output data were stored after very large output data. This can be prevented.

[0028] In a further advantageous embodiment of the method, the information technology system applies a genetic algorithm to the analysis process to determine which output data should be mapped to the same fixed memory area in each case. The problem of which output data should be mapped to which fixed memory area corresponds to a Pareto-optimal optimization problem. Generally, other optimization algorithms, such as so-called greedy optimization or dynamic optimization, can also be used, but these optimization algorithms no longer have polynomial runtimes. On the other hand, a genetic algorithm reliably leads to a converged solution in any situation. This increases the reliability of finding the optimal mapping.

[0029] According to a further advantageous configuration of the method, the first optimization goal is to minimize the total runtime of the tasks to be solved, and the second optimization goal is to minimize the percentage of memory used by fixed memory areas. For users of information technology systems, it is particularly important that tasks to be completed are solved, i.e., processed, very quickly. This is therefore the primary optimization goal. In addition, it is also important to reduce the percentage of used memory space so that it can be used for other purposes. This is therefore a secondary condition.

[0030] The runtime of a task and the proportion of memory occupied are interdependent. In traditional static memory allocation, each output data is mapped to a separate, fixed memory area. Therefore, the memory occupation rate is relatively high, and in some cases, the output data needs to be swapped out. The more output data that is moved to the stack residing in auxiliary memory, the longer the runtime of each task becomes, as each output data must be "swapped" between main memory and auxiliary memory. These access times lead to increased latency, which in turn increases the execution time of the task. Therefore, it is desirable to allocate as much output data as possible to one and the same memory area.

[0031] The method according to the invention achieves exactly this, providing more memory space in the memory, so that, depending on the complexity of the task being processed, it is no longer necessary to swap out output data to auxiliary memory.

[0032] However, as mentioned above, there may be cases where some output data is needed again at a later point in time, and therefore the corresponding output data cannot simply be deleted from the main memory. Therefore, even if the output data is mapped to the same fixed memory area multiple times, it is important to map the output data to a fixed memory area so as to minimize the number of required swap-out processes. Here, taking into account the first and second optimization goals, the genetic algorithm in particular finds a relatively optimal solution with high reliability.

[0033] According to the invention, an information technology system designed to implement the aforementioned method is configured as a microcontroller, and as already explained above, the use of the method according to the invention is particularly suitable in the environment configured as a microcontroller.

[0034] According to the invention, a vehicle includes the aforementioned information technology system. Particularly advantageously, the information technology system is configured as a microcontroller. The method according to the invention can therefore be integrated into individual control devices or computing units of the vehicle, thus improving the efficiency of the respective hardware components. This means that particularly efficient memory usage can be achieved, and the runtime of tasks processed by the individual control devices can also be reduced.

[0035] The vehicle may be any vehicle such as a car, truck, transporter, bus, etc. Besides road vehicles, for example, rail vehicles, surface / underwater vehicles or aircraft are also suitable for the integration of the aforementioned information technology systems.

[0036] Further advantageous configurations of the method according to the invention for statically reserving and allocating information to memory areas in a memory external to a processor will become apparent from the following detailed description of exemplary embodiments with reference to the figures. [Brief explanation of the drawings]

[0037] [Figure 1] FIG. 1 illustrates a schematic diagram of a component data flow graph of a function used to solve a task by an information technology system. [Figure 2] FIG. 1 is a diagram illustrating a conventional memory allocation. [Figure 3] FIG. 2 is a diagram illustrating a memory allocation according to the present invention; [Figure 4] FIG. 1 is a diagram illustrating a schematic of a component data flow graph for two tasks with different runtimes. DETAILED DESCRIPTION OF THE INVENTION

[0038] Information technology systems, such as PCs or embedded systems, are used to solve various problems in everyday life. To do this, information is processed by a processor in the information technology system. Figure 1 shows a component data flow graph of the information processed by the processor. For clarity, not all relevant parts are labeled in each figure.

[0039] A first task 3.1 and a second task 3.2 can be seen. Each task 3.1 and 3.2 can be formed by an individual program or subprogram. Here, tasks 3.1, 3.2 are processed during an iterative execution 5. The current point in the iterative execution 5 is referred to here as execution position 7. To solve each task 3.1, 3.2, individual functions 4 that are interdependent or sequentially arranged are processed by the processor. These functions 4 are likewise formed by individual program code modules. The functions 4 can have an input interface 8.1 for receiving output data 6 and an output interface 8.2 for outputting the output data 6.

[0040] At any point during an iteration 5, different output data 6 are active, also called "live". This means that this output data 6 must be processed by the processor and is provided to the processor accordingly. In the illustrated example, at the execution position 7, the output data 6: "a", "b", "h" and "n" are live.

[0041] To be able to solve tasks 3.1 and 3.2, the processors must have access to the respective output data 6. For this purpose, the output data 6 are written to memory 2 after they have been generated. Memory 2 is shown in more detail in Figures 2 and 3. Figure 2 shows memory allocation according to known methods.

[0042] In a variation of the embodiment shown in the drawing, the information technology system comprises a main memory 2.1 and an auxiliary memory 2.2. The auxiliary memory 2.2 is preferably a so-called Tightly Coupled Memory (TCM). Typically, output data 6 are generated by a function 4 and then written sequentially into individual memory areas 1 of the memory 2. A part of the memory is reserved for code 9, e.g., the code 9 used to train the function 4.

[0043] The memory requirements for each output data 6 may be different, which is indicated in FIG. 2 by the different sized boxes.

[0044] Furthermore, the auxiliary memory 2.2 is used to store a so-called stack 10, which is used to swap out information, including the aforementioned output data 6. As can be seen from Fig. 2, according to methods for static memory allocation known from the prior art, the main memory 2.1 is already completely filled. The output data 6 generated in the further course of the iteration 5 cannot simply be written to the main memory 2.1. In this case, the output data 6 that are no longer needed must be swapped out from the main memory 2.1 to the auxiliary memory 2.2. However, this takes time due to read accesses to the main memory 2.1 and write accesses to the auxiliary memory 2.2, thereby increasing the execution time or runtime of the respective tasks 3.1, 3.2 during the iteration 5.

[0045] In order to reduce memory requirements and improve runtime, a method according to the present invention is applied for static memory allocation. In one analysis process, the information technology system checks which output data 6 of a function 4 will be simultaneously processed by the processor during an iteration 5. The output data 6 are then assigned to the fixed memory area 1 so that each output data 6 is assigned to exactly one fixed memory area 1, where at least one first output data 6.1 and at least one second output data 6.2, which are processed by the processor at different times during the iteration 5, are assigned to the same fixed memory area 1. In standard operation during the iteration 5, the information technology system then writes the first output data 6.1 to the fixed memory area 1.1 associated with it and leaves it there until the processor has completed processing of the function 4.1 that requires this first output data 6.1. The information technology system then writes the second output data 6.2 to the same fixed memory area 1.1 to replace the first output data 6.1 before the function 4.2 requiring the second output data 6.2 is processed by the processor. In general, each of the output data 6 can form the first output data 6.1, the second output data 6.2, or the third output data 6.3 or even the fourth output data 6.4. By way of example, the reference symbols "a" and "c" have been selected for the output data 6. The corresponding distribution in the memory 2 is shown in FIG. 3.

[0046] As can be seen from Figure 1, the output data 6 "a" is no longer needed after being processed by the function 4 marked by the letter C, and accordingly is no longer live thereafter. Therefore, the output data 6 "a" can be replaced by the output data 6 "c".

[0047] In a particularly simple embodiment of the method according to the invention, output data 6 that are no longer live during an iteration 5 are completely erased from the main memory 2.1, so no swapping out to the auxiliary memory 2.2 is necessary. However, this increases the memory space requirements for the main memory 2.1, as the number of output data 6 that can be stored in one and the same fixed memory area 1 is potentially reduced.

[0048] That is, in the case referred to above as the "second case," when function 4.3 requiring third output data 6.3 (here, for example, output data 6 "h") is processed by the processor after function 4.4 requiring fourth output data 6.4 (here, output data 6 "b"), it may happen that the third output data 6.3 is provided before the fourth output data 6.4, and the third output data 6.3 and the fourth output data 6.4 are associated with different fixed memory areas 1.2 and 1.3.

[0049] However, since these two output data 6 are not processed by the processor simultaneously, it is generally possible to map the output data 6 "h" and 6 "b" to the same fixed memory area 1. However, since the output data 6 "h" will be needed again later, it must be loaded back into the main memory 2.1 so that the processor or function 4.3 can access it. Alternatively, the output data 6 "h" can be temporarily swapped out to the auxiliary memory 2.2. This can reduce the memory space in the main memory 2.1, but increases the runtime of each task 3.1 due to data access. That is, the output data 6 "h" must first be read from the main memory 2.1, then written to the auxiliary memory 2.2, and then read from the auxiliary memory 2.2 and written back to the main memory 2.1.

[0050] However, if the auxiliary memory 2.2 is sufficiently fast so that the access time to the auxiliary memory 2.2 is on the same order as the processor clock frequency, for example if it is implemented as a TCM, it is also possible to read the individual output data 6 directly from the auxiliary memory 2.2 to the processor, without first writing them to the main memory 2.1, thereby further reducing the runtime of the iterative execution 5.

[0051] Furthermore, if the auxiliary memory 2.2 is configured as a TCM, so-called hotspot code 11 can also be provided in the auxiliary memory 2.2. The so-called hotspot code 11 is a code element that is processed very frequently by the processor, for example the body or core of a loop, which allows further reductions in execution time.

[0052] As shown in Figure 4, each function 4 may have its own processing time, indicated by boxes of different lengths. This may result, on the one hand, from the access time required to read or write the corresponding output data 6, and, on the other hand, from the actual processing time of the respective function 4. This may result in the individual tasks 3.1 and 3.2 having different execution times. As can be seen from Figure 4, the individual iterative executions 5 of the respective tasks 3.1 and 3.2 may seamlessly follow each other (solid lines). This reality is taken into account by the information technology system in the analysis process to determine which output data 6 of the individual functions 4 are simultaneously processed by the processor.

[0053] On the other hand, the information technology system can also provide pauses to coordinate the iterations 5 of the first task 3.1 with each other, so that the first task 3.1 is executed again when the second task 3.2 starts again. This is represented in Figure 4 by the dashed line and the time offset ΔT. This has the advantage that there is no lag in the processing times of the respective functions 4, and therefore fewer possible combinations of functions 4 or output data 6 can be processed simultaneously. However, it has the disadvantage that the first task 3.1 is processed less frequently. Here, it is important to consider what variations should be implemented by the information technology system depending on the application case. [Prior art documents] [Patent documents]

[0054] [Patent Document 1] U.S. Patent No. 005784698 [Patent Document 2] German Patent Application Publication No. 102019217844

Claims

1. A method for statically reserving and allocating information to a memory area (1) in a memory (2) external to a processor of an information technology system, comprising: The information technology system processes a chain of multiple functions (4) during repeated execution (5) by a processor to solve a task (3.1, 3.2), each of which provides output data (6) as information that can be read by a function (4) downstream in the information flow direction, and each of which writes output data (6) to a separate memory area (1) of the memory (2) that each of the functions (4) has access to for reading, The information technology system, during one analysis process: - checking which output data (6) of said function (4) are processed simultaneously by said processor during its iterative execution (5); - mapping said output data (6) to fixed memory areas (1), in which each output data (6) is mapped to exactly one fixed memory area (1), and at least one first output data (6.1) and at least one second output data (6.2) processed by said processor at different times during said iterative execution (5) are mapped to the same fixed memory area (1); The information technology system, in standard operation, during an iterative run (5): - writing said first output data (6.1) into said fixed memory area (1.1) associated with said first output data (6.1) and leaving said first output data (6.1) in said fixed memory area (1.1) at least until said processor has completed processing of a function (4.1) requiring said first output data (6.1); - writing said second output data (6.2) into the same fixed memory area (1.1) to replace said first output data (6.1) before a function (4.2) requiring said second output data (6.2) is processed by said processor; A method characterized by:

2. When the third output data (6.3) is provided before the fourth output data (6.4) and the function (4.3) requiring the third output data (6.3) is processed by the processor after the function (4.4) requiring the fourth output data (6.4), the third output data (6.3) and the fourth output data (6.4) are mapped to different fixed memory areas (1.2, 1.3).

2. The method of claim 1.

3. The memory (2) is formed by a main memory (2.1), the information technology system has at least one auxiliary memory (2.2), and the first output data (6.1) is discarded from the main memory (2.1) or swapped out to the at least one auxiliary memory (2.2) to replace the first output data (6.1) with the second output data (6.2).

3. The method according to claim 1 or 2.

4. The auxiliary memory (2.2) has an access time different from that of the main memory (2.1), and in particular a tightly coupled memory (TCM) is used as the auxiliary memory (2.2).

4. The method according to claim 3.

5. The information technology system solves at least two different tasks (3.1, 3.2) simultaneously, at least temporarily.

2. The method of claim 1.

6. The output data (6) of the function (4) of the first task (3.1) is written to the main memory (2.1), and the output data (6) of the function (4) of the second task (3.2) is written to one of the auxiliary memories (2.2).

4. The method according to claim 3.

7. The information technology system determines the memory capacity required for each output data (6) and associates only output data (6) having substantially the same memory capacity required with the same fixed memory area (1).

2. The method of claim 1.

8. The information technology system applies a genetic algorithm to determine in each case which output data (6) should be associated with the same fixed memory area (1) during the analysis process.

2. The method of claim 1.

9. The first optimization goal is to minimize the total runtime of the tasks (3.1, 3.2) to be solved, and the second optimization goal is to minimize the percentage of the memory (2) used by the fixed memory area (1).

9. The method according to claim 8.

10. 10. An information technology system for implementing the method of claim 1, comprising: Formed as a microcontroller 1. An information technology system comprising:

11. An information technology system according to claim 10 A vehicle characterized by:

Citation Information

Patent Citations

  • Memory management method and device, electronic equipment and storage medium

    CN114201298A

  • Method for configuring a storage unit of a computing unit

    DE102019217844A1

  • Parallel processing device for accessing memory, method performed by computer, system, and computer-readable medium

    JP2019220201A

  • Compiler-driven dynamic memory allocation methodology for scratch-pad based embedded systems

    US20060080372A1

  • Efficient data encoding for deep neural network training

    US20190347549A1