Subscribe to Windows IT Pro
October 01, 1996 12:00 AM

Emulation: Out of the Lab and onto the Desktop

Windows IT Pro
InstantDoc ID #2766
Rating: (0)
An interview with FX!32 developers

Besides the Intel version of Windows NT, three other versions exist: one each for the SGI/MIPS family of processors, the Apple/IBM/Motorola PowerPC series, and the Digital Alpha series of chips. Until now, you had to rewrite programs (or at least recompile them) for each of these platforms. In a world utterly dominated by the Intel processor, this necessity has been a major stumbling block to the acceptance of Intel alternatives.

Many computers can run software emulators; mainframes used them for decades to run code for machines that no longer existed. But these solutions just turn a particular 1401 instruction into equivalent 360 code, or disk calls from one system into those for another. Developers speak theoretically about dynamic recompilaton of code from one system for another, but the talk never amounts to more than a few papers in academic periodicals and one or two lab experiments.

Thus, when Digital Equipment announced a software emulator, FX!32, that can transparently load and run 32-bit Intel programs on an Alpha system, NT users showed great interest. For a chip that Intel neither designed nor inspired to achieve significant market penetration, it must run a large body of code. An emulator, or an automatic binary translator, is a major step along the path.

When Digital set a goal of an Intel application running at 70% of the native application's speed, even more people noticed. Seventy percent of a fast Alpha's native speed is faster than a Pentium, and in the past most emulators ran two to three times slower than native. If FX!32 works as advertised, it is a major achievement, both in software engineering and as a credible alternative to Intel's hegemony. And with the price (FX!32 is freeware), even more people are interested. In fact, Microsoft is releasing a 32-bit emulator for future versions of non-Intel NT, according to rumors conveniently timed to either improve FX!32's credibility or steal its thunder.

Joel Sloss examines FX!32's performance, credibility, and architecture, starting on page 137. To get the inside story, I conducted the following email interview with Philippa Jollie, FX!32 product manager, and Joyce Spencer, engineering manager.

The Development Cycle

Pournelle: How long did FX!32 gestate?

Spencer: We spent about a year on the prototype and then about two years getting FX!32 to external beta, and finally six months in beta. All told, it's been a bit over three years since we began working on the x86-to-Alpha problem. At a Comdex demonstration, an Alpha ran a set of applications (Office'95, CorelDraw, and Photoshop) that were not available natively on Alpha.

Pournelle: I heard rumors of FX!32 running on NT 3.51. Instead, you are releasing FX!32 with NT 4.0.

Spencer:We considered 3.51 as a target, but then we realized that some applications rely on the existence of the enhanced-mode 16-bit emulator, which wasn't available to Alpha users until NT 4.0. Turns out, the applications are 32-bit, but the installer on the kit can be 16-bit enhanced-mode! So those applications don't install cleanly on Alpha without NT 4.0.

Pournelle:Just how much work went into FX!32? How many people were on the development project team? How many are committed to its ongoing maintenance and development?

Jollie: Six engineers compose the core development team, and we added a few more in the project's final months. But we are now putting into place the team for testing and validating FX!32, marketing, product support, and distribution support.

Pournelle:How many innovations does FX!32 contain? Are patents and papers due from it?

Spencer:FX!32's execution paradigm, which is a unique combination of emulation and binary translation, is one of the innovations. We have entered new territory in several other areas, as well. We have filed nine patents and a technical paper is underway.

Pournelle:Did you need any additional hooks inside NT to make FX!32 work, or did they exist already?

Spencer:Microsoft didn't change NT to make FX!32 work. But we confronted several challenges, of which Object Linking and Embedding (OLE) was prominent.

Jollie: What Joyce is saying (probably more tactfully than I can) is that we made FX!32 work without any help from Microsoft, so we did a huge amount of work to get into the guts of NT and understand it. As we've proven the technology, Microsoft and others have been more forthcoming with information. We hope this new cooperation will lead to improvements in FX!32, but we've only just started with that work.

Related Content:

ARTICLE TOOLS

Comments
    There are no comments to display. Be the first one!
You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.