[发明专利]工具生成器无效
申请号: | 201180065596.8 | 申请日: | 2011-09-20 |
公开(公告)号: | CN103329097A | 公开(公告)日: | 2013-09-25 |
发明(设计)人: | 瑟雷许·凯迪耶拉;马达维·凯迪耶拉;桑杰·班奈杰;萨蒂许·帕德马纳班;詹姆斯·普雷尔 | 申请(专利权)人: | 艾尔葛托奇普股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 工具 生成器 | ||
技术领域
本发明涉及一种用于自动生成针对定制集成电路(IC)或专用集成电路(ASIC)的软件开发工具的方法。
背景技术
为了开发处理器所用的软件,需要一组软件开发工具。这些工具包括但不限于图1所示的编译器、汇编器、链接器、仿真器和剖析器。
编译器采用如C/C++等那样的高级语言,并且将该高级语言变换成例如x86、MIPS、ARM那样的特定处理器的汇编语言。汇编器接收手写的或编译器所生成的汇编语言,并且产生对象文件。该对象文件包含特定处理器能理解的一系列二进制指令。因而,汇编器将汇编代码转译成如x86、MIPS、ARM等那样的特定处理器能理解的二进制形式。链接器采用汇编器所产生的一个或多个对象文件,通过对二进制代码进行所有的再定位来使这些对象文件链接到一起,并且生成可执行文件。
在开发新处理器的过程中,由于该处理器不存在,因此通常开发仿真器,其中该仿真器仿真设计中的处理器。该仿真器是针对开发中的处理器的软件模型。该模型可以在该处理器的功能等效物到该处理器的周期精确模型之间的范围内改变。采用该模型来开发仿真器,并且该模型是设计中的处理器的忠实反映,因而是设计中的处理器完全专用的。该仿真器接收一个或多个可执行程序(程序)及其相应的数据矢量,并且执行该程序,正如该仿真器正模仿的处理器那样。该仿真器可选地能够输出其执行追踪,其中该执行追踪相当于指令追踪和数据追踪这两者。
软件开发工具包(SDK)始终包括用于调试用户应用程序的调试器。使用该调试器来调试用户程序并且支持例如断点、监视点、单步执行、堆栈回溯那样的各种调试命令。
软件开发所需的所有这些软件工具是处理器特有的,即在想要开发针对例如IBM PowerPC或SUN-SPARC的MIPS处理器的软件的情况下,需要针对MIPS处理器开发C编译器、汇编器、链接器、仿真器和调试器。对于各处理器而言,开发所有这些工具花费若干人年(man year)。
发明内容
公开了一种通过以下操作来自动生成用于自动生成的处理器架构的软件开发工具的系统和方法:接收目标处理器的描述;使用编译器生成器来自动生成目标编译器;使用汇编器生成器来自动生成目标汇编器;使用链接器生成器来自动生成目标链接器;使用仿真器生成器来自动生成目标仿真器;使用剖析器生成器来自动生成目标剖析器;使用所生成的目标编译器、目标汇编器、目标链接器、目标仿真器和目标剖析器,通过改变所述处理器架构的一个或多个参数来迭代地生成新处理器架构直到满足所有的用户制约或要求为止;针对各新处理器架构,再生成用于该新处理器架构的目标编译器、目标汇编器、目标链接器、目标仿真器和目标剖析器;以及将最佳生成的处理器架构综合为定制集成电路的计算机可读描述以用于半导体制造。
上述方面的实现可以包括以下中的一个或多个。编译器生成器读入考虑中的处理器的高层级描述。该编译器生成器读入处理器ISA中的各种指令的语义,构建目标处理器流水线和针对这些指令的注释语义树的模型,并且生成目标处理器代码生成所需的代码、调用堆栈布局、寄存器分配、指令调度、分支预测、指令和数据预取、以及在该目标处理器上可能的各种其它优化。汇编器生成器读入各种指令的句法、它们的二进制编码、以及需要应用于各种指令的可能再定位。基于该信息,该汇编器生成器随后生成汇编器。该汇编器生成器接收用于目标处理器的指令列表以及它们的句法和有效操作数及范围,并且构建汇编器,以针对任何未解决的符号,检查指令的句法,并且按处理器规格对指令进行编码并输出任何相关的再定位记录。链接器生成器生成用于接收对象文件和库的对象文件链接器,并且生成向对象代码应用所有的再定位的可执行文件。仿真器生成器读入机器描述,其中在该机器描述中定义了流水线结构、ISA、指令的语义以及各硬件块的特性。基于该架构的所有元素的定义,仿真器生成器生成处理器的包括高速缓存建模、存储器模型和中断模型的周期精确模型。该仿真器是由仿真器生成器自动生成的,并且所生成的仿真器精确反映了实际硬件模型。剖析器生成器接收目标机器寄存器的描述以及指令集等,并且生成针对目标处理器的剖析器,其中该剖析器生成运行在目标机器上的应用程序的静态以及动态执行配置文件。调试器生成器接收目标处理器的指令集的描述以及调用堆栈布局,并且生成目标处理器专用的调试器。可以将如此生成的调试器与上述基于周期的仿真器或与实际硬件芯片相挂钩。调用堆栈解译、调用堆栈的解开、指令的解汇编、目标机器上的寄存器的数量和性质,这些全部是作为调试器生成器的一部分而自动生成的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于艾尔葛托奇普股份有限公司,未经艾尔葛托奇普股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180065596.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于冷链运输可调节冷量的装配式相变蓄冷车厢
- 下一篇:砂尘试验箱加料装置