核与多执行绪的嵌入式系统解决方案
扫描二维码
随时随地手机看文章
digitimes 在嵌入式装置中建置多核心(包含同质或异质)以及多执行绪技术,的确能带来诸多效益,尤其是改进系统效能方面最为明显。 尽管risc嵌入式技术所面临的挑战越来越多,但是在维持以往嵌入式软件资源兼容性的前提之下,能够改善其未来适用性,并且有效提升新系统的效能表现,使其不失为良好的解决方案。应用决定多核或多绪 多核心与多执行绪在效能表现上有其帮助,但是效能与这些技术的内建其实并没有绝对关系,会造成这样的原因主要是应用环境的需求。以手机为例,整合于手机内的soc芯片虽然是属于多核心架构的一环,但是手机采用的soc芯片多为应用处理器,其整合的核心并非完全属于同性质架构,同质多核心在嵌入式系统实际应用上的案例其实非常少。 而多执行绪处理器在汽车电子或者是嵌入式网络环境中扮演着重要的角色,但是也有厂商利用数颗多执行绪芯片组成多核心与多执行绪兼备的运算架构,换句话说,两者并不是单纯选边站而已,根据实际应用的需求,自行搭配或开发最终解决方案也成了许多厂商面对问题时的态度。这也代表着,在选择嵌入式系统的基础架构时,处理器本身只是应用的1个环节,如何能够针对应用将所需的效能最大化,必须依照产品的不同而有各种考虑。不只是意气的技术之争真正的同质多核心架构-arm11 mpcore 在嵌入式多核心应用处理器这方面的领域,目前以arm为技术领导者,虽然该公司本身并无晶圆厂,而纯粹以ip的形 式出售处理器架构,由于定位正确,在短短的数年间取得了极大的市场地位,全世界绝大多数的手持式装置都嵌入了arm的处理器技术。 以其技术的发展历程来看,早期的arm7架构本身能够满足一些音效编译码应用。而在增加16位饱和运算指令和提高arm9核心速度后,不仅能完成音效编译码工作,以及以大约80 mhz、15 画格/秒速度下的mpeg-4 qcif(4分之1 cif分辨率)编码。在arm11 v6指令集架构上增加速度和simd指令后,就可以实现vga分辨率的 h.264 编码。再进一步到最新的cortex a8与其基于64位simd架构的neon加速器搭配工作之下,就可以完成 30 画格/秒的 mpeg-4 vga 编码,所花周期只有 arm11 的一半。在实际情况下,该工作需要大约 300 mhz。为了使这些选项对使用者更加可行,arm 正在开发一个并行编译器原型,它可以提取资料并行机制,并用 simd 硬件来使用它。图说:arm11 mpcore的结构示意图。 arm11 mpcore乃是在arm11核心的基础组成,架构上属于v6指令体系。根据不同应用的需要,mpcore可以被配置为1~4个处理器的组合方式,根据官方表示,其最高性能约可达到2600 dhrystone mips的程度。mpcore是标准的同质多核心处理器,,组成mpcore的是4个基于arm11架构的处理器核心,由于多核心设计的优点是在频率不变的情况下让处理器的性能获得明显提升,因此可望在多任务应用中拥有良好的表现,这一点很适合未来家庭消费电子的需要。例如,机上盒在录制多个频道电视节目的同时,还可通过因特网收看数字视讯点播节目、车内导航系统在提供导航功能的同时,仍然有余力可以向后座乘客播放各类视讯娱乐串流等。 在这类应用环境下,多核心结构的嵌入式处理器能够表现出极强的性能优势。根据原厂数据,mpcore多处理器可支持高达4路共享快取结构的对称多处理器 (four-way cache coherent symmetric multiprocessing,smp)、或者是4路不对称多处理器(four-way asymmetric multiprocessing,amp)以及4路兼有对称/不对称的混合式多处理器系统。其设计的高灵活设计在理论上可以满足各种跨领域应用对运算性能的弹性需求,确保系统可获得一流的响应能力或数据吞吐量。 不过arm11 mpcore早在2004年就已经发布,2005年正式加入授权业务,截至目前为止,采用该处理器的产品集中于家电与汽车电子方面,但是数量并不算多,是业界对于处理器运算能量的需求尚未显现?据了解,在汽车电子方面,汽车应用的微处理器要求越来越高,但是过去的单核心基本上还能满足一般汽车的使用,而随着越来越多的电子辅助装置整合进汽车中,其间所需处理的工作也越来越繁杂,已经远超过传统汽车用微控制器所能负担的程度,因此可预期的是,未来数年应该会有越来越多汽车厂商采用类似的多核心架构来取得合理的系统反应速度。
至于在家电应用方面,其实需要用到如此复杂核心的产品不多,在应用最多的影音产品方面,其实大部分的厂商都采用专用的硬件译码电路或者是dsp来进行编译码的动作,直接采用多核心处理器来进行编译码动作其实效益不明显。而在行动应用方面,其实功耗依然是行动产品厂商所最注重的,即便arm11 mpcore能够达到极低的多核心同时工作功耗,但是依然无法与单核心版本相比,因此在行