ZYNQ嵌入式处理器FPGA单芯片方案的特点及应用
多核与单核架构的优势
Cortex-A9微架构提供两种选项:可扩展的Cortex-A9 MPCore多核处理器,或较为传统的Cortex-A9单核处理器。
ARM吴雄昂指出,采用多核处理器架构不但能够解决峰值性能的要求,而且其设计也能够大大降低功耗。多核设备具有性能可扩展性高和功耗低的特点,为设计提供了极大的灵活性。
多核今后一个重要的挑战就是怎样从应用软件上来利用多核的优势。就好比人有两个大脑半球/区,所谓一心二用,所以如果你的软件系统没法真的是一心二用,多核的意义就不是很大的。另外一个问题是针对你做事情的类型,如果是做一个比较连续性的计算,后面的结果一定要根据前面计算的结果才能往下走。这种情况下多核的帮助是非常小的。所以Cortex-A8和A9的最大区别,是像A9这种设计本来就是给多核的,它有SMP(对称多处理技术),对于Android等操作系统(OS),可以自动在软件上来做负载均衡,以分配需要工作的任务。因为有很多不同处理任务在后台,你可通过SMP共享一个物理存储的cache(缓存)。这样用户的软件的性能才能够比较有效地利用。例如对于双核的网络应用,如果有SMP,基本利用率会达到80%~90%,即放了两个核,双核的处理能力实际上提高到了1.8~1.9倍。如果放了4核以后,那么现在环境OS对4核的支持是相对比较弱的,可能实际上最后只有3甚至不到,因为其软件不见得有能力去充分利用4核;同时你做的事情也不见得正好有4项是同时进行的,所以一方面取决于你去执行的任务,一方面取决于系统架构。所以多核CPU本身设计时已有SMP,从OS角度已经基本被认同,应用者不需要再做任何的编程工作。
但是如果放3个A8以后,很大的问题就是OS只认一个,所以其它两个核很难分享负载,因为你没法去改软件应用。
软件/开发工具的创新
可见,平台软件和工具软件也是实现芯片性能的重要一关。尤其在处理平台趋同与整合后,软件的复杂度越来越高,远远超过了硬件。软件工程师数量也已超过硬件工程师数量的Xilinx公司,非常注重在工具和软件上的创新。2012年其开发工具将更新换代,推出更加智能、图形化的流程;Xilinx还会加强推广AutoESL高层次综合设计流程(注:2011年Xilinx收购了AutoESL)。
例如,智能交通管理系统通过摄像头拍下画面,之后需要视频分析算法,将标清视频转换为高清视频。这是一个动态实施的过程,需要用FPGA硬件加速来实现。而传统是通过硬件描述语言(HDL)来实现,开发流程很长。现在,通过AutoESL的工具,用C、C++ 建立模型,并将模型转换为具体的应用。
那么Zynq开发的时候,用ARM开发、导入FPGA进行硬件加速,需要用到什么工具?Xilinx高级总监Devadas Varma称,传统流程就可以实现,不过AutoESL的AutoPilot工具可使效率大为提升。因为传统的硬件开发流程,硬件工作组做一个项目要花长达数月的时间,甚至1年。而AutoESL大大节约了资源,现在FPGA逻辑门越来越多,用户充分利用这些资源,就需要提高生产率。如果还采用传统的方法,那么也许你所期待的一些功能来不及放进去,就已经错失了上市时间。
小结
我国正从“中国制造”向“中国‘智’造”转变。“智”造更多指的是idea(主意),比智力、创新和差异化。Xilinx的28nm FPGA+ARM Cortex-A9 MPCore单芯片方案,使嵌入式产品设计师把主要精力放在应用层面,可加快“智”造时间、降低产品成本。
评论