An integrated cache and memory access time, cycle time, area, leakage, and dynamic power model
C++ C
Permalink
Failed to load latest commit information.
README Initial commit of CACTI 6.5 source Jun 9, 2014
Ucache.cc Initial commit of CACTI 6.5 source Jun 9, 2014
Ucache.h Initial commit of CACTI 6.5 source Jun 9, 2014
arbiter.cc Initial commit of CACTI 6.5 source Jun 9, 2014
arbiter.h Initial commit of CACTI 6.5 source Jun 9, 2014
area.cc Initial commit of CACTI 6.5 source Jun 9, 2014
area.h Initial commit of CACTI 6.5 source Jun 9, 2014
bank.cc Initial commit of CACTI 6.5 source Jun 9, 2014
bank.h Initial commit of CACTI 6.5 source Jun 9, 2014
basic_circuit.cc Initial commit of CACTI 6.5 source Jun 9, 2014
basic_circuit.h Initial commit of CACTI 6.5 source Jun 9, 2014
cache.cfg Initial commit of CACTI 6.5 source Jun 9, 2014
cacti.i Initial commit of CACTI 6.5 source Jun 9, 2014
cacti.mk Initial commit of CACTI 6.5 source Jun 9, 2014
cacti_interface.cc Initial commit of CACTI 6.5 source Jun 9, 2014
cacti_interface.h Initial commit of CACTI 6.5 source Jun 9, 2014
component.cc Initial commit of CACTI 6.5 source Jun 9, 2014
component.h Initial commit of CACTI 6.5 source Jun 9, 2014
const.h Initial commit of CACTI 6.5 source Jun 9, 2014
contention.dat Initial commit of CACTI 6.5 source Jun 9, 2014
crossbar.cc Initial commit of CACTI 6.5 source Jun 9, 2014
crossbar.h Initial commit of CACTI 6.5 source Jun 9, 2014
decoder.cc Initial commit of CACTI 6.5 source Jun 9, 2014
decoder.h Initial commit of CACTI 6.5 source Jun 9, 2014
dram.cfg Initial commit of CACTI 6.5 source Jun 9, 2014
htree2.cc Initial commit of CACTI 6.5 source Jun 9, 2014
htree2.h Initial commit of CACTI 6.5 source Jun 9, 2014
io.cc Initial commit of CACTI 6.5 source Jun 9, 2014
io.h Initial commit of CACTI 6.5 source Jun 9, 2014
main.cc Initial commit of CACTI 6.5 source Jun 9, 2014
makefile Initial commit of CACTI 6.5 source Jun 9, 2014
mat.cc Initial commit of CACTI 6.5 source Jun 9, 2014
mat.h Initial commit of CACTI 6.5 source Jun 9, 2014
nuca.cc Initial commit of CACTI 6.5 source Jun 9, 2014
nuca.h Initial commit of CACTI 6.5 source Jun 9, 2014
parameter.cc Initial commit of CACTI 6.5 source Jun 9, 2014
parameter.h Initial commit of CACTI 6.5 source Jun 9, 2014
router.cc Initial commit of CACTI 6.5 source Jun 9, 2014
router.h Initial commit of CACTI 6.5 source Jun 9, 2014
subarray.cc Initial commit of CACTI 6.5 source Jun 9, 2014
subarray.h Initial commit of CACTI 6.5 source Jun 9, 2014
technology.cc Initial commit of CACTI 6.5 source Jun 9, 2014
uca.cc Initial commit of CACTI 6.5 source Jun 9, 2014
uca.h Initial commit of CACTI 6.5 source Jun 9, 2014
wire.cc Initial commit of CACTI 6.5 source Jun 9, 2014
wire.h Initial commit of CACTI 6.5 source Jun 9, 2014

README

-----------------------------------------------------------
          ____    _    ____ _____ ___    __    ____  
         / ___|  / \  / ___|_   _|_ _|  / /_  | ___| 
        | |     / _ \| |     | |  | |  | '_ \ |___ \ 
        | |___ / ___ \ |___  | |  | |  | (_) | ___) |
         \____/_/   \_\____| |_| |___|  \___(_)____/ 


             A Tool to Model Caches/Memories
-----------------------------------------------------------

CACTI is an analytical tool that takes a set of cache/memory para-
meters as input and calculates its access time, power, cycle 
time, and area.
CACTI was originally developed by Dr. Jouppi and Dr. Wilton
in 1993 and since then it has undergone five major 
revisions.

List of features (version 1-6.5):
===============================
The following is the list of features supported by the tool. 

* Power, delay, area, and cycle time model for 
                  direct mapped caches
                  set-associative caches
                  fully associative caches
                  Embedded DRAM memories
                  Commodity DRAM memories
                  
* Support for modeling multi-ported uniform cache access (UCA)
  and multi-banked, multi-ported non-uniform cache access (NUCA).

* Leakage power calculation that also considers the operating
  temperature of the cache.
  
* Router power model.

* Interconnect model with different delay, power, and area 
  properties including low-swing wire model.

* An interface to perform trade-off analysis involving power, delay,
  area, and bandwidth.

* All process specific values used by the tool are obtained
  from ITRS and currently, the tool supports 90nm, 65nm, 45nm, 
  and 32nm technology nodes.

Version 6.5 has a new c++ code base and includes numerous bug fixes.
CACTI 5.3 and 6.0 activate an entire row of mats to read/write a single
block of data. This technique improves reliability at the cost of  
power. CACTI 6.5 activates minimum number of mats just enough to retrieve 
a block to minimize power.

How to use the tool?
====================
Prior versions of CACTI take input parameters such as cache
size and technology node as a set of command line arguments. 
To avoid a long list of command line arguments, 
CACTI 6.5 lets users specify their cache model in a more 
detailed manner by using a config file (cache.cfg).

-> define the cache model using cache.cfg
-> run the "cacti" binary <./cacti -infile cache.cfg>

For complete documentation of the tool, please refer CACTI-5.3 and 6.0
technical reports and the following paper,
"Optimizing NUCA Organizations and Wiring Alternatives for 
Large Caches With CACTI 6.0", that appears in MICRO 2007.

We are still improving the tool and refining the code. If you
have any comments, questions, or suggestions please write to
us.

Naveen Muralimanohar             Jung Ho Ahn
naveen.muralimanohar@hp.com      gajh@snu.ac.kr