From: zstern@adobe.com (Zalman Stern)
Subject: Re: Re: What's in a name? (cross-posted to SGI since mentioned)
Organization: Adobe Systems Incorporated
Date: Thu, 30 Jul 1992 00:06:35 GMT

In article <58220001@sherpa2.lan1.eldec.com> emagnuso@sherpa2.lan1.eldec.com  
(Erik Magnuson) writes:
[I mention the HP3000->precision architecture and DEC VAX->Alpha  
transitions.] 
[Erik objects to my comparing systems vendors to Intel.]

These are interesting examples to see how backwards compatibility can be  
dealt with. Some of the solutions used in these projects apply to the Intel  
architecture. (And in fact, Microsoft is using similar technology in their  
"Virtual DOS Machine" (VDM) for NT.) However my main point is that the  
evolution of the x86 architecture has made bows to backwards compatibility  
which have cost a lot and bought little. Fortunately, Intel has done better  
with the 486 (and probably the 586) as compared to the 286 and 386.

> DEC has to support VMS, OSF/1 (aren't they dropping Ultrix?) and (in
> the future) Windows NT. (Two of these are designed to be "portable"
> OS's.)  Systems built around the Intel line have to support MS-DOS, DR
> DOS, Windows, OS/2, Unix, and tens or even hundreds of variations on
> the above most of which are intimately tied to the architecture. Not
> to mention that the price points of the system (and the total units
> shipped) involved are an order of magnitude or two different.

In both cases the goal is for *application* binaries to run reliably, with  
acceptable performance and the exact same user interface while supporting  
much better performance and functionality for future applications. In that  
vein, DEC has put significant effort into running Ultrix MIPS binaries on  
Alpha OSF/1 systems. (And apparently, if you believe Microsoft's NT spiel,  
you only need to support the top few thousand applications or so to win.)  
But once again what does this have to do with my point? How much software  
does anybody run in '386 mode on Intel processors? How much of that software  
benefits from having an instruction set closely modeled after the 8086?

[My text deleted.]
> I think this is expressed a bit backwards. Many older programs exploit
> "features" of the previous implementations to maximize performance on
> a limited resource machine (i.e. 8088).
A less charitable view is that the 8086 was designed with a lack of  
foresight forcing developers to use such hacks.

> These same tricks are often
> not the fastest way to do things on a 486. What's your point? Some
> people will always write for the lowest common denominator and some
> will kill for an additional 10%. (Now where have I heard that before?)
> 
> When Intel want to make existing software run faster, they introduce a
> new part.

New versions of the x86 line have not necessarily resulted in the fastest  
way to run MS-DOS programs. At the same time it has been significantly  
difficult for old software to use new architectural features. (I.e. it  
wasn't a matter of changing a few things to gain your speed back.)

In other words, if you wanted to run MS-DOS applications fast when the 386  
came out, the fastest 286 around was the best way to do it. If you wanted to  
run a 32 bit OS, you couldn't run MS-DOS programs anyway except for virtual  
8086 mode. I consider virtual 8086 mode to be a good thing to do. However,  
architecting the 32 bit instruction set to have segment registers, prefix  
instructions, and even more complex addressing modes is bogus.
--
Zalman Stern		   zalman@adobe.com		    (415) 962 3824
Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900