高级会员

- 积分
- 762
- 金钱
- 762
- 注册时间
- 2021-5-18
- 在线时间
- 28 小时
|
1.ARM架构简单介绍
市场上成百上千种的 ARM 芯片,如果我们去看它们的内核,却只有不多的几种。
从时间上来看,从1985年设计的 26 位地址总线的 ARMv1, 到 ARMv2, 一直发展到最近支持64位地址总线的 ARMv8。
最近这几年,在每一代 ARMvx 核心的基础上,根据不同的应用场景,又做了扩充或裁剪,形成三大架构:
A(Applications) 高性能,一般需要运行Linux等操作系统。
R(Real-time) 需要实时处理的系统,一般应用与网络处理器,嵌入式控制系统。
M(Microcontroller) 小体积,低功耗,一般应用于嵌入式系统。
ARMv1 - ARMv5 已经成为历史了。我们对最新的 ARMv6 - ARMv8 做一个简要区分:
ARMv8-A
高性能,支持64位指令集,同时兼容以前的32/16位指令集。针对安全应用引入Trustzone。
典型芯片如华为的麒麟系列,Kirin990 内部集成了4颗 Cortex-A76,4颗 Cortex-A55,每一颗频率都可以跑到 2GHz以上。同样高通的骁龙865也是集成8颗 ARMv8-A 架构的内核。
ARMv8-M
针对嵌入式应用,支持32位指令集,兼容以前指令集。引入Trustzone。加解密运算通过硬件加速。
典型芯片如 STM32L552 (Cortex-M33 内核)。主频可以跑到 110 MHz。
ARMv7-A
支持 arm 和 Thumb 指令集,支持虚拟地址存储管理(Virtual Address Support in the Memory Management Unit)。跑 Linux 这类操作系统一般需要 MMU。这种架构主要面向复杂应用。
典型芯片如 STM32MP151 (Cortex-A7 内核) 。主频可以跑到 650 MHz。
ARMv7-R
支持 ARM 和 Thumb 指令集,但不支持虚拟地址管理。
典型芯片如 RM41L232 (Cortex-R4 内核)。主频可以跑到 80 MHz。
ARMv7-M
只支持 Thumb 指令集。简化的流水线,更快的中断响应,针对嵌入式应用。
典型芯片如 STM32F103 (Cortex-M3 内核)。主频可以跑到72MHz。
ARMv6-M
ARMv6-M 是 ARMv7-M 的一个子集。架构做了进一步简化,但是保持和 ARMv7-M 兼容。
典型芯片如 STM32F030 (Cortex-M0 内核)。主频可以跑到48MHz。
ARMv5 及以前版本
早期架构,已不推荐使用。
典型芯片:
ARM926 (ARMv5)
ARM7TDMI (ARMv4)
原文链接:https://www.yunduoketang.com/article/zxjy24.html
|
|