Microcode Assembler for Error-Protected Java Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current microprocessors lack mechanisms to protect against significant software errors such as array out-of-bounds accesses, null pointer dereferences, and uninitialized variable usage, which are major contributors to security faults and productivity drains in software applications.

Innovation Solution

A data processing apparatus that uses microcode techniques, allowing for the development of microcode instructions using high-level source languages, enabling error prevention and correction through self-defining microcode source code and native method calls to access platform-specific resources, thereby enhancing security and safety.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If microprocessors use conventional microcode implementation, then device complexity is reduced, but reliability deteriorates due to lack of error protection mechanisms

Engineering Contradiction:
Improveerror protection capabilityVSAvoidmicrocode development complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a microcode assembler as an intermediary tool that translates high-level source code into microcode instructions. This mediator enables developers to write error-prone high-level code while automatically generating the low-level microcode with built-in error protection mechanisms, thus improving reliability without directly increasing development complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces manual microcode programming with automated code generation from high-level source code. This substitution eliminates the need for developers to manually write complex microcode instructions, reducing the complexity burden while enabling sophisticated error protection features through the automated translation process.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If developers write extensive error checking code, then reliability improves, but productivity deteriorates due to time consumption

Engineering Contradiction:
Improveerror detection capabilityVSAvoiddevelopment productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs error checking actions preliminarily by embedding validation logic within the microcode generation process itself. The microcode assembler automatically incorporates error detection mechanisms during code generation, so that error checking is performed as a preliminary step before the microcode executes, eliminating the need for separate manual error checking code.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The microcode generation system serves itself by automatically incorporating error protection and detection mechanisms into the generated microcode. The system monitors its own output for errors and generates appropriate validation instructions, eliminating the need for developers to manually add error checking functionality.

Inventive Principle:
Principle #25Self-service

3Reliability

If microcode includes comprehensive error protection mechanisms, then reliability improves, but ease of operation worsens due to restricted access to platform resources

Engineering Contradiction:
Improvesecurity fault preventionVSAvoidaccess to platform-specific resources
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a controlled interface layer that acts as an intermediary between the high-level microcode and platform-specific resources. This mediator provides standardized, safe access mechanisms that maintain error protection while enabling necessary operations with platform resources through controlled abstraction.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8438549B1Data processing with microcode designed with source coding
Publication Date: 2013.05.07 NATIONAL TECHNOLOGY & ENGINEERING SOLUTIONS OF SANDIA LLC
  • US8438549B1 patent drawing
  • US8438549B1 patent drawing
  • US8438549B1 patent drawing

AI summary

Programming for a data processor to execute a data processing application is provided using microcode source code. The microcode source code is assembled to produce microcode that includes digital microcode instructions with which to signal the data processor to execute the data processing application.