微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式开发技巧:利用编程技术发挥多内核架构优势

嵌入式开发技巧:利用编程技术发挥多内核架构优势

时间:09-12 来源:互联网 点击:

片(如Intel的Larrabee或IBM的Cell)相比,对40C18进行编程显然有很大的区别。40C18内核的功耗不到9mW,而其它两种芯片在没有大散热器或风扇的情况下都无法正常工作。40C18设计用于嵌入式甚至移动应用。

对大多数开发人员来说,对40C18进行编程将是不同的体验,这不仅因为Forth是编程语言。每个内核的小内存容量和矩阵互连改变了程序设计方法。内核通常运行将数据传送到一个或多个相邻内核的小型函数,因此协同编程将是大势所趋。

即使外部存储器访问也要求三个内核一起工作,当有许多内核可以一起工作时这种方法很管用。40C18还有一种独特的能力,它能将4个指令组成的小程序用一个字发送给相邻内核执行,因此就有足够的空间执行块传送。

XMOS公司的XS1-G4是一种基于32位整数Xcores的有趣混合产品。每个Xcore可以处理大量不同的线程,同时还有一个基于硬件的事件系统帮助XMOS的软外设。与40C18一样,XS1-G4可以在I/O端口上等待。区别是XS1-G4处理多个线程,而IntellaSys芯片处理单个线程。

开发人员可以使用C语言的扩展版本XC发挥XMOS硬件的最大功效。C语言扩展提供了到硬件支持的快捷路径,其中也包括 Xlinks。Xlinks连接芯片中的4个内核,并提供4个片外链路,因此可以连接多个芯片。芯片内部使用一个开关用于Xlink连接,但硬件和软件为处理器间通信提供统一接口。

每个内核有64KB的内存,这个容量比40C18大,但比本文提到的一些更高性能的芯片的内存容量小。同样,对大部分应用代码来说这个容量是足够用的,并且允许使用更传统的线程方法进行编程。针对XMOS芯片的大部分编程工作很可能用传统的C或C++完成,而不是用XC,后者更倾向用于通信和外设处理。

XS1-G4不会向双精度浮点GPU或其它高端系统提出挑战,但它的整数和定点DSP支持使得它适用于其它许多音频和视频处理功能。链接好的XMOS芯片早已在内部用来驱动多个大屏幕LCD。

多内核架构还将继续保持高速发展。高效地对这些内核进行编程和选择合适的产品并不容易,但它会变得越来越普及,即使是对嵌入式开发人员而言。传统应用程序将不断地移植到匹配现有主机的架构上。当应用程序被重新设计或从头创建时,也许会有更好的方案产生。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top