摘要: 本文从定义、结构差异、CAPI以及嵌入式软件的角度介绍了多核处理器技术。
关键词: 多核;对称;非对称;CAPI
是对还是错?目前所称的多核处理器仅是处理器厂家和IP供应商为多卖芯片和内核而制造的过渡性热炒。将单核直接倍增用于台式计算机及服务器的这种多核处理器芯片的所谓开发技术也在直接推向嵌入式系统。如果相信会刊上的这类关于多核处理器的言语,那么等将来有一天知晓对多核处理器性能的真实要求时www.cechina.cn,定会大为震惊。真实的多核处理器原本指的是一种关于未来微处理器的新技术。目前多核的欺骗确实能够多卖芯片和内核www.cechina.cn,而且在性能和功耗方面也能够表现出某些期望的实用效果。但不幸的是,多年来用于台式机和服务器中使用上述直接的或称无痛倍增式的多核技术对于嵌入式的使用帮助有限。为深入研究新型多核结构的挑战,最近一些公司成立了一个非营利性的多核联盟的组织,其宗旨在于协助嵌入式工业解决弹片式多核处理器的共性难题。该组织着手解决的第一个挑战是弹片多内核之间的通信难题。现正在开发核间通信用的API规范。因该联盟尚未正式获准注册,所以其成员现在不便公布。然而,提出申请并已缴纳首次会费的公司至少已有15个
多核的多重含义
首先应该给多核下个定义。 多核存在多种定义,尤其不幸的是,多核已被市场频频滥用,乃至被责之为一种骗局。
多核联盟认为单片的多核器件应当存在两个及以上的自治处理单元。 自治或自主是处理单元的重要条件。按此定义,凡主机流程中有协处理器的系统便被排斥在多核处理器之外,而与主机连接着执行自己指令流的DSP核的则是多核系统。这是定义中的简明部分。
若论及AMP(非对称处理)与SMP(对称处理), 同构与异构,存储器共用与分布等结构形式,简明定义将被突破。
多核处理中的SMP是含有两个及以上的场合,各有同样芯片,同结构的核,运行同样的软件。SMP可共用内存及缓存粘接部分。SMP使用同构的核,尽管同构的内核再不必一定是SMP。 若内部是同构的核,但各核运行的不是相同的操作系统,那就变成非对称多处理(AMP)。AMP系统也可以用异构的核和共用存储接口或使用分布存储器。有时,AMP与NUMA(非均一存储器结构)可以看作同义词。任何情况下,同构或异构核都可构成多核处理器,多核处理器都可以按SMP(对称)或AMP (非对称)模式运行。
往后CONTROL ENGINEERING China版权所有,弄清每个嵌入式多核处理器的构成十分重要,因不同要求有不同的构成。 Freescale 和Intel以高端的工业和通信应用为目的,选用同构双核的嵌入式多核结构。Freescale 、ST和TI公司以各类多媒体消费电子产品为目标,使用异构多核嵌入式芯片,如Freescale的i.MX 和 ST的 Nomadik。其他公司,如PicoChip Design 和Connex Technology公司构建的则是具有数十、数百乃至数千个核的同构或异构多核处理器。这些本质上差异巨大的多核处理器,在软件编程和硬件的高并行度方面都更加的专业化。
AMP 与 SMP 更多的差异
关于AMP或SMP的优缺点的争论,从通用计算领域的多计算机与多处理器开始,长期以来一直在争辩和磋商。虽然持续了数十年,依然没见明确的赢家浮出水面。两种方案的上下高低说不清道不明,最后由应用的需要为准各行其是。现在,这场争论又传递给了嵌入式。
使用SMP,从应用角度看,操作系统掩盖了CPU结构的优劣并提供一些附加的功能。能够支持SMP的操作系统有许多,包括实时操作系统。其中既有商用的又有开放源码的。 SMP 的编程较 AMP 容易,尽管SMP的多线程编程也较难。已知软件的价格在项目开发中占有相当的数目。另外,SMP因硅粒面积较大、耗能和保持高速缓存的粘合复杂等问题,素有高价方案之名。又有连接带宽、同步、锁定等因素加大内核的开销, 使SMP的可伸缩性受到限制。再有,移动式的SMP系统,因需高度使用片上的网络,多核的频繁连接耗费更多宝贵的电力。高速缓存的粘合,引发SMP系统产生不可预期的存取延时,使一些实时应用系统无法接受。SMP系统较长的存取时间,即使可以采用硬件的多线程进行弥补,依然会产生性能的下降。SMP系统的伸缩性的不良,当核的使用数量增加时,会有更多的核由于等待线程资源而使性能下降。
AMPCONTROL ENGINEERING China版权所有,在有硬件的支持条件下,功耗、硅粒面积等方面有所改善,效率比SMP高。按传统的说法,AMP的编程较难。一般来说,将应用程序分割成松耦合的程序段CONTROL ENGINEERING China版权所有,再映射给分布的AMP硬件结构并非是一件轻松的事。一些倡导者曾争辩说,应当给AMP创造能够优化程序分段的健康生态环境。然而想要将多个程序段汇集成具有竞争能力的整体,依然并非易事。但是,当片上的的多核数目增长到一定程度时,采用SMP和AMP混合方案似乎更为可行。
多