Rattner表示,英特尔在多核处理器发展上,采用了与IBM不同的路径。在英特尔的多内核架构当中,英特尔强调的是高度可编程性,非常强调所有的处理器,所有的内核在架构上的一致性,所有的内核都必须共享共同的指令组以及必须要有一致性的,要有同一套的内存的模式。但是在IBM的Cell架构当中,通用内核的内存采用的是一种传统的内存模式,而它的加速内核采用了另一种内存模式,而且必须要通过编程才能够确保这两种不同的内存模式放在一起,这大大提高了它的架构复杂性。实际上,Cell产品推向市场出现一些延迟,这也和它在内存模式上过度复杂性有关。需要指出的是,英特尔把一些专用硬件集成到多内核架构的时候,英特尔会把专用硬件作为已有的英特尔指令组的一个扩展,而不是作为一个单独的架构。(编者按,例如MMX、SSE、SSE2、SSE3等指令集,就是针对多媒体进行加速的指令。)
另一种关于多核设计的观点是,尽量简化每个处理器内核,提高每个处理器上的内核数目,达到提高并行度和处理器性能的效果。对此,Rattner表示,英特尔在设计多核处理器时,也要确保每个内核具有多线程、超线程的能力。在2010年之前,这个十年的后半期当中,当具体产品问世时,我们可以看到每个核是具有一定程度的超线程能力的,例如每个核能够处理四条线程。让每个核仍然具有多线程的能力这可以更充分地应用缓存带宽。
而且,在将来的多核处理器设计当中,英特尔会在一个系统当中,在一个处理器当中提供不同类型的核。虽然所有的核在架构上具有兼容性,但这绝不意味着所有核都是一模一样的,英特尔会对不同核做专门任务的分配,例如有一些核是做了媒体和图形功能增强的,有一些核是做网络和通信功能增强的,还有一些核是负责安全的。也就是说,在万亿级次计算的多核处理器当中,不同的核会有不同的能力,但是它们会共享同一套指令组和共同的架构的基础,这样的设计对于编程工作来说,可以让编程变得尽可能简单,并具有前后一致性。
此外,Rattner还指出,多核设计是提供了片上Scale-up(向上扩展)一个最好的可能性。在这样的设计当中,在片上的核到核,或者缓存到缓存之间的延迟,比核在一个封装当中的缓存到另一个封装当中的缓存的延迟小的多。在多核设计当中,核到核、缓存到缓存之间的延迟是以十计的主频周期来计数的,但在传统的Scale-up架构当中,封装当中的缓存到另一个封装之间的缓存是以百计甚至以千个主频周期来计算。因此,在万亿级计算方案当中,Scale-up的性能和传统的多处理器的架构相比,Scale-up的性能非常好,而且效能有巨大的提升。
网友评论