Java Graphics Library Cache Flush Elimination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing system performance is slow for graphics operations due to the need for data cache flush and eviction when passing parameters between processors for native library routine calls, leading to inefficiencies in Java bytecodes execution.

Innovation Solution

A Java graphics library is implemented on the Java Stack Machine processor, which creates software objects to abstract and access display window memory, allowing graphics routines to execute directly without relying on Java Native Interface calls, thus avoiding cache flush and eviction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If native library routines are called through JNI to perform graphics functions, then graphics operations can be executed, but system performance deteriorates due to cache flush and eviction operations

Engineering Contradiction:
Improvegraphics operations efficiencyVSAvoidcache flush and eviction time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the graphics library routines from the native processor and implements them directly on the Java Stack Machine processor. This removes the need for JNI calls and parameter passing between processors, thereby eliminating the cache flush and eviction operations that cause performance degradation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a Java graphics library as an intermediary layer that runs on the Java Stack Machine processor. This intermediary enables graphics operations to be performed directly without requiring communication with the native processor, thus avoiding the harmful cache operations associated with JNI calls.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If parameters are passed between processors through main memory, then native library routines can access necessary data, but data cache consistency deteriorates requiring flush operations

Engineering Contradiction:
Improveparameter passing capabilityVSAvoiddata cache consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent merges the graphics library functionality into the Java Stack Machine processor itself, combining what were previously separate operations (parameter passing and graphics execution) into a single integrated system. This eliminates the need for inter-processor communication and the associated cache consistency problems.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The Java Stack Machine processor becomes self-sufficient by executing graphics library routines directly. It no longer needs to request services from the native processor or pass parameters through main memory, thereby maintaining data cache consistency without requiring flush operations.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If data is evicted from processor cache to make room for parameters, then native library routines can obtain necessary data, but system performance deteriorates due to reload operations

Engineering Contradiction:
Improveavailable data in cacheVSAvoidgraphics operations throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent performs preliminary action by implementing the graphics library routines directly on the Java Stack Machine processor, so that all necessary data remains in the processor's cache throughout the graphics operations. This eliminates the need for cache eviction and subsequent reload operations that would otherwise be required when calling native library routines.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8782675B2Method and system of accessing display window memory
Publication Date: 2014.07.15 TEXAS INSTRUMENTS INC
  • US8782675B2 patent drawing
  • US8782675B2 patent drawing

AI summary

A method and system of accessing display window memory. At least some of the illustrative embodiments are methods comprising abstracting display window memory by way of a first software object, accessing the display window memory by routines of a graphics library executed on a first processor (the accessing by way of the first software object), and displaying a window on a display screen, contents of the window selected at least in part by the routines of the graphics library.