64-bit Cobol Virtual Machine Emulation for Legacy Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy software running on older computers cannot fully utilize the capabilities of newer, more powerful commodity processors, limiting the ability to enhance or add new application program elements compatible with the newer systems.

Innovation Solution

Development of a 64-bit Cobol Virtual Machine instruction set that allows legacy 36-bit Cobol code to be selectively diverted to a 64-bit implementation, enabling the creation of new or improved application program elements that take advantage of the larger word size of the host CPU, with a special purpose compiler and emulator to handle both 36-bit and 64-bit instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If legacy software is emulated on newer commodity processors, then compatibility with original software is maintained, but the capability to utilize newer processor features and enhancements is limited

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidprocessor capability utilization
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments the instruction stream into legacy instructions (emulated through software) and new instructions (executed natively by the host processor). This segmentation allows the system to maintain legacy software compatibility while simultaneously utilizing modern processor capabilities for enhanced functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary instruction set and translation mechanism is introduced between the legacy software and the modern host processor. This intermediary layer enables legacy 32-bit instructions to be translated and executed on the 64-bit host architecture, bridging the gap between old and new systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If legacy 32-bit instructions are emulated through software, then original software compatibility is preserved, but execution performance is reduced compared to native hardware

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidexecution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically selects between software emulation and native execution paths based on the instruction type. Common legacy instructions are emulated through optimized software routines, while performance-critical operations leverage native 64-bit host instructions, creating a dynamic execution model that balances compatibility and performance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of instruction execution by introducing a dual-mode approach: 32-bit legacy mode for compatibility and 64-bit native mode for performance. The emulator dynamically switches between these parameter sets based on the current execution context, optimizing both compatibility and speed.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If a dual instruction set system is implemented to support both legacy and new instructions, then functionality and performance are enhanced, but system complexity increases

Engineering Contradiction:
Improveinstruction set capabilityVSAvoidemulator system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements a universal instruction set architecture where the host processor can execute both 32-bit legacy instructions (through emulation) and 64-bit native instructions. This multi-functionality is achieved through a unified control structure that manages both instruction types, reducing the need for separate processing paths and minimizing overall system complexity.

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

Data Source

PatentUS7809547B2Host computer system emulating target system legacy software and providing for incorporating more powerful application program elements into the flow of the legacy software
Publication Date: 2010.10.05 EVIDEN USA INC
  • US7809547B2 patent drawing
  • US7809547B2 patent drawing
  • US7809547B2 patent drawing

AI summary

As manufacturers of very fast and powerful commodity processors continue to improve the capabilities of their products, it has become practical to emulate the proprietary hardware and operating systems of powerful older computers on platforms built using commodity processors such that the manufacturers of the older computers can provide new systems which allow their customers to continue to use their highly-regarded proprietary legacy software on state-of-the-art new computer systems by emulating the older computer in software that runs on the new systems. In an example of the subject invention, a 64-bit Cobol Virtual Machine instruction provides the capability of adding to or improving the performance of legacy 36-bit Cobol code. Legacy Cobol instructions can be selectively diverted, in the host CPU, to a 64 bit Virtual Machine Implementation. The output legacy and new Cobol code is compiled in a dedicated implementation of the Cobol compiler, and the output of the special purpose compiler is emulated in a special purpose software emulator, separate from the main software emulator that handles the normal 36-bit stream of legacy code.