导读:美国国家科学基金会的一份研究报告认为,如今的多核处理器需要更好的方式来编程。
马里兰大学的一位研究人员在1月份出版的美国计算机协会的旗舰级通讯刊物上称,为了有效使用多核处理器,IT业需要彻底反思它已使用了50多年的基本计算机体系结构。
马里兰大学高级计算机研究所教授Uzi Vishkin在论文中称:“近期从单处理器计算机系统向多处理器平行系统的大规模迁移,要求对建立新系统并为之编程的计算机科学的许多方面进行彻底改造。”
Vishkin甚至提供了一份新体系结构抽象图,他称之为ICE(即时并行执行),他利用美国国家科学基金会提供的资金开发出了ICE。
我们今天所使用的基本计算机体系结构是基于二十世纪四十年代数据学John von Neumann提出的概念的。在他的体系结构中,数据和程序存储于计算机内存并被馈送给计算机的CPU。程序通过使用程序计数器执行,这就为CPU提供了内存当中下一个将执行的指令的地址。
这种方法允许进行Vishkin所称的串行计算,在这种设计当中,“在串行程序里可供执行的任何单个指令可以立即执行。”
但是,它却是受限制的,因为它一次只允许执行单个指令。Vishkin称,在多核处理器和拥有大量可用内存的时代,不再需要这种限制了。取而代之的是,多个指令通常可以更快地平行执行--所有指令都同时执行且只需一个步骤。
Vishkin的替代方法不同于von Neumann体系结构,它允许在任何指定的时间执行无数个指令,这样可以极大地简化程序员的工作。他说,有了ICE,“你可想象任何数量的指令,只要某个指令的输入不是另一个指令的输出。”程序员不再需要担心有多少处理器可供该项任务使用。
Vishkin表示,这种体系结构要求改变硬件设计。至于操作方式,芯片可能需要在处理器和内存之间建立高带宽、低延迟的网络。硬件需要一个单处理器核来控制其他所有核。如果代码是串行的,它可以在那个核上执行。如果有其他指令,中央处理器可以向其他核发送其他指令。
Vishkin拥有这项技术的6项专利,研究小组也建立了可以在ICE抽象体系结构上运行的原型硬件