为在基于包的合成中,需要规范和实现在整个更新状态+包向量上达成一致,而不需要对整个向量达成一致,而是将需求分解成更简单的需求或片段的集合 。每个切片是一个更简单的合成问题,其合成管道实现,使得实现和规范仅在更新的状态+分组向量的单个向量维度上一致 。一旦成功合成每个切片,通过将最终的管道实现堆叠在彼此之上来合并切片实现,便可以形成最终的硬件实现 。
与基于数据包的合成相比,切片有两个主要优势 。首先,每个切片可以并行合成,因为每个切片实现运行在管道的独立子网格上,子网格之间没有重叠 。第二,因为每个切片的实现只满足规范的一个子集,即一维而不是状态+分组向量的所有维度,可以使用比原始规范所需尺寸更小的子网格来合成 。更小的网格需要更少的孔来合成,相对于原始规范,减少了任何一个切片的合成时间 。
5 结论本文介绍了 Chipmunk,一个基于程序合成的交换机编译器 。Chipmunk 将程序放入有限的交换机管道资源中,否则这些程序可能会被基于规则的编译器拒绝 。为此,它利用特定领域的合成技术来加速编译,并使用管道描述语言来定位多个后端 。本文所展示的技术和结果有望促进在设计程序综合算法方面的后续研究,这些算法能够以更少的计算资源更快地编译程序,并以更低的交换机资源消耗产生机器代码 。本文作者还认为,本文中的思想更普遍地适用于现场可编程门阵列和基于专用集成电路的智能网卡管道 。
致谢本文由南京大学软件学院2019级硕士研究生李紫欣翻译转述
【应用程序合成生成交换机代码】
推荐阅读
- 详解 gcc 编译、链接原理—揭开应用程序运行背后的奥秘
- 随机数大家都会用,但是你知道生成随机数算法吗?
- 分库分表的 9种分布式主键ID 生成方案,挺全乎的
- 刺客羁绊用金铲铲和什么怎么合成 新版本金铲子合成羁绊
- 适用于任何设备的屏幕共享应用程序–Mirroring360
- 认识小程序生成平台:用法、优劣、成本
- 什么是整切牛排 整切牛排和合成牛排有什么区别
- 大学生|“理想男友”职业排名,程序员第三,“聪明绝顶”的医生成榜首
- python随机生成100道100以内的加法试卷
- 500个文件生成不到10秒,Python生成合同不要太方便
