【发布时间】:2014-05-12 14:35:23
【问题描述】:
他们在物理上共享同一个时钟吗?其次,是随机访问共享内存,还是一个核心优先于另一个。例如,考虑一个 2 核处理器,并且核 1 和核 2 试图在相同的时钟内访问相同的内存。是允许核心 1 先访问该共享内存然后再访问核心 2 还是随机访问?
【问题讨论】:
标签: c multithreading x86 multiprocessing multicore
他们在物理上共享同一个时钟吗?其次,是随机访问共享内存,还是一个核心优先于另一个。例如,考虑一个 2 核处理器,并且核 1 和核 2 试图在相同的时钟内访问相同的内存。是允许核心 1 先访问该共享内存然后再访问核心 2 还是随机访问?
【问题讨论】:
标签: c multithreading x86 multiprocessing multicore
这取决于。一方面,多核处理器远远超出了内存访问的范围。它们在本地缓存上运行。当两个缓存都需要与主存重新同步时是否有优先级肯定是特定于设计的。一方面,进行突发传输可以减少饥饿的可能性,因为只有当两个突发在同一时钟周期开始时,您才会实际使用优先级。除了固定优先级和“随机”之外,另一种选择是循环(“随机”无论如何都很难实现)。
即使在内核和内核本地缓存可能使用独立时钟的情况下(例如 TurboBoost 或 EIST),内存访问也只有一个时钟。
时钟交叉只是缓存电路的众多复杂功能之一。
【讨论】: