mejia@matterhorn.ee.umn.edu (John C. Mejia (Gradst)) (04/10/91)
Greetings. The research group I belong to has been studying the simulator (DLXSIM) and the matching gcc based compiler (DLXCC) from the new textbook "Computer Architecture: A Quantitative Approach" by Patterson & Hennessey. As you've probably guessed, we have a few questions about this software and were hoping someone out there in net.land would be able to help us out. Information on any/all the questions below will be greatly appreciated! Please email any responses directly to me instead of posting as I will post a summary if enough requests come through for it. Thanks in advance!! 0. Can dlxcc be made to handle multiple file programs? Right now it generates a matching .s assembly file for each C source file. Unfortunately, there appears to be no way of linking them together to form a single executable program consisting of dlx machine code. One problem we noticed is the labels in each .s file are the same!!! 1. How were the numbers for all the instruction mix statistics generated for spice, gcc, and tex that were given in the textbook? We assumed these real programs were compiled using dlxcc and fed into dlxsim to simulate their execution on the hypothetical dlx machine. DLXSIM then takes note of instruction types and addressing modes as the program is "executed". 2. What is the meaning of the dlxsim hardware statistic "Memory size: 65536 bytes". When I load a test program, this particular status does not appear to change. Does it have any meaning for the size of simulations that can be executed in dlxsim? 3. Are there any limitations to the size of programs that can be executed on the simulator? Are there parameters that may be changed that affect the size of programs executed in dlxsim? 4. When I load dlxsim with a program, I cannot use the "go" command like "go main" to start a program or use "go" and have the simulator correctly identify the start of the program and begin execution. It appears that dlxsim does not support this use of labels, where "main" is a legitimate label in a "C" program. I have been able to run programs with dlxsim, but I have to ensure that "main" is at address 256 or I know the address of "main" when I start the program (by repeated use of "get 256 10i" to identify the start of the program). Is there some type of mapping mechanism with either dlxsim or dlxcc to easily identify the "start address" of the program without resorting to the use of "get" to identify the "start address"? Or do you have some suggestions for compiling, loading and starting programs on dlxsim? I have used the examples included with the documentation. They were very helpful! 5. Is there any documentation available about the underlaying Tcl interface? ------------------------------------------------------------------------------- John C. Mejia University of Minnesota - Department Electrical Engineering E-MAIL VOICE mejia@everest.ee.umn.edu 612-625-8348 (W) 612-379-4382 (H) / F __o / I __o -\<, / N -\<, ...........O / O / I ..............O/ O / S / H -------------------------------------------------------------------------------