轻松读懂“应用处理器”微架构2013版10—18

轻松读懂“应用处理器”微架构2013版10—18

ID:33655068

大小:723.50 KB

页数:21页

时间:2019-02-28

轻松读懂“应用处理器”微架构2013版10—18_第1页
轻松读懂“应用处理器”微架构2013版10—18_第2页
轻松读懂“应用处理器”微架构2013版10—18_第3页
轻松读懂“应用处理器”微架构2013版10—18_第4页
轻松读懂“应用处理器”微架构2013版10—18_第5页
资源描述:

《轻松读懂“应用处理器”微架构2013版10—18》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第10页:ARMCortex-A9内核微架构特点Cortex-A9的代号为Falcon,是在ARM公司在2007年10月3日发布的IPcore,距今大约有五个年头。Cortex-Ax这个名字中后缀A表示属于Application(应用处理器),Cortex另有M系列(即单片机或者微控制器)、R系列(实时应用),这里显然是A系列的规格最高,具备MMU(内存管理单元)。基于Cortex-A9的芯片实现有前面提到的NVIDIATegra2/Tegra3、AppleA5/A5X以及TIOMAP4430/4440、ST-爱立信NovaThorU85

2、00/U9500/LT9540、STMSPEAr1310、三星Orion/Exynos4210、华为K3V2、ZiiLabsZMS-20/ZMS-40、SonyCXD5315GG(PSV)、联发科MT6577、华为海思K3V2等等,是目前GoogleAndroid操作系统高端手机、智能平板阵营中最主流的CPU内核。Cortex-A8微架构Cortex-A9微架构Cortex-A9的前身是Cortex-A8,它们同属于ARMv7ISA的实现,和Cortex-A8相比,Cortex-A9除了流水线更短、增加了专门的多核方案等大家熟知的变化外,

3、还具备多项改进。1、Cortex-A9拥有众多RISCCPU的先进特性,例如推测数据存取、动态分支预测、多指令发射、硬件Cache一致性、乱序执行、寄存器重命名,号称史上第一枚乱序执行移动处理器。除了双指令发射和分支预测外,Cortex-A8都并不具备,因此在Cortex-A9上汇编码优化、NEONSIMD的重要性相对来说要低很多(经过调优的汇编码在A8上可以做到10-30倍性能,而A9一般只会有2-5倍,如果是A9使用NEONCIntrinsics的话性能基本上和汇编一样)。2、Cortex-A9的每条L1CacheLine是32字节,

4、Corte-A8是64字节。CacheLine又称作datablock(数据块)或者CacheBlock,Cache每次更新都以固定大小的CacheLine为单位。CacheLine的大小主要影响命中率、内存存取效率、发生Cache命中缺失时候的性能惩罚时间。3、Cortex-A9的L2Cache位于“核外”(ARM对应的方案是PL310或者更新一点的L2C-310),而Cortex-A8则是速度更快的核内L2Cache。从对Cortex-A81GHz(三星SamsungHummingbird,即Exynos3110)和CortexA-A

5、91.2GHz(三星Exynos4210)实测来看,A8/A9的L1cache延迟分别为3周期和4周期,L2Cache延迟(含L1Cache延迟但是不含L1/L2TLB命中缺失惩罚的情况下)分别为13周期和23周期。4、Cortex-A9MPCore的各内核L1Cache采用了数据、代码分离式设计,L1数据Cache具备硬件Cache一致性。各个内核共享外部L2Cache。5、Cortex-A9具备完整的VFPv3FPU,而Cortex-A8则只有缩水版的VFPlite,主要区别是Cortex-A9的大多数浮点操作都只需要1个周期,而Co

6、rtex-A8需要10个周期,因此Cortex-A8的浮点性能相当烂。6、Cortex-A9支持半精度(fp16),而Cortex-A8只支持32-bit单精度(FP32)和双精度(FP64),不过半精度在CPU级别的应用并不是很多见。7、Cortex-A9不能同时发射两条NEON指令,而Cortex-A8却能够实现1条NEONL/S指令搭配一条非L/SNEON指令。8、Cortex-A8的NEON单元位于ARM单元下游,所以NEON单元访问寄存器和内存更快,而且数据可以很快从ARM寄存器搬到NEON/VFP单元寄存器,但是将NEON/V

7、FP寄存器数据搬到ARM寄存器的话就非常慢,会导致Cortex-A8的流水线停摆20个周期。9、Cortex-A8的NEON和ARM各有一个分离的L/S单元,如果一起对同一块CacheLine进行Load或者Store操作的话,会导致额外的20个周期延迟。10、Cortex-A9对多线程化同步采用LDREX/STREX,不会杜塞所有的内核,而Cortex-A8对互斥使用简单的断禁制。11、所有的Cortex-A8都集成了NEONSIMD单元,但是Cortex-A9则未必,例如NVIDIATegra2就没有集成NEON,不过Tegra3则具

8、备NEON。如果使用7-zip(不包含任何浮点)实测来看,Cortex-A81GHz的压缩(受内存时延、数据Cache大小和速度以及TLB影响较大)/解压缩(受CPU整数性能影响较大)性能相当

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。