首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多核处理器之间的区别

多核处理器之间的区别
EN

Stack Overflow用户
提问于 2013-05-15 10:31:31
回答 1查看 639关注 0票数 1

我对“多核”处理器的概念感到困惑。

一些多核处理器,连接ARMA9/x86,我们运行uni-OS,比如linux/windows。每个核心都工作得很好。

但是其他人,连接TI的C6678,我们在核心pac0上运行linux,并在其他核心pac0上运行sys/bios,它们通过syslink进行通信。

这些多核处理器之间的架构差异是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-15 14:09:12

您在这里看到的是AMPSMP系统之间的主要区别。

X86通常是一个SMP系统,所有的核心都是平等的,可以访问相同的外围设备,并且可以相互访问内存和缓存。缓存在内核之间保持一致,因此每个内核始终具有相同的内存视图。内核(在这些内核上运行的进程)之间的通信通常只通过诸如信号量和互斥的内存结构来完成。要做到这一点,芯片设计者必须结合大量的逻辑。

AMP是一个完全不同的野兽。内核通常有自己的内存“视图”,这意味着缓存不会在内核之间同步。这大大简化了芯片的设计,但使通过内存进行通信成为问题。所以通常每个核心都会运行它自己的进程,一些可能运行整个操作系统,另一些只是一个裸机系统,你还会发现系统的一部分运行Linux,其他部分运行VXWorks或其他的配置。

如果任务可以很好地拆分,则通常使用AMP。以具有小型PBX和iptv机顶盒功能的路由器为例。一个内核可能运行带有防火墙的linux,只需整天路由即可。下一个核心运行vxworks和PBX应用程序,第三个核心对tv流进行解码并将其发送出去。路由核心将不得不在两个其它核心和lan之间分配输入数据,但这是关于存在的所有交互。

一般来说,SMP提供的功能不是免费的。首先,他们会提高产品的价格。其次,就周期而言,高速缓存同步是非常昂贵的。

因此,最终你将不得不使用一个适合你的需求的架构。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16555826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档