【24h】

Load squared

机译:负载平方

获取原文

摘要

Indirect memory accesses, where a load is fed by another load, are ubiquitous because of rich data structures and sophisticated software conventions, such as the use of linkage tables and position independent code. Unfortunately, they can be costly: if both loads miss, two round trips to memory are required even though the role of the first load is often limited to fetching the address of the second load. To reduce the total latency of such indirect accesses, a new instruction called load squared is introduced. A load squared does two fetches, the first fetch reading the target address of the second. (An offset is optionally added to the result of the first fetch.) The load squared operation is performed by memory-side logic (typically, the memory controller if it isn't located on the main processor chip). In this study, load squared is not an architecturally visible instruction: the micro-architecture transparently decides which loads should be replaced by loads squared. We show that performanceis sometimes improved significantly, and never degraded.
机译:由于负载丰富的数据结构和复杂的软件约定(例如,使用链接表和位置无关的代码),因此间接内存访问是无处不在的,负载由另一个负载提供负载。不幸的是,它们可能会很昂贵:如果两个加载都丢失,则即使第一个加载的角色通常仅限于获取第二个加载的地址,也需要两次往返内存。为了减少这种间接访问的总等待时间,引入了一条称为负载平方的新指令。负载平方执行两次读取,第一个读取读取第二个的目标地址。 (可以选择将偏移量添加到第一个提取的结果中。)加载平方运算由内存侧逻辑(如果不位于主处理器芯片上,通常是内存控制器)执行。在本研究中,平方不是在结构上可见的指令:微体系结构透明地决定了应由平方代替哪些负荷。我们表明,性能有时会显着提高,并且从未降低。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号