当前位置:   article > 正文

初识ARM(内核、SoC)_arm内核是什么

arm内核是什么

对于刚接触到ARM的人来说,可能仅仅知道ARM是一种内核,是一种处理器(CPU),但是,每当我们思考ARM内核是如何发挥作用、ARM处理器到底有什么用的时候,我们可能就会脑袋空白。当然,作为初学者,我也不想去深究ARM内核的那些五花八门的架构和形形色色的内核版本,因为它们过于复杂,特别是ARM所包含的技术(如流水线、指令集等),所以,我将简单介绍几款常见的ARM内核,以及几种搭载它们的SoC(片上系统,我们平常所说的处理器芯片)。
本文只介绍一些概念,给初学者们(包括我自己)建立一个对ARM比较直观的印象。

ARM内核

介绍几种常见的ARM内核

1.Cortex-M3

很多人学习ARM都是从单片机(MCU)开始的,比如STM32,STM32因为资料比较开放,网上资料丰富,深受广大电子爱好者青睐,STM32采用的就是ARM内核,比如下一章要介绍的STM32F103ZET6的内核版本为Cortex-M3,下图为ARM官网对Cortex-M3的介绍,使用了网页翻译,可能和原文意思有些出入,想看原文的可以访问ST官网相关网页:https://developer.arm.com/ip-products/processors/cortex-m/cortex-m3?_ga=2.2737650.376128369.1630719411-1382392082.1624347417
在这里插入图片描述

在这里插入图片描述

由上图,我们可以了解到Cortex-M3的内部结构,下面简单描述一下这些模块:

  1. CPU采用Armv7-M架构;
  2. 总线接口为3条哈佛总线;
  3. 中断控制器采用嵌套向量中断控制器;
  4. 支持多种跟踪技术,如ITM、ETM和ITM;
  5. 调试单元包括JTAG和SW,8个断点和4个观察点。

2.Cortex-A7

ARM Cortex™-A7 MPCore™ 处理器是 ARM 迄今为止开发的最有效的应用处理器,它显著扩展了 ARM 在未来入门级智能手机、平板电脑以及其他高级移动设备方面的低功耗领先地位。(来源百度)
Cortex-A7集成的 L2 缓存提供了一个强大的内存系统,其性能比Cortex-A5提高了 20% 以上。
因为它实现了 Armv7-A 架构扩展,Cortex-A7 提供了 40 位物理寻址和增强的硬件虚拟化。
由于支持 32 位丰富的操作系统,包括 Linux,让 Cortex-A7 能够将高级功能和性能带入生活。
目前搭载Cortex-A7内核的芯片包括:i.MX 6ULL(恩智浦)、RK3036(瑞芯微)、A20(全志)、hi3516ev300(华为海思)、MT6589(联发科)、MSM8909(高通骁龙)和STM32MP1(意法)等等,下文将简单介绍i.MX 6ULL芯片的原理框图。

Cortex-A7官方介绍:
在这里插入图片描述
在这里插入图片描述

3.Cortex-A53

Cortex-A53是部署最广泛的 64 位 Armv8-A 处理器,它能在更高的能效水平下提供比其前代产品更高的性能,适用于移动、数字电视、汽车、网络、存储和航空航天等广泛应用。

Cortex-A53官方介绍:
在这里插入图片描述
在这里插入图片描述

4.Cortex-A72

Cortex-A72 处理器可以在 big.LITTLE 配置中与 Cortex-A53 处理器配对,适用于高端智能手机、大屏幕的移动设备、企业网路设备、服务器、无线基台、数字电视。

Cortex-A72官方介绍:
在这里插入图片描述
在这里插入图片描述

什么是SoC芯片

SoC(System on Chip),称为系统级芯片,也称为片上系统,其实我们平常看见的单片机(MCU)、应用处理器芯片、DSP芯片甚至FPGA都能称为SoC,ARM芯片指的是搭载ARM内核(CPU)的SoC。
SoC是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。(百度百科)
系统级芯片的构成可以是系统级芯片控制逻辑模块、微处理器/微控制器CPU 内核模块、数字信号处理器DSP模块、嵌入的存储器模块、和外部进行通讯的接口模块、含有ADC /DAC 的模拟前端模块、电源提供和功耗管理模块,对于一个无线SoC还有射频前端模块、用户定义逻辑(它可以由FPGA 或ASIC实现)以及微电子机械模块,更重要的是一个SoC 芯片内嵌有基本软件(RDOS或COS以及其他应用软件)模块或可载入的用户软件等。(百度百科)

用文字描述SoC并不能让我们直观地感受到SoC真正的面目,接下来我来列举几个常见的SoC芯片,它们的内核都是上一章介绍过的。

1. STM32F103ZET6

下图为STM32F103ZET6的系统框图如下图所示,该SoC的组成部分包括:CPU(Cortex-M3)、512Kbyte Flash、64Kbyte SRAM、84byte后备数据、系统时钟模块、数模转换模块、外设接口模块(串口、USB等)和控制模块(定时器、PWM)。
在这里插入图片描述
下图为更加详细的系统框图,描述了SoC各部分模块之间是如何互相控制和传输数据的。
在这里插入图片描述
Cortex-M3内核(CPU)通过芯片内部的总线矩阵控制着各个模块,这些模块称为该单片机系统的片上外设(也可称片内外设),因为它们在芯片这个集成电路的内部。比如我们最常用的GPIO,它全部挂载在APB2总线上,通过读写对应的寄存器值即可完成对GPIO的读写操作,其他外设也是类似的道理。

2. i.MX 6ULL

下图为IMX6ULL的系统功能框图,其CPU为Cortex-A7,与STM32F103ZET6的系统框图比较, 我们能明显感觉IMX6ULL的功能更丰富,这不仅仅是因为它的CPU运算能力更强,还有一点是该框图中添加了很多外设的接口,比如WLAN、CAN、USB OTG、Ethernet、Keypad和MMC/SD等,由于芯片内部只提供了这些外设的接口,而没有这些功能模块,所以需要外接模块实现特定功能,这类外接的功能模块就成为该SoC的片外外设,但是实现这些功能的总线接口依然属于片内外设。
在这里插入图片描述

3. A133(全志)

下图为全志A133的功能框图,内核为Cortex-A53,该框图只是列举了SoC的功能,并没有将内部架构画出。
与前面的SoC不同的是,随着CPU性能的提高,A133的功能接口又有了新的变化,首先常用的外设接口上有了部分增加,但变化不大,重大的变化体现在多媒体功能。
该SoC内置了显卡(GPU,图像处理单元),增加了H.264硬件编码和解码,音视频接口也占据了功能框图的近三分之一。
在这里插入图片描述

4. RK3399

RK3399是瑞芯微的芯片里性能最高的芯片,具有很高的性能和高可扩展性,其内核采用big.LITTLE架构,双核Cortex-A72+四核Cortex-A53,GPU采用四核ARM新一代高端图像处理器Mali-T860,总体性能比上一代提高45%。
RK3399的外设接口非常丰富,
常用外设接口方面:集成双USB3.0,串口、SPI、I2C等通信接口的个数是否充足,可以外接很多外设。
多媒体方面:双ISP像素数处理能力高达800MPix/s,支持双摄像头数据同时输入,支持3D、深度信息提取等高阶处理。
显示方面:HDMI2.0接口、H.264/H.264/VP9 4K@60fps高清视频解码和显示。
音频方面:支持8路数字麦克风阵列输入。

在这里插入图片描述

总结

通过对上面这些内核和SoC的了解和学习,我们可以得知ARM只代表处理器芯片的CPU内核,它的性能决定了处理器芯片的总体性能。但是,SoC芯片功能的强大,很大程度上还取决于芯片设计厂商的技术水平,只有将片内外设与内核进行最大程度的适配,同时设计出完美架构,才能设计出优秀的处理器芯片。——以上纯属个人观点,大佬勿喷。

文章参考

以下几篇文章是我在百度上找的各种关于ARM知识的介绍和总结,希望能够帮助我们更好地理解ARM相关知识,仅供参考。

  1. arm cortex-a cortex-r cortex-m的本质区别是什么,体系架构?指令集?
  2. ARMv7 cortex-A 体系结构介绍
  3. IC狂人日记 ARM处理器详解(1)- ARM Cortex-A系列处理器
  4. ARM Cortex-A系列(A53、A57、A73等)处理器性能分类与对比
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/717740
推荐阅读
相关标签
  

闽ICP备14008679号