Processing Unit Instruction Pre-loading to Eliminate Memory Stalls
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Processing units face inefficiencies due to waiting times during the execution of program functions, particularly for plannable functions, as they often rely on slower system memories like flash memory, leading to instruction stalls and reduced processing capacity.
Innovation Solution
A method where program instructions for upcoming program functions are pre-loaded into a local memory, such as RAM, using systemic knowledge gained from static planning or software analysis, allowing for the execution of plannable functions without relying on slower system memories, and utilizing a transfer unit to copy instructions from a source memory to the local memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If program instructions are loaded from slower system memory (flash memory) during execution, then memory capacity is reduced, but waiting times and instruction stalls increase
Solution Approach 1:
The patent applies preliminary action by pre-loading program instructions into the local memory before they are needed for execution. The system determines future program functions that need to be executed and proactively transfers their instructions from external memory to the local memory, eliminating waiting times when the processor needs to fetch instructions during execution.
2Device complexity
If program instructions are loaded from slower system memory (flash memory), then device complexity is reduced, but instruction stalls occur reducing processing capacity
Solution Approach 1:
The system performs preliminary determination of future program functions and proactively loads their instructions into the local memory before execution is needed. This eliminates the need for complex real-time memory management during execution, as the instructions are already prepared in the local memory.
Solution Approach 2:
The local memory acts as an intermediary between the external memory and the processor. It receives instructions from external memory in advance and provides them to the processor during execution, mediating between the slower external memory and the processor's need for fast instruction access.
3Loss of time
If cache memory is used to store program instructions, then waiting times are reduced, but device complexity and cost increase
Solution Approach 1:
Instead of using traditional cache memory that passively stores instructions, the system actively determines future program functions and proactively loads their instructions into the local memory. This preliminary action eliminates the need for complex cache memory structures while achieving similar or better performance by ensuring instructions are ready before needed.
Data Source
AI summary
A method for operating a processing unit, including a memory and at least one processor core that executes a plurality of program functions of a computer program, includes ascertaining all program instructions that belong to a program function to be executed at a future execution point in time and providing the ascertained program instructions in the memory before the execution point in time.


