本文整理了arm cortexA 系列的CPU的相关信息,以便在芯片选型时提供帮助。

Cortex-A发布时间

Cortex-A 支持的位数及架构

Cortex-A 系列的芯片

ARMv7-A内核的比较

从DMIPS/MHz角度的cpu性能比较
A5(1.57) < A7(1.9) < A8(2.0) < A9(2.5) < A12(3.0) < A15(3.5~4.1) < A17(4.0)

ARMv8-A内核的比较

从DMIPS/MHz角度的cpu性能比较
A35(1.78) < A53(2.24) < A57(4.6) < A72(4.72) < A73(~6.35) A55,A75,A76暂时未知

A55比A53 15%功耗提升,18%性能提升;
A75比A73 16-48%性能提升;
A76 提升了25%的整数运算能力,提升了35%的浮点运算能力,内存带宽提升了90%相对A75,性能上是A73的两倍。

big.LITTLE

big.LITTLE是一种节能省耗技术,最高性能的ARM CPU核心与最高效的ARM CPU核心相结合,以更低的功耗提供最好的工作性能,最快的处理任务速度。
那什么时候使用什么核?由kernel的scheduler实现决定,包括三种方式:集群切换(Clustered switching),CPU迁移(CPU migration),HMP(Heterogeneous multi-processing)
集群切换,只能同时全开大核或同时全开小核,最高性能 = 单个大核性能 X 大核个数;实现最简单,切换灵活度低。

例如,A57和A53构成big.LITTLE,调度器一次只能全开4cores的A57 或者 全开4 cores 的A53

CPU迁移,每个大核与每个小核构成虚拟核心,每个虚拟核心同时只允许打开一个大核或一个小核,最高性能 = 单个大核性能 X 大核个数;切换灵活度中等。

例如,A15与A7组成big.LITTLE,每一组A15和A7看作一个虚拟核心,每个虚拟核心中的core在某个时刻只有一个运行。

HMP,所有核心可同时全开,最高性能 = 单个大核性能 X 大核个数 + 单个小核性能 X 小核个数;实现起来最复杂,切换灵活度高。

简要的列出支持big.LITTLE的CPU:

A7 LITTLE
A15 big
A17 big

A32 LITTLE
A35 LITTLE
A53 big/LITTLE
A57 big
A72 big
A55 big/LITTLE
A75 big
A76 big
A73 big

DMIPS/MHz

MIPS

MIPS(Million Instruction Per Second)表示每秒执行多少百万条指令,如10MIPS,表示每秒一千万条指令。

MIPS/MHz

表示CPU在每MHz的运行速度下可以执行多少个MIPS,如10MIPS/MHz,表示如果CPU运行在1MHz的频率下,每秒可执行一千万条指令,如果 CPU 运行在 5MHz 的频率下,每秒可执行五千万条指令。

超标量运行

以前计算机大部分都是"单线程"工作模式,就是说在1MHz工作频率下(1秒钟震荡1M次周期,而且取指、译码、执行操作只能串行运行),计算机1秒钟处理的指令不会超过1M条,因为每秒中它只能计算1M次而很多指令不是1次就能完成的,而现在的计算机都使用了多级流水线结构,取指、译码、执行……可以并行运行,就是说在1个计算周期(次)计算机能够执行超过1条以上的指令,这样,在1MHz的运行频率下,它就能得到超过1MIPS的执行效率了。

DMPS/MHz

DMIPS是“Dhrystone MIPS”的缩写
DMIPS是一个测量CPU运行一个叫Dhrystone(整数运算)的测试程序时表现出来的相对性能高低的一个单位(很多场合人们也习惯用MIPS作为这个性能指标的单位)。
因为基于程序的测试容易受到恶意优化的干扰,并且DMIPS指标值的发布不受任何机构的监督,所以使用DMIPS进行评估时要慎重。例如对Dhrystone测试程序进行不同的编译处理,在同一个处理器上运行也可以得出差别很大的结果。

DMIPS的简单推算公式:

DMIPS = DMIPS/MHz * 主频(MHz) * 核心数

例如,RK3288是Quad-core ARM Cortex-A17, up to 1.8 GHz,那么,DMIPS=4x1800x4=28800

Cortex-A的更多相关文章

  1. 点评前端开发工具cortex安装使用方法

    cortex安装方法: 安装最新版 sudo npm install -g cortex cortex config set registry http://registry.cortexjs.org ...

  2. 【转贴】Cortex系列M0-4简单对比

    转载网址:http://blog.sina.com.cn/s/blog_7dbd9c0e01018e4l.html 最近搞了块ST的Cortex-M4处理器,然后下了本文档.分享一下. 针对目前进入大 ...

  3. ARM Cortex M3系列GPIO口介绍(工作方式探讨)

    一.Cortex M3的GPIO口特性    在介绍GPIO口功能前,有必要先说明一下M3的结构框图,这样能够更好理解总线结构和GPIO所处的位置. Cortex M3结构框图     从图中可以看出 ...

  4. Cortex依赖管理

    cortex中文博客链接: http://cnblog.ctx.io/post/91333512673/cortex 关于cortex项目, 参见项目主页: http://ctx.io 项目在gith ...

  5. ARM Cortex M3(V7-M架构)硬件启动程序 二

    解析 STM32 的启动过程 解析STM32的启动过程 当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择.如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main ...

  6. ARM Cortex M3(V7-M架构)硬件启动程序 一

    Cortex-m3启动代码分析笔记 启动代码文件名是STM32F10X.S,它的作用先总结下,然后再分析. 启动代码作用一般是: 1)堆和栈的初始化: 2)中断向量表定义: 3)地址重映射及中断向量表 ...

  7. 从51跳新唐cortex学习3——细说新唐两种定时器

    的定时器我们已经是相当熟悉啦.但是,对于第一次接触新唐,第一次接触cortex的定时器一样,都是加1计数,但是功能和容量变大了),包括4个32位定时器(里面放24位的数据),还有分频功能.TMER0到 ...

  8. MDK5使用Jlink下载显示 no cortex m sw divice 解决办法

    问题: (1)下面界面中找不到设备 (2)下载程序的时候提示" no cortex m sw divice " 然后是"target dll has been cance ...

  9. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)

    ARM架构:  由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类. ARM7:       一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核. ...

  10. ARM9/ARM11/Cortex A8处理器(转载) .

    //toppic:推荐几个值得中小企业使用的ARM9/ARM11/Cortex A8处理器 // 作者:gooogleman //原文地址:http://blog.csdn.net/goooglema ...

随机推荐

  1. Scalatra文件下载时中文乱码

    可以采用Servlet平台的解决方法进行解决: Ok(file.get, Map( "Content-Type" -> (file.contentType.getOrElse ...

  2. HDU 2883 kebab(最大流)

    HDU 2883 kebab 题目链接 题意:有一个烧烤机,每次最多能烤 m 块肉.如今有 n 个人来买烤肉,每一个人到达时间为 si.离开时间为 ei,点的烤肉数量为 ci,每一个烤肉所需烘烤时间为 ...

  3. 算法笔记_195:历届试题 错误票据(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为 ...

  4. winform网络编程之TcpClient类,TcpListener类和UdpClient类

    TcpClient类和TcpListener类 (1)TcpClient的用途: 用于在同步阻止模式下通过网络来链接.发送和接受流数据,在此情况下,必须有侦听此连接的请求,而侦听的任务就交给TcpLi ...

  5. PHP-Open Flash Chart学习一(swfobject知识)

    首先必须了解下swfobject的知识 在网页里面插入swf再平常不过了, 一般会想到如下代码: <object classid="clsid:D27CDB6E-AE6D-11cf-9 ...

  6. velocity入门

    http://wenku.baidu.com/view/b401add728ea81c758f57882.html?re=view package cn.edu; import java.io.Fil ...

  7. C输出大于127的ACSII字符

    近期,我们的DNS服务器收到了一些异常的域名请求,从访问日志看到很多域名都被返回了FORMAT ERROR的错误码,但是访问日志中的域名看起来很正常啊,为什么会返回FORMAT ERROR的错误码呢? ...

  8. python函数中把列表(list)当参数时的"入坑"与"出坑"

    在Python函数中,传递的参数如果默认有一个为 列表(list),那么就要注意了,此处有坑!! 入坑 def f(x,li=[]): for i in range(x): li.append(i*i ...

  9. <转>C++ explicit关键字详解

    要文转自:http://www.cnblogs.com/ymy124/p/3632634.html 首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造 ...

  10. HDUOJ----(1016)Prime Ring Problem

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...