[comp.arch] Question about Patterson/Hennessey simulator

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
-------------------------------------------------------------------------------