单核的Cortex-A9在性能上比已经推出的Cortex-A8处理器更高,并且 A9系列可以提供两个乃至四个内核片上SMP产品,能提供总共超过8,000Dhrystone Mips(DMIPS)的峰值处理性能,这一性能大约是典型
arm11处理器(如iphone)的10-15倍,遑论更早的arm9系列。同时Cortex-a8是可综合的,芯片制造商采用速度优化工艺时的时钟频率能够超过1GHz,也可采用低功耗工艺大幅降低耗电。如果要进一步的省电,还可以采用动态减慢时钟或关闭部分内核的方法。
对称多处理(SMP)早已在大型机、服务器以及PC机上使用多年,这种平行技术的确能够有效的提高计算机的性能。如今的半导体技术允许在一个硅片上集成多个处理器核心,这些核心能够执行同样的指令集,拥有同等的存储器配置,IO访问能力和中断,这就是片上SMP。在这种硬件上运行的高级操作系统能够调度使用任意的核心来运行
软件线程或执行中断。这一切过去只能够在“大”的计算机上实现,但在不远的将来,你我的手机上也能够拥有这种高级功能。实现片上SMP对于手持设备来说,可以实现目前用单核方案,如arm11不可能实现的
应用。因为SMP可以实现非常好的性能和功耗伸缩性,在保持功耗足够低的前提下,能够将性能扩展到非常高的水平,应对现在和未来丰富的应用,如HD VIDEO播放、如PC般毫不缩水的浏览Internet等。如果使用单核方案,就不得不实现极高的速度——采用2GHz甚至更高主频的掌上处理器,那将导致无法接受的发热和耗电。
现在的移动应用越来越复杂,丰富程度直逼桌面应用,多进程、多线程等技术也早已在手持设备上采用,桌面计算机已经普及的多核心技术更是为SMP进入掌上设备指明了前进的方向。ARM处理器中的Cortex-a9是专门为此类应用
设计的。Cortex-a9和前一代Cortex-a8一样是超标量设计,能够单周期执行2条指令,比ARM11处理器同频性能提高约一倍。Cortex-a9处理器更改进了流水线,除了增加多处理指令还加入了乱序执行等功能。除了拥有Cortex-a8的特性之外,每核心平均同频性能比Cortex-a8提高了20%。
实现SMP的第一个消费类
嵌入式器是TI OMAP4系列,包括OMAP4430和OMAP4440。除了采用Cortex-a9 MP为处理器核心之外,还提供了哪些高级功能呢?让我们来细数一下:
- 45nm芯片工艺,提供高性能的同时只消耗极少的能源 专门为移动嵌入式平台设计,在单一芯片上集成了应用处理器(Cortex-a9担任),多媒体处理IVA3,3D图形加速器PVR SGX540以及其他的各种移动接口 可以支持full HD 1080p尺寸、各种编解码算法,进行实时编码和解码的硬件多媒体加速器IVA3。它的核心当然是专门硬件加上集成的C64x共同协作的结果,同时拥有硬件加速的高效性和
DSP的灵活性,实际上等于把DAVINCI平台塞入到你的手机里面 集成高速图形信号处理器,用于处理像素格式变换等。可以支持2千万像素的照相和摄像功能,令OMAP4拥有千万像素数码相机和高清数码DV的功能。 集成PowerVR SGX540三维硬件加速器(3D加速显卡),轻松支持3D桌面,游戏以及其他3D应用 支持HDMI高清视频输出,支持WUXGA显示,同时支持传统的
模拟视频
容易与Wifi,Bluetooth,USB HS/OTG,GPS,3G/4G通讯等各种数据接口连接 配合TWL60x0芯片,实现高级的电源管理,充分节省电池电力
嵌入式处理器层出不穷,系列和种类繁多。经常在嵌入式产业界见到的处理器,仅指令集家族就有x86,arm,powerpc,mips,sh等。每种指令集往往又有很多系列,下面还有不同版本,甚至同一版本有不同芯片厂家实现产品。这还不够,再加上不同的主频、总线结构、存储器cache配置,即使在行业里打拼多年的专业人士也难免眼花缭乱。
所以,经常有人会问:
200Mhz的arm9比起嵌入式工控机上的赛扬有多大的性能差距?四千多买的500MHz的智能手机究竟比笔记本电脑慢多少?在短时间内全面解释这类问题,介绍清楚各种嵌入式处理器的来龙去脉是不可能的。笔者前日对手里的几个嵌入式处理器进行了性能评测,获得了一些有趣儿的结果,能够一定程度上说明问题,于是撰文跟大家分享。
涉及的对象包括arm家族常用的系列嵌入式处理器,从初学者都知道的S3C2410到基于arm1136jf-s的OMAP2420,还有新一代产品新宠OMAP3/Cortex-a8。软件运行的操作系统为linux-2.6.24以及之后版本和gcc-4编译器。最终的测试结果说明了目前嵌入式处理器的性能现状,可供感兴趣的读者参考,最后还提供了笔者使用的测试代码
下载。笔者也非常希望爱好者在自己的嵌入式平台上测试,并将结果发帖交流。
本文的内容主要基于笔者亲自测试的结果,也有部分结果来自于他人的测试,绝大多数的测试对于稍有嵌入式Linux经验的人都可以很容易的重复。测试项目包括 nbench 整数性能,nbench内存带宽,nbench双精度浮点性能,单精度浮点FIR性能,SIMD向量单精度浮点FIR性能。
测试软件简介nbenchnbench是一个简单的用于测试处理器,存储器性能的基准测试程序。即著名的BYTE Magazine杂志的BYTEmark benchmark program。nbench在系统中运行并将结果和一台运行Linux的AMD K6-233电脑比较,得到的比值作为性能指数。由于是完全开源的,爱好者可以在各种平台和操作系统上运行nbench,并进行优化和测试,是一个简单有效的性能测试工具。nbench的结果主要分为MEM、INT和FP,其中MEM指数主要体现处理器总线、CACHE和存储器性能,INT当然是整数处理性能,FP则体现双精度浮点性能(大多数嵌入式处理器都没有强大的双精度浮点能力)。
fp_firfp_fir是笔者编写的单精度浮点FIR性能测试程序,简单并直观的评价系统的单精度浮点数乘加性能(玩过DSP就知道,浮点乘加是TigerSHARC的拿手好戏)。fp_fir的一个亮点是可以很容易的SIMD向量化,即利用SSE3/Altivec/Neon等SIMD指令集加速执行。这个测试的结果也是最有戏剧性的。
1.nbench测试MEM部分此测试包括字符排序、数据赋值和位操作。这个测试中,高主频、高速的片内CACHE和快速的外存储器非常重要。采用新架构的Cortex-a8和强劲的桌面x86占有很大优势,其中很大一部分是源于片上的二级CACHE结构
文章评论(0条评论)
登录后参与讨论