您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > ARM Cortex A8、A9以及高通Scorpion处理器详解
1.一些背景介绍1.1ARM核心ARM核心是主控SOC中的重要部分,系统的日常应用都由ARM核心来完成,因此ARM核心的效能很大程度上跟用户体验有关。ARM公司一般用DMIPS/MHz来标称ARM核心的性能。DMIPS是DhrystoneMillionInstructionsexecutedPerSecond的缩写,反映核心的整数计算能力。但Dhrystone算法代码本身比较叫,可以完全放到Cache中执行,因此反映的只是核心能力,并不能反映缓存、内存I/O性能。SoC定义为将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上。能支持智能系统的ARM核心有以下几类:ARM9:指令集ARMv5,5级流水线,1.1DMIPS/MHzARM10E:指令集ARMv5,intel获得授权后发展的,如PXA270,PXA210系列,6/7级流水线,1.35DMIPS/MHzARM11:指令集ARMv6,8级流水线,1.25DMIPS/MHzCortex-A8:指令集ARMv7-A,13级整数流水线,超标量双发射,2.0DMIPS/MHz,标配Neon,不支持多核Scorpion:指令集ARMv7-A,高通获得指令集授权后在A8的基础上设计的。13级整数流水线,超标量双发射,部分乱序执行,2.1DMIPS/MHz,标配Neon,支持多核Cortex-A9:指令集ARMv7-A,8级整数流水线,超标量双发射,乱序执行,2.5DMIPS/MHz,可选配Neon/VFPv3,支持多核Cortex-A5:指令集ARMv7-A,8级整数流水线,1.57DMIPS/MHz,可选配Neon/VFPv3,支持多核Cortex-A15:指令集ARMv7-A,超标量,乱序执行,可选配Neon/VFPv4,支持多核×目前只有指令集ARMv7-A的核心才能在Android2.2上支持AdobeFlash。×Neon是什么?Neon是ARM核心附带的浮点SIMD引擎,可以把它当一个DSP用,可以把它理解为桌面CPU上的SSE,SSE2。合理的利用可以增强处理器在游戏、多媒体中的表现,当然需要软件支持。标准的Neon宽度是64bit。A9的Neon相对A8略有升级。如果不使用Neon,就只能有CPU自带的VFP进行浮点运算。标准A8的VFP没有管线化,速度是比较低的。A9的VFP管线化后,效能有明显提升,但还是不如Neon。×超标量:A8A9A15都是超标量结构,他们具有两条流水线,一个周期可以发射最多两条指令进行执行。因此同频效能比ARM9ARM11等高的多。×Cortex-A5是Cortex-A家族中的小弟,功耗较低,单位功耗的效能很高,用于代替ARM9和ARM11占据低端市场。Cortex-A15是最新发布的,作为高端产品出现,目前资料不多。×Scropion是高通根据Cortex-A8修改的。关键的特点是同频下比A8节能30%,或者同功耗的频率高25%。Scorpion具有部分A9的特性,如乱序执行,管线化的VFP,支持多核。此外,Scorpion的NeonSIMD引擎(高通称之为VeNum)宽度为128bit,是A8和A9的两倍,能提供更强劲的浮点运算支持,并且在不需要的时候可以关闭一半变成64bit以节省能源。总体上,Scorpion是具有部分A9特性的A8,高频率节能浮点加强版。1.2工艺与频率、功耗这三者是密切相关的,当然频率与SOC的后端设计也有很大关系。根据参考文献,45nm工艺可以比65nm节省30%的能耗。45nmScorpion在1.0GHz、1.2GHz和1.5GHz下的典型功耗是350mW、420mW和650mW,其中1.5GHz下已经需要加压,功耗上升更多。根据以上信息我们可以推测出Cortex-A8虽然性能强劲,但不是省油的灯。于是新一代mid主控在45nm、55nm下动辄1.2GHz的主频,能耗有点让人担心。当然,如果采用的GP工艺,可能会好些。同样制程的工艺,可以分为LP和GP。LP是LowPower,降低漏电,使得芯片在闲置状态下的能耗最低。GP是GeneralPurpose,可以在相同的满载能耗下达到比LP更高的频率,但是闲置状态下功耗高。国际大厂用于手机的SOC一般都采用LP工艺,以降低待机功耗,毕竟手机大部分时间都在待机。1.3视频的“硬解”与“软解”在Android下,个人认为硬解就是通过芯片自带的加速器进行解码,无论用的是DSP还是硬布线的解码器。软解就是通过软件使用ARM核心进行解码,ARM作为一个通用核心做视频解码,自然效能不会太高,并且依赖软件的算法,一般普遍使用的就是FFMPEG对ARM进行优化,调用neon等。不过就我个人的使用经验而言,1GHz的Cortex-A8处理器,使用rockplayer,vplayer等基于FFMPEG的软件解码,只能勉强解码480p的视频。对于848×480,24分钟100M左右的RMVB视频,大部分时间都无法达到满帧,在遇到高码率的动态场景时,帧数降到个位数,会有很明显的卡顿掉帧。在Tegra2的A9平台上表现稍好,仍不能满帧。估计是播放软件无法完全利用2个核心,如果两个核心充分利用,解决480pRMVB应该没有问题。总体而言,1GHzA8处理器软解RMVB基本是RK27MP4的水平。如果你的眼睛比较挑剔,就要注意了。一些A8软解720pRMVB流畅的说法,基本都是不实际的。==========ARM11========================VIAWM8650猜测为65nm工艺ARM11600MHz,300MHzDSP,支持720p硬件解码256MDDR2,位宽未知GPU未知VIA的新一代芯片,WM8505的升级版。ARM核心从ARM9300/400MHz升级到ARM11600MHz,并且能进一步提升到800MHz,性能基本达到RK2818和TCC8902的水平。视频能力从基本没有提升到720p硬件解码,虽然相对TCC的1080p解码有差距,但也达到了RK28的水平。软件方面,终于提供了Android2.1的支持,相比上一代的WM8505只能支持Android1.6有了进步。但是在A8/A9主控搭载Android2.2/2.3逐渐普及的趋势下,这款方案又将过时,只能作为低端入门的选择。据报道,售价将在550元以下。==========Cortex-A8========================65nm工艺,其中ARM核心为GP工艺,视频解码部分为LP工艺Cortex-A8800MHz,256KL2Cache512MDDR2,32bit视频子系统:硬解多格式,H.264,VC-1,MPEG4,RV最高720p(大部分开发商都没做RV的硬解支持),实测可播放部分1080p视频GPU:Adreno200(AMDZ430)三角形生产率:27M像素填充率:166MRockchipRK2908本帖最后由seasky于2011-7-823:40编辑文章来源于网络,仅供参考。1.一些背景介绍1.1ARM核心ARM核心是主控SOC中的重要部分,系统的日常应用都由ARM核心来完成,因此ARM核心的效能很大程度上跟用户体验有关。ARM公司一般用DMIPS/MHz来标称ARM核心的性能。DMIPS是DhrystoneMillionInstructionsexecutedPerSecond的缩写,反映核心的整数计算能力。但Dhrystone算法代码本身比较叫,可以完全放到Cache中执行,因此反映的只是核心能力,并不能反映缓存、内存I/O性能。能支持智能系统的ARM核心有以下几类:ARM9:指令集ARMv5,5级流水线,1.1DMIPS/MHzARM10E:指令集ARMv5,intel获得授权后发展的,如PXA270,PXA210系列,6/7级流水线,1.35DMIPS/MHzARM11:指令集ARMv6,8级流水线,1.25DMIPS/MHzCortex-A8:指令集ARMv7-A,13级整数流水线,超标量双发射,2.0DMIPS/MHz,标配Neon,不支持多核Scorpion:指令集ARMv7-A,高通获得指令集授权后在A8的基础上设计的。13级整数流水线,超标量双发射,部分乱序执行,2.1DMIPS/MHz,标配Neon,支持多核Cortex-A9:指令集ARMv7-A,8级整数流水线,超标量双发射,乱序执行,2.5DMIPS/MHz,可选配Neon/VFPv3,支持多核Cortex-A5:指令集ARMv7-A,8级整数流水线,1.57DMIPS/MHz,可选配Neon/VFPv3,支持多核Cortex-A15:指令集ARMv7-A,超标量,乱序执行,可选配Neon/VFPv4,支持多核×目前只有指令集ARMv7-A的核心才能在Android2.2上支持AdobeFlash。×Neon是什么?Neon是ARM核心附带的浮点SIMD引擎,可以把它当一个DSP用,可以把它理解为桌面CPU上的SSE,SSE2。合理的利用可以增强处理器在游戏、多媒体中的表现,当然需要软件支持。标准的Neon宽度是64bit。A9的Neon相对A8略有升级。如果不使用Neon,就只能有CPU自带的VFP进行浮点运算。标准A8的VFP没有管线化,速度是比较低的。A9的VFP管线化后,效能有明显提升,但还是不如Neon。×超标量:A8A9A15都是超标量结构,他们具有两条流水线,一个周期可以发射最多两条指令进行执行。因此同频效能比ARM9ARM11等高的多。×Cortex-A5是Cortex-A家族中的小弟,功耗较低,单位功耗的效能很高,用于代替ARM9和ARM11占据低端市场。Cortex-A15是最新发布的,作为高端产品出现,目前资料不多。×Scropion是高通根据Cortex-A8修改的。关键的特点是同频下比A8节能30%,或者同功耗的频率高25%。Scorpion具有部分A9的特性,如乱序执行,管线化的VFP,支持多核。此外,Scorpion的NeonSIMD引擎(高通称之为VeNum)宽度为128bit,是A8和A9的两倍,能提供更强劲的浮点运算支持,并且在不需要的时候可以关闭一半变成64bit以节省能源。总体上,Scorpion是具有部分A9特性的A8,高频率节能浮点加强版。1.2工艺与频率、功耗这三者是密切相关的,当然频率与SOC的后端设计也有很大关系。根据参考文献,45nm工艺可以比65nm节省30%的能耗。45nmScorpion在1.0GHz、1.2GHz和1.5GHz下的典型功耗是350mW、420mW和650mW,其中1.5GHz下已经需要加压,功耗上升更多。根据以上信息我们可以推测出Cortex-A8虽然性能强劲,但不是省油的灯。于是新一代mid主控在45nm、55nm下动辄1.2GHz的主频,能耗有点让人担心。当然,如果采用的GP工艺,可能会好些。同样制程的工艺,可以分为LP和GP。LP是LowPower,降低漏电,使得芯片在闲置状态下的能耗最低。GP是GeneralPurpose,可以在相同的满载能耗下达到比LP更高的频率,但是闲置状态下功耗高。国际大厂用于手机的SOC一般都采用LP工艺,以降低待机功耗,毕竟手机大部分时间都在待机。1.3视频的“硬解”与“软解”在Android下,个人认为硬解就是通过芯片自带的加速器进行解码,无论用的是DSP还是硬布线的解码器。软解就是通过软件使用ARM核心进行解码,ARM作为一个通用核心做视频解码,自然效能不会太高,并且依赖软件的算法,一般普遍使用的就是FFMPEG对ARM进行优化,调用neon等。不过就我个人的使用经验而言,1GHz的Cortex-A8处理器,使用rockplayer,vplayer等基于FFMPEG的软件解码,只能勉强解码480p的视频。对于848×480,24分钟100M左右的RMVB视频,大部分时间都无法达到满帧,在遇到高码率的动态场景时,帧数降到个位数,会有很明显的卡顿掉
本文标题:ARM Cortex A8、A9以及高通Scorpion处理器详解
链接地址:https://www.777doc.com/doc-23584 .html