Method and data processing system for performing atomic...

Electrical computers and digital processing systems: memory – Storage accessing and control – Control technique

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S155000, C712S024000

Reexamination Certificate

active

06728846

ABSTRACT:

FIELD OF THE INVENTION
The present invention generally relates to computer system emulation, and more specifically to emulation of a target system utilizing a multiprocessor host system with a dissimilar word length.
BACKGROUND OF THE INVENTION
The cost of designing a computer processor continues to increase. Some computer architectures thus ultimately become uneconomical to implement directly, despite these architectures having significant installed bases.
One solution to this problem is to simulate one computer architecture on another computer architecture. Herein, the simulating computer architecture will be termed the “host” computer system, while the simulated computer architecture will be termed the “target” computer system. Emulators have been available almost since the advent of the first compilers.
Emulators typically utilize the same word length and byte length on the host computer system and the target computer system. One reason for this is that it is significantly easier to implement a similar system emulator. Another reason is that most computer architectures presently are 32-bit architectures. However, there is a move toward 64-bit architectures. Two 32-bit words fit exactly within a single 64-bit word. This is not the situation where the target system operates on for example 36 bits, while the host system operates on 64 bits. Any problems encountered when implementing an emulator on a host system are significantly increased when the word size of the emulated target system does not evenly divide the word size of the host system.
When the two architectures have different word sizes the data type alignment of the target data in the emulated host memory will not align with the native data types in the host emulation machine. This is particularly a problem in multiprocessor emulations that require atomicity for updates of adjacent target data types within a cache line of the emulating host system memory. The atomicity of the emulating host system will not match the required atomicity of the emulated target system. This is because the atomicity paradigms of the host system will not properly merge the updates within a cache line.
This would normally be addressed by use of a separate software gating mechanism. A distinct gate would be employed by each instance of the processor emulation in order to perform any data update to the emulated memory where atomicity needed to be enforced. Such a software gating mechanism typically employs hardware instructions to lock and unlock an agreed-to gate operand in order to guarantee single-threaded operation. This software gating mechanism has the potential of adding significant processor, memory, and bus overhead to the operation of the emulator.
The problem is compounded when it is necessary to read and write double words. Double word reads and writes are common in many legacy architectures. It is possible with single word synchronization to have a situation where the first and second words in a double word write are written by two different processors at almost exactly the same time. This would necessarily lead to inconsistent results.
Double word read and write atomicity is important in many architectures and systems. In the preferred embodiment, in the emulation of the GCOS 8 operating system on a target architecture such as the Intel IA-64 architecture that does not fully support double (or more) atomic reads and writes, atomic double word reads and writes are important in maintaining system security since system security is built around double word descriptors. Lack of double (or more) word atomicity may open up significant security holes in the GCOS 8 operating systems.
It would thus be advantageous to be able to emulate efficiently a target system that has a word size and/or byte size that is not the same as that of the emulating host system. It would be even more advantageous to be able to emulate efficiently such a system when the word size of the host system is not an even multiple of the word size of the emulated target system. In performing this emulation, an efficient mechanism for reading and writing double word cached memory contents without violating atomicity constraints of an emulated target system would also be advantageous.


REFERENCES:
patent: 4794521 (1988-12-01), Ziegler et al.
patent: 5553263 (1996-09-01), Kalish et al.
patent: 6032252 (2000-02-01), Petro et al.
patent: 6360194 (2002-03-01), Egolf
patent: 6460121 (2002-10-01), Bonola
patent: 6477617 (2002-11-01), Golding
patent: 6484272 (2002-11-01), Egolf et al.
Huang, “Fast and fair mutual exclusion for shared memory systems”, © 1999 IEEE International Conference on Distributed Computing Systems, p. 224-231.*
Huang, “Fast mutual exclusion algorithms using read-modify-write and atomic read/write registers”, © 1998 IEEE International Conference on Parallel and Distributed Systems, p. 292-299.*
Intel Corporation IA-64 Application Developer's Architecture Guide pp.: Contents iii through xii; 2-3, 2-4; 7-16, 7-17; 7-24, 7-25; 7-104, 7-105, 7-106, 7-107; 10-5, 10-6, 10-7, 10-8, 10-9, 10-10, 10-11.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and data processing system for performing atomic... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and data processing system for performing atomic..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and data processing system for performing atomic... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3224390

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.