Multithreading 如何在多核环境中共享RAM?

Multithreading 如何在多核环境中共享RAM?,multithreading,memory,memory-management,cpu,core,Multithreading,Memory,Memory Management,Cpu,Core,我了解到多核处理器有多个处理单元(即主执行单元ALU等),它们的性能更好。我想知道他们是如何共享物理内存的。为了让我的问题更清楚,我将举下面的例子——比如说,物理内存中有一个内存位置M,两个线程T1和T2运行在不同的内核上。T1和T2是否可能在同一时间点访问M,或者它们是否必须等待对方完成访问,即它们是否共享相同的内存总线以便彼此等待,或者它们是否可以在同一时间点从两条不同的内存总线读取M?如果前一种情况是这样的话,那么就不会有太多的性能提升,因为它们必须等待内存总线空闲吗 总之,内存操作是否

我了解到多核处理器有多个处理单元(即主执行单元ALU等),它们的性能更好。我想知道他们是如何共享物理内存的。为了让我的问题更清楚,我将举下面的例子——比如说,物理内存中有一个内存位置M,两个线程T1和T2运行在不同的内核上。T1和T2是否可能在同一时间点访问M,或者它们是否必须等待对方完成访问,即它们是否共享相同的内存总线以便彼此等待,或者它们是否可以在同一时间点从两条不同的内存总线读取M?如果前一种情况是这样的话,那么就不会有太多的性能提升,因为它们必须等待内存总线空闲吗

  • 总之,内存操作是否独立于其他内核,或者每个内核只能在内存总线空闲时进行物理内存访问

内存访问取决于RAM模块而不是CPU,您的CPU内核可以请求访问,但首先给出的访问权取决于RAM本身

内存访问取决于RAM模块,而不是CPU,您的CPU核心可以请求访问,但首先给出的访问权限取决于RAM本身

处理器从不直接访问物理内存,只访问缓存。尝试猜测缓存中应该存在哪些物理内存位置是预取器的工作。物理内存读取往往在处理器实际需要它之前发生数百个周期。确保缓存具有物理内存的一致视图是您的工作。因此,拥有多个内核的优势在于计算能力高,并且通过更多缓存(以防止内存访问)?处理器从不直接访问物理内存,只访问缓存。尝试猜测缓存中应该存在哪些物理内存位置是预取器的工作。物理内存读取往往在处理器实际需要它之前发生数百个周期。确保缓存具有物理内存的一致视图是您的工作。因此,拥有多个内核的优点是计算能力高,并且可以通过更多缓存(以防止内存访问)?好的,但在这种情况下,无论我们有多少个内核,它们都必须等待内存总线正确!所以,我们可能没有获得太多的性能提升,对吗?看看这个:好的,但在这种情况下,无论我们有多少个内核,它们都必须等待内存总线正确!因此,我们可能不会获得太多性能提升,对吗?请看以下内容: