Processor Compatibility Register for Architecture Level Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods are inadequate for ensuring software compatibility across different processor architectures, leading to errors and limited program migration due to the need for physical availability of various processor levels for testing and the inability to execute programs on newer architectures without modification.

Innovation Solution

A processor compatibility register (PCR) is introduced, accessible only to super-privileged software, which sets the architecture level that the processor appears to support, allowing it to behave as if it conforms to the specified architecture level, enabling programs to run on multiple architecture levels without modification and facilitating seamless migration across different processor levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a program is tested on physical processors of each architecture level to ensure compatibility, then software compatibility is improved, but the cost and complexity of obtaining and maintaining multiple processor samples becomes excessively burdensome

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidprocessor sampling requirement
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a virtual copy of the processor architecture through a software layer that simulates different architecture levels. Instead of requiring physical processor samples for each architecture level, the system uses a virtualization mechanism that replicates the behavioral characteristics of processors conforming to various architecture levels, allowing comprehensive compatibility testing on a single physical platform.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a software intermediary layer between the program and the physical processor that mediates the interaction. This intermediary translates and adapts instructions to match the target architecture level, enabling programs to be tested and executed against virtual representations of different processor architectures without requiring actual hardware samples of each level.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If programs are modified to work on newer architecture levels, then execution correctness on new processors is improved, but the cost of modification and redistribution becomes prohibitively expensive

Engineering Contradiction:
Improveexecution correctnessVSAvoidprogram modification cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent implements a dynamic architecture level specification mechanism that allows the processor to adapt its behavior based on the target architecture level indicated in the program's metadata. Instead of statically modifying programs for each architecture level, the system dynamically configures the execution environment to match the intended target architecture, enabling correct execution on newer processors without program modification.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the architecture level parameter at runtime through a compatibility register that can be set by super-privileged software. This allows the same program to be executed on different virtual architecture levels by simply changing the parameter setting, eliminating the need for costly program modifications and redistribution for each architecture level.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If processor migration is restricted to processors conforming to the same architecture level, then program execution correctness is ensured, but the versatility and flexibility of program migration is limited

Engineering Contradiction:
Improveprogram execution correctnessVSAvoidmigration flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent enables dynamic architecture level specification during migration by allowing the target architecture level to be configured through a compatibility register. This dynamic configuration allows programs to migrate to processors conforming to different architecture levels while maintaining execution correctness, as the target processor can be configured to match the program's intended architecture level rather than requiring exact hardware matching.

Inventive Principle:
Principle #15Dynamics

4Productivity

If newer processor architecture levels are used, then processing capability is improved, but the risk of errors from latent bugs in programs increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoiderror occurrence rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary compatibility verification by checking the target architecture level against the program's intended architecture level before execution. The compatibility register is configured in advance to match the program's target architecture, and super-privileged software verifies this matching beforehand. This preliminary action prevents programs with latent bugs from executing on incompatible newer processor levels, thereby reducing error occurrence while preserving the ability to use advanced processing capabilities.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7802252B2Method and apparatus for selecting the architecture level to which a processor appears to conform
Publication Date: 2010.09.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7802252B2 patent drawing
  • US7802252B2 patent drawing
  • US7802252B2 patent drawing

AI summary

A method and system for selecting the architecture level to which a processor appears to conform within a computing environment when executing specific logical partitions or programs and performing migration among different levels of processor architecture. The method utilizes a “processor compatibility register” (PCR) that controls the level of the architecture that the processor appears to support. In one embodiment, the PCR is accessible only to super-privileged software. The super-privileged software sets bits in the PCR that specify the architecture level that the processor is to appear to support so that when the program runs on the processor, the processor behaves in accordance with the architecture level for which the program was designed.