ARM 获取cpu个数

embedded/2025/1/1 7:59:13/

MPIDR_EL1寄存器

 

 

 

AFF0 :表示一个 core 中的第几个 thread,大多数 core 都是 single-threaded core,所以大多数 core 中的该值是 0.
AFF1:表示一个 cluster 中的第几个 cpu
AFF2/AFF3:表示系统中的第几个 cluster,这个值由 SOC 厂商给 core 的输入信号决定
 

汇编

                mrs     x2, mpidr_el1and     x2, x2, #0xFF00   // x2 == CLUSTER number


 

参考:

【ARM64 常见汇编指令学习 24 -- ARM 带返回值的汇编函数】_arm64 mrs-CSDN博客


http://www.ppmy.cn/embedded/149762.html

相关文章

高级java每日一道面试题-2024年12月28日-并发篇-了解Semaphore吗?

如果有遗漏,评论区告诉我进行补充 面试官: 了解Semaphore吗? 我回答: 在Java高级面试中,Semaphore(信号量)是一个重要的并发控制工具,它用于控制同时访问特定资源的线程数量,以确保资源的合理使用。以下是对Semaph…

Springboot项目下面使用Vue3 + ElementPlus搭建侧边栏首页

Springboot项目下面、在html 页面 Vue3 ElementPlus 搭建侧边栏首页 1、效果图 2、static 文件下面的项目结构 3、代码实现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>首页</title><…

【微信小程序】4plus|搜索框-历史搜索 | 我的咖啡店-综合实训

升级版1-清空全部的再次确认 实现功能: 历史搜索记录展示-历史搜索记录展示10条点击跳转-点击历史搜索记录可同步到搜索框并自动搜索全部删除-可一次性全部删除历史搜索记录全部删除-有再次确认操作展示 进行搜索后留下搜索记录 点击垃圾桶图标,显示【清空全部】 点击【清…

K8s 不同层次的进程间通信实现

在 Kubernetes (K8s) 中&#xff0c;不同层次的进程间通信实现方式如下&#xff1a; 1. Pod 内进程间通信 Pod 是 Kubernetes 中的最小部署单元&#xff0c;通常包含一个或多个共享相同网络命名空间的容器。 方式&#xff1a; 使用 localhost 和容器暴露的端口进行通信。共享文…

【Redis】Redis 典型应用 - 缓存 (cache)

目录 1. 什么是缓存 2. 使用 Redis 作为缓存 3. 缓存的更新策略 3.1 定期生成 3.2 实时生成 4. 缓存的淘汰策略 5. 缓存预热, 缓存穿透, 缓存雪崩 和 缓存击穿 关于缓存预热 (Cache preheating) 关于缓存穿透 (Cache penetration) 关于缓存雪崩 (Cache avalanche) 关…

C++的23种设计模式

设计模式是软件设计中的最佳实践&#xff0c;提供了解决常见问题的标准方法。以下是 C 中的 23 种经典设计模式&#xff0c;分为三类&#xff1a;创建型、结构型和行为型。 1. 创建型模式 1.1 单例模式&#xff08;Singleton&#xff09; 确保一个类只有一个实例&#xff0c…

微服务——部署与运维

1、你是否有将 Java 微服务部署到容器&#xff08;如 Docker&#xff09;中的经验&#xff1f;请描述一下部署过程和相关注意事项。 部署过程&#xff1a; 编写 Dockerfile&#xff0c;定义基础镜像&#xff08;如 openjdk&#xff09;、应用 JAR 包路径和启动命令。构建镜像…

基于Django+python的Python在线自主评测系统设计与实现

项目运行 需要先安装Python的相关依赖&#xff1a;pymysql&#xff0c;Django3.2.8&#xff0c;pillow 使用pip install 安装 第一步&#xff1a;创建数据库 第二步&#xff1a;执行SQL语句&#xff0c;.sql文件&#xff0c;运行该文件中的SQL语句 第三步&#xff1a;修改源…