当前位置: X-MOL 学术ACM Trans. Archit. Code Optim. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Irregular Register Allocation for Translation of Test-pattern Programs
ACM Transactions on Architecture and Code Optimization ( IF 1.5 ) Pub Date : 2020-12-30 , DOI: 10.1145/3427378
Minsu Kim 1 , Jeong-Keun Park 1 , Soo-Mook Moon 1
Affiliation  

Test-pattern programs are for testing DRAM memory chips. They run on a special embedded system called automated test equipment (ATE). Each ATE manufacturer provides its own programming language, which is mostly low level, thus accessing the registers in the ATE directly. The register structure of each ATE is quite different and highly irregular. Since DRAM chipmakers are often equipped with diverse ATEs from different manufacturers, they employ automatic translation of a program developed for one ATE to a program for different ATEs. This raises an irregular register allocation problem during translation. This article proposes a solution based on partitioned Boolean quadratic programming (PBQP). PBQP has been used for a number of compiler optimizations, including paired register allocation , which our ATE register allocation also requires. Moreover, the interleaved processing in ATE incurs complex register constraints, which we could also formulate elegantly with PBQP. The original PBQP solver is not quite appropriate to use, though, since ATE register allocation does not allow spills, so we devised a more elaborate PBQP solver that trades off the allocation time and allocation search space, to find a solution in a reasonable amount of time. Our experimental results with product-level pattern programs show that the proposed register allocator successfully finds valid solutions in all cases, in the order of tenths of seconds.

中文翻译:

测试模式程序翻译的不规则寄存器分配

测试模式程序用于测试 DRAM 内存芯片。它们运行在一个特殊的嵌入式系统上,称为自动化测试设备(吃)。每个 ATE 制造商都提供自己的编程语言,该语言大多是低级的,因此可以直接访问 ATE 中的寄存器。每个 ATE 的寄存器结构非常不同,而且非常不规则。由于 DRAM 芯片制造商通常配备来自不同制造商的不同 ATE,因此他们采用自动翻译为一个 ATE 开发的程序为不同 ATE 的程序。这引发了一个不规则的寄存器分配翻译过程中的问题。本文提出了一种基于分区布尔二次规划(PBQP)的解决方案。PBQP 已用于许多编译器优化,包括配对寄存器分配,我们的ATE寄存器分配也需要。此外,交错的ATE 中的处理会产生复杂的寄存器约束,我们也可以用 PBQP 优雅地制定这些约束。但是,最初的 PBQP 求解器不太适合使用,因为 ATE 寄存器分配不允许溢出,所以我们设计了一个更精细的 PBQP 求解器,它权衡分配时间和分配搜索空间,以找到合理数量的解决方案时间。我们对产品级模式程序的实验结果表明,所提出的寄存器分配器在所有情况下都成功地找到了有效的解决方案,大约为十分之一秒。
更新日期:2020-12-30
down
wechat
bug