Intel Core微架构全解析 X6800抢先测
分享
Intel Smart Memory Access
Intel Core微架构同时亦改良了记忆体传取效能,每颗核心均拥有3个独立Prefetchers(2 Data and & 1 Instruction),及2个L2 Prefetchers,能同时地侦出Multiple Streaming及Strided Acess Patterns,让核心需要的资料提早准备就绪于L1之中,两组L2 Prefetchers则会分析L2 Cache资料并保留有日后需要的资料于L2 Cache之中。Core微架构的L1 Cache设计放弃使用上代Netburst的Trace Cache设计,因为Trace Cache的最大优点在于较长的Pipeline Stage微架构,而Core只拥有14 Stages故此它改用Banias架构的8-Way 32KB Instruction Cache + 32KB Data Cache设计,虽然容量比AMD K8的 64K Instruction Cache + 64KB Data Cache少一半,但由于AMD的L1 Cache只是2-Way设计,因此Intel的L1 Cache命中率相比K8有较轻微的优势。L2 Cache方面拥有特大的16-Way 256Bit 4MB容量,但Latechy却下降至和AMD K8相约的12-14ns之间,相比AMD K8只有16-Way 128Bit 1MB(部份型号只有512KB),Intel Core微架构在改良Cache系统后拥有绝对优势。
但如果对比系统记忆体存取表现,AMD K8却因内建记忆体控制器而比Intel Core微架构优胜,但由于Core微架构的采用上短Pipeline Stage架构及时脉相对Netburst微架构低,加上高容量的L2 Cache并内建Shared Router Bus减少FSB使用,因此系统记忆体控取的表现差距,已不像与上代Netburst微架构产品般严重,而为了进一步拉近与K8架构上的记忆体效能距离,Intel在Core微架构中加入全新的记忆体读取技术称为Memory Disambiguation。
Memory Disambiguation是一个十分聪明的设计,透过Out of Order过程把记忆体读取次序作出分析。在传统的微架构里,记忆体读取是按排程顺序而被执行,如图上例子Load 4是独立的Data X读取执行,亦必需要等待其他Store 1、Load 2及Store 3工作完毕,纵使Load 4的Data X和前面的资料存取动作并无关系,因为处理器并不会得悉前面的动作会否改变Data X的数值,所以不能重新排序并分析Load 4能否提前执行。
在Intel Core微架构中透过智能的分析机制,能预知Load 4的Data X是完全独立,并可让它提早执行。正因如此Memory Disambigutaion能减少处理器的等候时间减少闲置,同时减低记忆体读取的延迟值,而且它可以侦出冲突并重新读取正确的资料及重新执行指令,保证运作结果不会出现严重,但在正常情况下Memory Disambirutation出错的机会率甚低。
Intel Advanced Digital Media Boost
Intel Core微架构同时亦针对SSE指令执行作出了改良,称为Intel Advanced Digital Media Boost技术,新一代Core微架构拥有128Bit-SIMD interger arithmetic及128bit SIMD双倍精准度Floating-Point Operations。传统的处理器设计只有64Bit的SIMD interger arithmetic及Floating-Point Operations,因此在执行128Bit的SSE、SSE2及SSE3指令时,需要把指令分拆为两个64Bit指令,并需要两个时脉周期完成,但Core微架构则只需要一个时脉调期便能完成,执成效率提升达一倍,现时SSE指令集已经十分普遍地用于主流的软件中,包括绘图、影像、音像、加密、数学运算等用途,单周期128Bit处理器能力以时脉以外的方法提升效能,令处理器拥有高能源效益表现。
0人已赞