双核的CPU,每个核心的执行周期是否同步?
诸位好:在双核心的CPU上,两个核心的指令周期是否开始于同一时间?谢谢
arethe 敬上 “两个核心的指令周期是否开始于同一时间”,这句话具体是指什么意思?
可以详细的说一说吗? 原帖由 arethe 于 2009-11-17 21:15 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
诸位好:
在双核心的CPU上,两个核心的指令周期是否开始于同一时间?谢谢
arethe 敬上
猜想:如果双核通过同一条总线访问同一个内存,在访存时,两者必须错开。 原帖由 beepbug 于 2009-12-16 20:36 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
猜想:如果双核通过同一条总线访问同一个内存,在访存时,两者必须错开。
同一振荡器通过锁相环给出的时钟,相位上是一致的。
如ls说的,如果用同一条总线访问同一个内存 取指令是错开的,因为两个核不可能同时访问总线,总线仲裁器会帮你搞定访问冲突. 这个问题貌似要在具体的CPU上讨论,不同的CPU的实现应该不大一样
从外部观测一般情况下一个CPU只使用一个时钟信号作为其时钟源(应该会有例外),这会让人觉得其内部的多核是同步的。
但是在系统启动的时候应该只会让其中的一个核心执行启动程序,例如Intel x86下的多核CPU,在启动的时候只会让一个核心执行Boot Block。
同时现在的CPU一般都会都拥调节时钟的能力,因此其没有工作的核心有可能其内部数字电路可能没有在工作,即使在工作可能其时钟频率也与工作中的核心不相同。
然而上面这些假设,根据体系结构的不同可能也会不一样,SMP,AMP,NUMA等等都是不一样的。
最后得出的结论可能是同步也可能是异步的,这个要看具体的执行环境(如体系结构,执行的程序等)进行具体的分析。 intel的人一直不满多核调度 先顶起来.这个问题我之前想到一个问题. 不过忘记了, 也是对多核的时钟周期的思考.... mark
页:
[1]