处理器结构的多核化发展已经成为微体系结构发展的主要趋势。这一多核化甚至众核化的趋势实际上是一种“不得已的选择”。我们知道,时至今日,芯片的集成度还在以摩尔定律的速度增长,但受制于功耗、互连延迟等的限制难以设计成为一整个“大而复杂”的处理器,所以只能采用“分而治之”的办法——在一个处理器中集成多个“小而简单”的处理器核。这样就没有全局的连线延迟,处理器核的验证也相对简单可行。
但从应用角度来看,如何利用这种多核/ 众核结构成为一个系统性的难题。并行化程序面临编程难度大、调试困难等因素,在短期看不到有效的解决途径。而且许多应用天然缺乏并行性,无法直接从中获益。因此,将集成度的增长转换为处理器能力的增长遇到了困难,通用处理器的片上资源在很大程度上无法得到有效利用。比如,美国劳伦斯实验室(伯克利)的分析数据表明:300 余条X86 指令中,大致只有80 余条是科学计算所常用的。进一步研究表明,不同类型应用对于处理器微体系结构的需求不同,即通用处理器在效能上难以“通用”。这就导致计算机基础建设设施广泛存在规模过大、功耗过高、可靠性较低等问题。预计到2015 年,超算系统峰值性能将超过100PFlops,2018 年将跨入E 量级时代。然而,随着系统峰值性能的提升,系统功耗将成为制约系统发展的最主要问题,预计未来E 级系统功耗至少在数十乃至上百MW 量级上,将直接影响系统运行的可靠性和运行成本。
因此,在通过工艺发展向片内集成更高效资源的同时,进行体系结构设计方法上的改进与创新也是必要途径,面向应用的定制处理器设计就是其中的关键技术。
定制处理器的概念
定制计算器(或系统)指的是针对某一特定应用或应用领域,在硬件架构(包括指令集)和软件支持方面进行了深度优化与定制化设计的处理器(或系统),目标主要是获得较高的应用性能与性能功耗比。与之相对的,通用处理器之所以通用是因为其被广泛应用在完全不同的领域,“上”至超级计算机,“下”至桌面应用,比如较新的Intel IVY Bridge 核心架构就被同时应用在服务器平台、桌面平台与移动平台上。这样势必会带来前面所提到的问题。
通用处理器这样做有其历史发展的必然性,处理器厂商需要维护兼容性来支持已有的应用资源,进而保持市场地位。而定制化设计则反其道而行之——不是强调兼容性,而是以应用为中心,由硬件去适应软件或者软件的计算模式。这一做法也有其弊端:定制化设计往往成本较高,如果没有较大使用量就无法真正推广。这就进一步牵涉到定制化设计的分类及其技术途径。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。