Boot Sequence Optimization via Stack Pointer Placement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional electronic devices require control codes for memory initialization and display device operation to be written in assembly language, making them difficult to understand and requiring rewrites for different CPU models, leading to slow boot times and incorrect user perceptions of system operation due to low EEPROM transmission rates.

Innovation Solution

An electronic device and method that execute control codes in high-level programming languages like C, C++, or Java before activating main memory, allowing for earlier initialization of memory controllers and display devices, facilitating intuitive development and rapid booting by setting a stack pointer in internal RAM before activating main memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If control codes for memory initialization are written in assembly language, then the booting operation can be performed, but the code becomes difficult to understand and requires rewrites for different CPU models

Engineering Contradiction:
Improvecode development easeVSAvoidcode compatibility complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent changes the programming language parameter from assembly language to high-level languages (C, C++, Java). This allows the same control code to be used across different CPU models by compiling it to the appropriate architecture, eliminating the need for manual rewrites while maintaining portability and ease of development.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If control codes are executed after main memory is activated, then the stack pointer can be set in main memory, but the boot time increases due to sequential execution requirements

Engineering Contradiction:
Improvestack initialization reliabilityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by executing control codes to initialize the memory controller and set the stack pointer in internal RAM before activating the main memory. This allows the stack to be ready in the faster internal RAM, and subsequent operations can proceed without waiting for main memory activation, significantly reducing boot time while maintaining initialization reliability.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the display device is initialized after main memory activation, then the stack must be set in main memory first, but the time to determine system status increases

Engineering Contradiction:
Improvestack pointer settingVSAvoidsystem status display time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent sets the stack pointer in internal RAM before activating main memory, enabling the display device to be initialized in parallel or immediately after without waiting for main memory stack initialization. This allows the system status to be displayed much faster, as the display can operate independently of the main memory activation sequence.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If assembly language control codes are used for different CPU models, then the code can be adapted to specific architectures, but the development process becomes more complex and time-consuming

Engineering Contradiction:
ImproveCPU model adaptabilityVSAvoidcode development ease
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent changes the programming language from assembly to high-level languages (C, C++, Java), which are inherently more portable and easier to develop in. The same source code can be compiled for different CPU models using appropriate compilers, maintaining adaptability while dramatically improving development ease and reducing the time required to create architecture-specific code.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7694122B2Electronic device and booting method thereof
Publication Date: 2010.04.06 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US7694122B2 patent drawing
  • US7694122B2 patent drawing
  • US7694122B2 patent drawing

AI summary

An electronic device and a booting method thereof are provided, wherein the method includes the steps of copying the boot image from the first non-volatile memory to the internal RAM when a booting operation of the electronic device begins, setting a stack pointer in the internal RAM by executing a control code to set the stack pointer among control codes of the boot image, and activating the main memory by executing a control code to initialize the main memory controller and activate the main memory among the control codes of the boot image, the control code to initialize the main memory controller and activate the main memory using the stack pointer. Accordingly, since the control code to initialize the main memory controller to activate the main memory is written in a high-level programming language instead of assembly language, the display device can be driven before the main memory is activated.