IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 初识ARM(内核、SoC) -> 正文阅读

[嵌入式]初识ARM(内核、SoC)

对于刚接触到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等)处理器性能分类与对比
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 11:19:00  更:2021-09-06 11:20:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 8:50:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计