Skip to content

About

Performance analysis of Unified and Split Cache architectures using RISC-V Assembly and the Ripes simulator.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🖥️ Unified vs Split Cache Performance Analysis using RISC-V

GitHub Simulator Course Status

A Computer Organization and Architecture (COA) project that compares the performance of Unified Cache and Split Cache architectures using RISC-V Assembly programs executed in the Ripes Simulator.

The project analyzes cache behavior by evaluating instruction and data memory accesses under different cache organizations and compares their performance characteristics.


📖 Project Overview

Cache memory is a high-speed memory that reduces processor access time by storing frequently used data and instructions.

This project investigates two commonly used cache organizations:

  • Unified Cache – A single cache shared by instructions and data.
  • Split Cache – Separate caches for instructions (I-Cache) and data (D-Cache).

The implementation was carried out using RISC-V Assembly Language and simulated using the Ripes Simulator to observe cache statistics and compare their performance.


🎯 Objectives

  • Study the architecture of Unified and Split Cache.
  • Implement RISC-V Assembly programs.
  • Analyze cache performance using the Ripes Simulator.
  • Compare cache statistics.
  • Understand the impact of cache organization on processor performance.

🛠️ Technologies Used

  • RISC-V Assembly Language
  • Ripes Simulator
  • Computer Organization & Architecture
  • Cache Memory
  • Git & GitHub

👥 Team Project

This project was developed as part of the Computer Organization and Architecture (COA) course.

This repository serves as a portfolio version of the project, containing the implementation, project presentation, documentation, and source code.

Note: This repository is maintained as a portfolio version of the academic project. The original classroom submission was completed as a team project.

📂 Repository Structure

Unified-vs-Split-Cache-RISC-V
│
├── assembly-programs
│   ├── unified-cache.s
│   └── split-cache.s
│
├── screenshots
│   ├── unified-cache-results.png
│   ├── split-cache-instruction-cache.png
│   └── split-cache-data-cache.png
│
├── presentation.pdf
└── README.md

🚀 How to Run

  1. Install the Ripes Simulator.
  2. Open either assembly program from the assembly-programs folder.
  3. Assemble the program.
  4. Enable cache simulation.
  5. Execute the program.
  6. Observe cache statistics.
  7. Compare Unified Cache and Split Cache performance.

📸 Screenshots

Unified Cache

Unified Cache


Split Cache – Instruction Cache

Instruction Cache


Split Cache – Data Cache

Data Cache


📊 Performance Summary

Unified Cache

  • Single cache for both instructions and data.
  • Simpler cache organization.
  • Instruction and data accesses compete for the same cache space.
  • Can experience higher cache contention.

Split Cache

  • Separate Instruction Cache and Data Cache.
  • Reduced cache contention.
  • Independent instruction and data accesses.
  • Better cache utilization.
  • Improved execution efficiency in many workloads.

📚 Learning Outcomes

Through this project, I gained practical knowledge of:

  • RISC-V Assembly Programming
  • Cache Memory Organization
  • Computer Architecture Concepts
  • Performance Analysis
  • Ripes Simulator
  • GitHub Documentation

📄 Project Presentation

The complete project presentation is available in this repository.

File: presentation.pdf


👩‍💻 Author

Anannya AK

Computer Science and Engineering (Data Science) Student

GitHub: Anannya97


⭐ If you found this project helpful, consider giving it a star.

About

Performance analysis of Unified and Split Cache architectures using RISC-V Assembly and the Ripes simulator.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages