[Rowson 94] @InProceedings{Rowson:94, author = "James A. Rowson", title = "Hardware/Software Co-Simulation", booktitle = "Proc.~of the 31st Design Automation Conference (DAC~'94)", year = "1994", organization = "ACM", address = "San Diego, CA", OPTmonth = "June", note = "(Tutorial)", OPTannote = "" }
@InProceedings{Rogers:92, author = "Anne Rogers and Kai Li", title = "Software Support for Speculative Loads", pages = "38-50", booktitle = "Proc.~of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems", year = "1992", month = "October" }Evidently contains information about a cycle-level simulator. More in
@TechReport{Rogers:93, author = "Anne Rogers and Scott Rosenberg", title = "Cycle Level {SPIM}", institution = "Department of Computer Science, Princeton University", year = 1993, address = "Princeton, NJ", month = "October" }
Tracing with Pixie Michael D. Smith Center for Integrated Systems Stanford University April 91 ssim: A Superscalar Simulator Mike Johnson AMD M. D. Smith Stanford Univ.Pixie front ends in ftp://velox.stanford.edu/pub
Johnson, Mike: Superscalar microprocessor design Englewood Cliffs, NJ : Prentice Hall, 1991. - XXIV, 288 S. : graph. Darst. (Prentice-Hall series in innovative technology) Literaturverz. S. 273 - 278 ISBN 0-13-875634-1
@Book{Huck:89, author = {Jerome C. Huck and Michael J. Flynn}, title = {Analyzing Computer Architectures}, publisher = {IEEE Computer Society Press}, year = 1989, address = {Washington, DC} }
%A Max Copperman %A Jeff Thomas %T Poor Man's Watchpoints %J ACM SIGPLAN NotIces %V 30 %N 1 %D January 1995 %P 37-44Pardo has a copy. Executive summary: debugging tool; statically patches loads and stores with code to check for data breakpoints.
Amusing story: The processor they were running on has load delay slots and does not have pipeline interlocks. Their tool replaces each load or store with several instructions; it patched a piece of user-mode code of the form
load addr -> r5 store r5 -> addr2Before patching, the code saved the old value of r5 to addr2. After patching, it saved the new value. Technically, this code was broken already because the symptom could have also been exhibited by an interrupt or exception between the load and the store.
``Spike was built inside GNU GCC by Michael Golden and myself. It includes a lot of features that have appeared in ATOM, including the simulator with the benchnark into a single ``self-tracing'' binary. The instruction trace was based on an abstract machine model distilled from GCC's RTL; it had both a high-level and a low-level form. Spike is still in occasional use, but has never been released.''
Basic summary: Wanted to profile. -p/-pg code is larger and slower by enough to make it hard to justify profiling as he default. Assumes the entire source is available. For these and other reasons, wrote jprof which operates with disassembly, analysis and rewriting. Discusses sampling errors, expected accuracy, stability, randomness, etc. Describes jprof: counters and stopwatches; subroutine call graph. Domain/OS on HP/Apollo using 68030. Discusses shared libraries. Can also use page-fault clock. 4-microsecond clocks. Some lessons/observations. Doesn't explain how program running time is affected by jprof.
Summary: DEC is running Win32 application binaries on Alpha by a new combination of interpreter and static translator. The static translator runs in the background, between the first and second executions of the application. It uses info collected by the interpreter during the 1st run, to reliably distinguish active code paths from r/o data and work out the effects of indirect jumps. Static analysis can't do this automatically on its own, for typical x86 binaries.
%A P. J. Brown %T Re-creation of Source Code from Reverse Polish Form %J Softwawe \- Practice & Experience %V 2 %N 3 %P 275-278 %D 1972Note: there's a slightly later SPE that has a follow-up article explaining how to do it faster/more efficiently.
%A Ariel Pashtan %T A Prolog Implementation of an Instruction-Level Processor Simulator %J Software \- Practice and Experience %V 17 %N 5 %P 309-318 %D May 1987
From: bchen@eecs.harvard.edu (Brad Chen) Newsgroups: comp.arch Subject: Windows x86 Address Traces Available Date: 7 Oct 1996 22:20:30 GMT Organization: Harvard University EECS Lines: 15 Message-ID: <53bvne$5lb@necco.harvard.edu> NNTP-Posting-Host: steward.harvard.edu Keywords: Windows x86 address traces
A collection of x86 memory reference traces from Win32 applications are now available from the following URL: http://etch.eecs.harvard.edu/traces/index.html. The collection includes traces from both commercial and public-domain applications. The collection currently includes:
- Perl - MPeg Play - Borland C++ - Microsoft Visual C - Microsoft WordThese traces were created using Etch, and instrumentation and optimization tool for Win32 executables. For more information on Etch see the above URL.
(etch-info@cs.washington.edu)
Peter Kuhn voice: +49-89-289-23092 Institute for Integrated Circuits (LIS) fax1: +49-89-289-28323 Technical University of Munich fax2: +49-89-289-25304 Arcisstr. 21, D-80290 Munich, Germany email: P_Kuhn@lis.e-technik.tu-muenchen.de http: //www.lis.e-technik.tu-muenchen.de/people/kp.html