Cortex 一些知识
Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。(2011年,ARMv8 架构在 TechCon 上推出)ARMv7架构定义了三大分工明确的系列:
“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;
“R”系列针对实时系统;
“M”系列对微控制器。
| 架构 | 主要用途 | 特点 |
|---|---|---|
| Cortex-M | 微控制器(MCU)、嵌入式) | 低功耗、实时性高 |
| Cortex-R | 实时计算(汽车、电信) | 高可靠性、实时性强 |
| Cortex-A | 应用处理器(手机、电脑) | 高性能、多任务 |
Cortex-M 是 ARM 公司设计的一系列低功耗、高效率的 32 位 RISC(精简指令集计算机(RISC:Reduced Instruction Set Computer RISC))处理器内核,主要用于微控制器(MCU)和嵌入式系统。
常见的 Cortex-M 系列
| 处理器 | 特点 | 适用场景 |
|---|---|---|
| Cortex-M0 / M0+ | 超低功耗,最小指令集 | 传感器、低功耗 IoT |
| Cortex-M3 | 平衡功耗和性能,广泛应用 | 工业控制、家电 |
| Cortex-M4 | 带 DSP 指令,适合信号处理 | 音频处理、电机控制 |
| Cortex-M7 | 高性能,带浮点运算(FPU) | 复杂控制系统 |
| Cortex-M23 / M33 | 支持 ARM TrustZone(安全特性) | 安全 IoT 设备 |
| Cortex-M55 / M85 | 带 AI/ML 加速 | 机器学习、智能边缘计算 |
ARM 的 Cortex-R 系列 处理器主要用于实时系统,特别是高性能、低延迟的应用场景,如汽车、工业控制、存储设备、网络设备等领域。
常见的 Cortex-R 系列
| 类别 | 代表型号 | 应用领域 |
|---|---|---|
| 高性能实时处理 | Cortex-R52、R7 | 汽车电子、工业控制、存储控制器 |
| 中等性能实时处理 | Cortex-R5、R4 | 嵌入式系统、控制器、机器人 |
| 入门级实时处理 | Cortex-R3、R1 | 低成本实时嵌入式应用 |
ARM 的 Cortex-A 系列 主要用于 智能手机、平板、嵌入式系统、服务器 等高性能应用。
常见的 Cortex-A 系列
| 类别 | 代表型号 | 适用场景 |
|---|---|---|
| 高端旗舰 | Cortex-X4、X3、X2、X1、A78 | 高端手机、笔记本 |
| 中高端均衡 | Cortex-A77、A76、A75、A73 | 中端智能手机、平板 |
| 中低端高能效 | Cortex-A55、A53、A35 | 入门级手机、IoT、嵌入式 |
| 服务器级 | Neoverse V1/N2、Cortex-A78AE | 云计算、数据中心、车载 |
查看开发板型号:
点击查看代码
# cat /proc/cpuinfo
processor : 0 //当前 CPU 是系统中的第 0 号处理器;多核 CPU 设备上,每个核心都会有一个编号,第一颗核心从0开始计数
model name : ARMv7 Processor rev 0 (v7l) //RMv7架构
BogoMIPS : 30.00 // CPU 在 1 秒钟内可以执行多少次空循环
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 //指令集支持
CPU implementer : 0x41 //(ARM 公司)
CPU architecture: 7 //当前 CPU 可能运行在 ARMv7 兼容模式下
CPU variant : 0x1 // CPU variant和CPU revision 组合; 0x1 0 :初始版本,可能有硬件 bug;0x1 1 :修复了一些 bug,可能优化了功耗;0x2 3 :可能调整了缓存大小或优化
CPU part : 0xd04 // 表示 Cortex-A35 内核, Cortex-A35 是 ARMv8-A 指令集的 CPU,但在兼容模式下可以运行 ARMv7 指令 Cortex-A35,它属于 低功耗、嵌入式处理器
CPU revision : 0
processor : 1 //第二颗核心
model name : ARMv7 Processor rev 0 (v7l)
BogoMIPS : 30.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x1
CPU part : 0xd04
CPU revision : 0
Hardware : Generic DT based system //使用了设备树(Device Tree,DT) 来描述硬件
Revision : 0000 //屏蔽该信息
Serial : 0000000000000000//屏蔽该信息
点击查看代码
# lscpu
Architecture: armv7l //CPU 运行在 32 位模式(虽然 Cortex-A35 支持 64 位 ARMv8-A 指令集)
Byte Order: Little Endian //数据存储方式为 小端模式(最低字节存放在最低地址)。
CPU(s): 2 //cpu 核数
On-line CPU(s) list: 0,1 //每个核心只有 1 个线程,不支持超线程
Thread(s) per core: 1 //每个核心只有 1 个线程,不支持超线程
Core(s) per socket: 2 //1 颗物理 CPU,但有 2 个核心
Socket(s): 1 //说明整个芯片(SoC)只有 **1 颗物理 CPU,但有 2 个核心**
Vendor ID: ARM //CPU 的制造商.GenuineIntel → Intel 处理器; AuthenticAMD → AMD 处理器
Model: 0 //Model 这个值通常无实际意义,Linux 直接填充 0
Model name: Cortex-A35 //CPU 是 ARM Cortex-A35,属于 低功耗入门级 ARMv8-A 处理器
Stepping: r1p0 // CPU variant和CPU revision 组合; 0x1 0 :初始版本
CPU max MHz: 1920.0000 // Cortex-A35 理论最高频率是 1.92GHz,最低可以降到 100MHz
CPU min MHz: 100.0000
BogoMIPS: 6.25
Vulnerability Gather data sampling: Not affected // CPU 漏洞检测 不受影响;
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: half thumb fastmult vfp edsp neon vfpv3 tls
vfpv4 idiva idivt vfpd32 lpae evtstrm aes pm
ull sha1 sha2 crc32 //支持指令集
此文章仅为个人总结,如果错误,欢迎评论指正;
浙公网安备 33010602011771号