多核处理器(multi-core processor)也叫多微处理器核心,是在一个单一的计算组件中,加入两个或两个以上的独立实体中央处理单元(称为core,核心)。这些核心可以分别独立运行程序指令,利用并行计算的能力,可以加快程序的运行速度,提供多任务能力。只有两个核心的微处理器称为双核微处理器(dual-core processor)。
与单核处理器相比,多核处理器在体系结构、软件、功耗和安全性设计等方面都面临着巨大的挑战。
在核结构方面,核本身的结构关系到整个芯片的面积、功耗和性能。芯片构成分成同构和异构两类,同构是指内部核的结构是相同的,而异构是指内部核的结构是不同的。从理论上来看异构微处理器的结构具有更好的性能。此外,核所用的指令系统对系统的实现也是很重要的,多核之间采用相同的指令系统还是不同的指令系统,能否运行操作系统等,也是需要研究的内容。
在Cache设计方面,为了解决微处理器和主存储器之间的速度差异,使用多级Cache。目前有共享一级Cache、共享二级Cache以及共享主存储器等方式。通常采用共享二级Cache的结构,即每个处理器核心都拥有私有的一级Cache,且所有处理器核心共享二级Cache。然而多级Cache又引发一致性问题。在传统多处理器系统结构中广泛采用的Cache一致性模型有顺序一致性模型、弱一致性模型、释放一致性模型等,与之相关的Cache一致性机制主要有基于总线的侦听协议和基于目录的目录协议。目前多核系统大多采用基于总线的侦听协议。
在核间通信方面,各核心执行的程序之间有时需要进行数据共享与同步,因此多核微处理器硬件结构必须支持核间通信。目前比较主流的片上高效通信机制有两种,一种是基于总线共享的Cache结构,另一种是基于片上的互联结构。总线共享Cache结构是指每个CPU内核都拥有共享的二级或三级Cache,用于保存比较常用的数据,并通过连接核心的总线进行通信。这种结构的优点是结构简单,通信速度高,缺点是可扩展性较差。基于片上互连的结构是指每个CPU核心都具有独立的处理单元和Cache,各个CPU核心通过交叉开关或片上网络等方式连接在一起。各个CPU核心间通过消息通信。这种结构的优点是可扩展性好,数据带宽有保证;缺点是硬件结构复杂,且软件改动较大。折中的方式是可以在全局范围采用片上网络,而局部采用总线方式,来达到性能与复杂性的平衡。
在总线设计方面,当多个CPU核心同时要求访问内存或多个CPU核心内私有Cache同时出现Cache不命中事件时,总线接口单元对多个访问请求的仲裁机制以及对外存储访问的转换机制的效率决定了多处理器系统的整体性能。需要采用高效的多端口总线接口单元结构,将多核心对主存的单字访问转为更为高效的猝发(burst)访问,同时需要考虑最佳的一次burst访问字的数量模型以及多端口访问的仲裁机制。
除此之外,多核处理器在操作系统设计方面、低功耗设计方面、可靠性及安全性设计方面等都应根据其多核特点进行综合的考虑。
酷睿微处理器作为多核处理器的代表,其微体系结构主要采用了以下创新技术。
(1)宽位动态执行(wide dynamic execution)
宽位动态执行技术通过提升每个时钟周期完成的指令数,从而显著改进执行能力。(www.daowen.com)
(2)智能功率能力(intelligent power capability)
智能功率技术可以进一步降低功耗,优化电源使用,从而为服务器、台式计算机和笔记本式计算机提供更高的每瓦特性能。
(3)高级智能高速缓存(advanced smart Cache)
酷睿微处理器采用了共享二级缓存,大幅提高了二级高速缓存的命中率,从而可以较少地通过前端串行总线和北桥芯片进行外围交换。
(4)智能内存访问(smart memory access)
智能内存访问通过缩短内存延迟来优化内存数据访问。
(5)高级数字媒体增强(advanced digital media boost)
以前的微处理器需要两个时钟周期来处理一条完整指令,而酷睿微处理器则拥有128位的SIMD执行能力,一个时钟周期就可以完成一条指令,效率提升明显。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。