Cache Switching in Multithreaded Embedded Systems
- Thilini Dahanayaka
- Rajitha Ramanayake
- Dr. Dhammika Elkaduwe
- Dr. Isuru Nawinne
Caching is used as means to bridge the performance gap between processors and memory and multithreading is used to minimize the CPU idle time caused by the lower speeds of IO and memory tasks. However, when both these concepts are applied in a system, the total benefit of caching is not achieved due to the loss of cached data during context switches. As a solution, we propose to use thread specific caches, where the cache would be made of a group of small cache units and each thread is assigned a distinct cache core for its use.Over the last fifty years, the performance of computers evolved exponentially and continuously, closely following Moores (1). However, while microprocessor speed has been improving at roughly 60 percent per year, the memory access time has improved only by less than 10 percent per year(2). This performance gap between processor and memory has posed a threat to the exponential improvement of the overall performance of computers. In order to bridge this CPU-Memory performance gap, and also to reduce the energy consumption for memory accesses, cache memories are used.