注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

磐石之心看Business

观IT行业之大事 思消费电子之精髓

 
 
 

日志

 
 
 
 

TLB bug是英特尔的死穴么?  

2008-12-09 08:53:19|  分类: 磐石之心IT研究 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

TLB bug是英特尔的死穴么?

/磐石之心

最近,关于英特尔最新的Core i7存在TLB故障是硬件行业最热门的话题,备受广大程序员和消费者关注。我们都知道,Core i7是英特尔第一款QPI架构的多核心CPU处理器,后续即将发布的Nahalem也是基于i7一样的架构,因此很多人都在关心到底TLB故障会不会影响Nahalem的如期发布?

记得上个月,笔者写了篇《"上海"发布挑起AMDIntel新多核之战 》,在文章的最后也对英特尔首次采用QPI替代FSB前端总线设计表示担忧:“毕竟英特尔是首次使用全新的直连式原生多核芯片设计,存在BUG是很有可能的事情。”

没有想到在Core i7发布仅仅不足20天之后,国外媒体就爆出英特尔基于QPI架构的i7被检测到存在TLB Bug。英文标题是“Nahalem also has a TLB BUG,有兴趣的朋友可以用Google搜索一下英文原文。原文链接

下面笔者主要谈一下对Nahalem存在TLB故障会不会影响Nahalem预期上市计划的个人看法:

首先,解释一下什么是TLB学过《微机原理》的读者可能都明白物理内存、虚拟内存和存储管理单元的概念。物理内存就是我们机器里的内存条,所有的数据都要加载到物理内存中运行,但是程序员不知道客户机器中的物理内存大小,因为无法为程序分配物理内存;虚拟内存的出现则让程序员无需考虑客户机器物理内存的大小,可以随意的给程序分配内存地址,只要遵循硬件厂商和操作系统厂商的开发手册即可;而虚拟内存数据和物理内存之间要形成映射,到底每一段虚拟内存数据被放到哪个物理内存中,则需要存储管理来实现。

而虚拟内存和物理内存间的映射关系被以页表的形式存储,而TLB就是一个高速页表缓存器,专门存储这些映射关系,由于这些映射关系较多,所以TLB也是分级管理,Nahalem就是三级TLBCPU执行数据访问时候,必须访问TLB从而获取映射关系,从而知道虚拟内存数据到底放在物理内存的什么位置,然后精确的处理数据。

其次,看一下到底TLB故障是如何产生的?TLB故障简单的说,就是由于存放在二级TLB中的映射关系表,被错误的放到三级TLB中,导致CPU读取错误,也就是说找不到需要的虚拟内存数据和物理内存的映射关系,无法进行计算而出现死机。

再次,更换新架构容易产生TLB故障。记得AMD也曾因巴塞罗那出现TLB bug而导致被迫推迟上市,AMD用了将近2个季度的时间对该bug进行了修正。修正了Bug之后的巴塞罗那四核处理器性能卓越,在最新的全球超级计算机TOP10中,有七套系统采用AMD芯片,其中6套系统采用AMD的巴塞罗那四核处理器,其中中国超级计算机曙光5000A顺利进入前十,这足以体现AMD巴塞罗那修正TLB bug后的卓越性能。

但是英特尔是首次在其产品中采用类似AMD HT技术架构的QPI取代FSB前端总线,出现TLB故障也可能是一种新技术不成熟的必然结果。也有用户以玩笑地口吻讽刺英特尔,称英特尔抄袭AMD芯片设计太忠实,连错误也一并抄袭。

最后,会不会影响Nahalem上市预期?这个问题笔者不敢做精确预测,但是基于Nahalem架构的Core i7比原计划提前了整一个季度发布似乎只是为应对竞争对手AMD的“上海”皓龙处理器上市,铤而走险为之。因为AMD的“上海”45纳米皓龙处理器升级了制造工艺的同时,还将性能提升了35%,功耗降低了35%,如果英特尔不迅速推出基于Nahalem的产品,必然会给人落后的感觉,英特尔不得已先发布了消费级产品Core i7来应对,而基于多路服务器的Nahalem仍不敢贸然提前上市。而且i7的发布会的现场,亚洲消费类PC老大联想竟然缺席,这说明联想对英特尔新架构成熟度存在担忧。

无论是Nahalem还是Core i7都是采用最新的QPI架构,根据经验如果i7存在TLB故障,那么Nahalem也难以逃脱TLB故障,如果仅仅如英特尔官方所说“通过更新BIOS来修正这个故障”的话,大家可能都知道这种修正方式仅仅是重新建立一个高速缓存,通俗的说是绕过TLB故障,这无疑会大大降低Nahalem的性能,这或许不是英特尔想要的结果,毕竟Nahalem也是标榜低功耗和高性能。

相反,AMDHT架构技术已经使用了5年之久,该架构经过了市场的考验,目前已经没有任何问题,“巴塞罗那”和“上海”皓龙处理器的成功都证明了这一点。而英特尔的Nahalem现在爆出TLB bug似乎不合时宜,毕竟AMD基于多路服务器的“上海”已经顺利量产,并且被惠普、戴尔、SUN、曙光等服务器企业全线产品采用,同时AMD还会在2009年底公布其6核心的“伊斯坦布尔”。竞争激烈的市场已经无法给英特尔留下6个月的时间去修复TLB bug,这必然影响到其后续产品的上市计划。

TLB bug或许成为将英特尔的一个“死穴”,处理不好必然会让其在后续的竞争中处于不利地位,到底英特尔能否顺利解决TLB bugNahalem预期上市呢,对此我们拭目以待!

英特尔TLB故障英文原文:

Nehalem also has a TLB bug
Confirmed by Intel
We were pointed out that Intel's Nehalem, the CPU that we know as Core i7 has
TLB. TLB, three letters that have destroyed the sales of Phenom and Opterons
based on 65nm K10 cores stands for Translation Lookaside Buffer and Intel
officialy states in its Intel Core i7 Processor, Extreme Edition Series and
Intel Core i7 Processor - Specification Update PDF that the CPU has a TLB bug.
If you open Intel
s official document that is nicely stored here, on page 37
AAJ1 Clarification of TRANSLATION LOOKASIDE BUFFERS (TLBS) Invalidation part,
you will see that Intel tells that in some rare cases improper TLB invalidation
may result in unpredictable system behaviour and can hang your OS or result
with incorrect data. Here is the word to word "In rare instances, improper TLB
invalidation may result in unpredictable system behavior, such as system hangs
or incorrect data. Developers of operating systems should take this
documentation into account when designing TLB invalidation algorithms. For the
processors affected, Intel has provided a recommended update to system and BIOS
vendors to incorporate into their BIOS to resolve this issue."
We are not sure if you should be concerned, but such a thing completely
destroyed K10
s reputation and we will certainly do a bit more investigating
about it, and ask Intel for a comment. We would like to thank one of our
readers for the tip.

原文链接

  评论这张
 
阅读(948)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017