Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Computer System Design assignment

tree: 4a328094f3

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 matrix
Octocat-spinner-32 .gitignore
Octocat-spinner-32 INPUT
Octocat-spinner-32 Makefile
Octocat-spinner-32 Finished implemeting Cache with Sets and Blocks August 21, 2011
Octocat-spinner-32 access.cpp
Octocat-spinner-32 access.h
Octocat-spinner-32 cache.cpp
Octocat-spinner-32 cache.h
Octocat-spinner-32 main.cpp
Octocat-spinner-32 memory.cpp
Octocat-spinner-32 memory.h

Implementation of cache-unaware, cache-aware, and cache-oblivious matrix multiplication algorithms

The project consists of two parts:

  • Building a cache simulator
    • Design a cache simulator where user can specify the cache parameters such as cache size, associativity, block size. The cache simulator uses the LRU replacement policy. The simulator need not store the actual data, but it keeps track of data references. It has to give the statistics such as overall accesses, compulsory misses, capacity misses, conflict misses, and hit rate.
  • Implementing various matrix multiplication algorithms
    • By assuming the elements of a matrix are stored in row-major order, design and implement cache-unaware, cache-aware, and cache-oblivious matrix multiplication algorithms and report the cache statistics using the above simulator.
Something went wrong with that request. Please try again.