热点推荐
ZOL首页 > 服务器 > 产业 > 业界分析:Barcelona K10微架构详解(三)

业界分析:Barcelona K10微架构详解(三)


服务器在线 【转载】 2007年08月31日 09:33 评论
  首先,AMD Barcelona处理器会在一个月内发布。这款处理器成为构建在AMD新的K10微架构基础上的第一个解决方案,AMD对它寄予了厚望。我们还是一睹为快,先来了解一下新解决方案中所采用的微架构的诸多亮点吧。

      存储控制器

  当所有的高速缓存中都找不到被请求的数据时,那么请求就会被发送到存储控制器集成到处理器模中。在存储器工作过程中,存储控制器的模位置会减少等待时间,但是与此同时,它还会占用处理器的一个特殊存储器类型,增大模的尺寸,同时复制模的选择处理,因此影响了产量收益。模存储控制器是K8处理器的众多优点之一,但是,有时它的效率并不够高。而K10处理器的存储控制器的工作效率则得到了相当大的改善。

  首先,它现在能转换一条128bit信道上的数据,而且还能转换两条独立的64bit信道上的数据。因此,两个或多个处理器核心就能同时更高效地与存储器进行工作。

  其次,存储控制器中的调度和重新排序运算已被优化。存储控制器组进行读取和写入,因此可以最大效率地利用存储器总线。读取操作则优先于写入操作。要写入的数据被存储在大小未知的缓冲器中(假定能够容纳16~30个64字节的数据行)。通过成组地处理被请求的数据行,我们就能避免不断地将存储总线从读取转换成写入或反过来,从而节省了资源。在交替进行读取和写入请求过程中,从而显著地改善性能。

  第三,存储控制器能对请求序列和性能预取进行分析。

      预取

  显而易见,预取是K8处理器的一大优势。低等待时间的存储控制器可以使AMD处理器证实存储子系统能长时间具有卓越的性能。但是,K8处理器无法证实它与新的DDR2存储器具有同样的工作效率,这与具有强大预取机构的Core 2不同。K8处理器具有两个预取单元:一个用于代码,另一个用于数据。数据预取单元能够将取得的数据在简化连续性的基础上放入L2高速缓存中。
K10处理器则对预取机构进行了改善。

  首先,K10处理器将预取的数据直接传送给L1高速缓存,这样,当请求数据时就会忽略L2高速缓存的等待时间。尽管他增大了多余数据对L1高速缓存破坏的可能性,尤其是较低的高速缓存结合性,但是AMD声称有合理的措施可以很好地解决它。

  其次,他们实现了适应性的预取机构,可以动态地改变预取的距离,因此数据能够按时到达,保证高速缓存不会加载并不需要的数据。预取单元也变得更加的灵活:现在,它能够预取存储器上任何地址的请求,不仅仅是相邻数据线上的地址。不仅如此,预取单元现在也能进行软件预取请求。

  第三,分隔开的预取单元被直接附加到存储控制器中。存储控制器会分析从核心发来的请求序列,并以最优化的方式利用存储器总线将数据加载到写入缓冲器中。在写入缓冲器中保存预取数据行能保持高速缓存存储器清空状态并明显降低数据存取的等待时间。

  因此,我们已看到K10处理器的存储器子系统已经作了很多积极的改进。但是我们还是要说,在某些特性方面Intel处理器中的存储子系统可能会优于它。这些特性包括:在写操作之后并没有未知地址的随机装载,降低了L1D高速缓存的结合性,L1和L2高速缓存之间的总线缩小(关于数据传输率),L2高速缓存更小而且预取更加简单。尽管作了所有的改善,但是Core 2预取还是可能比K10预取更强大。例如,K10不能在指令地址进行预取,可以让我们跟踪各个指令,也不能从L2预取到L1使L2的执行时间更加有效。这些因素都会对各种应用产生不同的影响,但是在绝大多数情况下他们会决定Intel处理器的更高性能。

  让我们再看看K10微架构中其他的改进吧。

      新指令

      K10 处理器有一些新指令,从而扩大了它的功能。

      1. 在通用寄存器上扩大了位操作:

      LZCNT ?C 计算空行零位 ?C 计算出操作数中指向零位的数量;

      POPCNT ?C 位数 ?C计算出操作数中有一个1的位的数量;

      2.  处理SSE4a指令的SSE寄存器:

      EXTRQ ?C 从SSE寄存器中较低的64-bit部分特定位置提取一定数量的位;

      INSERTQ ?C从SSE寄存器中较低的64-bit部分特定位置插入一定数量的位;

      MOVNTSS, MOVNTSD ?C 标量浮点值的流保存(并不涉及高速缓存存储器)。

      SSE4a指令并不会与新的Intel SSE4.1和SSE4.2指令产生任何交叉。

虚拟化技术

  AMD继续增强了虚拟化技术,并发布了单机上使用的几种操作系统。其中最显著的虚拟化技术的改善是采用了Nested Paging(嵌套分页)。在这个系统中,虚拟设备的页码被嵌套在整个的系统管理程序的页码表中。如果没有建立与TLB中的页码的连接,那么CPU就会自动对所有的表进行转换,这与Shadow Paging不同,Shadow Paging需要大量的资源才能管理虚拟设备的表转换。

  新的K10处理器拥有新的能耗和频率管理系统。现在,每个核心都可以自己的频率彼此独立地工作,这个频率可能会随着每个核心上的加载情况而发生动态的改变。


业界分析:Barcelona K10微架构详解(三)

  但是,目前还不清楚在这种情况下共享的L3高速缓存的性能是如何进行调整的。所有核心上的核心电压都是相同的,它是最大工作量情况下由核心确定的。存储控制器不依赖于核心而对这个电压进行管理,在较低加载的情况下电压可能会降低。 

   结论

  目前还没有发布AMD新处理器上的信息,这也是为什么我们感到奇怪的原因。但是,就我们所了解的还是能对新的架构做出主要的结论。由于对核心做出了大量改进,新的AMD处理器承诺比先前的处理器性能会有明显的改善,尤其是增强了浮点运算的应用。这个CPU可以与Intel处理器在相同的时钟速度运行大量的应用程序相媲美,并有过之而无不及。设计的新的应用程序考虑了独特的处理器特性,如高效的非指定加载以及支持1GB的数据页。这些特性还可能改善附加性能。

  但是,新的CPUIntel相比还是有些不足之处。这里,我不得不指出在一些应用程序中,高速缓存和预取系统可能会性能产生消极影响。但是最大的问题可能是工作频率并不象刚开始预期的那么高。

  我们衷心希望AMD能很快克服新频率带来的问题,并继续关注旨在赢得计算机用户的两家公司之间的竞争。

给文章打分 5分为满分(共0人参与) 查看排行>>
频道热词:LED照明  工作站  云计算  
视觉焦点
TOP10周热门服务器排行榜
  • 热门
  • 新品
  • 系列
查看完整榜单>>