对于多核cpu 和多核编程模型的讨论 多内核定义: 多内核(mu lticore chips)是指在一枚处理器(chip)中集成两个或多个完整的计算引擎(内核)。 背景: 为什么不能用单核的设计达到用户对处理器性能不断提高的要求呢? 答案是功耗问题限制了单核处理器不断提高性能的发展途径。 多核技术的开发源于工程师们认识到,仅仅提高单核芯片(one chip)的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。 上世纪八九十年代以来,推动微处理器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上进一步提高了微处理器的性能。这两个因素是相互影响,相互促进的。一般说来, 工艺和电路技术的发展使得处理器性能提高约 20 倍,体系结构的发展使得处理器性能提高约 4 倍,编译技术的发展使得处理器性能提高约 1.4 倍。但这种规律性的东西却很难维持。 多核的出现是技术发展和应用需求的必然产物。这主要基于以下事实: 1. 晶体管时代即将到来 根据摩尔定律,微处理器的速度以及单片集成度每 18 个月就会翻一番。多核通过在一个芯片上集成多个简单的处理器核充分利用这些晶体管资源,发挥其最大的能效。 2.门延迟逐渐缩短,而全局连线延迟却不断加长 3.符合 Pollack 规则 按照 Pollack 规则,处理器性能的提升与其复杂性的平方根成正比。 如果一个处理器的硬件逻辑提高一倍,至多能提高性能 40%,而如果采用两个简单的处理器构成一个相同硬件规模的双核处理器,则可以获得 70%~80%的性能提升。同时在面积上也同比缩小。 4.能耗不断增长 5.设计成本的考虑 6.体系结构发展的必然 研究人员提出了两种新型体系结构: 单芯片多处理器(CMP)与同时多线程处理器(Simultaneous Multithreading,SMT),这两种体系结构可以充分利用这些应用的指令级并行性和线程级并行性,从而显著提高了这些应用的性能。 从体系结构的角度看,SMT比 CMP对处理器资源利用率要高,在克服线延迟影响方面更具优势。CMP相对SMT的最大优势还在于其模块化设计的简洁性。复制简单设计非常容易,指...