Method and data processing system for emulating virtual memory working spaces
AssigneeBull HN Information Systems Inc.
InventorsDavid A. Egolf, Stefan R. Bohult, Bruce A. Noyes, Chad Farmer
Life of this patent
Estimating the term…
Abstract
In an emulation of a multiprocessor Target computer system on a Host computer system, Host virtual memory addresses are mapped and utilized as Target virtual memory addresses. Target virtual memory control tables are setup accordingly. Virtual-to-real address translation of a Target system effective address to a Host system virtual addresses is performed by identifying a working space for the effective address, determining a working space base address for that working space, and then performing a linear translation multiplying the effective address by a constant and adding it to the working space base address to generate the host system virtual address.
Claims23
A method of performing emulator virtual-to-real address translation translating a target system virtual address to a host memory virtual address during emulation of a target system instruction,
- wherein said method comprises:
- A) identifying a selected working space from a plurality of working spaces;
- B) determining a working space base address for the selected working space;
- and
- C) performing a linear translation from the target system virtual address to the host memory virtual address by:
- 1) multiplying the target system virtual address by a first constant for a product, and
- 2) adding the product to the working space base address to compute the host memory virtual address.
A method of emulating a target computer system on a host computer system having a host working space,
- wherein said method comprises:
- A) allocating a first contiguous section of the host working space for a first target working space;
- B) inserting a first pointer to the first contiguous section of the host working space into a first entry in a working space base address table;
- C) performing emulator virtual to real address translation for a first target virtual address in the first target working space by performing a linear translation from the first target virtual address to a first host memory address by:
- 1) multiplying the first target virtual address by a first constant for a first product, and
- 2) adding the first product to the first pointer to compute the host memory address;
- and
- D) deallocating the first contiguous section of the host working space.
A data processing system containing emulation software for emulating a target computer system on a host computer system having a host working space, wherein:
- the data processing system comprises a Computer Software Storage Medium, and
- said emulation software comprises:
- A) a set of computer instructions stored in the Computer Software Storage Medium for allocating a first contiguous section of the host working space for a first target working space;
- B) a set of computer instructions stored in the Computer Software Storage Medium for inserting a first pointer to the first contiguous section of the host working space into a first entry in a working space base address table;
- C) a set of computer instructions stored in the Computer Software Storage Medium for performing emulator virtual to real address translation for a first target virtual address in the first target working space by performing a linear translation from the first target virtual address to a first host memory address by:
- 1) multiplying the first target virtual address by a first constant for a first product, and
- 2) adding the first product to the first pointer to compute the host memory address;
- and
- D) a set of computer instructions stored in the Computer Software Storage Medium for deallocating the first contiguous section of the host working space.
A Non-Volatile Storage Medium containing Emulation software emulation software for emulating a target computer system on a host computer system having a host working space, wherein:
- said emulation software comprises:
- A) a set of computer instructions for allocating a first contiguous section of the host working space for a first target working space;
- B) a set of computer instructions for inserting a first pointer to the first contiguous section of the host working space into a first entry in a working space base address table;
- C) a set of computer instructions for performing emulator virtual to real address translation for a first target virtual address in the first target working space by performing a linear translation from the first target virtual address to a first host memory address by:
- 1) multiplying the first target virtual address by a first constant for a first product, and
- 2) adding the first product to the first pointer to compute the host memory address;
- and
- D) a set of computer instructions for deallocating the first contiguous section of the host working space.
A data processing system containing emulation software that performs emulator virtual-to-real address translation translating a target system virtual address to a host memory virtual address during emulation of a target system instruction, wherein:
- the data processing system comprises a Computer Software Storage Medium, and
- said emulation software comprises:
- A) a set of computer instructions stored in the Computer Software Storage Medium for identifying a selected working space from a plurality of working spaces;
- B) a set of computer instructions stored in the Computer Software Storage Medium for determining a working space base address for the selected working space;
- and
- C) a set of computer instructions stored in the Computer Software Storage Medium for performing a linear translation from the target system virtual address to the host memory virtual address by:
- 1) multiplying the target system virtual address by a first constant for a product, and
- 2) adding the product to the working space base address to compute the host memory virtual address.
A Non-Volatile Storage Medium containing Emulation software that performs emulator virtual-to-real address translation translating a target system virtual address to a host memory virtual address during emulation of a target system instruction, for use in a data processing system for emulating a target computer system on a host computer system, wherein:
- said emulation software comprises:
- A) a set of computer instructions for identifying a selected working space from a plurality of working spaces;
- B) a set of computer instructions for determining a working space base address for the selected working space;
- and
- C) a set of computer instructions for performing a linear translation from the target system virtual address to the host memory virtual address by:
- 1) multiplying the target system virtual address by a first constant for a product, and
- 2) adding the product to the working space base address to compute the host memory virtual address.
Dependencies are inferred from the claim text.