📄 help.html
字号:
<html><head><title>DLXview - (Preliminary) User's Manual</title></head><body><center><h1>DLXview</h1><h2>(Preliminary) User's Manual</h2></center><p><hr><p><h2><a name="contents">Table of Contents</a></h2><p><dl> <dd><IMG ALT="*" SRC="images/ball.gif"> <A HREF="help.html#intro">Introduction</A> <dl> <dd> <IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#history">DLXview History and Future</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#advice">Contact Us</a> </dl> <dd><IMG ALT="*" SRC="images/ball.gif"> <A HREF="help.html#starting">Getting Started</A> <dl> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#simple">...the Simple Way</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#advanced">...the Advanced Way</a> </dl> <dd><IMG ALT="*" SRC="images/ball.gif"> <A HREF="help.html#controlpanel">Control Panel</A> <dl> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#configure">Configure</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#forward">Step Forward</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#next">Next Cycle</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#go">Go</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#back">Step Back</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#prev">Previous Cycle</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#reset">Reset</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#trace">Trace</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#quit">Quit</a> </dl> <dd><IMG ALT="*" SRC="images/ball.gif"> <A HREF="help.html#pipeline">Pipeline Modes</A> <dl> <dd> <IMG ALT="*" SRC="images/ball.gif"> <A HREF="help.html#pipeline">Basic Pipeline</A> <dd> <IMG ALT="*" SRC="images/ball.gif"> <A HREF="help.html#tomasulo">Tomosulo Algorithm</A> <dd> <IMG ALT="*" SRC="images/ball.gif"> <A HREF="help.html#scoreboard">Scoreboarding</A> </dl> <dd><IMG ALT="*" SRC="images/ball.gif"> <A HREF="help.html#appendix">Appendix</A> <dl> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#startupformat">Format of a Startup File</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#startupsample">A Sample Startup File</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#codeformat">Formats of Code and Data Files</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#registerformat">Format of Register Initialization File</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#inputsamples">Sample Input Files</a> </dl></dl><hr><h2><a name="intro">Introduction</a></h2><p><dl> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#history">DLXview History and Future</a> <dd><IMG ALT="*" SRC="images/ball.gif"> <a href="help.html#advice">Contact Us</a></dl><p><b>DLXview</b> is an interactive pipelined computer simulator using the DLX instructionset described in<i>Computer Architecture: A Quantitative Approach</i> (<i>CA:AQA</i>)by John Hennessy and David Patterson. The main goal of <b>dlxview</b> is to provide agraphical environment where the internal operations of a processor aremuch easier to understand than their text description only. In additionto its pedagogical purpose, <b>dlxview</b> also serves to be a handy tool in DLXinstruction set understanding, debugging, and in processor performanceevaluation. <p><h3><a name="history">DLXview History and Future</a></h3><p><b>DLXview</b> was created by modifing and extending <i>DLXsim</i>, a generic, non-graphicalDLX pipeline simulator, which was in turn modified from a MIPS simulator.This is not surprising given the similarities between the DLX and MIPS instruction sets. The simple pipelining model in <i>DLXsim</i> has been greatly enhanced to support the execution models of basic pipelining, scoreboarding, and the Tomasulo algorithm. The graphical interface built on top of Tcl/Tk tries to expose as much nitty-gritty detail as possible as explained by the <i>CA:AQA</i> textbook on a cycle-by-cycle basis. <p>The current version of <b>dlxview</b> is a branch of the on-going <A HREF="http://purcell.ecn.purdue.edu/~casle/">CASLE</A> (Compiler/Architecture Simulation for Learning and Experimenting)project at <A HREF="http://www.purdue.edu">Purdue University's</A> <A HREF="http://dynamo.ecn.purdue.edu">School of Electrical and Computer Engineering</A>, which aims to provide a comprehensive pedagogical tool for learning architectural concepts, compiler technologies, and the interactions between them. Based on the experiencein the course of developing <b>dlxview</b>, we plan to build a more powerful simulatorwhich will cover the general microparallel execution models such assuperscalar and VLIW with differing configurations. This future toolwill also target some popular commercial RISC processors, such as the Alpha and PowerPC series.<p><h3><a name="advice">Contact Us</a></h3><p><b>DLXview</b> is a project in progress. The latest news about <b>dlxview</b>may be found at the <a href="http://yara.ecn.purdue.edu/~teamaaa/dlxview/">dlxview homepage</a>.For project suggestions, bug reports and further information, please contact <A HREF="http://yara.ecn.purdue.edu/~gba/">George Adams</A>at<A HREF="mailto:gba@ecn.purdue.edu">gba@ecn.purdue.edu</A>.<p><a href="help.html#contents"><i>Return to Contents</i></a><p><hr><p><h2><a name="starting">Getting Started</a></h2><p><dl><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#simple">...the Simple Way</a><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#advanced">...the Advanced Way</a></dl><h3><a name="simple">...the Simple Way</a></h3>Be sure the "dlxview" executable is in your path, and simply type<pre> dlxview </pre>followed by the <tt>ENTER</tt> or <tt>RETURN</tt> key to invoke <b>dlxview</b> to bring up the initial <b>dlxview</b> simulator window.<p><h3><a name="advanced">...the Advanced Way</a></h3><p>Additional startup files can be used to save the time of a series of interactive configuration steps. Suppose the startup file is called"foo"; there are two ways of having <b>dlxview</b> read it.<ol><li> Invoke <b>dlxview</b> by passing the startup file as a command line option:<pre> dlxview -f foo </pre> followed by the <tt>ENTER</tt> or <tt>RETURN</tt> key. The disadvantage of this approach is that the input terminal will no longer accept other key strokes during the simulation session. Fortunately, this feature is irrelevant to most users who do not require extensive debugging of DLX assembly programs and <b>dlxview</b> internals.<p><li> Start a <b>dlxview</b> session first by typing<pre> dlxview</pre>followed by the <tt>ENTER</tt> or <tt>RETURN</tt> key at the command line, and type <pre> source foo</pre>followed by the <tt>ENTER</tt> or <tt>RETURN</tt> keyafter the <tt>(dlxview)</tt> prompt in the command line window.</ol><p><a href="help.html#contents"><i>Return to Contents</i></a><p><hr><p><h2><a name="controlpanel">Control Panel</a></h2><dl><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#configure">Configure</a><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#forward">Step Forward</a><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#next">Next Cycle</a><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#go">Go</a><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#back">Step Back</a><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#prev">Previous Cycle</a><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#reset">Reset</a><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#trace">Trace</a><dd> <IMG ALT="*" SRC="images/ball.gif"><a href="help.html#quit">Quit</a></dl>In <b>dlxview</b>,if a button is enabled, the button text is black; if it is disabled, thebutton text is gray. This section explains the basic operations of the <a href="images/sim.gif">control panel window</a> buttons.<p><h3><a name="configure">Configure</a></h3>When <b>dlxview</b> is invoked without using a startup file, or right after the processorstate is reset, this button must be pressed to configure the machine to be simulated. In the <a href="images/conf.gif">mode configuration window</a>, there are three radio buttons on top. Click on the button corresponding to the mode to besimulated and another larger parameter configuration window willappear corresponding to either the basic <a href="images/pipeconf.gif">pipeline</a>, <a href="images/scorconf.gif">scoreboard</a>, or <a href="images/tomconf.gif">Tomasulo</a>scheduling modes. Configure the machine by dragging the sliders and clicking the radio buttons. Then exit the configuration windows bypressing the "Ok" button in the parameter configuration window, andthen pressing the "Ok" button in the mode configuration window.<p>In the middle of a simulation session, the "configure" button in the controlpanel can be pressed again to check the current configurations. However, the sliders and buttons on the configuration windows are disabled; i.e.,the processor configuration cannot be changed once simulation has started. To abort the current configuration, press the "reset" button on the controlpanel first, and then configure the machine from there.<p>Note that in the <i>CA:AQA</i> text, the latency of a functional unitis defined as the number of intervening cycles between an instruction that produces a result and an instruction that uses the result (see <i>CA:AQA</i>,page 189). For example, the integer unit will have latency 0, which is somewhatunintuitive. In <b>dlxview</b>, he latency of a functional unit is defined as the total number of clock cycles an instruction will stay in this functional unit. Therefore, the latency is one clock cycle more than specified in <i>CA:AQA</i>.For more information on the configurable parameters, please refer totables in the <a href="help.html#appendix">Appendix</a>. <p>The processor must be configured before loading a file. A fileselection window will pop up after pressing the "load"button. <b>DLXview</b> accepts three types of files before a simulation sessionbegins. The <tt>*.s</tt> files are assembly code file, <tt>*.d</tt> files are datafile. It is not necessary to have a separate data file. Code anddata files can be merged into a single <tt>*.s</tt> file. <tt>*.i</tt> files containcommands to initialize the registers to be used. It is possible to adda few instructions in the assembly code to do the same job, the catchis that the code segment won't start at clockcycle one. Register initialization is unavoidable in somesituations, such as examining the execution of a loop
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -