Local memory store (LMStr): A hardware controlled shared scratchpad for multicores
Nafiul Alam Siddique, Abdel‐Hameed A. Badawy, Jeanine Cook, David Resnick · 2017
We present an on-chip memory store called “Local Memory Store” (LMStr). The LMStr can be used with a regular cache hierarchy or solely as a redesigned scratchpad memory (SPM). The LMStr is a shared special kind of SPM among the cores in a multicore processor. The LMStr is hardware-controlled in terms of management of the store itself. Yet, compiler support is instrumental in deciding which data items/types should live in the store. Critical data should be stored in the LMStr according to its type (i.e. local, global, static, or temporary). The programmer can provide, at will, hints to the compiler to place certain data items in the LMStr. We evaluate our design using a matrix multiplication micro-application and multiple Mantevo mini-applications. Our results show that LMStr improves data movement by up to 21% compared to cache alone with a mere 3% area overhead. Not only that but LMStr improves the cycles per memory access by up to 40%.