Subscribe to Windows IT Pro
September 01, 1997 12:00 AM

Migrating to Alpha with FX!32

Windows IT Pro
InstantDoc ID #270
Rating: (0)

My appreciation of Alpha machines is not a big secret around these parts. I've been an Alpha fan since the first time I laid my hands on Digital Equipment's 150MHz variety, back when the fastest Intel was a Pentium 60, complete with floating point bug. The Digital Alpha is among the world's fastest processors, but this RISC-based processor can't natively run all forms of Intel-based programs. To address this issue, Digital came up with FX!32, a translation tool that is incredibly cool. It converts Intel Win32 code into native Alpha instructions, creating Alpha compatibility for most 32-bit Intel-based Windows NT applications. Joel Sloss explained a prototype of FX!32 in his October 1996 article, "FX!32." I'll describe how version 1.1 has developed.

FX!32 1.1 is a software-based x86 (Intel-based) Win32 (32-bit) binary translator. It lets users run most native Intel x86 code on their Alpha systems. Independent benchmark testing results show that some Alpha systems using FX!32 either match or beat the performance of the same applications running on 200MHz Pentium Pro systems.

FX!32 works by translating the Intel execuTables, called images, into an Alpha code image. When you run a Win32 application that was compiled for an x86 system, FX!32 immediately recognizes that the application is not native to the Alpha. FX!32 then either converts the Intel code into Alpha code on the fly or (if you've run this application before) runs a previously translated program image from disk.

As you run the application, FX!32 collects information, such as each called program routine, static jump points to other routines, and the number of times the application calls the routines. FX!32 saves this information as a series of files called profiles. Profiles are a list of program routines encountered during the execution of the program. Each time you run the application, FX!32 collects profile information, merges the new information with existing profile information, and­based on the threshold settings of the Configuration Manager­ decides when to reoptimize the code. After each optimization, the application will run faster as FX!32 translates more of the application into native Alpha format. According to Digital, the greatest performance improvement usually occurs after the first or second time you run the application.

Keep in mind that FX!32 optimizes only the code that you've executed. If you never use certain functions of a program (e.g., the Table insertion tool in Microsoft Word), FX!32 won't optimize those routines until it collects information about them. Information collection occurs when you start the routines through a menu command, tool button, or hot-key combination.

FX!32 consists of the following main parts:

  • The installer program, which installs Intel-based applications.
  • The FX!32 Server service, which lets the software optimize and execute the Intel-based code and perform other general housekeeping tasks, such as merging profile information and deciding when to optimize the code again.
  • A runtime environment, which transparently runs the application and collects information about what Intel program routines FX!32 encounters. This information will become the execution profile for the application.
  • The Background Optimizer, which uses the profiles to create the optimized code in a way similar to the operation of program compiler.
  • The FX!32 Server, which coordinates the runtime environment with the optimizer and decides whether to further optimize the code (if it hasn't already been fully optimized).
  • The Configuration Manager, which sets optimization schedules and lets the user define maximum disk usage parameters for profiles. FX!32 creates profiles as the application executes, and it stores the profiles on disk. Users might not be aware that FX!32 is using increasing amounts of disk space with each optimization, so the Configuration Manager lets users control the maximum amount of space that FX!32 can use.

Easy Installation
Now that you know what FX!32 is and how it works, let's look at installing the software. Installation is easy: Just pick the installation directories and choose a Start Menu folder name for the FX!32 software. The installation program then copies all the necessary FX!32 files and creates a menu entry on the Start Menu for easy execution.

Related Content:

ARTICLE TOOLS

Comments
  • Jim Moore
    13 years ago
    Aug 13, 1999

    In Mark Joseph Edwards’ September article “Migrating to Alpha with FX!32,” he damns Digital Equipment’s FX!32 with faint praise when he writes that some Alpha systems using FX!32 either match or beat the performance of 200MHz Pentium Pro systems. Although I understand that near-perfect software-based emulation of a hardware design is quite an achievement, it’s the end result that matters more than the coolness of the tool. A high-end workstation simulating a middle-of-the-road Intel CPU doesn’t impress me.
    About eighteen months ago, I was working on a problem involving NT 3.5 and an Alpha workstation, and I asked the machine’s owner what kind of performance the Alpha delivered. He proudly answered that it approached a 66MHz 486 for his target software, Microsoft Office. I left tactfully, without suggesting that a $2000 Intel box might have been a better fit for his requirements.
    Certainly FX!32 is a useful tool for Alpha users who primarily run native binaries and only occasionally need to run an Intel executable. However, I think the entire Alpha community would be better served if Digital’s users (and the computer press) demanded that software publishers release real, native Alpha binaries reasonably soon after the release of the Intel-based counterpart. I’d be interested to read Microsoft’s justification for its delay in releasing native Alpha Office 97 components, much less the entire suite of applications.

    --Jim Moore

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.