首页> 外文会议>International Conference on Application of Concurrency to System Design >On Memory Optimal Code Generation for Exposed Datapath Architectures with Buffered Processing Units
【24h】

On Memory Optimal Code Generation for Exposed Datapath Architectures with Buffered Processing Units

机译:在具有缓冲处理单元的公开数据路径架构的记忆最佳代码

获取原文

摘要

One reason for the limited use of instruction level parallelism (ILP) by conventional processors is their use of registers. Therefore, some recent processor architectures expose their datapaths to the compiler so that the compiler can move values directly between processing units. In particular, the Synchronous Control Asynchronous Dataflow (SCAD) machine is an exposed datapath architecture that uses FIFO buffers at the input and output ports of its processing units. Code generation techniques inspired by classic queue machines can completely eliminate the use of conventional registers in SCAD. However, bounded buffer sizes may still make spill code necessary to store values temporarily in main memory. Since memory access is expensive, it has to be avoided to improve the execution time of programs. Memory optimal code generation problems have been extensively studied in the case of register machines and were proven to be NP-complete. In this paper, we prove that memory optimal code generation for SCAD is also NP-complete by presenting a polynomial-time transformation from memory optimal register code to memory optimal SCAD code. In particular, we present a one to one correspondence between the registers in register machines and the entries of buffers in SCAD machines which indicates that these architectures are closer to each other than expected. Still, SCAD machines offer important advantages: The size of circuit implementations of buffers scales much better compared to register files so that more space is available on SCAD machines with the same chip size. Second, the instruction set of SCAD does not depend on a fixed number of registers or buffers. We therefore present experimental results to compare the execution time of memory optimal SCAD code with FIFO buffers and memory optimal code based on conventional register allocation.
机译:传统处理器使用指令水平并行性(ILP)的一个原因是它们使用寄存器。因此,一些最近的处理器架构将其数据路径暴露给编译器,以便编译器可以直接在处理单元之间移动值。特别地,同步控制异步数据流(SCAD)机器是一个公开的数据惯例架构,它在其处理单元的输入和输出端口处使用FIFO缓冲区。由经典队列机器启发的代码生成技术可以完全消除扫描中传统寄存器的使用。然而,有界缓冲区尺寸仍然可以使截止码在主存储器中临时存储值。由于内存访问很昂贵,因此必须避免改善程序的执行时间。在寄存器机器的情况下,内存最佳代码生成问题已被广泛研究,并被证明是NP-Cleante。在本文中,我们证明了扫描的存储器最佳代码也是通过呈现来自存储器最佳寄存器代码的多项式变换来完成存储器最佳扫描码。特别地,我们在寄存器计算机中的寄存器和扫描机器中的缓冲区条目之间呈现一对一的对应关系,这表明这些架构彼此彼此靠近预期。尽管如此,与寄存器文件相比,缓冲区的电路实现的大小尺寸会更好地提供更好的优势,以便在具有相同芯片尺寸的扫描机上使用更多空间。其次,扫描件的指令集不依赖于固定数量的寄存器或缓冲区。因此,我们提出了基于传统寄存器分配的FIFO缓冲器和存储器最佳代码比较了实验结果,以比较存储器最佳扫描码和存储器最佳代码。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号