SMM Toolchain Download

The scratchpad memory management techniques of SMM architectures are implemented as compiler passes in LLVM. The benchmarks are compiled with the LLVM and run on a specialized version of Gem5 CPU simulator, which is enhanced with DMA calls and scratchpad memory to emulate an SMM architecture.

The LLVM for SMM projects can be downloaded here. The LLVM project does not include the source code of Clang (the compiler frontend), so you need to download it separately. The Gem5 simulator for SMM projects can be downloaded here here. Once download is complete, switch to smm branch before building the simulator.

To be able to run applications, you also need to download the library files that define management functions. You can download all the dependencies from here. The repo also includes a python script that automatically generates makefiles. A simple tutorial is included in the root directory of the repo.