armeabi-v7a armeabi arm64-v8a 参数的含义解释

简介: 严格意义上这个不是原创是从网上找的资源,理解后写成的,所有资料都注明了来源 armeabi是针对所有的arm cpu,只要支持arm的指令集就可以,v7a,v8a是针对arm后来出的指令集版本制定的cpu如符合arm7指令集的cpu armeabi-v7a是针对有浮点运算或高级扩展功能的arm v7 cpu。 armeabi-v7a(32位ARM设备), arm64-v8a

严格意义上这个不是原创是从网上找的资源,理解后写成的,所有资料都注明了来源大笑


armeabi是针对所有的arm cpu,只要支持arm的指令集就可以,
v7a,v8a是针对arm后来出的指令集版本制定的cpu如符合arm7指令集的cpu

armeabi-v7a是针对有浮点运算或高级扩展功能的arm v7 cpu。
armeabi-v7a(32位ARM设备),
arm64-v8a(64位ARM设备)


EABI

百度百科: 
应用程序二进制接口(application binary interface,ABI) 描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低层接口。ABI不同于应用程序接口(API),API定义了源代码和库之间的接口,因此同样的代码可以在支持这个API的任何系统中编译,然而ABI允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行。


百度百科: 
EABI,全称是Embedded application binary interface, 即嵌入式应用二进制接口,是描述“可连接目标代码、库目标代码、可执行文件影像”如何连接、执行和调试,以及目标代码生成过程,和c, c++语言接口的规范,是编译连接工具的基础规范,也是研究它们工作原理的基础,可惜arm的EABI迄今为止没有完全订好。作为EABI的组成部分有过程调用规范,可执行文件格式规范,c/c++ ABI规范和调试格式规范。


EABI ,说的是这样的一种新的系统调用方式 
mov r7, #num 
swi 0x0 
原来的系统调用方式是这样, 
swi (#num | 0x900000) (0x900000是个magic值)


简单的说,ABI规范了应用程序对寄存器的使用方法,Call procedure,以及如何进入trap。符合某一平台ABI规范的应用程序就可以在这一平台上运行。这一规范是针对binary,而不是source的。所以同样的高级语言代码,使用不同的toolchain,可以得到符合不同ABI规范的binary。 
arm abi,非正式称呼为eabi,是一种规范,符合这种规范的编译器有arm-eabi-gcc。






ARM是一种指令集,X86也是一种指令集
ARM是一种指令集,知识产权属于(ARM公司),X86也是一种指令集,X86指令集的知识产权属于Intel公司,ARM是精简指令集(RISC),X86使用的是复杂指令集(CISC)。
ARM推出指令集的同时,也推出了指令集的实现形式叫Cortex-A等系统架构,
当然如果有实力可以不使用指导的系统架构来做CPU(简单地说是CPU,实际是上核心),可以自己做架构(如高通,三星),


Intel的使用X86的指令集,自己做架构然后做出CPU来叫(奔腾,酷睿,I3),使用ARM指令集同进也使用ARM公司的架构做出的CPU有海思,使用ARM指令集不使用ARM公司架构的有高通系列CPU,苹果的CPU


(可以不看,不要搞混了     
 ARM Cortex-A8处理器是首款基于ARMv7体系结构的产品
  Cortex-A8 高性能处理器目前已经非常成熟,从高端特色手机到上网本、DTV、打印机和汽车信息娱乐,Cortex-A8处理器都提供了可靠的高性能解决方案。
应用案例:TI OMAP3系列、苹果A4处理器(iPhone 4)、三星S5PC110(三星I9000)、瑞芯微RK2918、联发科MT6575等。另外,高通的MSM8255、MSM7230等也可看做是A8的衍生版本。
ARM Cortex-A7处理器隶属于Cortex-A系列,基于ARMv7-A架构,它的特点是在保证性能的基础上提供了出色的低功耗表现。
ARM Cortex-A5处理器隶属于Cortex-A系列,基于ARMv7-A架构,它是能效最高、成本最低的处理器。
)
  



 看到移动设备对64位计算的需求后,ARM于2011年发布了ARMv8 64位架构,这是为了下一代ARM指令集架构工作若干年后的结晶。为了基于原有的原则和指令集,开发一个简明的64位架构,ARMv8使用了两种执行模式,AArch32和AArch64。

 arm8,还有arm10,昙花一现,过度产品,高不成低不就,很快就被历史淹没了。
arm8和arm v4一起诞生,成为了arm7 tdmi和arm9 tdmi的垫脚石,主要技术数据都被arm7 ej给继承了。
arm10e碰上xsale大败,转而开发arm11。
arm8开发板偶尔还能遇上,完整性又比不上7ej-s,自然比较冷门。有个产品Acorn Risc PC prototype CPU card就是arm8。


在2011年11月,ARM公司发布了新一代处理器64位架构ARMv8的部分技术细节(也就是我们常说的Cortex-A57A53),代表着未来移动处理器迈入64位行列。我们得明确一点,ARM公司自己本身并没有64位芯片设计技术,他是通过了收购MIPS64处理器架构的部分技术使用权,再结合ARM的一些特性设计出来的。也就是说:MIPS、ARM、X86三大架构中,唯一没有64位技术的ARM,通过收购MIPS的形式得到了64位。
 
所谓的ARMv8架构,就是在MIPS64架构上增加了ARMv7架构中已经拥有的的TrustZone技术、虚拟化技术及NEON advanced SIMD技术等特性,研发成的。




作者:匿名用户
链接:https://www.zhihu.com/question/22705732/answer/22336022
来源:知乎



说到ARM,首先有必要了解一下ARM、x86(x64)、Intel处理器、骁龙处理器的区别了。


ARM与X86都是处理器的架构,ARM架构属于RISC指令集,X86构架属于典型的CISC指令集。
Intel处理器是基于x86(x64)指令集的处理器,主要用于PC端,除了英特尔,其他公司也有制造x86指令集的处理器,AMD就是Intel以外最成功的制造商。骁龙是基于ARM指令集的处理器,主要用于智能手机端,除了骁龙以外,有大量的公司制作ARM指令集的处理器,例如:三星、苹果等。
x86表示32位处理器,x64表示64位处理器。
关于ARM与x86的详细区别,可以参考下面的链接: 
http://mobile.hiapk.com/knowledge/common/130718/1438966.html


通过上面的比较,我们知道了ARM是属于RISC指令集的处理器架构,




 参考文章
 http://blog.csdn.net/u011983531/article/details/51514033


指令集
CPU执行计算任务时都需要遵从一定的规范,程序在被执行前都需要先翻译为CPU可以理解的语言。这种规范或语言就是指令集(ISA,Instruction Set Architecture)。程序被按照某种指令集的规范翻译为CPU可识别的底层代码的过程叫做编译(compile)。x86、ARM v8、MIPS都是指令集的代号。指令集可以被扩展,如x86增加64位支持就有了x86-64。厂商开发兼容某种指令集的CPU需要指令集专利持有者授权,典型例子如Intel授权AMD,使后者可以开发兼容x86指令集的CPU。


架构
CPU的基本组成单元即为核心(core)。多个核心可以同时执行多件计算任务,前提是这些任务没有先后顺序。


核心的实现方式被称为微架构(microarchitecture)。微架构的设计影响核心可以达到的最高频率、核心在一定频率下能执行的运算量、一定工艺水平下核心的能耗水平等等。此外,不同微架构执行各类程序的偏向也不同,例如90年代末期Intel的P6微架构就在浮点类程序上表现优异,但在整数类应用中不如同频下的对手。


ARM公司可以指导对于指令集的实现,但是用不用就是公司说了算了


ARM公司将自己研发的指令集叫做ARM指令集,同时它还研发具体的微架构如Cortex系列并对外授权。但是,一款CPU使用了ARM指令集不等于它就使用了ARM研发的微架构。Intel、高通、苹果、Nvidia等厂商都自行开发了兼容ARM指令集的微架构,同时还有许多厂商使用ARM开发的微架构来制造CPU。


作者:王强
链接:https://zhuanlan.zhihu.com/p/19893066
来源:知乎


相关文章
|
4月前
|
Android开发 芯片 开发者
adb 查看安卓手机 CPU 类型(armeabi、armeabi-v7a、arm64-v8a ...)
adb 查看安卓手机 CPU 类型(armeabi、armeabi-v7a、arm64-v8a ...)
361 0
|
Android开发
Android NDK: 如何编译JNI为指定的指令集(armeabi/arm64)
Android NDK: 如何编译JNI为指定的指令集(armeabi/arm64)
122 0
【各种问题处理】X86架构和ARM架构的区别
【1月更文挑战第13天】【各种问题处理】X86架构和ARM架构的区别
|
4月前
|
Web App开发 NoSQL 安全
ARM架构-银河麒麟v10-server离线安装Harbor
ARM架构-银河麒麟v10-server离线安装Harbor
281 0
|
4月前
|
边缘计算 编译器 数据中心
X86架构与Arm架构的主要区别分析
X86架构与Arm架构的主要区别分析
453 0
|
3月前
|
缓存 API Android开发
一起学点ARM的微架构二?
一起学点ARM的微架构二?
70 1
|
6月前
|
存储 缓存 监控
安谋科技(Arm China)马闯:Arm架构下性能分析与优化介绍
2023年9月19日,系列课程第九节《Arm®架构下性能分析与优化介绍》正式上线,由安谋科技 (Arm China)主任工程师马闯主讲,内容涵盖:Arm架构下性能监控单元 (PMU) 介绍、Arm统计性能分析扩展 (SPE) 介绍、Arm性能分析工具介绍、Arm架构下性能优化案例分享,本期节目在阿里云官网、阿里云微信视频号、阿里云钉钉视频号、InfoQ官网、阿里云开发者微信视频号、阿里云创新中心直播平台 & 微信视频号同步播出,同时可以点击【https://developer.aliyun.com/topic/ecs-yitian】进入【倚天实例迁移课程官网】了解更多内容。
|
6月前
|
Java Nacos Maven
Nacos一个arm架构的jdk8。
Nacos一个arm架构的jdk8。
173 1
|
29天前
|
存储 机器学习/深度学习 并行计算
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下不同类型的云服务器有何不同,主要特点及适用场景有哪些。
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
|
1月前
|
存储 缓存 安全
【ARM架构】ARMv8-A 系统中的安全架构概述
【ARM架构】ARMv8-A 系统中的安全架构概述
30 0