了解ARM+Android
第一部分 认识ARM,方案商,GPU
, 芯片
1.1 ARM
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。
ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片. 正是因为这样,各家都采用了自己的编号来命名,所以CPU型号较为复杂.
1.2 RISC & CISC
市场上可见到的处理器大致可以分为以下两类:CISC处理器和RISC处理器。CISC技术多用在个人电脑等通用处理器上。RISC技术多用在嵌入式处理器上(我们可以认为除了通用处理器,所有的处理器都是嵌入式处理器),比如手机处理器芯片、GPS处理器芯片.
1.3 Cortex-A系列处理器
ARM Cortex A5
ARM Cortex A8
ARM Cortex A9-MPcore
ARM Cortex A9-单核
1.4 ARM7.ARM9,ARM11处理器
1.5 ARMv4,ARMv6,ARMv7指令集
Cortex-A系列是最新的开放式操作系统的高性能处理器,是ARM针对智能手机和MID平板推出的一系列处理器。ARM7、、则是经典系列,也就是上一代处理器,其中ARM9、ARM11架构被采用的比较多,有不少中端MID平板的处理器采用这种构架。Cortex-A系列和ARM7、、系列最大的区别就是采用了不同的指令集,Cortex-A系列采用的是ARMv7指令集,而ARM11采用的是ARMv6指令集。
ARM核心是主控SOC中的重要部分,系统的日常应用都由ARM核心来完成,因此ARM核心的效能很大程度上跟用户体验有关。ARM公司一般用DMIPS/MHz来标称ARM核心的性能。DMIPS是Dhrystone Million Instructions executed Per Second的缩写,反映核心的整数计算能力。但Dhrystone算法代码本身比较叫,可以完全放到Cache中执行,因此反映的只是核心能力,并不能反映缓存、内存I/O性能。
能支持智能系统的ARM核心有以下几类:
ARM9:指令集ARMv5,级流水线,.1DMIPS/MHz
ARM10E:指令集ARMv5,intel获得授权后发展的,如PXA270,PXA210系列,/级流水线,.35DMIPS/MHz
ARM11:指令集ARMv6,级流水线,.25DMIPS/MHz
Cortex-A8:指令集ARMv7-A,级整数流水线,超标量双发射,.0DMIPS/MHz,标配Neon,不支持多核
Scorpion:指令集ARMv7-A,高通获得指令集授权后在A8的基础上设计的。级整数流水线,超标量双发射,部分乱序执行,.1DMIPS/MHz,标配Neon,支持多核
Cortex-A9:指令集ARMv7-A,级整数流水线,超标量双发射,乱序执行,.5DMIPS/MHz,可选配Neon/VFPv3,支持多核
Cortex-A5:指令集ARMv7-A,级整数流水线,.57DMIPS/MHz,可选配Neon/VFPv3,支持多核
Cortex-A15:指令集ARMv7-A,超标量,乱序执行,可选配Neon/VFPv4,支持多核
目前只有指令集ARMv7-A的核心才能在Android2.上支持Adobe Flash。
Neon是什么?Neon是ARM核心附带的浮点SIMD引擎,可以把它当一个DSP用,可以把它理解为桌面CPU上的SSE,SSE2。合理的利用可以增强处理器在游戏、多媒体中的表现,当然需要软件支持。标准的Neon宽度是64bit。A9的Neon相对A8略有升级。
如果不使用Neon,就只能有CPU自带的VFP进行浮点运算。标准A8的VFP没有管线化,速度是比较低的。A9的VFP管线化后,效能有明显提升,但还是不如Neon。
超标量:A8 A9 A15都是超标量结构,他们具有两条流水线,一个周期可以发射最多两条指令进行执行。因此同频效能比ARM9 ARM11等高的多。
Cortex-A5是Cortex-A家族中的小弟,功耗较低,单位功耗的效能很高,用于代替ARM9和ARM11占据低端市场。
Cortex-A15是最新发布的,作为高端产品出现,目前资料不多。
Scropion是高通根据Cortex-A8修改的。关键的特点是同频下比A8节能30%,或者同功耗的频率高25%。
Scorpion具有部分A9的特性,如乱序执行,管线化的VFP,支持多核。此外,Scorpion的Neon SIMD引擎(高通称之为VeNum)宽度为128bit,是A8和A9的两倍,能提供更强劲的浮点运算支持,并且在不需要的时候可以关闭一半变成64bit以节省能源。总体上,Scorpion是具有部分A9特性的A8,高频率节能浮点加强版。
1.6 方案商
获得ARM许可,生产自己芯片的方案公司
瑞芯微:
Rk2818: ARM9核心,62MB4主频,搭配DDRII 内存,支持Android 2.1, 电容屏上可实现多点触摸,分辨率可达1024*, 支持720P 视频,有3D渲染功能,可实现人脸识别。以蓝魔W9,W11,原道N6,台电T720为代表
Rkxx/Rk2918: Cortex-A8处理器,L2 512KB, .2Ghz主频,更好的支持Android 2.3。
赢方威:
IMAPX200: ARM11处理器,1G主频,DDRII ,代表机型卓尼斯,国美飞触
Telechips:
TCC8902: ARM1176JZF-S 540MHz/720MHz,Linpack 2.3/.5MFlops(2.1系统)
RAM: 256M DDR2,32bit
高通:
QSD8X50: A8,Scorpion 1GHz,Linpack -.5MFlops(2.1系统);RAM: /512M mDDR,32bit
飞思卡尔:
I.MX515:Cortex-A8 800MHz/1GHz;RAM: /512M DDR2,32bit
三星:
S5PC110/S5PC210:Cortex-A8 800MHz/1GHz,512K L2,Linpack -8.5(1GHz)(2.1系统);RAM: 512M mDDR2,32bit
Nvidia Tegra :
Cortex-A9 1GHz双核 + VFP;RAM: 512M/1G DDR2,32bit
德州仪器:
OMAP4430: Cortex-A9 1GHz/.3GHz双核 + Neon;RAM: 512M/1G+ DDR3,64bit
1.7 GPU
Graphic Processing Unit,图形处理器, 目前,市场上主流的MID平板GPU已形成ARM Mali、PowerVR SGX、高通Adreno、NVIDIA Tegra 四大系列,并已实现全面升级。
1.7. ARM Mali系列,是ARM公司官方为了配合ARM处理器而推出的,目前ARM Mali硬件IP有Mali-、Mali-、Mali-、Mali- MP和Mali-T604五款, Mali- MP的性能是本系列中最高的,代表产品如音悦汇W10、三星Galaxy S2.
1.7. PowerVR SGX系列是Imagination Technologies公司出品,目前市场上是以第五代产品为主打,PowerVR SGX530///543MP, SGX535被苹果公司的iPhone4和iPad采用;而SGX540性能更加强劲,在三星Galaxy Tab与魅族M9上采用;而SGX543MP作为新一代最强新品,目前已成为苹果iPad (SGX543MP2/双核)和索尼NGP(SGX543MP4/四核)的图形内核.
1.7. Adreno系列是高通公司出品,主要是用来配合Snapdragon CPU,目前常见的产品有Adreno200///, 而Adreno 是目前的主打型号,性能和SGX540基本相当,同样得到了索爱、HTC等品牌的青睐。
1.7. Tegra 是老牌显卡厂家NVIDIA的力作,其集成的GPU型号虽然不明,但是作为实力强劲的老牌显卡厂家,性能表现的确是一流的,超越了SGX540和Adreno205,在摩托罗拉XOOM、LG G-Slate等产品得以广泛采用,但与新一代SGX543MP相比仍存在一定差距.
四大系列诸强争霸,终归需要对比分析,就目前来说,主流的GPU排名基本是SGX543MP、Tegra 、SGX540、Adreno205、Mali- MP、SGX535、SGX530、Adreno200.
第二部分 软件
, 认识Android
1.1 Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写.
1.2 版本:
Android 2.1:
Android 2.2: 3D网络共享,Flash支持,全新软件商店,APP2sd功能
Android 2.3: 游戏功能增强,多媒体效果,近场通讯(前置摄像头),UI简化,速度提升。
Android 2.4: 更多的动画特效,速度更快,通讯能力更强
Android 3.0: /日发布,MOTO XOOX首先采用,专门针对平板电脑。
, 年Android布局
2.1 应用内交易系统-类似于苹果
2.1 运营商计费
2.3 社会化
, Android软件
3.1 https://market.android.com/ 可以下载免费软件使用。
3.2 内置的Google Android Market 可以获取
3.3 Android论坛资源获取
3.4 第三方商城程序
3.5 软件黑市
了解ARM+Android的更多相关文章
- OS + Ubuntu ARM Android
s 1. Ubuntu 18.04 ISO的下载路径参考:https://www.ubuntu.com/download/server/arm 2. Android SDK下载链接:https://p ...
- 编译出arm Android环境下的C++可执行文件
要想编译出arm环境的C++可执行文件主要就是利用交叉编译器进行编译.编译过程本身都大同小异. 1.安装交叉编译器,交叉编译器的安装方法大致有下面几种: A.debian/ubuntu 系统可以直接输 ...
- EasyRTMP实现的一套简单、高效、易用的全平台(Windows/Linux/ARM/Android/iOS)RTMP直播推送库
本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/52938980 EasyRTMP介绍 Easy ...
- 【开学季】自学嵌入式开发|四核开发板|4412开发板|ARM+Android+linux技术
淘宝店铺:迅为开发板http://arm-board.taobao.com 网站:http://www.topeetboard.com QQ咨询:2551456065 电话咨询:010-5895758 ...
- X86 架构和 ARM 架构
1.关于x86架构 X86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X86是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,现在X86已经广泛运用到了家 ...
- ARM架构和X86架构对比
转载地址 我们就ARM架构的系统与X86架构系统的特性进行一个系统分析,方便用户在选择系统时进行理性.合理的比价分析. 一.性能: X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多.强得 ...
- ARM与X86 CPU架构对比区别
CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架构,它的设计目的是 CISC要用最少的机器语言 ...
- ARM、X86/Atom、MIPS、PowerPC
关注Android的时候,有一些CPU架构方面的术语知识,主要有:ARM.X86/Atom.MIPS.PowerPC1)ARM/MIPS/PowerPC均是基于精简指令集(RISC,Reduced I ...
- 四大CPU体系结构:ARM、X86/Atom、MIPS、PowerPC
补充介绍一下RISC:RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机) ...
随机推荐
- Symbol -- JavaScript 语言的第七种数据类型
ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种机制,保证 ...
- python学习笔记第一周
目录: 一.基础概念 1.变量与常量介绍 2.引号的使用 3.条件判断 4.while与for循环 5.input输入 6.getpass模块 7.python编码 二.作业 1.个人登录系统 2.多 ...
- 【转载】 Pytorch(1) pytorch中的BN层的注意事项
原文地址: https://blog.csdn.net/weixin_40100431/article/details/84349470 ------------------------------- ...
- VMware网络连接IP设置
网络配置(仅主机模式) 一.改变虚拟机IP地址达到联网目的 仅主机模式,第一步,打开我的电脑属性,查看VMt1网卡IP设置,设置一个区段:192.168.xx.aa xx.aa自由设置,简 ...
- Unity LOD-Level of Detail(多层次细节)用法教程
Unity LOD 多层次细节 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...
- vue查缺补漏题
一.对于MVVM的理解? MVVM 是 Model-View-ViewModel 的缩写.Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑.View 代表UI 组件,它负责将数 ...
- day 023-python 包
包 : 我 们创建的每个文件夹都可以被称之为包. 但是我们要注意, 在python2中规定.中包内必须存在 __init__.py文件. python3可有可无,但一般要求写上.创建包的目的不是为了 ...
- ACM-ICPC 2018 北京赛区网络预赛(9.22)
#include<bits/stdc++.h> using namespace std; ; *maxn]; *maxn]; *maxn]; int main() { int T; sca ...
- oracle查询A表中主键都被哪些表引用了?
select r.TABLE_NAME from USER_CONSTRAINTS p, USER_CONSTRAINTS r where p.TABLE_NAME = 'IAM_AUDIT_FIND ...
- python基础(三)——类的研究
class Employee: //定义类 以冒号结束 '所有员工的基类' //帮助信息 empCount = 0 def __init__(self, name, salary): //调用时初始化 ...