【24h】

Simple Offset Assignment in Presence of Subword Data

机译:存在子字数据时的简单偏移量分配

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

Many embedded architectures support indirect addressing mode with autoincrement/autodecrement. By maximizing the use of this mode, generation of explicit instructions for performing address arithmetic can be avoided and thus reductions in code size and improvements in performance are achieved. Bartley and Liao et al. developed a method for finding a storage layout for program variables so that the use of autoincrement/autodecrement could be maximized. They introduced the Simple Offset Assignment (SOA) problem and solved it using a Path Cover (PC) formulation. We observe that many media and network processing applications make extensive use of subword data. Therefore, for such applications, by packing multiple subword variables into a single word, we can generate storage layouts that further reduce the cost of address arithmetic in two ways. First the need for address arithmetic is reduced as variables that are packed together share the same address. Second opportunities for using autoincrement and autodecrement instructions are increased as layouts are now possible which place a variable adjacent to more than two variables. This approach has become feasible because of the recent trend in embedded processor design which allows subword variables that are packed together to be accessed and manipulated without incurring performance penalty. We introduce the SubWord Offset Assignment (SWOA) problem and solve it using a Path Cover with Node Coalescing (PCwNC) formulation. Node coalescing corresponds to packing of multiple subword variables into a single word while path covering corresponds to placement of variables in adjacent memory locations to enable the use of autoincrement/autodecrement. We present three heuristics to solve the PCwNC problem. Experiments show that when the program is optimized for code size, the three proposed algorithms achieve 26%, 26.9% and 32% reduction in the number of static explicit address arithmetic instructions over Liao et al.'s algorithm. The algorithms also achieve 14.5%, 22.1% and 22.7% reduction in stack frame size. If the program is optimized for performance, the algorithms achieve 24.3%, 24.7% and 30.2% reduction in the dynamic instruction count of explicit address arithmetic instructions.
机译:许多嵌入式体系结构都支持具有自动递增/自动递减的间接寻址模式。通过最大程度地利用此模式,可以避免生成用于执行地址算术的显式指令,因此可以减少代码大小并提高性能。巴特利和廖等。开发了一种用于查找程序变量的存储布局的方法,以便可以最大程度地利用自动递增/自动递减。他们介绍了简单偏移分配(SOA)问题,并使用路径覆盖(PC)公式解决了该问题。我们观察到许多媒体和网络处理应用程序都广泛使用子字数据。因此,对于此类应用程序,通过将多个子字词变量打包到单个字词中,我们可以生成存储布局,以两种方式进一步降低地址算术的成本。首先,由于打包在一起的变量共享相同的地址,因此减少了对地址算法的需求。使用自动递增和自动递减指令的第二次机会增加了,因为现在可以将一个变量放置在两个以上变量附近的布局。由于嵌入式处理器设计的最新趋势,这种方法已变得可行,它允许打包在一起的子字变量被访问和操作,而不会造成性能损失。我们介绍了SubWord偏移量分配(SWOA)问题,并使用带有节点合并的路径覆盖(PCwNC)公式解决了该问题。节点合并对应于将多个子字变量打包到单个字中,而路径覆盖对应于变量在相邻存储器位置中的放置,以启用自动递增/自动递减功能。我们提出三种启发式方法来解决PCwNC问题。实验表明,当程序针对代码大小进行优化时,与廖等人的算法相比,所提出的三种算法可将静态显式地址算术指令的数量分别减少26%,26.9%和32%。该算法还使堆栈帧大小减少了14.5%,22.1%和22.7%。如果程序针对性能进行了优化,则该算法可将显式地址算术指令的动态指令数减少24.3%,24.7%和30.2%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号