- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
访存地址依赖性分析技术 起底让英特尔和苹果赔数亿美金的“752专利”
访存地址依赖性分析技术 起底让英特尔和苹果赔数亿美金的“752专利”
访存地址依赖性分析技术 起底让英特尔和苹果赔数亿美金的752专利
近日,威斯康辛的地方法院宣布,苹果在自家旗下的A系列处理器中侵犯威斯康辛大学麦迪逊分校的处理器微结构技术专利,被判赔偿2.34亿美元。七年前,英特尔也倒在了同一个专利上,支付了不明数额的巨款与威斯康辛大学麦迪逊分校达成和解。这项技术究竟是什么来头,使得英特尔和苹果在这一点上先后栽倒?本文将为读者们进行追根究底的分析。
一项让英特尔和苹果先后栽倒的专利
美国专利编号US5781752(按照报道此案的惯例,以下简称为752专利),持有人为威斯康辛大学麦迪逊分校的研究基金会WARF。它如同幽灵一般在七年时间里两度发起进攻,向法院起诉英特尔和苹果两家芯片设计巨头侵犯自己所持有的752专利,并都在庭审中以压倒性优势击溃了两家巨头的设计专家与庞大律师团队的共同辩护,领走了数亿美元的专利侵权赔偿。在许多不明真相的报道和充满误解的传言中,这只不过是一个专利流氓两度敲诈巨头公司得手的案例,然而事实真相远非专利流氓四个字能够概括。
从专利持有人的身份上来说,威斯康辛大学麦迪逊分校从上世纪80年代后就一直站在计算机体系结构与处理器微结构研究的最前沿,除了这一项专利以外还诞生了众多影响力极为显赫的研究成果,例如每一本教科书中都占有一席之地的3C-高速缓存命中率分析模型、体系结构研究中常用的瑞士军刀Gem5模拟器、乱序多发射微结构中至关重要的重排序缓冲区(ROB)、解耦式结构等等都出自这所学校的前沿研究项目,旗下拥有多位已在圈内开宗立派的元老级学者。这一专利的发明者之一Gurindar Sohi便是威斯康辛麦迪逊最耀眼的明星之一,他在上世纪80年代中后期到90年代中后期的乱序多发射微结构框架的探索中做出了诸多杰出贡献,从支持精确异常的乱序执行到高速缓存系统的非阻塞式设本文由论文联盟http://www.LWlm.cOm收集整理计,几乎各个层面都有他留下的足迹。他也凭借这些贡献拿到了2011年的计算机体系结构领域最高奖Eckert-Mauchly Award,可以说是一位与乱序多发射微结构框架一同成名的先驱。从这个层面上来说,威斯康辛一方的形象已经和专利流氓给人的固有印象相去甚远。
再从技术层面上来看,752专利的标题为面向并行处理计算机的基于表的数据推测电路,申请于1996年12月26日,批准于1998年7月14日,是一项实打实的微结构专利技术,用于帮助处理器进行访存地址依赖性分析。这个专利的背后积累了Gurindar Sohi和他指导的几位博士生工作多年的研究成果,并非是一个花了几天或者几周简单勾勒出炉,然后马上申请专利坐等大鱼上钩的粗制滥造技术,而是一项货真价实的技术研究成果。
在752专利这件事情上,除了专利流氓的说法不确外,此前的坊间传闻和媒体报道充斥着其他误解。由于申请年代的关系,专利标题中并没有标明访存地址依赖性分析的相关术语(memory disambiguation),而是代之以当时具备特殊含义的数据推测(data speculation)。可能受到数据推测这一关键词的误导,这项专利被传闻与分支预测有关。事实上,处理器内部的推测性执行(speculation execution)技术有很多种,分支预测只是其中一种,分支预测往往被归类为控制流推测,而数据推测是与控制流推测相独立的另一种推测性执行,两者同为推测性执行但是推测的目标和手段都不相同,并没有什么直接关联。并且准确来说,752专利的真实应用场景是在处理器核心内部的load/store单元当中,亦非标题中比较宽泛模糊的并行处理计算机。
为了更好地了解752专利的真正价值,介绍威斯康辛一方与英特尔和苹果的法庭交锋,做出一个更加公正的描述作铺垫,我们需要首先介绍一些基本的访存地址依赖性分析的知识,才能看清这两次技术意味浓厚的争论背后的真相。
访存地址依赖性分析与752专利详解
众所周知,乱序执行处理器会维护一个大小不定(例如英特尔的SkyLake是212条指令)的窗口,在这个窗口内部,所有指令在执行资源允许、源数据准备停当的情况下可以打乱次序执行。但这样的乱序操作方式在访存指令上需要额外处理。
例如在图2左侧这样的一段访存序列上,如果我们能用某种方式在执行期间获知addr1与addr2是不同的地址,那么我们就能够把这段指令序列重新排序成右边的样子,将load指令提前到store指令之前开始执行,而不必等待store指令完成。但是如果addr1与addr2是相同的地址,我们就不能进行这样的重排序了,而是只能依照左侧的原始执行顺序来操作,让store指令将数据存储在addr1上,然后load指令再从addr2(与
文档评论(0)