2015-03-02 200 views
1

是由于两种技术(我读共享内存是暂存器存储器,主要是SRAM存储器,而全局存储器通常是DRAM存储器)的技术速度差异?共享内存为什么比全局内存快?

如果两者都采用相同的技术制造,将基于共享存储器的任何性能差异在片上,并且全局存储器由于额外的指令(加载指令)或全局存储器所需的额外硬件电路将其数据加载到处理器中?

+0

这是一个编程问题?这似乎是一个硬件设计问题。 – 2015-03-02 13:42:05

回答

1

至少有两个原因是你已经指出的。有一个:

  1. 位置差异 - 共享内存在芯片上,全局存储器(至少,普通的全局存储器的访问没有在高速缓存中的一个命中)是片。内存通常以固定频率计时,最大频率取决于系统可以以多快的速度进行计时。长的传输线,从片外到片上或反之亦然的缓冲器以及许多其他电路效应会减慢特定电路的最大速率。因此,片上共享存储器具有相当大的优势。缓存(L1,L2,只读,常量缓存,纹理缓存等)都受益于相同的原理。

  2. 技术差异。 SRAM单元(例如共享存储器)可以比DRAM单元(例如,片外全局存储器)更快地计时,并且SRAM更适合快速随机访问。 DRAM有一个更复杂的访问序列,当一个单元被访问时,它将发挥作用。 DRAM也受到可能妨碍持续快速访问的刷新等机制的负担。不过,我认为技术差异不是一个问题。另一个与技术有关的问题是,SRAM阵列通常更适合于现代处理器使用的逻辑处理过程(能够以更高密度放置)。对于最高密度,DRAM阵列使用的半导体工艺与处理器内部的通用逻辑所使用的工艺大不相同。

所需的处理器instuctrions不会是共享内存和全局内存访问时间之间的有意义的区别。