片上多处理器CMP是从核拆分成处理器和程序存储设备的角度,即从服务元素与服务对象的角度,来研究多核技术的。 多核技术将程序单独执行的固定结构作为研究的基本出发点,因而从基础划分的层次来看,不如CMP深入。
由于核是能够独立执行程序的基本单位,那么核间的互连自然就是一个网络。因而片上多核采用网络方式组织是理所当然的事情。但随着任务的复杂度增加,计算机核的类型将会产生多样化趋势。因为更加功能细致的核的划分,能够更容易实现程序同时并行执行,从而高速地完成众多的任务。这样,一个执行中的程序就可能要在多个核间频繁地转移,而核间的程序转移,必须要将程序和数据从一个核传递到另一个核。这种程序的核间转移会消耗大量的时间,因此在更加高效的CMP研究中,必须有效避免这种“传输耗时”。
如何解决传输耗时?从发生的问题本身已经可以明显地看到,程序、数据和程序执行状态数据等,成为了在核间调度的基本单位。因此,片上多核结构的程序调度执行方式是一种沉重的负担。
将“程序、数据和程序执行状态数据等”乘载的设备组成一个整体,称之为“存储单位”。那么程序在不同处理器之间转移的问题,就可以转化为存储单位与不同处理器“动态连接”问题。这就是CMP要比多核研究深入的原因。
多核技术难以发展的关键之处是与处理器直接相连的最后一级存储器“私有”,这种私有方便程序在这个固定的处理器上执行,而不利于程序在不同的处理器间转移执行。所以CMP的根本出路就是要打破“一级Cache”私有的理念,用“存储单位”作为程序调度的载体,通过硬件线路切换来实现“程序执行核”重组,高速实现程序转移执行。
这种动态计算机设计思想的CMP结构就是本人提出的。有兴趣的读者请看“什么是动态计算机”的相关博文。
2010-1-10
https://blog.sciencenet.cn/blog-340399-285816.html
上一篇:
未来计算的研究下一篇:
CPU设计我要让更多的人掌握它(续6)