Projects - Advanced Computer Architecture Class

Trace-Driven Cache Simulation
Authors:Trevor Simonton, Anthony Pfaff, Cory Linfield, Rania Abdraba

Due to the important role cache memory plays in the performance of high speed computer systems, testing cache layouts is an essential step in computer architecture design. Implementing and applying simulations helps to facilitate fast testing of system design ideas before undertaking system implementation and is a sensible, cost-effective step to take before committing the high cost and resources need to implement an architecture in hardware. Our project is about Trace-Driven Cache Simulation, which is one such widely used way to evaluate cache architectures before hardware implementation.

More detail...

Cache Coherence Enforcement Protocol Simulation & Evaluation
Authors:Siddhant Kulkarni, Ritesh Sangurmath, Ranjan Yadav

Since the introduction of multiprocessor architectures, cache coherence has been one of the major concerns focused on by many of the researchers. The fact is that coherence issues are facts of life. There will always be inconsistent states among data being shared by dedicated caches of different processors. In order to maintain consistent access to data for all processors, researchers have proposed several different algorithms or approaches. These approaches are mainly categorized into three different categories: snooping based, directory based and hybrid based protocols. As a part of this project, we have focused on simulating 6 snooping based protocols including MSI, MOSI, MESI, MERSI, DRAGON, FIREFLY.

More detail...

Dynamic Branch Prediction Using Machine Learning Algorithms
Authors:Ardian Cakolli, Dardan Xhymshiti, Elban Avdylaj, Taulant Ymeri

With the introduction of machine learning, many fields of science have benefited in different ways. Machine learning gives computers the ability to learn new things without being explicitly programmed for that. Nowadays this is used in medical data to predict which patients are most likely to suffer from a disease based on the historic data, predicting the stock market, weather forecasting and in many other things. Considering the possibilities that machine learning offers and the need for better branch prediction as a way to make programs run faster, our motivation is to explore the benefits of machine learning by applying different learning algorithms in the dynamic branch prediction.

More detail...