多核处理器中的内存访问与多个cpu的内存访问

时间:2013-07-30 08:08:21

标签: multicore multiprocessor

我有一个问题,

多处理器机器是否可以从RAM(单个ram系统)访问数据? 例如,机器有2个并行执行的处理器p1,p2,它们是否可能访问相同的ram进行读写(ofcos写入不在同一位置)

据我所知,在多核计算机中,由于数据总线是共享的,因此无法实现。

1 个答案:

答案 0 :(得分:1)

只要RAM映射到所有核心或处理器(例如在多线程应用程序中),就可以从任何核心或处理器访问它。

如果您正在讨论单处理器/单核,单处理器/多核,多处理器/(每个处理器)单核或多处理器/多核,则没有区别。由于它们没有自己的系统RAM - 高速缓存中的RAM不是系统RAM - 所有可用的RAM都是系统RAM。

多处理器/单核(如旧系统)和单处理器/多核(现代系统)之间的唯一区别是前者需要使用片外逻辑协调RAM访问,而后者需要协调所有协调片上,有时甚至片上,这当然会导致更快,更电子化的RAM访问。

对于AMD的多处理器/多核解决方案,每个处理器都拥有部分系统RAM。处理器本身与高速数据(HyperTransport)通道互连,以便于访问不属于访问它的处理器所拥有的RAM。

在任何情况下,由程序员决定处理器/内核如何访问RAM。当然,如果这是程序员想要的,他们可以读取和/或写入相同的位置。