Method for statically assigning and allocating information to a storage area, information technology system and vehicle

By statically assigning and allocating the external storage area of ​​the processor in the information technology system, the problems of insufficient storage space and increased runtime on the microcontroller are solved, and more efficient memory management and task execution are achieved.

CN118974710BActive Publication Date: 2026-02-27MERCEDES BENZ GRP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202380031883.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-10-05
Filing Date
2023-09-18
Publication Date
2026-02-27
Estimated Expiration
2043-09-18

AI Technical Summary

Technical Problem

The conflict between processor access time to storage elements and available storage space in information technology systems, especially the overly complex dynamic memory management in microcontrollers, leads to insufficient storage space and increased program execution time.

Method used

Through a one-time analysis process, the external storage area of ​​the information technology system's processor is statically assigned and allocated, the storage area of ​​output data is checked and fixed, and the memory usage is optimized and storage requirements are reduced by utilizing the different access time characteristics of main memory and secondary memory.

Benefits of technology

It effectively utilizes storage space, reduces memory requirements, and shortens task execution time, making it particularly suitable for microcontrollers and embedded systems, thereby improving the utilization of computing resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118974710B_ABST
    Figure CN118974710B_ABST
Patent Text Reader

Abstract

The invention relates to a method for statically assigning information to a storage area (1) of a processor-external memory (2) of an information technology system. The method according to the invention is 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 the execution of an iteration (5); assigns the output data (6) to a fixed storage area (1); and the information technology system, during the execution of the iteration (5): writes first output data (6.1) to the storage area (1.1) assigned thereto and leaves it at least in the fixed storage area (1.1) until the first function (4.1) requiring the first output data (6.1) has been processed by the processor; and writes second output data (6.2) to the same fixed storage area (1.1) to replace the first output data (6.1) before a function (4.2) requiring the second output data (6.2) is processed by the processor.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The invention relates to a method for statically assigning and allocating information to a memory area of an external memory of a processor of an information technology system of the type defined in more detail in the preamble of claim 1, an information technology system for carrying out the method and a vehicle having such an information technology system. BACKGROUND

[0002] Information technology systems, for example PCs or microcontrollers, for example in the form of embedded systems, comprise various electrical and electronic components. In this context, in particular the processor for executing code and the storage elements for storing the respective code and information obtained by the processor during processing the code are of particular importance. The availability of available memory in information technology systems is usually limited. While mass storage, such as hard disks or solid state disks, have a relatively large storage space and are therefore relatively inexpensive, the access time of the processor to them is relatively slow. In general, the faster the access of the processor to the storage elements, the smaller the available storage space and the more expensive the storage elements.

[0003] In order to reduce the runtime of a program, it is desirable to allocate as high a proportion as possible of the data processing to storage elements for which the processor has a relatively short access time.

[0004] The part of the operating system that manages the memory hierarchy is called memory management. In the context of a PC, for example, memory management is intended to provide efficient and comfortable access to the physical memory. During the runtime of the operating system, information about the operating system itself and programs running on the operating system is written to the memory so that it can be accessed by the processor of the computer. In this context, it can occur that there is not enough memory to accommodate all the information. This is also referred to as "overflow effect". So-called dynamic memory management provides a remedy, in which data that is not currently needed is written from the memory to a corresponding mass storage medium, for example a hard disk or a solid state disk. If the information is to be further processed, it is reloaded into the memory and other information is deleted from the memory.

[0005] Dynamic memory management can be implemented using bitmaps and linked lists.

[0006] For example, a dynamic memory allocation method based on using linked lists is known from US 005784698 A. In this case, the computer system's memory is divided into a series of so-called buffer pools, each containing multiple buffers. The buffers in each buffer pool have the same size and vary between different buffer pools. If information is to be written to memory, the individual buffers are gradually filled, where, in this case, the largest free buffer is filled with information until there is excess information. It is then checked which buffer is still large enough to accommodate the excess memory. This allows for providing the smallest possible buffer to accommodate the excess, thus preventing too much unused memory from being left in the buffers. This ensures efficient memory utilization. However, this is a dynamic process and is therefore complex.

[0007] Furthermore, DE 10 2019 217 844 A1 discloses a method for configuring the storage units of a computing unit. This is a method for dynamic memory management that allows the storage units to be reconfigured during the normal operation of the computing unit. To this end, the partitioning of storage units into individual storage regions is dynamically changed during operation.

[0008] Microcontrollers place unique demands on memory management due to the scarcity of available computing resources. Therefore, dynamic memory management on microcontrollers is often too complex, hence the need for static memory allocation. To this end, the microcontroller's memory is divided into separate segments with fixed allocations. During the processing of a program or program segment (also called a function), information acquired during operation is written to the corresponding memory segment. In this scenario, the information is gradually distributed across various memory segments, resulting in the rapid depletion of available memory space. If storage space is no longer sufficient, the information must be moved to another memory location. This increases the runtime of the corresponding program due to the latency associated with memory access. Summary of the Invention

[0009] The purpose of this invention is to provide an improved method for statically assigning and allocating information to storage areas of external memory of an information technology system, which allows the information technology system to operate more efficiently.

[0010] According to the invention, this objective is achieved by a method having the features of claim 1 for statically assigning and allocating information to a storage region of an external memory of an information technology system. Advantageous designs and improvements, as well as corresponding information technology systems and vehicles having such information technology systems, are derived from the related claims.

[0011] A method for statically assigning and allocating information to storage areas of a processor-external memory of an information technology system of the initially mentioned type, wherein the information technology system processes a plurality of concatenated functions during an execution iteration by a processor to solve a task, wherein the respective function provides output data as information after its processing, which can be read by a function downstream in the information flow direction, and wherein the respective output data is written into a separate storage area of the memory accessed by the respective function to provide a read-in, according to the invention, the information technology system further develops the following during a one-time analysis:

[0012] - checking which output data of the functions are processed simultaneously by the processor during the execution iteration;

[0013] - allocating the output data to fixed storage areas, wherein each output data is allocated exactly to one fixed storage area, and wherein at least a first output data and a second output data processed by the processor at different points in time during the execution iteration are allocated to the same fixed storage area; and

[0014] the information technology system during the execution iteration:

[0015] - writes the first output data into the fixed storage area allocated thereto and leaves it at least in the fixed storage area until the processor has processed the first function that requires the first output data; and

[0016] - writes the second output data into the same fixed storage area to replace the first output data before the function requiring the second output data is processed by the processor.

[0017] The method according to the invention allows different output data to be allocated to the same storage area despite static memory assignment. This reduces the storage requirement of the memory, the result of which is that a smaller memory can be installed in the information technology system or the released storage space can be used for something else.

[0018] This is achieved by a one-time analysis process that is separate from the standard operation of the information technology system. The method is particularly suitable for information technology systems that operate in a limited characteristic map, i.e. in a narrow range of fixed predetermined boundary conditions. This includes microcontrollers, for example in the form of embedded systems, because here a limited number of "standard program sequences" are processed. This means that the number of functions to be processed in a task remains manageable. Correspondingly, the effort of checking which output data of the functions are processed simultaneously by the processor during the execution iteration and of allocating the output data to the fixed storage areas appropriately can be kept within limits.

[0019] Then, for example, during the development of information technology / embedded systems, a one-time analysis process can be performed. Thus, in the development of an embedded system, its requirement specification is defined, thereby defining the tasks to be processed and accordingly the functions to be processed. Thus, it is fixed which output data and when occurs, which allows a fixed memory allocation of the respective output data according to the method of the present application.

[0020] Two cases must be distinguished. The first case provides that the function requiring the first output data only exists in the task before the function(s) requiring the second output data, while the second case provides that at least one function requiring the first output data exists in the task even after such function requiring the second output data. These cases will be discussed in detail below.

[0021] Thus, an advantageous refinement of the method provides that the third output data is provided before the fourth output data and that the third output data and the fourth output data are allocated to different fixed memory areas when the processor processes the function requiring the third output data after the function requiring the fourth output data. Thus, different functions processed by the processor at different points in time require the third output data and the fourth output data, however, the third output data and the fourth output data are not suitable for a common allocation of the same memory area. This is in order to meet the second case.

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

[0023] In general, the output data provided or read in by any function can in each case form the first, second, third, fourth or further output data, depending on which other output data the output data considered is associated with. The terms "first", "second", "third" and "fourth" are used here merely to better distinguish the order of the editing in the direction of the information flow.

[0024] According to the first case, the first output data can be deleted from the fixed memory area and replaced by the second output data, since the first output data is no longer required by any further function subsequently.

[0025] According to the second case, the third output data cannot simply be deleted from the memory, since the third output data is required again after the fourth output data is processed by the at least one function. There are two strategies to solve this problem.

[0026] Alternatively, the third and fourth output data are written into separate storage areas, so that the problem that the third output data has to be removed from the storage area in order to be able to write the fourth output data into it no longer exists at all.

[0027] Alternatively, the third output data can be moved out into the secondary storage as soon as the function requires the fourth output data. In this case, moving out means that the third output data is also deleted from the main storage, but is copied into the secondary storage before being discarded. As mentioned above, the third output data and the fourth output data can be understood as an analogy to the first and second output data.

[0028] A further advantageous design of the method also provides that the secondary storage has a different access time than the main storage, in particular, a tightly coupled memory (TCM) is used as secondary storage. In other words, the secondary storage can be implemented by storage elements which are physically different from the main storage. In this case, the access time, i.e. the time required to read or write information, can be longer or shorter. It is particularly advantageous if it is a TCM, thus having a particularly short access time. A TCM is a storage element which is physically particularly close to the respective processor. This makes the access time particularly short. For example, it can be an SRAM transistor memory module. In this case, the management effort, also called "overhead", for managing the memory of the TCM is lower than the management effort of the cache of the processor. In addition to the output data, time-critical routines can also be stored in the TCM, such as so-called interrupt handling routines, real-time tasks and so-called interrupt stacks.

[0029] According to a further advantageous design of the method, the information technology system at least temporarily solves at least two different tasks at the same time. It is also possible to process several tasks at the same time with the help of the information technology system. In this case, the respective available computing resources have to be allocated to the individual tasks. The method according to the application is particularly effective here, because an efficient division of the information is thus possible even on information technology systems with limited computing resources, in particular storage elements. In the analysis, the information technology system then checks which output data of the individual functions of the processor processing all tasks at the same time. Accordingly, it is also possible to efficiently allocate the respective output data of the functions of all tasks to the fixed storage areas of the memory. The processor can process the at least two different tasks completely simultaneously, i.e. start and end at the same time, or have different start and end points in time from each other.

[0030] A further advantageous design of the method also provides that the output data of the function of the first task are written to the main memory and the output data of the function of the second task are written to one of the secondary memories. In general, all output data of other tasks than the first task can be written to the same secondary memory, or, if the information technology system has multiple secondary memories, the output data from individual tasks can also be written to individual secondary memories. The division of the storage of the output data according to the tasks allows a more efficient memory management. This is particularly advantageous if no exchange of information, i.e. output data, between the tasks is required. As a result, the computing resources are particularly efficiently utilized, so that the latency time resulting from the delay of writing or reading the output data of the respective task to or from the storage element does not prevent the writing or reading access to another task. As a result, the execution time or solution time of an individual task can be shortened. If two tasks are dependent on the exchange of information, the output data of these tasks can be written to a shared memory.

[0031] According to a further advantageous design of the method, the information technology system determines the storage requirement of each output data and only those output data having essentially the same storage requirement are assigned to the same fixed storage area. In this case, essentially the same means exactly the same, i.e. for example, two different output data are both 156 KB in size and two different output data can also be of different sizes, but only with a relatively small difference. For example, the first output data can be 128 KB and the second output data can be 156 KB. The difference in file size for which two different output data are considered "essentially" the same can be fixed or also dependent on the file size of the respective output data. For example, the allowed size difference can correspond to a percentage value such as 10% or 20% of the file size of the output data. For example, if the output data is 128 KB, the allowed deviation can be 13 or 26 KB.

[0032] The assignment of such essentially identically sized output data to a fixed storage area allows a more efficient utilization of the storage space of the memory. This is because, if output data of different sizes are assigned to the same fixed storage area, the available storage space on the memory will be wasted if only relatively small output data are stored after a particularly large output data. This can be prevented.

[0033] A further advantageous design of the method also provides that the information technology system applies a genetic algorithm in the analysis to determine which output data are to be assigned to the same fixed storage area in each case. The question of which output data are assigned to which fixed storage area constitutes a Pareto-optimal optimization problem. In general, other optimization algorithms can also be used, for example the so-called greedy or dynamic optimization, but which no longer have a polynomial running time. However, the genetic algorithm reliably leads to a convergent solution in any case. This increases the reliability of finding the optimal assignment.

[0034] According to a further advantageous design of the method, a first optimization goal pursued is to minimize the total run time of the tasks to be solved, and a second optimization goal pursued is to minimize the proportion of the memory occupied by the fixed storage areas. It is of particular interest to the user of the information technology system if the tasks to be completed are solved, i.e. processed, particularly quickly. This is therefore the main goal of the optimization. In addition, it is important to reduce the share of occupied memory so that it can be used for other purposes. This is therefore a secondary condition.

[0035] The run time of a task and the proportion of occupied memory are interdependent. In previous static memory assignments, each output data was allocated to a separate fixed storage area. Accordingly, the memory was relatively occupied, and if necessary, the output data had to be moved out. The more output data that is transferred to the stack available on the secondary memory, the longer the run time of the corresponding task, since the corresponding output data has to be “exchanged” between the primary memory and the secondary memory. These access times lead to an increase in the delay, which in turn increases the execution time of the task. It is therefore desirable to allocate as much output data as possible to the same storage area in each case.

[0036] The method according to the invention makes this possible, resulting in more storage space being available on the memory, which allows output data to no longer be stored to the secondary memory depending on the complexity of the tasks to be processed.

[0037] However, as already mentioned, it can also happen that the output data is required again at a later point in time, the result of which is that the corresponding output data cannot simply be deleted from the primary memory. It is therefore important to allocate the output data to the fixed storage areas such that the number of required move-out operations is reduced to a minimum, even when the output data is allocated to the same fixed storage area several times. The genetic algorithm finds a relatively optimal solution here in particular reliably, taking into account the first and second optimization goals.

[0038] According to the invention, the information technology system for carrying out the above-mentioned method is designed as a microcontroller. The special suitability of the method according to the invention for use in an environment designed as a microcontroller has already been explained above.

[0039] According to the invention, a vehicle comprises the above-mentioned information technology system. In this case, the information technology system is particularly advantageously designed as a microcontroller. The method according to the invention can thus be integrated into individual control devices or computing units of the vehicle, thereby increasing the efficiency of the respective hardware components. The memory can thus be utilized particularly effectively, and the run time of the tasks processed by the individual control devices can be reduced.

[0040] The vehicle can be any vehicle, for example a car, a truck, a van, a bus, etc. In addition to road vehicles, railway vehicles, water vehicles or for example aircraft are also suitable for integrating the information technology system. BRIEF DESCRIPTION OF DRAWINGS

[0041] Further advantageous design options of the method for statically assigning information to a storage region of a processor-external memory according to the application also result from the embodiments, which will be described in more detail below with reference to the drawings.

[0042] wherein:

[0043] Figure 1 A schematic diagram of a component data flow graph of a function for solving a task by means of an information technology system is shown;

[0044] Figure 2 A schematic diagram of a classical memory assignment is shown;

[0045] Figure 3 A schematic diagram of a memory assignment according to the application is shown; and

[0046] Figure 4 A schematic diagram of a component data flow graph of two tasks is shown, the runtime of which is different. DETAILED DESCRIPTION

[0047] Information technology systems, such as personal computers or embedded systems, are used in everyday life to solve a wide variety of problems. For this purpose, information is processed by a processor of the information technology system. Figure 1 A component data flow graph of the information processed by the processor is shown. For the sake of clarity, not all relevant positions are denoted with reference numerals in the drawing.

[0048] A first and a second task 3.1 and 3.2 can be identified. The respective tasks 3.1 and 3.2 can be implemented by separate programs or subprograms. The tasks 3.1, 3.2 are processed during an execution iteration 5. The current point in time in the execution iteration 5 is designated here as an execution position 7. For solving the respective tasks 3.1, 3.2, the processor processes a single function 4, which is dependent on or built up by one another. This function 4 is likewise implemented by a separate program code module. The function 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.

[0049] At the respective point in time during the execution iteration 5, different output data 6 are active, also referred to as "live". This means that these output data 6 have to be processed by the processor and are accordingly available to the processor. In the embodiment shown, the output data 6: "a", "b", "h" and "n" are active at the execution position 7.

[0050] In order to be able to solve the tasks 3.1, 3.2, the processor must have access to the respective output data 6. For this purpose, the output data 6 is written into the memory 2 after generation. Figure 2 and Figure 3 The memory 2 is shown in more detail. Figure 2 The memory assignment according to the known method is shown.

[0051] In the embodiment variant shown in the figure, the information technology system has a main memory 2.1 and a secondary memory 2.2. The secondary memory 2.2 is preferably a so-called tightly coupled memory (TCM). Usually, after the output data 6 is generated by the function 4, the output data 6 is written continuously into the individual memory areas 1 of the memory 2. In this case, a part of the memory is reserved for the code 9. This is, for example, the code 9 for forming the function 4.

[0052] The respective output data 6 can differ in their storage requirement, which is indicated in Figure 2 by the differently sized boxes.

[0053] In addition, the secondary memory 2.2 is used to store a so-called stack 10, which is used to move out information, in particular the output data 6. From Figure 2 It can be seen that, according to the procedure known in the prior art for static memory assignment, the main memory 2.1 has already been completely filled. The output data 6 generated in the subsequent sequence of the execution of the iteration 5 cannot easily be written into the main memory 2.1. The output data 6 that is no longer needed must then be moved out of the main memory 2.1 to the secondary memory 2.2. However, this is time-consuming due to the read access to the main memory 2.1 and the write access to the secondary memory 2.2, thus increasing the execution time or runtime of the respective tasks 3.1, 3.2 during the execution of the iteration 5.

[0054] The static memory assignment method according to the present application serves to reduce the storage requirement and to improve the run-time. This provides that, in a one-time analysis, the information technology system checks which of the output data 6 of the function 4 are processed simultaneously by the processor during the execution iteration 5. This assignment of the output data 6 to the fixed storage areas 1 is then carried out, wherein each output data 6 is precisely assigned to a fixed storage area 1, and wherein at least a first output data 6.1 and a second output data 6.2, which are processed at different points in time by the processor during the execution iteration 5, are assigned to the same fixed storage area 1. In the standard operation during the execution iteration 5, the information technology system then writes the first output data 6.1 into the fixed storage area 1.1 assigned thereto and keeps it there until the function 4.1 requiring the first output data 6.1 has been processed by the processor. The information technology system then writes the second output data 6.2 into the same fixed storage 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 output data 6 can form a first, second or third or fourth output data 6.1, 6.2, 6.3 and 6.4. As an example, the respective reference signs are chosen for the output data 6 "a" and "c". Figure 3 The respective partitioning of the memory 2 is shown.

[0055] From Figure 1 It can be seen that, after processing by the function 4 marked with the letter C, the output data 6 "a" is no longer necessary and thus no longer active. The output data 6 "a" can thus be replaced by the output data 6 "c".

[0056] In a particularly simple embodiment of the method according to the present application, the output data 6 which are no longer active during the execution iteration 5 are completely deleted from the main memory 2.1. It is thus not necessary to move out into the secondary memory 2.2. The storage space requirement on the main memory 2.1 is, however, increased, since the number of output data 6 which can be provided on the same fixed storage area 1 can decrease.

[0057] This is because, if the processor processes the function 4.3 requiring the third output data 6.3 after the function 4.4 requiring the fourth output data 6.4, it can come to the case referred to as "second case" above, i.e. the third output data 6.3 (here, as an example, the output data 6 "h") is provided before the fourth output data 6.4 (here, the output data 6 "b"), and the third output data 6.3 and the fourth output data 6.4 are assigned to different fixed storage areas 1.2 and 1.3.

[0058] However, it is generally possible to allocate the output data 6 "h" and "b" to the same fixed memory area 1, since these two output data 6 are not processed at the same time by the processor. However, the output data 6 "h" is required again later, so it has to be loaded into the main memory 2.1 again in order to be accessible to the processor or the function 4.3. Alternatively, for this purpose, the output data 6 "h" can be moved out into the secondary memory 2.2. This allows more memory space to be saved in the main memory 2.1, however, the running time of the respective task 3.1 increases due to the data accesses. For example, the output data 6 "h" has to be first read out from the main memory 2.1, then written into the secondary memory 2.2, then read out from the secondary memory 2.2 and written into the main memory 2.1 again.

[0059] However, if the secondary memory 2.2 is fast enough so that its access time is in the order of magnitude of the clock frequency of the processor, for example in the case of an implementation as a TCM, the individual output data 6 can also be read directly from the secondary memory 2.2 into the processor if required, instead of first being written into the main memory 2.1. Thus, the running time of the execution of the iteration 5 can be further reduced.

[0060] Furthermore, when the secondary memory 2.2 is designed as a TCM, so-called hot spot code 11 can also be provided in the secondary memory 2.2. The so-called hot spot code 11 is a code element that is processed particularly frequently by the processor, for example the body or the core of a loop. Thus, the execution time can be further reduced.

[0061] As shown in Figure 4 each function 4 can have an individual processing time, which is indicated by the boxes of different lengths. This is caused on the one hand by the access times required for reading or writing the respective output data 6 and the actual processor time for processing the respective function 4. Thus, this can result in the individual tasks 3.1 and 3.2 having different execution durations. As shown in Figure 4 each execution iteration 5 of the individual tasks 3.1 and 3.2 can seamlessly (solid line) be connected to one another. The information technology system takes this into account in the analysis in order to determine which output data 6 from the individual functions 4 are processed at the same time by the processor.

[0062] However, the information technology system can also provide a pause in order to coordinate the execution iterations 5 of the first task 3.1 so that the first task 3.1 is executed again only when the second task 3.2 has also been restarted. This is indicated in Figure 4 by the dashed line and the time offset ΔΤ. This has the advantage that the processing times of the individual functions 4 are not shifted / delayed, so that the number of possible combinations of functions 4 or output data 6 to be processed at the same time is reduced. However, the disadvantage of this is that the frequency with which the first task 3.1 is processed is reduced. In this case, it is important to weigh up which variant the information technology system should execute depending on the application case.

Claims

1. A method for statically assigning and allocating information to a storage area (1) of a processor-external memory (2) of an information technology system, wherein, The information technology system processes a plurality of cascading functions (4) during an execution iteration (5) by a processor to solve tasks (3.1, 3.2), wherein each function (4) provides output data (6) as information after its processing, which can be read by a downstream function (4) in the direction of the information flow, and wherein the output data (6) of each function (4) is written into a separate memory area (1) of the memory (2) accessed by the respective function (4) to provide read-in, characterized in that the information technology system in a one-off analysis process: - checks which output data (6) of each function (4) are simultaneously processed by the processor during the execution iteration (5); - assigns each output data (6) to a fixed memory area (1), wherein each output data (6) is precisely assigned to one fixed memory area (1), and wherein at least a first output data (6.1) and a second output data (6.2) processed by the processor at different points in time during the execution iteration (5) are assigned to the same fixed memory area (1); and the information technology system in a standard operation during the execution iteration (5): - writes the first output data (6.1) into the fixed memory area (1.1) assigned to it, and leaves it at least in the fixed memory area (1.1) until a function (4.1) requiring the first output data (6.1) has been processed by the processor; and - writes the second output data (6.2) into the same fixed memory area (1.1) to replace the first output data (6.1) before a function (4.2) requiring the second output data (6.2) is processed by the processor.

2. The method according to claim 1, characterized in that a third output data (6.3) is provided before a fourth output data (6.4), and the third output data (6.3) and the fourth output data (6.4) are assigned to different fixed memory areas (1.2, 1.3) when the processor processes a function (4.3) requiring the third output data (6.3) after a function (4.4) requiring the fourth output data (6.4).

3. The method according to claim 1 or 2, characterized in that the memory (2) is formed by a main memory (2.1), the information technology system has at least one secondary memory (2.2), and in order to replace the first output data (6.1) with the second output data (6.2), the first output data (6.1) is discarded from the main memory (2.1) or moved out into the at least one secondary memory (2.2).

4. The method according to claim 3, characterized in that the secondary memory (2.2) has an access time different from the main memory (2.1).

5. The method according to claim 4, characterized in that a tightly coupled memory is used as the secondary memory (2.2).

6. The method according to claim 1 or 2, characterized in that the information technology system at least temporarily simultaneously solves at least two different tasks (3.1, 3.2).

7. The method according to claim 6, characterized in that the output data (6) of the functions (4) of the first task (3.1) are written to the main memory (2.1) and the output data (6) of the functions (4) of the second task (3.2) are written to one of the secondary memories (2.2).

8. The method according to claim 1 or 2, characterized in that the information technology system determines the storage requirement of each output data (6) depending on the size of the output data and only those output data (6) having essentially the same storage requirement are assigned to the same fixed storage area (1).

9. The method according to claim 1 or 2, characterized in that the information technology system applies a genetic algorithm in the analysis to determine which output data (6) in each case will be assigned to the same fixed storage area (1).

10. The method according to claim 9, characterized in that a first optimization goal pursued is to minimize the total run time of the tasks (3.1, 3.2) to be solved and a second optimization goal pursued is to minimize the proportion of the memory (2) occupied by the fixed storage areas (1).

11. An information technology system for carrying out the method according to any one of claims 1 to 10, characterized in that an embodiment as a microcontroller.

12. A vehicle, characterized in that the vehicle comprises an information technology system provided to carry out the method according to any one of claims 1 to 10.

13. A vehicle, characterized in that the vehicle comprises an information technology system according to claim 11.

Citation Information

Patent Citations

  • Method for configuring a storage unit of a computing unit

    DE102019217844A1

  • Dynamic memory allocation that enalbes efficient use of buffer pool memory segments

    US5784698A

  • Integrated circuit with control node circuitry and processing circuitry

    US9552206B2