- Other tracing work by the
Computer Architecture
folks at the University of Washington.
- A history of computers,
which includes information on simulators.
- Larus's ``AE'' (abstract execution), including
James R. Larus, ``Abstract Execution: A Technique for
Efficiently Tracing Programs'', Software--Practice &
Experience,
20(12):1241-1258,
December 1990
UW CS TR 912.
- Pure Software,
United States Patent 5,193,180
March 1993.
- Robert Wahbe, Steven Lucco, Thomas E. Anderson and Susan L.
Graham
``Efficient Software-Based Fault Isolation,''
Proceedings of the Fourteenth ACM Symposium on Operating
System Principles (SOSP),
December 1993,
pp.~203-216.
PostScript(tm) paper
- Robert Wahbe, Steven Lucco and Susan L. Graham,
``Practical Data Breakpoints: Design and Implementation,''
In Proceedings of the ACM SIGPLAN 1993 Conference on Programming
Language Design and Implementation. SIGPLAN, ACM, 1993. Sigplan
Notices, Volume 28, Number 6.
PostScript(tm) paper
- Robert Wahbe. Efficient Data Breakpoints. In ASPLOS V. ACM, 1992.
PostScript(tm) paper
- Mark Weiser,
``Program Slicing,''
IEEE Transactions on Software Engineering,
SE-10(4):352-357, July 1994.
- The glossary should have a ``short list'',
and should define runtime, dynamic, speculation and rollback.
- STonX not integrated.
- Apple Macintosh emulators not
integrated.
- Apple II emulators not integrated.
- DEC PDP-8 emulators not integrated.
- DEC PDP-11 emulators not
integrated.
- SimCPM
(see the bottom of the page) isn't listed.
- xtrs isn't integrated.
- MSX emulators isn't integrated.
- Sinclair ZX Spectrum Emulators isn't integrated.
- VAX-11 RSX Emulator isn't integrated.
- Wabi isn't integrated.
- 8051 Emulators isn't integrated.
- Emulator for disk drive processors
- AXP simulators
including Mannequin, ISP, AUD, and AUDI.
Also in
PostScript(tm)
- Simulation of the DEC NVAX:
text
and
PostScript(tm)
- Intel 80960 Emulators.
(this is just a list of mfg., but lists a few emulator mfg.)
- Wine is not integrated.
- DOSEMU (from Linux) isn't listed.
- The section
Implementation: Simulation Technology
needs to be rewritten to make orthogonal static/dynamic and
level of IR.
- Need an entry for
\bibitem{Rosin:69}
R. F. Rosin,
``Contemporary Concepts of Microprogramming and Emulation,''
Computer Surveys, Vol. 1, No. 4, Dec. 1969, pp. 197-212.
Cited by
[RFD 72].
- Need an entry for
\bibitem{McCormack:65}
M. A. McCormack,
T. T. Schansman,
and
K. K. Womack,
``1401 compatability feature on the IBM system/360 model 30,''
Comm. ACM 8, 12 (Dec. 1965), 773-776.
Cited by [Wilkes 69].
- Need an entry for
\bibitem{Benjamin:65}
R. I. Benjamin,
``The Spectra 70/45 emulator for the RCA 301,''
Comm. ACM 8, 12 (Dec. 1965), 748-752.
Cited by [Wilkes 69].
- Need an entry for
\bibitem{Green:66}
J. Green,
``Microprogramming, emulators and programming languages,''
Comm. ACM 9, 3 (Mar. 1966), 230-232.
Cited by [Wilkes 69]
and
[RFD 72].
- Need an entry for
\bibitem{CN:66}
C. R. Campbell,
and
D. A. Neilson,
``Microprogramming the Spectra 70/35,''
Datamation 12, 9 (1966), 64.
Cited by [Wilkes 69].
- [Wilkes 69]
isn't yet incorporated fully into this document.
- Need to merge interpreter types (e.g. ddi, tci, etc.)
into glossary.
- Cons up ``Who's Who'' entries for all the authors.
- Need to read/incorporate Computer Structures: Readings and
Examples, by Bell and Newell, especially Weber's paper comparing
native issue rates of microcode and emulated ``native'' code.
(Reference courtesey of Duane Sand).
- \bibitem{Wilner:72} is not integrated.
- [FN75] is not integrated.
It should have a ``Tool'' listing and the review under the paper
should be moved up to the tool listing.
- Need to find/read/incorporate
R. F. Rosin, ``Contemporary Concepts of Microprogramming and
Emulation,''
Computing Surveys, Volume 1, Number 4, December 1961,
pp.~197-212,
found in [Tucker & Flynn, Dynamic Miicroprogramming: Processor Organization and Programming, 1971].
- Need to find/incorporate papers from
Techewb,
including
Try a search
here
using `emulation' as the search key.
- Emulation
under GNU HURD
- Need to find/read/incorporate
[HV 79]
\bibitem{HV:79}
R. N. Horspool and N. Marovac,
``An Approach to the Problem of Detranslation of Computer Programs,''
The Computer Journal, 23(3)223-229, 1979.
C. Cifuentes says that it may not apply
to e.g. x86 architectures; limits also mentioned in one of
May's papers
- Duane Sand
notes that
dynamic cross compilation
-- anything using
Runtime Code
Generation (RTCG)
[Link broken, please e-mail <pardo@xsim.com> to
get it fixed.]
--
has at least one advantage over some other forms of emulation:
It is less liable to cause legal troubles with copyright owners'
rights to control all derivative works, because the RTCG's result
is only a transient copy rather than a permanently stored codefile.
RTCG-based emulation techniques are legal IFF the 1995 generation
of chips' hardware-implemented transformations at icache load time
are legal.
-
Need to read/categorize/etc. the paper
``A $\mu$ Simulator and $\mu$ Debugger for the CAL DATA 135'',
Fredirck L. Ross,
M. S. Thesis,
Department of Compuer Science,
Southern Illinois University
July 1978.
See
Pardo
and ask him to ask Ebeling for a copy.
-
Need to find/read/categorize/etc. the paper
%A Tom Thompson,
%T Building the Better Virtual CPU
%J Byte
%D August 1995
%P 149-150
which,
Duane Sand says
(paraphrasing):
Describes two variations of Apple's 68K interpreter it
used in the initial PowerMacs.
Both variations identify frequently
executed blocks of 68K code, compile them with trivial peephole
optimizations into host RISC code, hold the code in a software-managed
"cache" until it's full, then throw it all away and
start over.
One variation is used on Unix emulations of Apple,
and the other variation is used on the 'Power Mac 9500', in combination
with a modified interpreter with a smaller lookup table footprint
than in the first generation PowerMacs.
(The original interpeter
used so much lookup table space that it ran poorly on the
original PPC 603 chips, which held up Apple's plans for laptop
PowerMacs for a year.)
On PowerMacs that are able to run both
old & new versions, the new version averages 20-30% speedup over
the entire (nonnative) application.
- The
Retrocomputing Museum
keeps track of emulators for retro-machines.
- The
Charles Babbage Institute
has a link to a
history of simulation
site, but the link wasn't working when
Pardo tried it.
See perhaps
their TR
or the TR's author,
Paul A. Fishwick.
The TR itself is about general simulation,
rather than ISA simulation
(simulating instruction sets).
- Integrate [PM 94].
- Investigate/integrate
Redo
project, using decompilation for software maintainance
and reverse engineering.
- Investigate
Slack: A New Performance Metric for Parallel Programs
which has to do with profiling.
- Find and incorporate
- [Graham 65]
-
%A S. Graham
%T The Semi-Automatic Computer Conversion System (SACCS)
%J Presented at the ACM Reprogramming Conference
%C Princeton, New Jersey
%D June 1965
%W Referenced by [Gaines 65]
- Find and incorporate
- [Gaines 65]
-
%A R. Stockton Gaines
%T On the Translation of Machine Language Programs
%J Communications of the ACM (CACM)
%V 8
%N 12
%D December 1965
%P 736-741
Pardo has a copy.
- Find and incorporate
- [Dellert 65]
-
%A George T. Dellert, Jr.
%T A Use of Macros in Translation of Symbolic Assembly Language of One
Computer to Another
%J Communications of the ACM (CACM)
%V 8
%N 12
%D December 1965
%P 742-748
Pardo has a copy.
- Find and incorporate
- [Benjamin 65]
-
%A R. I. Benjamin
%T The Spectra 70/45 Emulator for the RCA 301
%J Communications of the ACM (CACM)
%V 8
%N 12
%D December 1965
%P 748-752
Pardo has a copy.
Pardo has a copy.
- Find and incorporate
%A Thomas M. Olsen
%T Philco/IBM Translation at Problem-Oriented Symbolic and Binary Levels
%J Communications of the ACM (CACM)
%V 8
%N 12
%D December 1965
%P 762-768
Pardo has a copy.
- Find and incorporate
%A Marvin Lowell Graham
%A Peter Zilahy Ingerman
%T An Assembly Language for Reprogramming
%J Communications of the ACM (CACM)
%V 8
%N 12
%D December 1965
%P 769-773
Pardo has a copy.
- Find and incorporate
%A M. A. McCormack
%A T. T. Schansman
%A K. K. Womack
%T 1401 Compatability Feature on the IBM System/360 Model 30
%J Communications of the ACM (CACM)
%V 8
%N 12
%D December 1965
%P 773-776
Pardo has a copy.
- Find and incorporate
%A Donald M. Wilson
%A David J. Moss
%T CAT: A 7090-3600 Computer-Aided Translation
%J Communications of the ACM (CACM)
%V 8
%N 12
%D December 1965
%P 777-781
Pardo has a copy.
- Find and incorporate
%A Mark I. Halpern
%T Machine Independence: Its Technology and Economics
%J Communications of the ACM (CACM)
%V 8
%N 12
%D December 1965
%P 782-785
Pardo has a copy.
- Integrage FreePort Express
- Find and integrate MIT AI Lab Technical reports about the
``11SIM''
PDP-11 simulator that ran on a PDP-6 and later a DEC KA-10.
Written by Don Eastlake and
Richard M. Stallman.
See MIT TR e-mail.
- Find and integrate
OmniVM.
- Write a PDP-1 emulator in
Java,
OmniVM
or whatever.
- One advantage of running a simulator on a segmented machine
(such as the 80386) is that you can set aside a segment to use
for application addreses.
Then, bogus application addresses can't ``wrap'' to valid simulator
addresses.
The advantage is that you can get the benefits of full address mapping
(e.g.,
g88, SimOS)
without paying the translation overhead.
Of course segmented machines are harder to simulate efficiently...
-
From instruction-set simulation and tracing