Dinero IV Manual
User Manual:
Open the PDF directly: View PDF .
Page Count: 3
User Commands DINEROIV ( 1 )
NAME dineroIV − fourth generation cache simulator
SYNOPSIS
dineroIV [options]
DESCRIPTION
The dineroIV command is a trace-driven cache simulator based on the dineroIV library, documented sepa-
rately.
The basic operation is to read memory reference trace records from the standard input, process them
through one or more simulated caches forming a memory hierarchy, and write statistics on the standard out-
put.
OPTIONS
Some options control overall operation, while others specify the basic parameters and arrangement of the
caches to be simulated. In the following list of options, Fis a string, Uis an unsigned decimal integer, Cis
a single character, Ais a hexadecimal address, and Sis like U, but with an optional scaling suffix character
(one of kKmMgG, for multiplication by 0x400, 0x100000, or 0x40000000). Pis like S, but must be a
power of 2, Nis a cache level (1 ≤N), where level 1 is closest to the processor, and Tis a cache type
(u=unified, i=instruction, d=data).
Some global options take 0 or 1 argument, while options that specify characteristics of a particular cache
typically involve 2 or 3 arguments, with the cache level and type being incorporated into the option name as
indicated.
−help Print a synopsis of all the options and defaults. No simulation is done.
−copyright Describe copyright terms for dineroIV.
−contact Tell how to get the latest version of Dinero IV and how to contact the authors. This
information is also available below, in AUTHORS and COPYRIGHT.
−dineroIII Show what dineroIV command line arguments corespond to each dineroIII argument.
−custom FGenerate and run a customized version of the simulator, with the resulting executable
named F. Most cache parameters are fixed and made into constants, with a resulting
performance boost that is somewhat variable, but generally recommended for lengthy
simulations. The fixed options are unsettable in the customized program; run Fwith
the −help option to see exactly which options are still available. Fis not removed
following simulation, so it can be used for more than one run. The dineroIV source
code must be available and properly configured for −custom to work, with the
D4_SRC environment variable naming the directory.
−skipcount UDisregard the initial Umemory references from the standard input.
−flushcount UFlush the cache after processing every Ureferences read from the standard input.
−maxcount UStop the simulation after processing Ureferences read from the standard input.
−stat−interval UShow statistics after processing every Ureferences read from the standard input.
This is in addition to the statistics produced at the end of the full simulation.
−informat CSelect the input trace format as indicated by C(D=extended din, d=traditional din,
p=pixie32, P=pixie64, b=binary). The exact current list of choices is given by the
−help option. The default input format is D. See TRACE RECORDS, below, for
more information.
−on−trigger ADisregard trace records until one with address Ais seen.
−off−trigger ADisregard trace records after seeing one with address A.
−stat−idcombine Combine the statistics for separate instruction and data caches.
−lN−Tbsize PSet the block size of the specified level Ncache to Pbytes.
SunOS 5.8 Last change: 1
User Commands DINEROIV ( 1 )
−lN−Tsbsize PSet the sub-block size of the specified level Ncache to Pbytes. If not specified, sub-
blocks are not used (i.e., sub-block size =block size).
−lN−Tsize PSet the cache size of the specified level Ncache to Pbytes.
−lN−Tassoc USet the associativity of the specified level Ncache to U.
−lN−Trepl CSet the replacement policy of the specified level Ncache to C(l=LRU, f=FIFO,
r=random). The exact current list of choices is given by the −help option.
−lN−Tfetch CSet the fetch policy of the specified level Ncache to C(d=demand, a=always,
m=miss, t=tagged, l=load forward, s=sub-block). The exact current list of choices is
given by the −help option. Further information on fetch policies is given in
dineroIV(3).
−lN−Tpfdist USet the prefetch distance of the specified level Ncache to Usub-blocks. The default
is 1. This option is not valid for the dfetch policy, where no prefetching will hap-
pen.
−lN−Tpfabort USet the prefetch abort percentage of the specified level Ncache to U(0−100). The
default is 0. The specified percentage of prefetch requests will be randomly chosen
to be aborted, i.e., not happen. This option is not valid for the dfetch policy, where
no prefetching will happen.
−lN−Twalloc CSet the write allocate policy of the specified level Ncache to C(a=always, n=never,
f=nofetch). The exact current list of choices is given by the −help option. Further
information on write allocate policies is given in dineroIV(3).
−lN−Twback CSet the write back policy of the specified level Ncache to C(a=always, n=never,
f=nofetch). The exact current list of choices is given by the −help option. Further
information on write back policies is given in dineroIV(3).
−lN−Tccc Compute Compulsory/Capacity/Conflict miss rates for the specified level Ncache.
TRACE RECORDS
AdineroIV trace record, as processed internally, consists of three things: an access type, an address, and a
size. The following access types are supported:
• Read.
• Write.
• Instruction fetch.
• Miscellaneous. These references are treated like reads, but they nev er generate prefetches.
• Copy-back dirty (sub-)block(s), with no invalidation implied. This affects the whole cache if the indi-
cated size is 0.
• Inv alidate block(s), with no copy-back implied. This affects the whole cache if the indicated size is 0.
There are no internal restrictions on what constitutes a valid address, except that the size of an address is
platform-dependent (generally 32 bits or more). The size value of a trace record indicates the number of
bytes affected. Dinero IV imposes no size or alignment restrictions on memory references; they may span
multiple sub-blocks or blocks.
The following input formats are supported by the −informat option:
dThe traditional ‘‘din’’ format of Dinero III. Tw o fields are examined per line: access type and address.
The access type is numeric: 0 for read, 1 for write, 2 for instruction fetch, 3 for miscellaneous, 4 for
copy-back, and 5 for invalidate. The address is hexadecimal, beginning with an optional ‘‘0x’’ or
‘‘0X’’. Fields are separated by white space (space or tab), and everything following the first two fields
of a line is ignored. To approximate the behavior of Dinero III, addresses are silently rounded down to
a multiple of 4 bytes, and the data size for reads and writes is always assumed to be 4 bytes.
SunOS 5.8 Last change: 2
User Commands DINEROIV ( 1 )
DAn extended version of the traditional Dinero III input format, where each line contains three signifi-
cant fields. The first field, specifying the access type, is a single letter (rwimcv) to indicate one of the
access types described above. The second field is the hexadecimal address, and the third field is the
hexadecimal size. A leading ‘‘0x’’ or ‘‘0X’’ is ignored at the beginning of each hexadecimal field.
Fields are separated by white space (space or tab), and everything following the first three fields of a
line is ignored.
pThe format produced by pixie −idtrace on SGI IRIX systems.
PThe format produced by pixie −idtrace_ext on SGI IRIX systems.
bA binary format, consisting of a four byte little-endian address, a 2-byte little-endian size, a 1-byte
access type, and a byte of padding.
FILES For the −custom option, the location of the Dinero IV source files is given by the D4_SRC environment
variable.
SEE ALSO
dineroIV (3).
AUTHOR
Jan Edler and Mark D. Hill (edler@research.nj.nec.com and markhill@cs.wisc.edu, respectively).
The latest version of Dinero IV can be obtained from
ftp://ftp.nj.nec.com/pub/edler/d4-X.tgz
where Xis the latest version number.
COPYRIGHT
Copyright (C) 1997 NEC Research Institute, Inc. and Mark D. Hill.
All rights reserved.
Copyright (C) 1985, 1989 Mark D. Hill. All rights reserved.
Permission to use, copy, modify, and distribute this software and its associated documentation for non-com-
mercial purposes is hereby granted (for commercial purposes see below), provided that the above copyright
notice appears in all copies, derivative works or modified versions of the software and any portions thereof,
and that both the copyright notice and this permission notice appear in the documentation. NEC Research
Institute Inc. and Mark D. Hill shall be given a copy of any such derivative work or modified version of the
software and NEC Research Institute Inc. and any of its affiliated companies (collectively referred to as
NECI) and Mark D. Hill shall be granted permission to use, copy, modify, and distribute the software for
internal use and research. The name of NEC Research Institute Inc. and its affiliated companies shall not
be used in advertising or publicity related to the distribution of the software, without the prior written con-
sent of NECI. All copies, derivative works, or modified versions of the software shall be exported or reex-
ported in accordance with applicable laws and regulations relating to export control. This software is
experimental. NECI and Mark D. Hill make no representations regarding the suitability of this software for
any purpose and neither NECI nor Mark D. Hill will support the software.
Use of this software for commercial purposes is also possible, but only if, in addition to the above require-
ments for non-commercial use, written permission for such use is obtained by the commercial user from
NECI or Mark D. Hill prior to the fabrication and distribution of the software.
THE SOFTWARE IS PROVIDED AS IS. NECI AND MARK D. HILL DO NOT MAKE ANY WAR-
RANTEES EITHER EXPRESS OR IMPLIED WITH REGARD TO THE SOFTWARE. NECI AND
MARK D. HILL ALSO DISCLAIM ANY WARRANTY THAT THE SOFTWARE IS FREE OF
INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF OTHERS. NO OTHER
LICENSE EXPRESS OR IMPLIED IS HEREBY GRANTED. NECI AND MARK D. HILL SHALL
NOT BE LIABLE FOR ANY DAMAGES, INCLUDING GENERAL, SPECIAL, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE THE SOFT-
WARE.
SunOS 5.8 Last change: 3