Microprocessor Code Loading Circuit Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveexecution accuracyVSAvoidsystem startup time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the microprocessor executes control operations during code loading, then system responsiveness is improved, but the risk of executing incorrect code increases

Engineering Contradiction:
Improvesystem responsivenessVSAvoidexecution correctness
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

3Reliability

If additional hardware circuits are added to handle control operations, then system reliability is improved, but device complexity and cost increase

Engineering Contradiction:
Improvecontrol operation reliabilityVSAvoidhardware circuit complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7607001B2Memory management method for simultaneously loading and executing program codes
Publication Date: 2009.10.20 MEDIATEK INC
  • US7607001B2 patent drawing
  • US7607001B2 patent drawing
  • US7607001B2 patent drawing

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.