This repository contains the implementation of ARM968E-S for the Computer Architecture Lab course, supervised by Dr. Safari at the University of Tehran. The project consists of four main parts, each represented by a release in the repository:
- Basics of ARM: The initial implementation focusing on the foundational aspects of ARM architecture.
- Forwarding: Enhancements to the basic ARM model by incorporating data forwarding techniques to resolve data hazards.
- SRAM Integration: Addition of SRAM (Static Random Access Memory) to the existing ARM model.
- Cache Implementation: Final part of the project which includes the implementation of a cache memory system.
In this part, we implemented the foundational aspects of the ARM architecture.
- Basic ARM instruction set
- Fundamental pipeline stages
In this part, we enhanced the basic ARM model by incorporating data forwarding techniques to resolve data hazards.
- Implementation of data forwarding to handle data hazards
- Improved pipeline efficiency
In this part, we added SRAM (Static Random Access Memory) to the existing ARM model.
- SRAM integration with the ARM model
- Memory read/write operations
In this final part, we implemented a cache memory system to further enhance the ARM model.
- Cache memory hierarchy
- Cache read/write operations
- Performance improvement with caching