慢吞云雾缓吐愁 发表于 2024-8-29 19:56:01

ARM处理器内核、Cortex、ARM指令集架构、ARMv8、soc 是什么?

关于ARM相干的一些概念
1、ARM既可以以为是一个公司的名字,也可以以为是对一类微处理器的通称,还可以以为是一种技术的名字。
2、ARM公司是专门从事基于RISC技术芯片计划开发的公司,作为知识产权供应商,本身不直接从事芯片生产,而是转让计划允许,由合作公司生产各具特色的芯片。
3、ARM处理器的内核是同一的,由ARM公司提供,而片内部件则是多样的,由各大半导体公司计划,这使得ARM计划嵌入式系统的时间,可以基于同样的核心,使用不同的片表里设,从而具有很大的优势。

ARM内核: 包括了寄存器组、指令集、总线、存储器映射规则、中断逻辑和调试组件等。 内核是由ARM公司计划并以贩卖方式授权给个芯片厂商使用的(ARM公司本身不做芯片)。 比如为高速率计划的Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是处理器(就是内核),后者是指令集的架构(也简称架构)。
外设部分 包括计时器、A/D转换器、存储器、i2c、UART、SPI、ROM...等等,则完全由各芯片厂商本身计划并与ARM内核衔接配套。不同的芯片厂商就有不同的外设,因此构成了数目和规格庞大的ARM芯片产业。

ARM公司

ARM首先是一个公司,即Advanced RISC Machines的缩写。 但是他原来并不叫这个名字,来看看ARM公司的成长汗青。
1978年,一个名叫Hermann Hauser的奥地利籍物理学博士,另有他的朋侪,一个名叫Chris Curry的英国工程师成立了一家名字叫“CPU”的公司。这家CPU公司的全称,是Cambridge Processor Unit,字面意思是“剑桥处理器单元”。
CPU公司成立之后,重要从事电子装备计划和制造的业务。他们接到的第一份订单,是制造赌博机的微控制器系统。
这个微控制器系统被开发出来后,称之为Acorn System 1。


https://i-blog.csdnimg.cn/blog_migrate/8a0d402a505714f9c0f22fb58cad59b0.png
之以是叫Acorn,就是由于他们想在电话黄页里排在Apple(苹果)公司的前面。
在Acorn System 1之后,他们又连续开发了System 2、3、4,另有面向消耗者的盒式计算机——Acorn Atom。

https://i-blog.csdnimg.cn/blog_migrate/e107cceb533ac33bbca56e72899f6758.png

到了1981年,公司迎来了一个难得的机遇——英国广播公司BBC操持在整个英国播放一套进步电脑遍及程度的节目,他们盼望Acorn能生产一款与之配套的电脑。
但是他们就发现,本身产品的硬件计划并不能满足需求。当时,中央处理器的发展潮水,正在从8位酿成16位。Acorn并没有符合的芯片可以用。
于是,他们操持去找当时如日中天的英特尔(Intel),盼望对方提供一些80286处理器的计划资料和样品。然而,英特尔无情地拒绝了他们。
备受打击的Acorn公司,一气之下决定本身干,本身造芯片。(多么熟悉的桥段!)
于是Acorn公司的研发人员从美国加州大学伯克利分校找到了一个关于新型处理器的研究——简化指令集,恰好可以满足他们的计划要求。
在此基础上,颠末多年的艰苦奋斗,来自剑桥大学的计算机科学家Sophie Wilson和Steve Furber最终完成了微处理器的计划。前者负责指令集开发,后者负责芯片计划。
对于这块芯片,Acorn给它命名为Acorn RISC Machine。
这就是**“ARM”**三个字母的由来。

https://i-blog.csdnimg.cn/blog_migrate/abda9875caf6b92cb90366a83a690dbd.png

在ARM1之后,Acorn连续推出了好几个系列,例如ARM2,ARM3。
1990年,Acorn为了和苹果合作,专门成立了一家公司,名叫ARM。


https://i-blog.csdnimg.cn/blog_migrate/7c26862ed164eea6cbcf92fa20a08a60.png
注意,这里的ARM是公司名称,不是芯片名称。这个ARM的完全拼写也不一样,是Advanced RISC Machines。
前面的芯片名称:Acorn RISC Machine 现在的公司名称:Advanced RISC Machines
20世纪90年代,ARM 32位RISC(Reduced lnstruction Set Computer)处理器扩展到国际范围,占据了低功耗、低成本和高功能的嵌入式体系运用领域的领先职位。
ARM公司既不生产芯片也不出售芯片,它只出售芯片技能授权。
正式这个政策的制定,让ARM公司摆脱了现金流的困扰,可以浑身心都入到芯片研发上。
1998年4月17日,业务飞速发展的ARM控股公司,同时在伦敦证交所和纳斯达克上市。

https://i-blog.csdnimg.cn/blog_migrate/e47aaab19b632c7872667124888fa585.png
2007年,划期间产品-iPhone 问世。 而第一代iPhone,正是使用了ARM计划、三星制造的芯片。
2008年,谷歌推出了Android(安卓)系统,也是基于ARM指令集。 至此,智能手机进入了飞速发展阶段,ARM也因此奠定了在智能手机市场的霸主职位。
2016年7月18日消息,日本软银以234亿英镑(约合310亿美元)的价格收购英国芯片计划公司ARM。
2020年9月14日,英伟达正式公布将以400亿美元的价格从软银手中收购ARM公司。根据协议,英伟达将向软银公司付出代价215亿美元的英伟达股票,以及120亿美元现金。
目前这桩收购案遭到了包括英特尔、高通、特斯拉等多家硅谷科技巨头的反对,他们以为这笔买卖业务对行业不利,此外中国和欧盟的羁系机构也大概会反对该收购案。
静观其变吧!


ARM内核与架构

任何一款ARM芯片都由两大部分组成:ARM内核,外设。
ARM内核

ARM内核: 包括了寄存器组、指令集、总线、存储器映射规则、中断逻辑和调试组件等。 内核是由ARM公司计划并以贩卖方式授权给个芯片厂商使用的(ARM公司本身不做芯片)。 比如为高速率计划的Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是处理器(就是内核),后者是指令集的架构(也简称架构)。
外设部分 包括计时器、A/D转换器、存储器、i2c、UART、SPI、ROM...等等,则完全由各芯片厂商本身计划并与ARM内核衔接配套。不同的芯片厂商就有不同的外设,因此构成了数目和规格庞大的ARM芯片产业。
ARM指令集架构

指令集的计划是处理器结构中最重要的一个部分,用ARM的术语称之为ISA(Instruction Set Architecture)。
指令集可以说是cpu计划的灵魂,是打开CPU这个潘多拉魔盒的咒语,要想使用cpu,我们只能通过这些指令来操纵cpu。
对于32位的cpu,这些指令就是一个个32位的01的序列,不同的值就代表了不同的机器指令,cpu的硬件能完美的剖析并执行这些指令,比如寻址、运算、非常处理等等。
当我们用手机玩着王者光彩的时间,要知道我们的每发的一招,其实最终都是被翻译成了一系列机器指令。
从1985年ARMv1架构诞生起,到2011年,ARM架构已经发展到了第八代ARMv8。
Cortex-A32/35/53/57/72/73/77/78采用的都是ARMv8架构,这是ARM公司的首款支持64位指令集的处理器架构。

https://i-blog.csdnimg.cn/blog_migrate/3b3615a1c8c0b0806de9b1296533b00a.png

ARM11之前的处理器和指令集架构

ARM11芯片之前,每一个芯片对应的架构关系如下:

https://i-blog.csdnimg.cn/blog_migrate/44ba3ad44c9448d927092c35f916cf85.png

ARM11之后处理器和指令集架构

ARM11芯片之后,也就是从ARMv7架构开始,ARM的命名方式有所改变。
新的处理器家族,改以Cortex命名,并分为三个系列,分别是Cortex-A,Cortex-R,Cortex-M。
很巧合,又是这三个字母A、R、M。

https://i-blog.csdnimg.cn/blog_migrate/a4a1f99a838fd6c9623483f8a0d54aba.png
Cortex-A系列(A:Application)

针对日益增长的消耗娱乐和无线产品计划,用于具有高计算要求、运行丰富操纵系统及提供交互媒体和图形体验的应用领域,如智能手机、平板电脑、汽车娱乐系统、数字电视,智能本、电子阅读器、家用网络、家用网关和其他各种产品。。
Cortex-R系列 (R:Real-time)

针对必要运行及时操纵的系统应用,面向如汽车制动系统、动力传动解决方案、大容量存储控制器等深层嵌入式及时应用。
Cortex-M系列(M:Microcontroller)

该系列面向微控制器领域,重要针对成本和功耗敏感的应用,如智能丈量、人机接口装备、汽车和工业控制系统、家用电器、消耗性产品和医疗东西等。
Cortex-SC系列(SC:SecurCore)

其实,除了上述三大系列之外,另有一个主打安全的Cortex-SC系列(SC:SecurCore),重要用于政府安全芯片。

https://i-blog.csdnimg.cn/blog_migrate/0b32bd3014370f6aae3d7d19e82d71d8.png
https://i-blog.csdnimg.cn/blog_migrate/92aebfeb14052cea0240101501832cb1.png
https://i-blog.csdnimg.cn/blog_migrate/149b57f11f7e06a7a30723ecbdd53195.png

ARM11系列包括了ARM11MPCore处理器、ARM1176处理器、ARM1156处理器、ARM1136处理器,它们是基于ARMv6架构。
ARM Cortex-A5处理器、Cortex-A7处理器、Cortex-A8处理器、Cortex-A9处理器、Cortex-A15处理器从属于Cortex-A系列,基于ARMv7-A架构。
Cortex-A53、Cortex-A57两款处理器属于Cortex-A50系列,初次采用64位ARMv8架构。
2020年ARM最近发布了一款全新的CPU架构Cortex-A78,是基于ARMv8.2指令集。
什么是SOC?

SoC的全称叫做:System-on-a-Chip,中文的的意思就是“把系统都做在一个芯片上”。
SoC上集成了许多手机上最关键的部件,比如CPU、GPU、内存、也就说固然它在主板上的存在是一个芯片,但是它里边可是由许多部件封装组成的。
比如通常我们所说的高通801,麒麟950.三星的exynos 4412,A6等等都只是系统部件打包封装(SoC)后的总称。然而各家的打包封装的内容则不尽雷同,原因也不尽雷同。


https://i-blog.csdnimg.cn/blog_migrate/44a7f156f12f97d49f67b2300df66959.png
经典的ARM系统级芯片或所谓的Soc 包含许多组件,此中只有一些直接源自ARM。首先,核心本身通常深度嵌入在装备内部,在装备范畴内通常不直接可见,而调试端口通常是唯一和核心本身相连的外露部分,有一些粘合逻辑,如时钟和复位集成电路。
由于 ARM 核心只有两个中断输入,最常见的外设就是某种中断控制器,在外设内部,各组件通过芯片上互联总线架构相互毗连,对于极大多数基于ARM的装备而言,这就是尺度的 AMBA 互联。
AMBA 指定了两个总线,称为AXI的高性能系统总线,和称为APB的低功耗外设总线,APB通常用于毗连所有外设,AXI则用于存储器和其他发高速装备,大多数装备都有一定数目的芯片上存储以及毗连外设存储器装备的接口,但是注意,与装备的外部毗连并不是AMBA总线,这仅在装备内部使用,并不外露。
举例:Exynos 4412 SCP

下面我们以 三星的Exynos(猎户座) 4412 SCP为例,来解说这几个概念。

[*]三星的Exynos 4412 SCP 是一款基于Cortex-A9的SOC;
[*]如下图所示,Exynos 4412包含了4个Cortex-A9的处理器(核);
[*]Cortex-A9是基于ARMv7-A架构(指令集)的。


https://i-blog.csdnimg.cn/blog_migrate/3af8cafde3d3681095d021b99f32fab8.png
由上图可知,exynos 4412出了包含4个Cortex-A9核,还包括大量的外设控制器:DRAM Controller、SROM Controller、Camera IF、JPEG、GPS/GLONASS、Power Management、USB Host、I2C、UART、SPI等。
和三星雷同的其他和arm合作的各大厂商通常会把它的CPU和各类外围IP都放到一起,然后本身拿着图纸去流片,生产出来的也是一个正方形,下面有许多引脚,这个东西不光包含了CPU,还包含了其他的控制器,这个东西就叫做SOC(system on chip)。
如下图所示,就是三星最终生产的Exynos 4412 ,当然了,光有这个soc还无法运行安卓,还必要借助外围大量的外设才气最终形成一个完整的系统,但是大部分最复杂的硬件部分模块都已经集成到了这个soc中。

https://i-blog.csdnimg.cn/blog_migrate/9fc7a2313cdddf554f59192f3743e144.png
目前各大厂商所做的事变,就是买来ARM的授权,得到ARM处理器的源代码,而后本身搞一些外围IP(或者买或者本身计划),组成一个SOC后,去流片。不同的SOC,架构不同(就是CPU如何和IP联系起来,有的以总线为核心,有的以DDR为核心)。
海思是拥有自主产权的SOC架构。可是,无论任何厂商,再怎么折腾,都没有怎么动过CPU,ARM核心就好好的呆在那里,那就是中央处理器。
ARM授权

如何来理解ARM授权呢?
就比如我们制造汽车,ARM公司相称于拥有开始进的的'发动机'计划方案,但是他不'生产发动机',而是把计划方案授权给各大'汽车厂商'生产,赚来的钱继承研发更先进的‘发动机’。
ARM授权分为ARM架构授权、IP核授权、使用层级授权
一个公司若想使用ARM的内核来做本身的处理器,比如ST、苹果、三星、TI、高通、华为等等,必须向ARM公司购买其架构下的不同层级授权,根据使用必要购买相应的层级授权。
架构的授权方式有三种:架构层级授权、内核层级授权(ip核授权)、使用层级授权。
1.架构层级授权,是指可以对ARM架构进行大幅度改造,以致可以对ARM指令集进行扩展或缩减,苹果就是一个很好的例子,在使用ARMv7-A架构基础上,扩展出了本身的苹果swift架构;
2.内核层级授权,是指可以以一个内核为基础然后在加上本身的外设,比如USART、GPIO、SPI、ADC等等,最后形成了本身的MCU,这种公司许多,比如三星、TI;
3.使用层级授权,要想使用一款处理器,得到使用层级的授权是最基本的,这就意味着你只能拿别人提供的界说好的ip来嵌入在你的计划中,不能更改人家的ip,也不能借助人家的ip创造本身的基于该ip的封装产品。
因此,如果华为分别拿到架构授权和ip核授权,那么意味着它可以在ARM指令集基础上根据必要创建出本身的内核架构,并可添加各种片表里设比如通讯接口、表现器控制接口、GPIO等等,从而生产出本身的“处理器芯片”。
其实就像我写了一篇文章,我告诉甲,你可以拿去修改后使用,便是架构层级授权,我告诉乙,你可以在你的文章中引用我的文章,便是内核级授权,我告诉丙,你只能对我的文章进行转发,不能更改,不能添油加醋,便是使用层级授权。
总结

下面我们总结下这些概念:

[*]ARM公司的名字,叫ARM:Advanced RISC Machines;
[*]ARM前身Acorn公司计划的第一款微处理器,叫ARM:Acorn RISC Machine;
[*]ARM处理器名字: 从前叫ARM9、ARM11, 新的命名规则改以Cortex命名,分别是Cortex-A,Cortex-R,Cortex-M; 这三个字母A、R、M合到一起又是ARM。
[*]ARM指令集,就是ARM架构,比如ARMv8,每个处理器都必要依赖一定的ARM架构来计划;
[*]SOC:各大厂商买来ARM的授权,得到ARM处理器的源代码,而后本身搞一些外围装备的IP(或者买或者本身计划),组成一个SOC,比如三星的Exynos 4412,华为的麒麟990。






免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: ARM处理器内核、Cortex、ARM指令集架构、ARMv8、soc 是什么?