Intel Core vs. AMD K8:CPU架构分析(2)
关键词:Intel Core AMD K8 CPU 架构
导言:Intel全力推出的Core架构CPU在技术上有哪些突出特点?与AMD 大获成功的K8架构相比,优势体现在哪里?
Core架构 : 高效的预读取与缓存
在CPU频率已经达到3GHz甚至更高的时代,如何提高指令和数据的缓存效率是CPU设计者最重要的工作之一。因为只有这样,才能保证随着频率的提高,CPU性能也相应提高;否则的话,更高的频率只会使CPU花费更多的时钟周期来等待数据。这种把数据提前装入缓存的技术被称为“数据预读取技术”(Prefeching)。但是,之前的CPU采用的数据预取技术并不能保证每次都成功,总会有一些失败的情况。这会导致CPU性能降低,特别是在运行对带宽敏感的应用程序的时候。
Core 架构所采用的数据预读取技术毫无疑问是目前为止最先进的,优于 Pentium 4 和 Athlon 64 所采用的技术。Core 架构中的每个核心至少有3组预取单元,包括2组数据预取单元和1组指令预取单元。除此之外,共享式二级缓存还拥有2组预取单元。这样,在一个双核心的采用 Core 架构的CPU中,共有8组预取单元。当然,这就产生了另一个问题:多达8组的预读取单元在进行预读取工作时,很容易会妨碍到正在运行的程序的正常的 load 操作。为了避免这个瓶颈,Core 架构采取了预读取监测器的机制,该监测器总会给予正在运行的程序更高的优先级。这样,预读取单元就决不会从正在运行的程序那里“偷”走很多带宽了。
Core 架构的预读取机制还有更多新特性。数据预取单元经常需要在缓存中进行标签(标签=Indexs of cache,缓存索引)查找。为了避免标签查找可能带来的高延迟,数据预取单元使用存储接口进行标签查找。如果你还记得,载入操作的发生频率是 存储操作的2倍之多,那么就容易理解这样的选择了——存储接口的使用频率仅为载入接口的一半。并且,存储操作在大多数情况下并不是影响系统性能的关键,因为在数据开始写入时,CPU即可以马上开始进行下面的工作,而不必等待写入操作完成。缓存/内存子系统会负责数据的整个写入到缓存、复制到主内存的过程。
Core 架构的缓存系统也令人印象深刻。二级缓存容量高达4MB,且两个核心共享,访问延迟仅12到14个时钟周期。每个核心还拥有32KB的一级指令缓存和一级数据缓存,访问延迟仅仅3个时钟周期。从 NetBurst 架构开始引入的追踪式缓存(Trace Cache)在 Core 架构中消失了。NetBurst 架构中的追踪式缓存的作用与常见的指令缓存相类似,是用来存放解码前的指令的,对 NetBurst 架构的长流水线结构非常有用。而 Core 架构回归相对较短的流水线之后,追踪式缓存也随之消失,因为 Intel 认为,传统的一级指令缓存对短流水线的 Core 架构更加有用。
| 共9页: 上一页 [1] 2 [3] [4] [5] [6] [7] [8] [9] 下一页 |

搜索