📄 d4.3
字号:
.RS.IP \f3wback_always\fP 20nDirty data is always held in the cache, to be written back towards memory later..IP \f3wback_never\fP 20nDirty data is never held in the cache, i.e., this is a write-through policy..IP \f3wback_nofetch\fP 20nDirty data is held in the cache as long as no fetch is required.A fetch would be required on a (sub-)block missif the write was not for an integral number of sub-blocks..IP \f3d4wback_impossible\fP 20nThis ``policy'' prints an error message and terminates the program;it is for use only on read-only caches (e.g., instruction caches)..RE.IP \f3name_replacement\fP 15nA pointer to a string describing the replacement policy.This is for programmer use when printing results;Dinero IV does nothing with it except require that it be.RB non- NULLwhen.B d4setupis called..IP \f3name_prefetch\fP 15nA pointer to a string describing the prefetch policy.This is for programmer use when printing results;Dinero IV does nothing with it except require that it be.RB non- NULLwhen.B d4setupis called..IP \f3name_walloc\fP 15nA pointer to a string describing the write allocate policy.This is for programmer use when printing results;Dinero IV does nothing with it except require that it be.RB non- NULLwhen.B d4setupis called..IP \f3name_wback\fP 15nA pointer to a string describing the write back policy.This is for programmer use when printing results;Dinero IV does nothing with it except require that it be.RB non- NULLwhen.B d4setupis called..SH "D4CACHE RESULT FIELDS"The result fields of each.B d4cachestructure accumulate statistics, and are of primary interestat the conclusion of simulation or after substantial amounts of simulation.They are all of type.BR double ,because that has more precision than either integer or longon most 32 bit machines.They are all initialized to zero by.BR d4new ,and may be read or reset to zero by the user at any time..IP \f3multiblock\fP 18nThis field accumulates the total number of timesa reference affected more than one cache block.Such references are split into two,and this is done recursively as necessary,so an original reference touching.I ncache blocks will ultimately cause.B multiblockto be incremented.IR n \(mi1times..IP \f3bytes_read\fP 18nThis field accumulates the total number of bytes read from downstream(memory or the next larger cache)..IP \f3bytes_written\fP 18nThis field accumulates the total number of bytes written downstream(to memory or the next larger cache)..PPThe following result fields are all arrays,indexed by access type(as described above, in.BR "MEMORY REFERENCES" )or an access type \(pl.BR D4PREFETCH .For example, to get the total number of misses,one would add.RS 18n.sp \n(psu.B miss[D4XREAD].br\(pl.B miss[D4XWRITE].br\(pl.B miss[D4XINSTRN].br\(pl.B miss[D4XMISC].br\(pl.B miss[D4XREAD\(plD4PREFETCH].br\(pl.B miss[D4XWRITE\(plD4PREFETCH].br\(pl.B miss[D4XINSTRN\(plD4PREFETCH].br\(pl.BR miss[D4XMISC\(plD4PREFETCH] ..RE.IP \f3fetch\fP 18nThese array values count the references processed for the cache..IP \f3miss\fP 18nThese array values count the cache misses..IP \f3blockmiss\fP 18nThese array values count the full cache block misses.The difference between this array and the.B missarray is that.B missalso counts misses where only the sub-block actually referenced wasmissing, while some other sub-blocks of the same block were valid in the cache..IP \f3comp_miss\fP 18nThese array values count the compulsory misses.Compulsory misses are those that would occur even if the cache had infinite size.The values in this array are not computed unless the.B D4F_CCCflag is set in.BR flags ..IP \f3comp_blockmiss\fP 18nThese array values count the compulsory full block misses.Compulsory misses are those that would occur even if the cache had infinite size.The values in this array are not computed unless the.B D4F_CCCflag is set in.BR flags ..IP \f3cap_miss\fP 18nThese array values count the capacity misses.Capacity misses are those that would not occur if the cache had infinite size,but would still occur if the cache was fully associative.The values in this array are not computed unless the.B D4F_CCCflag is set in.BR flags ..IP \f3cap_blockmiss\fP 18nThese array values count the capacity full block misses.Capacity misses are those that would not occur if the cache had infinite size,but would still occur if the cache was fully associative.The values in this array are not computed unless the.B D4F_CCCflag is set in.BR flags ..IP \f3conf_miss\fP 18nThese array values count the conflict misses.Conflict misses are those that would not occur if the cache was fully associative.The values in this array are not computed unless the.B D4F_CCCflag is set in.BR flags ..IP \f3conf_blockmiss\fP 18nThese array values count the conflict full block misses.Conflict misses are those that would not occur if the cache was fully associative..B D4F_CCCflag is set in.BR flags ..SH CUSTOMIZATIONCustomization is a feature of Dinero IV that can offer significantspeedups for lengthy simulations.It works by providing an easy way to recompilethe time critical cache simulation functions,along the way replacing key.B d4cachestructure field references by constants.This allows partial evaluation and other optimizationswithin the compiler to reduce time critical code path lengths.The benefit varies according to cache configuration and simulated workload..PPYou use customization in the following way:.IP 1. 4nYour program performs initialization by calling.B d4newand.BR d4setup ,and directly modifying.B d4cachefields as explained in.B DESCRIPTIONand.BR "D4CACHE PARAMETER FIELDS" ,above..IP 2. 4nIf the external constant integer.B d4customis 0,then call the function.BI d4customize( F )\c\&, where.I Fis a.IR stdio (3)output stream open for writing.The output filewill be written with C code containing customized functionsfor the entire simulated memory hierarchy.This code should be compiled and linked with the rest of the applicationand the Dinero IV library to produce a new, customized, executable.During compilation, the macro.B D4CUSTOMmust be defined to 1 (typically by using the C compiler's.B \-DD4CUSTOMoption)..IP 3. 4nThe customized executable must start by performing exactly thesame initialization steps as the non-customized executable.The external constant integer.B d4customis 1..SH LIMITATIONSThe current version has no support for cache consistency,and thus is of limited value for multiprocessor simulations..SH FILES.B d4.h\- header file..br.B libd4.a\- library..PPWhile the Dinero IV header file and library may be installed anywhere,we recommend keeping them with the Dinero IV source.This means you will generally need to specify their location to the compiler.The Dinero IV command implements customization by using the.B D4_SRCenvironment variable to locate the sources,and we encourage use of the same convention in other programs..SH "SEE ALSO"dineroIV (1)..SH AUTHORJan Edler and Mark D. Hill(edler@research.nj.nec.com and markhill@cs.wisc.edu, respectively)..PPThe latest version of Dinero IV can be obtained from.brftp://ftp.nj.nec.com/pub/edler/d4-\f2X\fP.tgz.brwhere \f2X\fP is the latest version number..SH COPYRIGHT.PPCopyright (C) 1997 NEC Research Institute, Inc. and Mark D. Hill..brAll rights reserved..brCopyright (C) 1985, 1989 Mark D. Hill. All rights reserved..PPPermission to use, copy, modify, and distribute this software andits associated documentation for non-commercial purposes is herebygranted (for commercial purposes see below), provided that the abovecopyright notice appears in all copies, derivative works or modifiedversions of the software and any portions thereof, and that both thecopyright notice and this permission notice appear in the documentation.NEC Research Institute Inc. and Mark D. Hill shall be given a copy ofany such derivative work or modified version of the software and NECResearch Institute Inc. and any of its affiliated companies (collectivelyreferred 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 companiesshall not be used in advertising or publicity related to the distributionof the software, without the prior written consent of NECI. All copies,derivative works, or modified versions of the software shall be exportedor reexported in accordance with applicable laws and regulations relatingto export control. This software is experimental. NECI and Mark D. Hillmake no representations regarding the suitability of this software forany purpose and neither NECI nor Mark D. Hill will support the software..PPUse of this software for commercial purposes is also possible, but onlyif, in addition to the above requirements for non-commercial use, writtenpermission for such use is obtained by the commercial user from NECI orMark D. Hill prior to the fabrication and distribution of the software..PPTHE SOFTWARE IS PROVIDED AS IS. NECI AND MARK D. HILL DO NOT MAKEANY WARRANTEES EITHER EXPRESS OR IMPLIED WITH REGARD TO THE SOFTWARE.NECI AND MARK D. HILL ALSO DISCLAIM ANY WARRANTY THAT THE SOFTWARE ISFREE OF INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF OTHERS.NO OTHER LICENSE EXPRESS OR IMPLIED IS HEREBY GRANTED. NECI AND MARKD. HILL SHALL NOT BE LIABLE FOR ANY DAMAGES, INCLUDING GENERAL, SPECIAL,INCIDENTAL, OR CONSEQUENTIAL DAMAGES, ARISING OUT OF THE USE OR INABILITYTO USE THE SOFTWARE.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -