Object-code compatible

From ArticleWorld


Object code compatible is a term that refers to the possibility of object code to be easily ported between different computer architectures and result in the same outputs.

Contents

Mechanism of object code compatibility

A mechanism is provided by means of which programs can be run on different architectures in an implementation defined manner. The implementation specific aspects of a program may be represented as part of the instruction cache reload /fetch processes.

The process which has to be executed is broken down into tasks meant to be performed at the instruction cache reload time and tasks meant to be carried out at the instruction cache access time. Thus simpler logic is needed to be deployed in order to carry out the translation.

Object code compatibility in VLIW

For Very Large Instruction Word (VLIW) architectures, the issue of object code compatibility between processor generations is under continuous research and development. Traditional methods of object code compatibility involving both hardware and software techniques have been plagued by severe drawbacks. Hardware additions result in added complexity in the architecture, while the use of software approaches would mean an increase in the number of executables.

Dynamic rescheduling solution

A possible solution for this issue is by the use of a technique called dynamic rescheduling, which provides for a limited version of software rescheduling at the first-time page faults. This technique does away with the need for hardware complexity or software executables. The time which is required for this rescheduling process forms a large part of the overhead required by this method.

Disk caching to reduce overhead

A disk caching scheme that uses a persistent rescheduled page can reduce the overhead associated with the dynamic rescheduling method by saving rescheduled pages on the disk. These pages have to be stored across program executions.