多核处理器的运行模式
从软件的角度看,多核处理器的运行模式有AMP(非对称多处理)、SMP(对称多处理)和BMP(受约束多处理)三种运行模式。
- AMP 运行模式指多个内核相对独立的运行不同的任务,每个内核相互隔离,可以运行不同的操作系统(OS)或裸机应用程序。
- SMP 运行模式指多个处理器运行一个操作系统,这个操作系统同等的管理多个内核,如 PC 电脑。
- BMP 运行模式与SMP 类似,但开发者可以指定将某个任务仅在某个指定内核上执行。
一般来说,SMP 为较高级的应用提供统一的OS 平台,开发者在OS 之上构建应用时,无需考虑两个内核之间的资源共享和进程间通信。除此之外,对 SMP 而言存在性能开销,这会对实时性要求较高的应用,其性能造成较大影响。如 PC 机电脑的多核处理器一般运行在 SMP 模式,实现的功能较为复杂,但对实时性的要求不高。
而AMP 的运行模式基本没有开销问题,在运行裸机应用程序时,甚至完全没有开销,比较适合实时性要求较高的应用,但需要精心定制的软件设计来实现处理器资源共享和处理器间通信。如电力控制保护设备通常需要与人机接口实现复杂的通信和高实时性的计算能力,一般采用AMP 运行模式,一个处理器运行Linux 操作系统,另一个处理器运行裸机应用程序,从而兼顾了电力系统控制设备需要的复杂功能和实时性。
AMP 和 SMP 运行模式的框图如下图所示:
AMP 运行模式给开发者提供了一个与传统单核 CPU 系统相类似的运行环境,使得开发者已有的经验和知识可以继续加以利用;同时,也为程序的移植提供了很大的便利性。
多核处理器的运行模式相关推荐
- 多核CPU的运行模式详解
关注v-x-公-众-号:[嵌入式基地] 后-台-回-复:[电赛] 即可获资料 回复[编程]即可获取 包括有:C.C++.C#.JAVA.Python.JavaScript.PHP.数据库.微信小程序. ...
- ARM处理器的运行模式和ARM寄存器
一.ARM处理器共有7种运行模式 处理器模式 描述 用户模式(User,usr) 正常程序执行的模式 快速中断模式(FIQ,fiq) 用于高速数据传输和通道处理 外部中断模式(IRQ,irq) 用于 ...
- 多核处理器基础:SMP、AMP和BMP 以及 AP、BP和CP
原文链接:https://www.cnblogs.com/zamely/p/4334979.html 多核处理器也称片上多核处理器(Chip Multi-Processor,CMP). 1.多核处理器 ...
- 浅析Intel处理器体系结构:CPU运行模式
文章目录 CPU运行模式 模式转换示意 系统上电时的模式切换 从实模式切换到保护模式 A20功能 开启A20功能 系统数据准备 模式切换流程 从保护模式切换到长模式 系统数据准备 模式切换流程 相关参 ...
- Node.js 能否充分利用多核处理器?
(默认的)Node.js 应用程序总是单线程的模型,即使在多核处理器上运行,应用程序也能只使用一个处理器. 但是 Node.js 的核心模块之一 Cluster 支持 Node.js 应用程序开启多核 ...
- 为什么Locust单进程运行模式下只能用到一个处理器的能力?
目录 1.多核CPU 2.进程和线程在多核cpu,多cpu中的运行关系 3.区分并发和并行的区别 4.线程切换 5.计算密集型 vs. IO密集型 6.异步IO 7.分布式进程 服务端性能测试工具最核 ...
- Intel 64/x86_64/x86/IA-32处理器操作模式/运行模式
Processor Operation Mode IA-32架构支持3种操作模式,和一种类操作模式(quasi-operating mode): 实地址模式/实模式(real-address mode ...
- ARM处理器运行模式
ARM处理器运行模式 1.ARM处理器有7种运行模式: 1)用户模式 2)特权模式 3)中断模式 4)快速中断模式 5)终止模式 6)未定义指令模式 7)系统模式 其中,除用户模式外,其他6种模式称为 ...
- arm中SP,LR,PC寄存器以及其它所有寄存器以及处理器运行模式介绍
ARM中所有寄存器都是32位的.这里以cortex-a7内核的MX6ULL处理器为例,按照功能可以分为两类:运行需要寄存器(程序正常运行所需要的,比如变量暂存,pc制作等,总共43个),系统管理控制寄 ...
最新文章
- Spring Cloud 第十一篇:docker部署spring cloud项目
- (六)Amazon Lightsail 部署LAMP应用程序之升级到Amazon EC2
- mysql闪退或者can not connect 127.0.0.1
- android震动提示音,android的消息提示(震动与提示音)
- java运算符 —(9)
- php是一种,PHP是一种什么型的语言:()
- 天天向上续python3.3_Linux 配置系列 四 python3
- Android 调用系统相机拍照,生命周期重走OnCreate,导致无数据的解决办法
- mt4双线macd_手机版MT4怎样添加双线MACD指标 手机MT4双线MACD设置方法
- doceker模拟数据的生成
- 步骤五 · 4-9 解决getElementsByClassName()兼容性 未解决
- 快捷键调出计算机桌面小工具,win7桌面怎么快速创建便签小工具
- 魔法风云纪无限元宝公益服务器,好玩网页游戏 2678魔法风云纪sf 神兽助战卡免费获得...
- C++ WA, 超时,爆栈错误总结
- php laravel vonder
- Idea的全局搜索快捷键
- 2019年 十款Mac上必备的实用软件列表
- PS字体加粗的小方法、、
- std::accumulate的具体用法
- DMSP/OLS夜间灯光数据——应用
热门文章
- hutool导出excel大数据_HuTool工具类使用之Excel文档的导入导出
- 岁月不饶人,爸妈老了
- 【计算机网络系列】网络概述与体系结构
- CSS 背景(background)
- 全方位掌握OpenStack技术知识
- 把文件夹名字全部变成大写
- 河北省谷歌地球高程DEM等高线下载
- 1.统计所输入字符串中单词的个数。2.删除一个list里面重复元素。3.将列表中的偶数变成它的平方,奇数保持不变。4.输入字符串,将其每个字符的ASCII码形成列表并输出.5.猜单词游戏
- VxWorks和Linux内核实时性
- 傅里叶变换及低通滤波再反变换(C++opencv)