Emulation Clock Synchronization for Mixed Code Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Emulation systems face challenges in managing clock synchronization between different components of a target system emulated using both interpretation and translation, leading to issues in timing-critical operations such as sound and video playback, and games, where different execution rates cause synchronization problems.

Innovation Solution

The system adjusts clock rates for interpreted and translated instructions to maintain synchronization, using a fixed or variable clock for each component, and employs techniques like holding back execution, repeating frames, and using a read/write journal to ensure timely operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If different components of the target system are emulated using both interpretation and translation, then emulation versatility and performance optimization are improved, but clock synchronization and timing coordination between components deteriorates

Engineering Contradiction:
Improveemulation versatilityVSAvoidclock synchronization
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The emulator divides the target system into different components and applies different emulation strategies (interpretation for some components, translation for others) based on their specific requirements. This segmentation allows optimization of each component's execution while managing clock synchronization through component-level control mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts clock rates for different emulated components based on their execution characteristics. The emulator can hold back execution of translated code when interpreted code needs to catch up, or repeat frames to maintain timing accuracy, creating a dynamic clock management system that adapts to varying performance requirements.

Inventive Principle:
Principle #15Dynamics

2Productivity

If translation is used to improve execution speed, then productivity is improved, but timing accuracy and synchronization with interpreted code deteriorate

Engineering Contradiction:
Improveexecution speedVSAvoidtiming accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system changes the clock rate parameter dynamically based on whether code is being interpreted or translated. Translated code can run at higher clock rates to improve speed, while interpreted code runs at lower rates to maintain timing accuracy. The emulator adjusts these parameters in real-time to balance performance and precision requirements.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The emulator implements feedback mechanisms that monitor the execution state of both interpreted and translated code. When timing discrepancies are detected, the system feeds back control signals to adjust clock rates, hold execution, or repeat frames, ensuring that timing accuracy is maintained despite the speed advantage of translation.

Inventive Principle:
Principle #23Feedback

3Reliability

If clock rates are adjusted to synchronize execution, then timing coordination is improved, but system complexity and overhead increase

Engineering Contradiction:
Improvetiming coordinationVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The emulator acts as an intermediary layer between the target system components and the host system. It manages clock synchronization by introducing controlled delays, holding mechanisms, and frame repetition logic that coordinate timing without requiring complex changes to the underlying system architecture. This intermediary approach simplifies the overall system while achieving reliable timing coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8234514B2Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
Publication Date: 2012.07.31 SONY INTERACTIVE ENTERTAINMENT LLC
  • US8234514B2 patent drawing
  • US8234514B2 patent drawing
  • US8234514B2 patent drawing

AI summary

Methods and systems for resolving clock management issues in emulation of a target system on a host system are disclosed. A first set of code instructions of a target program is emulated to generate a first set of emulated instructions that emulate a first component on the host system. A second set of code instructions is emulated to generate a second set of emulated instructions that emulate a second component of the target system on the host system. The first set is executed based on a first clock (which may be a fixed clock) and the second set is executed based on a second clock (which may be a variable clock). The host system adjusts the first or second clock, execution of the first or second sets of instructions or a memory access to maintain a desired synchronization between the first and second sets of instructions.