bob游戏网站
一文帮你梳理ARM相关的基础概念
来源:bob游戏网站    发布时间:2023-10-17 07:10:58

  ,搞不清楚Cortex、arm内核、arm架构、ARM指令集、soc这些概念都是啥关系,下面一口君给大家理一下关于ARM相关的一些概念。

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

  ARM首先是一个公司,即Advanced RISC Machines的缩写。但是他本来并不叫这一个名字,来看看ARM公司的成长历史。

  1978年,一个名叫Hermann Hauser的奥地利籍物理学博士,还有他的朋友,一个名叫Chris Curry的英国工程师成立了一家名字叫“CPU”的公司。这家CPU公司的全称,是Cambridge ProcessorUnit,字面意思是“剑桥处理器单元”。

  CPU公司成立之后,主要是做电子设备设计和制造的业务。他们接到的第一份订单,是制造赌博机的微控制器系统。

  之所以叫Acorn,主要是因为他们想在电话黄页里排在Apple(苹果)公司的前面。

  到了1981年,公司迎来了一个难得的机遇——英国广播公司BBC打算在整个英国播放一套提高电脑普及水平的节目,他们盼望Acorn能生产一款与之配套的电脑。

  但是他们就发现,自己产品硬件设计并不能够满足需求。当时,中央处理器的发展潮流,正在从8位变成16位。Acorn并没有合适的芯片可以用。

  于是,他们打算去找当时如日中天的英特尔Intel),希望对方提供一些80286处理器的设计资料和样品。然而,英特尔无情地拒绝了他们。

  备受打击的Acorn公司,一气之下决定自己干,自己造芯片。(多么熟悉的桥段!)

  于是Acorn公司的研发人员从美国加州大学伯克利分校找到了一个关于新型处理器的研究——简化指令集,恰好能够完全满足他们的设计要求。

  在此基础上,经过多年的艰苦奋斗,来自剑桥大学的计算机科学家Sophie Wilson和Steve Furber最终完成了微处理器的设计。前者负责指令集开发,后者负责芯片设计。

  在ARM1之后,Acorn陆续推出了好几个系列,例如ARM2,ARM3。

  注意,这里的ARM是企业名称,不是芯片名称。这个ARM的完全拼写也不一样,是Advanced RISC Machines。

  正式这个政策的制定,让ARM公司摆脱了现金流的困扰,可以全身心都入到芯片研发上。

  1998年4月17日,业务快速的提升的ARM控股公司,同时在伦敦证交所和纳斯达克上市。

  2007年,划时代产品-iPhone问世。而第一代iPhone,正是使用了ARM设计、三星制造的芯片。

  2008年,谷歌推出了Android(安卓)系统,也是基于ARM指令集。至此,智能手机进入了快速的提升阶段,ARM也因此奠定了在市场的霸主地位。

  2016年7月18日消息,日本软银以234亿英镑(约合310亿美元)的价格收购英国芯片设计公司ARM。

  2020年9月14日,英伟达正式公开宣布将以400亿美元的价格从软银手中收购ARM公司。根据协议,英伟达将向软银公司支付价值215亿美元的英伟达股票,以及120亿美元现金。

  目前这桩收购案遭到了包括英特尔、高通特斯拉等多家硅谷科技巨头的反对,他们都以为这一笔交易对行业不利,此外中国和欧盟的监督管理的机构也有一定可能会反对该收购案。

  ARM内核:包括了寄存器组、指令集、总线、存储器映射规则、中断逻辑和调试组件等。内核是由ARM公司设计并以销售方式授权给个芯片厂商使用的(ARM公司本身不做芯片)。比如为高速度设计的Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是处理器(就是内核),后者是指令集的架构(也简称架构)。

  外设部分包括计时器、A/D转换器、存储器、i2cUART、SPI、ROM...等等,则完全由各芯片厂商自己设计并与ARM内核衔接配套。不同的芯片厂商就有不同的外设,因此构成了数量和规格庞大的ARM芯片产业。

  指令集能够说是cpu设计的灵魂,是打开CPU这个潘多拉魔盒的咒语,要想使用cpu,我们只可以通过这些指令来操作cpu。

  对于32位的cpu,这些指令就是一个个32位的01的序列,不同的值就代表了不同的机器指令,cpu的硬件能完美的解析并执行这些指令,比如寻址、运算、异常处理等等。

  当我们用手机玩着王者荣耀的时候,要明白我们的每发的一招,其实最终都是被翻译成了一系列机器指令。

  从1985年ARMv1架构诞生起,到2011年,ARM架构已发展到了第八代ARMv8。

  ARM11芯片之后,也就是从ARMv7架构开始,ARM的命名方式有所改变。

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

  针对需要运行实时操作的系统应用,面向如汽车制动系统、动力传动解决方案、大容量存储控制器等深层嵌入式实时应用。

  该系列面向微控制器领域,主要是针对成本和功耗敏感的应用,如智能测量、人机接口设备、汽车和工业控制管理系统、家用电器、消费性产品和医疗器械等。

  其实,除了上述三大系列之外,还有一个主打安全的Cortex-SC系列(SC:SecurCore),大多数都用在政府安全芯片。

  SoC的全称叫做:System-on-a-Chip,中文的的意思就是“把系统都做在一个芯片上”。

  SoC上集成了很多手机上最关键的部件,比如CPU、GPU、内存、也就说虽然它在主板上的存在是一个芯片,但是它里边可是由很多部件封装组成的。

  比如通常我们所说的高通801,麒麟950.三星的exynos 4412,A6等等都只是系统部件打包封装(SoC)后的总称。然而各家的打包封装的内容则不完全一样,原因也不尽相同。

  经典的ARM系统级芯片或所谓的Soc 包含许多组件,其中只有一些直接源自ARM。首先,核心本身通常深度嵌入在设备内部,在设备范畴内通常不直接可见,而调试端口通常是唯一和核心本身相连的外露部分,有一些粘合逻辑,如时钟和复位集成电路。

  由于 ARM 核心只有两个中断输入,最常见的外设就是某种中断控制器,在外设内部,各组件通过芯片上互联总线架构相互连接,对于极大多数基于ARM的设备而言,这就是标准的 AMBA 互联。

  AMBA 指定了两个总线,称为AXI的高性能系统总线,和称为APB的低功耗外设总线,APB通常用于连接所有外设,AXI则用于存储器和其他发高速设备,大多数设备都有少数的芯片上存储以及连接外设存储器设备的接口,但是注意,与设备的外部连接并不是AMBA总线,这仅在设备内部使用,并不外露。

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

  和三星相同的其他和arm合作的各大厂商通常会把它的CPU和各类外围IP都放到一起,然后自己拿着图纸去流片,产出的也是一个正方形,下面有很多引脚,这样的一个东西不仅包含了CPU,还包含了其他的控制器,这样的一个东西就叫做SOC(system on chip)。

  如下图所示,就是三星最终生产的Exynos 4412 ,当然了,光有这个soc还无法运行安卓,还需要借助外围大量的外设才能最终形成一个完整的系统,但是大部分最复杂的硬件部分模块都已经集成到了这个soc中。

  目前各大厂商所做的事情,就是买来ARM的授权,得到ARM处理器的源代码,而后自己搞一些外围IP(或者买或者自己设计),组成一个SOC后,去流片。不同的SOC,架构不同(就是CPU如何和IP联系起来,有的以总线为核心,有的以DDR为核心)。

  海思是拥有自主产权的SOC架构。可是,无论任何厂商,再怎么折腾,都没有怎么动过CPU,ARM核心就好好的呆在那里,那就是中央处理器。

  就比如我们制造汽车,ARM公司相当于拥有最先进的的发动机设计的具体方案,但是他不生产发动机,而是把设计的具体方案授权给各大汽车厂商生产,赚来的钱继续研发更先进的‘发动机’。

  一个公司若想使用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架构,比如ARMv8,每个处理器都需要依赖一定的ARM架构来设计;

  SOC:各大厂商买来ARM的授权,得到ARM处理器的源代码,而后自己搞一些外围设备的IP(或者买或者自己设计),组成一个SOC,比如三星的Exynos 4412,华为的麒麟990。

  原文标题:到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念

  的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望有机会能够帮助到广大的电子工程师们。

  资料下载 /

  的四个版本MDK-Lite(精简版)—此版本免费MDK-Essential(基本版

  国内安防AI芯片主要玩家及产品!在人工智能兴起之后,安防市场就成为了其全球最大的市场,也是成功落地的最主要场景之

  基于RoboMasterC板的RT-Thread使用分享—按键中断实验

  【中文浓缩】SpaceX星城发射架开始安装快速连接臂连接轴,新鼻锥继续加工

  【中文】SpaceX星舰助推器4出厂驶往发射场,星舰20继续更换隔热瓦

  【中文字幕】SpaceX将要进入太空的星舰20,和以往的原型比有何不同?

栏目 产品 案例 导航