0

我有个问题,

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

我知道在多核机器中这是不可能的,因为数据总线是共享的。

4

1 回答 1

1

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

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

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

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

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

于 2013-08-18T19:51:18.297 回答