Intel Larrabee

英特尔Larrabee,是英特尔公司的通用图形处理器(GPGPU)的开发代号/内核代号。有别于英特尔当时的英特尔GMA系列集成式显示内核,「Larrabee」显示内核是英特尔继Intel 740以后又一独立式显示内核,研发团队、开发概念等都与英特尔的集成式显示内核的完全不同。原计划最迟于2010年作为消费级图形处理器产品推出市场,但由于多次的「跳票」、研发进度不如预期、图形性能不佳、功耗过高等因素,[2]最终英特尔于2010年5月宣布取消发布相关显卡的计划,而「Larrabee」研究计划亦无后续消息。[3]但是,同样是2010年,英特尔公布的的Intel MIC多处理器架构中继承了大量由「Larrabee」研究计划而来的设计元素,最大的区别在于前者专注于为高性能计算而设计的多处理器协同运算,后者是作为图形处理器(GPU)而生。

Intel Larrabee
代号Larrabee
制造工艺工程样品为45纳米
预定计划实际产品使用32或22纳米[1]
API支持
Direct3DDirect3D 10?
OpenGL
OpenCL
历史
前代产品Intel 740

缘起

英特尔最后的独立显卡产品是I740。后来英特尔的平台化策略中,I740显示内核被集成于芯片组中的北桥芯片,成为Intel的一系列集成式芯片组产品。2006年以后,ATI/AMDNVIDIA都推出了相关的GPGPU产品。英特尔为保持优势,遂计划重新推出独立显卡产品,而内核架构与英特尔的集成式显示内核和超微、辉达的一般显示内核不同。

架构

英特尔的Larrabee图形处理项目完全有别于现时所有图形处理技术(包括英特尔自家的集成式显示内核),不同于超微以及辉达一直以来使用的仅有图形运算指令的流处理技术,而是基于自家的x86架构,指令方面除了拥有部分新的图形处理指令以外保有大量的x86指令,使得Larrabee拥有比竞争对手更为灵活的可程序化特性以及更为强大的通用运算处理能力,算是英特尔发展多内核x86并行运算架构的一个延伸。[4]

Intel Larrabee的内核布局略图

x86「IA」内核

与当时以及现时一般的图形处理器不同,一般的图形处理器是采用流式处理器作为内核运算单元/渲染器。而Larrabee采用x86架构的,称为「IA」的处理内核,概念上就是传统CPU内核,这些处理单元就是传统意义上的着色器或内核运算单元,不过就单个运算单元而言,一个「IA」内核的数据吞吐量要比单个流式处理器/算术逻辑单元要高得多。就单个内核而言,对比当下的CPU内核,「IA」内核也只是微内核。[5]

奔腾P54C内核的架构图

事实上,每个「IA」内核基于旧有的首代奔腾P54C内核改造而来,而非当时最新的Nehalem架构处理器内核,英特尔认为,当年仅具有五级流水线且仅能依序运行的奔腾P54C内核,相比拥有14级管线的拥有复杂的乱序运行结构的Nehalem,更有图形化改造潜力,而且奔腾内核即使经过改造使内核规模扩增,通过芯片制程工艺的发展改进,多x86内核更易于达成。[6]预计将采用45纳米甚至是32或22纳米。[7]2008年8月,英特尔称Larrabee芯片内的内核数量上可以随意增加或减少,以8的倍数改变,而且性能在8至48内核数量范围内基本上成线性关系,英特尔官方报称浮点性能可达到TeraFLOPS级别。[4]所有的「IA」内核,运作频率会是2.0GHz。Intel声称,这个时脉下32个「IA」内核时的显示内核运算性能可以达到2TeraFLOPS。[8]处理器仍采用顺序而非乱序运行架构。[9]整个「IA」内核内部是多指令流多数据流MIMD)形式布局,两个整数算术逻辑单元使用各自的指令发射端,而16个ALU的浮点单元则以单指令流多数据流(SIMD)的形式共用一个指令发射端。[10]

英特尔公布的「IA」内核架构图

英特尔在旧有的奔腾P54C内核上,添加线程分派单元、二级缓存、矢量运算单元及其寄存器、超线程等、删减前段总线(FSB)改以环形总线节点替代。即使是既有单元,也作了大量的修改变更。因此Larrabee并非单纯是奔腾P54C改进。[11]

浮点运算

添加512比特SIMD矢量单元,由16个/宽幅,32比特的矢量ALU组成,共用一个指令发射端,相当于现在CPU内核内部的浮点运算单元,但对比当时的Core 2 DUO仅有的8宽幅的32比特浮点运算单元每内核每时钟周期仅能进行8次单精度浮点运算,各「IA」内核每时钟周期能进行16次单精度(32比特)浮点运算。若以Larrabee拥有10个内核去计算,每个周期一共可以支持160个单精度矢量运算;Core 2 Duo双内核处理器只可以支持16个。[5]所以,Larrabee的浮点运算性能比传统的处理器强。内核亦支持一套新的矢量指令集,用作矢量内存、整数和浮点计算。浮点运算方面,支持IEEE标准的单双精度。[12][11]

与NVIDIA的GeForce 8相似,每一个矢量运算单元在一个周期中,只会运算一个颜色数据,务求提升单元的使用率。不过,在数据流通方面,一切都是以代码形式出现。而传统的显示内核,一般都会使用专门的逻辑单元,去管理数据流通。[13]

整数运算

但在标量/整数数据中,主流处理器始终较有优势。Core 2 Duo是单核每周期处理四个,Larrabee只是单核两个。二级缓冲内存方面,每一个内核将会拥有256KB。Larrabee并非是单纯建基于旧的Pentium内核,指令解码除了奔腾原有的指令以外,添加Larrabee专用纯量指令以及新的x86指令,纯量运算单元也加入对新指令的支持,在每一个纯量单元中,由两个负责纯量运算的算术逻辑单元组成,组成一个主要和辅助指令运行管线,拥有各自对应的指令发射端。一个可以处理x86或新引入的Larrabee标量指令集,一个用来处理简单的ALU计算或者x86指令集的子集命令。[11]

超线程

Larrabee还会有特殊的超线程特性,支持单核运行四条线程。为支持单核四路超线程技术,矢量和标量单元各自拥有4组寄存器。[11]

缓存架构

原有的一级数据和指令缓存均由8KB扩增至32KB,其位宽也扩增至512比特;二级缓存容量为256KB,每内核独占;内存寻址能力亦达到64比特,与现代的处理器相若。[11]

图形引擎

英特尔曾经聘请了专注光线跟踪的研究员,预计Larrabee显示内核可以支持相关技术。[14]DirectXOpenGL中,仍然会使用栅格化渲染,但将以软件实现。[15]而且,这种以软件方式实现的光线追踪、光栅化等作业将简化代码。[16]

不过传统的纹理/材质的采样、解压缩、混合等作业仍由固定功能的纹理材质单元处理。但纹理/材质等缓存则是以x86数据的形式暂存于IA内核内的二级缓存上,须进入「IA」内核访问,因此,纹理单元亦具有虚拟地址转换特性来访问这些数据。[11][17][11]

图形程序接口

Larrabee可以同时支持DirectXOpenGL。由于是通用内核,亦可以支持物理加速[18]。图形API方面,它支持主流的 DirectXOpenGL,而Intel亦会推出自家的标准。目的是充分发挥多x86内核的性能。[19][20]

消除混叠技术方面,除了传统的MSAA等抗锯齿技术,还会实作利用CPU进行的形态过滤抗锯齿MLAA)。MLAA是一种后期抗锯齿技术,虽然由英特尔最先提出,但最先实作此技术的是AMD,AMD在发布Radeon HD 6000系列显示内核时率先引入,后来Radeon HD 5000也予以支持。[21]

通用运算以及硬件加速

支持x86指令集、添加Larrabee指令集,使得普通的编程语言也能方便调用GPU以实现GPU加速,非常明确的GPGPU的设计方向。不同于对手辉达和超微需要专门的应用程序接口,而且还需要额外的学习过程方能方便使用。[19]

针对影像方面,Larrabee显示内核内有专门的影像处理单元。[22]

总线以及内存接口

Larrabee显示内核内部使用环形总线,与ATIRadeon R600相似,但每个方向是512比特(双向1024比特),而显示内存与其控制器的连接仍采用CrossBar的形式,而Radeon R600是显示内存和其控制器之间使用单向256比特(双向512比特)的环形总线。[23] 各「IA」内核、显示内存控制器、图形引擎、PCI-E接口等亦使用此总线互相通讯。系统接口为PCI-E 2.0/2.1 x16。内存将使用GDDR5显示内存,但也会兼容GDDR3GDDR4[19][24][25]Larrabee内核内部还会实现虚拟内存共享,可以使CPU访问显示内存中的数据,而GPU也可访问主内存中的数据。[17]

电源管理

Larrabee面世时的产品并没有配备任何节能技术,原来英特尔x86 CPU上常见的C1E/EIST等节电技术并没有移植到「IA」内核上。英特尔声称第二代的Larrabee显示内核将会加入一些节电技术。[26]

制造和合作推广

英特尔表示,Larrabee的芯片届时会采用自家的32纳米或22纳米制程,尽管2009年时发布的工程样品仍然使用45纳米制程,并且表示显示芯片的制造不会外包给台积电等厂商,但显卡的制造则效仿辉达和超微的做法,交给合作伙伴厂商来完成。[27]2008年时英特尔也透露已经与一些显卡制造商进行过洽谈,[28]甚至有传言指索尼也在英特尔的积极游说下曾经打算在研发PS4时使用Larrabee项目,尽管索尼和英特尔并没有直接承认此事,但PS4的确改用了x86架构处理器,放弃POWER架构Cell处理器以便于一般电脑游戏转为游戏主机电子游戏[29][30][31]除此以外任天堂Wii U在开发初期也有类似传言,微软也不例外。[32]

计划状态

原预计「Larrabee」会在2008年第三季度推出样本,在2009年正式发布,但实际上2009年才有工程样品,发布日期也推迟到2010年,但最终还是在2010年5月被突然宣布中止[33][34]

2009年11月4日,英特尔官方宣布首代「Larrabee」芯片不会有消费级图形内核产品发布。[35]「Larrabee」最初发布时也只有一个软件平台,在这个消息发布后不久,尽管Larrabee项目本身并未取消[36],但已被转为一个图形处理和高性能计算的开发平台,变成纯粹的研发用途[37][38][39]。英特尔对此的理由是,由于Larrabee的硬件软件开发进度都比预期有所落后,英特尔需要根据目前的状况来作出未来的战略调整,[40]英特尔亦表明在2010年「Larrabee」计划会作进一步的更新。

但其实在2009年的国际超级计算机大会中,英特尔已经只字不提Larrabee。而英特尔曾经展示的Larrabee样品,单精度浮点运算性能只有1TFlops。与此同时相对应的是,AMDRadeon HD 5970的单精度浮点性能已经达到4.64TFlops。而采用x86指令集架构作为图形编程架构,硬件更要兼容旧有的一系列图形标准,如Direct3DOpenGL等。内核架构设计对于图形处理而言过于复杂,相信亦是Larrabee项目改变的主因之一。在2010年9月,英特尔承认Larrabee架构「构想美好,但不现实」,它在图形处理方面存在缺陷,所以就算有成品出现,不仅图形性能都会不佳,连带影响浮点运算能力,而且功耗亦会比较高。利用软件实现一切过往硬件实作的功能,包括传统上的光栅化,效率将会很低。[41][42][43]

由「Larrabee」项目中直接推出图形内核的计划于2010年5月被中止。[3]2010年5月25日,英特尔通过官方网志宣布「Larrabee」不会作为图形处理器发布,但会推出与高性能计算相关的产品和辉达Tesla运算加速卡竞争。[44]

后续项目

其后英特尔还首度承认MIC项目其实就是Larrabee项目的后续完善版本。[45]

在Larrabee项目取消以前,除了Larrabee外,英特尔还有若干个其他类似的Many-Core项目,例如POD[46]。Intel曾经推出过「Knights Ferry」,当时被认为属于Larrabee的产品线。不过,它被用来面向软件开发人员。目的是让他们充分了解Intel的多内核架构。「Knights Ferry」的内核频率是1.2GHz,拥有32个x86内核。支持特别的超线程技术,单一内核能仿真成四个内核。

Larrabee显卡计划被取消后,同样是在2010年,英特尔MIC多处理器架构(「众核」架构)随即发布,更将此前的「Knights Ferry」项目也收归其中,尽管该架构亦沿用Larrabee项目的诸多设计元素(甚至连图形处理的电路单元也一并保留[47]),但不再作为图形处理器使用,而是以实作高性能计算相关的多处理器协同运算为目的,在芯片上集成远比现行x86处理器要多得多的x86处理器内核。该新项目的首款工程样卡即是原有的「Knights Ferry」,仍采用45纳米制程;而实际正式发售的产品是使用22纳米制程制造,开发代号「Knights Corner」,拥有50个x86内核,已于2012年8月推出的Xeon Phi协处理器(运算加速卡),面向高性能计算市场,为主处理器提供运算加速。[45]而2014年,英特尔公布第二代Xeon Phi,内核代号「Knight Landing」,采用不同于上一代的、基于Silvermont微架构的处理器单元设计,但仍然有AVX-512等上一代Xeon Phi采用的「Knights Corner」内核的特性,采用14纳米工艺制造,并且不再保留用于图形运算的电路单元,[47]在2015年3月正式对外展示了相关硬件以及其演示。[48]

评价及影响

辉达CEO黄仁勋经常对Larrabee大造文章,批评Larrabee的种种不合理之处,并称英特尔在IDF上认为「Larrabee的出现会使显示内核将在两到三年内消失」这番消息是不切实际的「笑话」,认为Larrabee的性能在老旧的x86架构的拖累下不可能有出色表现;[49][50]也批评英特尔没能在可程序化和固定功能上作出合理平衡,过分强调可程序化,而图形处理任务过程当中并非全部都可以通过可程序化来实作,即使有但性能也会非常糟糕[51];还认为英特尔此举纯属对此故弄玄虚,企图利用幻灯片上的纸面数据忽悠图形处理行业,即使Larrabee有产品也只是急于求成的不良品[52]。对这些批评,英特尔戏称他是Larrabee的公关经理,而且不带薪酬。[53][54]

一些媒体还对英特尔利用x86内核作GPU存疑,认为英特尔仍然没能将图形处理放在首位,因为对于常用的图形程序接口诸如DirectX以及OpenGL都没有硬件上的支持而只是软件支持,即使是英特尔声称要开发自家的图形API,其实也不过是充分利用多x86内核而已,相当于多内核优化,由此看出英特尔研发Larrabee的目的更多地是照顾通用运算而非图形处理。[55]也有媒体认为,英特尔利用自己专长的x86架构来开发显示内核纯属偷懒且急于求成之举。[56]

优良的架构亦需要驱动程序的配合,但过往英特尔的集成式显示内核,由于驱动差,很多原本硬件支持的功能都不被支持,立体图像的质素亦较差。所以,纵使英特尔希望与不同的显卡厂商合作推出「Larrabee」显卡,但都只持观望态度。英特尔也承认,在高性能图形驱动程序的编写能力和经验上不如NVIDIA和AMD。为了提高厂商和公众的信心,英特尔特意强调Larrabee的驱动程序开发团队是独立于其IGP产品,而且,Larrabee的驱动程序编写将作为一个重点来攻关。[57][58]

「Larrabee」项目的中止使得索尼决定以AMD的中央处理器和显示内核产品作为PS4游戏主机的CPU和GPU。[29]日本媒体Impress Watch认为英特尔的Larrabee移植至游戏主机困难重重。[59]

尽管Larrabee项目后来被中止,但是对辉达以及超微研发图形处理器的理念亦产生不少影响。NVIDIA在2010年推出的NVIDIA GeForce 400系列时所用的「Fermi」架构便参照Larrabee的一些设计概念,将GPU内部模块化,每个模块内部下辖多组流处理器(称为「SM」单元)以及一些特殊单元,构成一个称为「GPC」的模块,除了没有独立的内存控制器以及显示输出单元,每个GPC模块相当于一个小型GPU,各GPC模块的数据共用由添加的全域二级缓存实作;AMD在2011年底推出的AMD Radeon HD 7000系列时所用的「次世代图形内核」(Graphics Core Next)架构更是大量参照Larrabee项目的设计概念,将一些流处理器以及一些指令分派单元合作一个模块,称为「CU」。[60]

参考

  1. . zdnet.com.cn. 2010-01-04 [2013-05-16]. (原始内容存档于2016-03-04).
  2. . [2013-05-16]. (原始内容存档于2013-04-01).
  3. Ryan Smith, , www.anandtech.com (AnandTech), 25 May 2010 [2013-05-16], (原始内容存档于2012-06-20)
  4. . CNETNews.com.cn. CNETNews.com.cn. 2008-08-06 [2013-05-20]. (原始内容存档于2013-11-14).
  5. . 天极yesky. 45it.com. 2008-08-30 [2013-05-21]. (原始内容存档于2013-06-28).
  6. . [2013-05-20]. (原始内容存档于2019-06-20).
  7. . [2008-08-05]. (原始内容存档于2008-11-20).
  8. . [2008-07-09]. (原始内容存档于2011-12-12).
  9. . [2008-12-25]. (原始内容存档于2008-12-24).
  10. . EXTREMETECH. 2012-06-26 [2013-05-20]. (原始内容存档于2020-11-12).
  11. . Impress Watch. yesky.com. 2008-10-02 [2013-05-21].
  12. . [2008-06-02]. (原始内容存档于2016-10-29).
  13. (PDF). Intel. [2008-08-06]. doi:10.1145/1399504.1360617. (原始内容 (PDF)存档于2008-09-20).
  14. . [2008-06-02]. (原始内容存档于2016-03-04).
  15. . [2008-06-02]. (原始内容存档于2016-03-04).
  16. . mydrivers.com. 2009-09-24 [2013-05-21]. (原始内容存档于2016-03-04).
  17. . zdnet.com. 2009-12-08 [2013-05-21]. (原始内容存档于2016-03-04).
  18. . [2008-07-07]. (原始内容存档于2016-03-04).
  19. . Tom's Hardware. pcpop.com. 2009-04-10 [2013-05-20]. (原始内容存档于2016-04-04).
  20. . 小熊在线. sina.com.cn. 2008-07-17 [2013-05-20]. (原始内容存档于2016-03-04).
  21. Intel:且看CPU怎么实现MLAA抗锯齿 页面存档备份,存于 - zdnet.com.cn
  22. . [2008-08-04]. (原始内容存档于2016-03-04).
  23. . [2008-08-04]. (原始内容存档于2011-12-12).
  24. . mydrivers.com. enet.com.cn. 2008-08-05 [2013-05-21]. (原始内容存档于2016-03-09).
  25. Intel于i7后重大举措 Larrabee显卡雏形 页面存档备份,存于 - 163.com
  26. . Fudzilla. 2008-07-16 [2013-05-21]. (原始内容存档于2016-03-04).
  27. 英特尔Larrabee独立显卡发展AIB/AIC 页面存档备份,存于 - www.sina.com.cn
  28. 三雄争霸!Intel和AIB厂商密谈larrabee显卡事宜 页面存档备份,存于 - expreview.com
  29. E3评论:PS4上AMD捡了Intel Larrabee的剩饭? 页面存档备份,存于 - mydrivers.com
  30. . joystiq.com. 2009-12-28 [2013-05-26]. (原始内容存档于2011-11-04).
  31. . playstationlifestyle.net. 2009-02-08 [2013-05-26]. (原始内容存档于2016-03-04).
  32. . enet.com.cn. [2013-05-26]. (原始内容存档于2013-09-02).
  33. . [2010-06-29]. (原始内容存档于2015-06-06).
  34. Intel Larrabee显卡首次现场演示 页面存档备份,存于 - mydrivers.com
  35. . [2013-05-17]. (原始内容存档于2012-04-23).
  36. . [2010-05-19]. (原始内容存档于2010-05-28).
  37. . [2010-05-19]. (原始内容存档于2016-03-04).
  38. . [2010-05-19]. (原始内容存档于2013-05-15).
  39. . [2010-05-29]. (原始内容存档于2016-03-04).
  40. . [2013-05-17]. (原始内容存档于2010-03-28).
  41. Intel:Larrabee显卡初期只是软件开发平台 页面存档备份,存于 - mydrivers.com
  42. . [2010-09-24]. (原始内容存档于2010-09-22).
  43. Intel承认推出Larrabee独立显卡不现实 页面存档备份,存于 - expreview.com
  44. . [2013-05-17]. (原始内容存档于2011-05-24).
  45. Intel未来战略解析:Larrabee显卡复活 页面存档备份,存于 - chinabyte.com
  46. . [2009-07-21]. (原始内容存档于2009-06-29).
  47. bolvar. . expreview.com. expreview.com. [2015-04-27]. (原始内容存档于2017-08-23).
  48. bolvar. . expreview.com. expreview.com. [2015-04-27]. (原始内容存档于2016-03-04).
  49. . ittime.com.cn. 2009-11-26 [2013-05-21]. (原始内容存档于2013-06-28).
  50. . CEOCIO信息. 2009-11-20 [2013-05-21]. (原始内容存档于2013-06-06).
  51. . iworkstation.com.cn. 2009-06-02 [2013-05-21]. (原始内容存档于2013-04-20).
  52. . chinaunix.net. 2008-05-16 [2013-05-21]. (原始内容存档于2013-07-03).
  53. Intel:黄仁勋是 Larrabee 最佳代言人
  54. . mydrivers.com. cnetnews.com.cn. 2008-09-04 [2013-05-21]. (原始内容存档于2016-03-04).
  55. . it168.com. 2008-02-23 [2013-05-21]. (原始内容存档于2013-04-06).
  56. . leiphone.com. 2012-04-02 [2013-05-25]. (原始内容存档于2013-10-03).
  57. Larrabee 驱动开发团队有别于 IGP 团队
  58. . inpai.com.cn. 2008-07-22 [2013-05-21]. (原始内容存档于2013-06-28).
  59. . pc.watch.impress.co.jk. yesky.com. 2009-03-13 [2013-05-26]. (原始内容存档于2016-03-05).
  60. . expreview.com. 2011-12-22 [2013-05-21]. (原始内容存档于2012-09-04).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.