Integrated Register File for Dynamic Type Check Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dynamic scripting languages like JavaScript, Lua, and Python incur inefficiencies due to the overhead of type checking in dynamic type systems, which affects instruction count, memory usage, and energy consumption.

Innovation Solution

A computing device with an integrated register file, a calculator, and a type rule table that stores variable types and values, allowing for efficient type checking and calculation by using type flags and performing calculations based on integer or floating-point types, and storing results with their corresponding types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a dynamic type system is used to determine variable types at execution time, then programming convenience is improved, but type check overhead increases

Engineering Contradiction:
Improveprogramming convenienceVSAvoidtype check overhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent applies preliminary action by extracting and storing variable type information in advance during code compilation or loading, rather than determining types at execution time. The type extractor retrieves type information from metadata associated with the bytecode, and the integrated register file stores this type information for quick access during execution, eliminating the need for runtime type determination.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the type checking process into separate components: a type extractor that retrieves type information from metadata, an integrated register file that stores type information, and a type rule table that provides type conversion rules. This segmentation allows each component to handle specific tasks efficiently, reducing overall type check overhead.

Inventive Principle:
Principle #1Segmentation

2Reliability

If type checking is performed before calculations in a dynamic type system, then type safety is improved, but the number of instructions increases

Engineering Contradiction:
Improvetype safetyVSAvoidnumber of instructions
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges type checking with the calculation execution process. The integrated register file stores both type information and variable values together, allowing the processor to perform type verification and execute calculations in a unified operation rather than as separate steps, thereby reducing the total number of instructions.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The integrated register file serves multiple functions simultaneously: it stores variable values, stores type information, and provides type verification during calculation execution. This multi-functionality eliminates the need for separate type checking instructions while maintaining type safety.

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

3Measurement precision

If separate type checking and calculation operations are performed, then type accuracy is improved, but energy consumption increases

Engineering Contradiction:
Improvetype accuracyVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent enables continuous useful action by performing type verification and calculation execution in an uninterrupted sequence. The type information stored in the integrated register file is immediately used during calculation without requiring separate fetch or verification cycles, maintaining continuous processor operation and reducing energy consumption associated with idle or separate operation cycles.

Inventive Principle:
Principle #20Continuity of useful action

4Speed

If type information is stored and retrieved during execution, then type checking efficiency is improved, but memory usage increases

Engineering Contradiction:
Improvetype checking efficiencyVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies local quality by storing type information locally in the integrated register file alongside the variable values they describe. This local storage eliminates the need for repeated retrieval from external memory or metadata structures during execution, improving type checking efficiency while using memory only where directly needed for active computation.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10977012B2Computing device for accelerating a data type check and operating method thereof
Publication Date: 2021.04.13 SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION
  • US10977012B2 patent drawing
  • US10977012B2 patent drawing
  • US10977012B2 patent drawing

AI summary

Provided is a computing device according to an embodiment of the present disclosure including an integrated register file configured to store a first variable type and a first variable value of a first variable, and a second variable type and a second variable value of a second variable, a calculator configured to perform a first calculation on the first and second variables according to the first and second variable types, and output a first calculation result, and a type rule table comprising a plurality of entries and, when there is an entry corresponding to a type of the first calculation, and the first and second variable types, configured to output a type of the first calculation result.