在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12955|回复: 21

[原创] 多核cpu的原理

[复制链接]
发表于 2013-6-7 21:06:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我们知道,上电后,cpu主动去读取地址0的指令,然后就可以顺序执行下去,问题是,在多核情况下,一方面是哪个核去读取地址0的指令,然后,在什么情况下,cpu2也去读取指令?还是说cpu1设置什么东西后cpu2就知道该去读取哪个地址?希望知道的人讨论下
发表于 2013-6-8 16:14:47 | 显示全部楼层
通过比较CPU ID,决定执行哪些代码
 楼主| 发表于 2013-6-8 18:42:49 | 显示全部楼层
这位兄台能否说的再具体些
发表于 2013-6-11 11:36:41 | 显示全部楼层
学习了~~~~~~~~
发表于 2013-6-21 17:31:04 | 显示全部楼层
SMP架构的CPU,每个核看到的是同一份代码,只不过程序中通过CPU ID来判断哪个核执行哪些代码
 楼主| 发表于 2013-6-23 19:41:19 | 显示全部楼层
这兄台有点误解啊,程序是放在memory里面,cpu是主角,平时某个cpu核呆着,然后是不是等个中断什么的,开始去处理中断,这个时候开始读取memory里面的程序呢?
发表于 2013-6-24 00:04:16 | 显示全部楼层




   中断是如何处理的?不也是执行中断服务程序吗?归根到底还是运行程序啊!程序我说了,每个CPU看到的都是相同的代码。
发表于 2013-6-24 04:55:23 | 显示全部楼层
是先有其中一个核进行各种系统初始化,比如BIOS和载入操作系统内核(或者是你说的读RESET地址的代码),然后再初始化别的核,别的核执行哪些代码由操作系统来决定
可以参考下:http://www.linux-arm.org/LinuxBootLoader/SMPBoot 中的 ARM Linux 是怎么启动的。
还有这本Intel manual的8.4节MULTIPLE-PROCESSOR (MP) INITIALIZATION: http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3a-part-1-manual.pdf
发表于 2013-6-28 09:13:29 | 显示全部楼层
回复 4# feixiaku


    学习
发表于 2013-7-13 16:43:22 | 显示全部楼层
我觉得newnewsitter说的是对的。
就想我现在看的一个硬件多核多线程处理器的代码。
是通过CPU ID 和 Strand ID 来判断 CPU和线程号来执行程序的。程序是相同的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-1 19:13 , Processed in 0.036818 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表