【24h】

Stack Caching Using Split Data Caches

机译:使用拆分数据缓存的堆栈缓存

获取原文
获取原文并翻译 | 示例

摘要

In most embedded and general purpose architectures, stack data and non-stack data is cached together, meaning that writing to or loading from the stack may expel non-stack data from the data cache. Manipulation of the stack has a different memory access pattern than that of non-stack data, showing higher temporal and spatial locality. We propose caching stack and non-stack data separately and develop four different stack caches that allow this separation without requiring compiler support. These are the simple, window, and prefilling with and without tag stack caches. The performance of the stack cache architectures was evaluated using the Simple Scalar toolset where the window and prefilling stack cache without tag resulted in an execution speedup of up to 3.5% for the MiBench benchmarks, executed on an out-of-order processor with the ARM instruction set.
机译:在大多数嵌入式和通用体系结构中,堆栈数据和非堆栈数据被一起缓存,这意味着向堆栈中写入数据或从堆栈中加载可能会将非堆栈数据从数据缓存中删除。堆栈的操作具有与非堆栈数据不同的内存访问模式,显示出更高的时间和空间局部性。我们建议分别缓存堆栈和非堆栈数据,并开发四个不同的堆栈缓存,以实现这种分离而无需编译器支持。它们是简单的,带有和不带有标签堆栈缓存的窗口式和预填充式。使用Simple Scalar工具集对堆栈缓存体系结构的性能进行了评估,在该工具集中,没有标签的窗口和预填充堆栈缓存导致MiBench基准测试的执行速度提高了3.5%,而在使用ARM的乱序处理器上执行指令系统。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号