Microprocessor Code Loading Circuit Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In circuit systems, the loading of program code into DRAM is time-consuming, especially when the microprocessor must simultaneously handle control operations and respond to peripheral devices, leading to potential errors and increased costs if additional hardware is used, or incorrect execution if the microprocessor accesses uncompleted code.
Innovation Solution
The program code is divided into smaller code divisions, with a specific code division preloaded for handling control operations, allowing the microprocessor to execute these operations during code loading, reducing loading time and improving system efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the microprocessor waits for all program code to be loaded into DRAM before execution, then execution accuracy is improved, but system startup time increases
Solution Approach 1:
The program code is divided into multiple code divisions, where critical code divisions that can be executed independently are separated from the rest. This allows the microprocessor to execute these segmented code divisions immediately after they are loaded into DRAM, without waiting for the entire program to be loaded, thereby reducing startup time while maintaining execution accuracy for the critical segments.
Solution Approach 2:
The loading circuit prioritizes loading critical code divisions into DRAM before other code divisions. This preliminary action ensures that the most important code is ready for immediate execution, allowing the microprocessor to start executing critical functions while the remaining code is still being loaded, thus reducing overall system startup time.
2Productivity
If the microprocessor executes control operations during code loading, then system responsiveness is improved, but the risk of executing incorrect code increases
Solution Approach 1:
The loading circuit is designed to complete loading a code division into DRAM and generate a load completion signal before the microprocessor begins executing that code division. This preliminary action ensures that the code is fully loaded and ready before execution starts, preventing execution of incorrect or incomplete code while still allowing the microprocessor to execute control operations during the loading of subsequent code divisions.
Solution Approach 2:
The loading circuit provides feedback to the microprocessor through load completion signals that indicate when a code division has been fully loaded into DRAM. The microprocessor uses this feedback information to determine when it is safe to begin executing each code division, ensuring execution correctness while maintaining system responsiveness.
3Reliability
If additional hardware circuits are added to handle control operations, then system reliability is improved, but device complexity and cost increase
Solution Approach 1:
The microprocessor is designed to perform multiple functions: it both loads program code into DRAM and executes control operations. By making the microprocessor universal and capable of handling both loading and execution tasks, the system eliminates the need for separate dedicated hardware circuits for control operations, thereby reducing device complexity and cost while maintaining execution reliability through software-based control.
Data Source
AI summary
A method is provided for simultaneously loading and executing program code in a circuit system. The circuit system includes a plurality of memory devices, a microprocessor, and a loading circuit. The method includes dividing the program code into a plurality of code divisions and utilizing the microprocessor to execute at least a code division when the loading circuit loads any other code division into a memory device of the plurality of memory devices.


