Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!amdcad!rpw3 From: rpw3@amdcad.AMD.COM (Rob Warnock) Newsgroups: comp.arch Subject: Re: Software Distribution Message-ID: <22778@amdcad.AMD.COM> Date: 30 Aug 88 08:09:06 GMT References: <1988Aug23.180420.28483@utzoo.uucp> <958@esunix.UUCP> <1988Aug29.202603.13897@utzoo.uucp> Reply-To: rpw3@amdcad.UUCP (Rob Warnock) Organization: [Consultant] San Mateo, CA Lines: 27 There are a number of companies out there these days who have made major advances in the art of emulation of one CPU on another, particularly when the emulated CPU is the IBM PC (of some flavor). These products do a variety of things (some products do one or more), including: (1) pre-processing of the to-be-emulated program; (2) straight emulation, but with caching of the "instruction decode" step; (3) detection of basic blocks and optimization and caching of the whole basic block; (4) [other things I don't know about...?]. When running the emulator on, say, a Mac or Sun workstation the emulated speed can exceed the native speed of a PC/AT. The thought occurs that if one designed a virtual "machine" that was specifically easy to emulate -- given these modern techniques -- that this *might* be a suitable form for "portable" object programs (as contrasted with some "universal intermediate form"). At least it bears some thought. (Hmmm... how hard is it for each of the current RISC CPUs to emulate each of the others?) Rob Warnock Systems Architecture Consultant UUCP: {amdcad,fortune,sun}!redwood!rpw3 ATTmail: !rpw3 DDD: (415)572-2607 USPS: 627 26th Ave, San Mateo, CA 94403