IP Library Granted Patent US 8,655,638
Granted Patent B2
US 8,655,638 · App. 13/044,832 · Granted Feb 18, 2014

Methods for converting instructions with base register-relative addressing in an emulation

Inventor: Manfred Stadel (Munich, DE)
Assignee: Fujitsu Technology Solutions Intellectual Property GmbH
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,655,638
App. No.
13/044,832
Granted
Feb 18, 2014
Kind
B2
Abstract

An original processor uses addresses with a first length of n bits for addressing in a cyclical address space and a target processor uses addresses with a second length of m bits, where the second length m is greater than the first length n. In the original processor, distance values that lie between a lower value min and an upper value max are permissible for the base register-relative addressing. The supported address space on the original processor for the code to be emulated is limited in such a manner that the conversion of address operands as described in the following steps leads to semantically equivalent behavior on the target processor. A projected address on the target processor is initially determined by forming the sum of the content of the base register (R) and an offset (D) that is greater than or equal to a first offset (D 1 ) of a base register-relative instruction and less than the difference (max−min), and projecting the sum onto a cyclical address space with addresses having a length of n bits. Addresses for converting the base register-relative instructions are determined from the calculated projected address and the respective distance values (D 1 , D 2 ) of the instructions minus the offset D.

Claims (29)

1. A method for converting at least two instructions with base register-relative addressing in an emulation of a program code created for an original processor into a program code for a target processor,

wherein

the original processor uses addresses with a length of n bits in a cyclical address space,

the target processor uses addresses with a length of m bits, where m is greater than n,

the target processor allows a base register-relative addressing with distance values that lie between a lower value (min) and an upper value (max),

and

the supported address space on the original processor for the code to be emulated is limited in such a manner that the conversion of address operands as described in the following steps leads to semantically equivalent behavior on the target processor comprising:

converting a first instruction for the original processor with an address operand that results from a first offset (D 1 ) relative to a base register (R), by:

determining a projected address on the target processor by forming the sum of the content of the base register (R) and an offset (D) that is greater than or equal to the first offset (D 1 ) and less than the difference (max−min), and

projecting the sum onto a cyclical address space with addresses having a length of n bits,

determining a first address on the target processor as the sum of the projected address and the first offset (D 1 ), minus the offset (D) and

executing a converted first instruction on the target processor with the first address as the address operand; and

converting a second instruction for the original processor with an address operand that results from a second offset (D 2 ) relative to a base register (R), by:

determining a second address on the target processor as the sum of the projected address and the second offset (D 2 ), minus the offset (D) and

executing a converted second instruction on the target processor with the second address as the address operand.

2. The method according to claim 1 , wherein the address space supported for the emulated program code in the original processor is limited by convention.

3. The method according to claim 1 , wherein the address space supported for the emulated program code in the original processor is limited with the aid of a system program.

4. The method according to claim 1 , wherein the supported address space is limited to an address range between the address 0 and the address 2 n −1−(max−min).

5. The method according to claim 1 , wherein the offset (D 1 ) is used and in which the first address is equal to the projected address.

6. The method according to claim 1 , wherein the difference (max−min) is used as the offset (D).

7. The method according to claim 1 , wherein the projected address is retained in a register (r p ) of the target processor and at least one of the converted instructions with base register-relative addressing on the target processor is an instruction with base register-relative addressing relative to the register (r p ) as the base register.

8. The method according to claim 1 , wherein the calculation of the second address already takes place as part of the conversion of the first instruction.

9. The method according to claim 1 , wherein a third and, optionally, additional instructions with base register-relative addressing for the original processor are converted analogously to the second instruction.

10. The method according to claim 1 , wherein parallel address spaces of the original processor are mapped onto separated address spaces in the address space of the target processor.

11. The method according to claim 10 , wherein

each of the parallel address spaces is itself limited,

the address space on the original processor is selected via the contents of an access register (A), and

the content of an emulated access register (a) is linked to the address projected.

12. A program for emulation of a program created for an original processor on a target processor that performs a method according to claim 1 while running on the target processor.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2026
From: FSAS TECHNOLOGIES GMBH
To: FUJITSU GERMANY GMBH
Reel/Frame 073418/0143 →
CHANGE OF NAME Recorded Jan 9, 2026
From: FUJITSU TECHNOLOGY SOLUTIONS GMBH
To: FSAS TECHNOLOGIES GMBH
Reel/Frame 074293/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2023
From: FUJITSU TECHNOLOGY SOLUTIONS INTELLECTUAL PROPERTY GMBH
To: FUJITSU TECHNOLOGY SOLUTIONS GMBH
Reel/Frame 062798/0755 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2011
From: STADEL, MANFRED
To: FUJITSU TECHNOLOGY SOLUTIONS INTELLECTUAL PROPERTY GMBH
Reel/Frame 026028/0393 →
Priority Claims (1)
DE 10 2010 011 583 · Mar 16, 2010 · national
Continuity (1)
Related Publication 20110231179A1 · Sep 22, 2011