英特尔正式发布了第一代酷睿Ultra处理器平台,也就是首个基于Intel 4制程工艺(7nm)打造的移动级处理器平台,其核心代号为Meteor Lake,产品系列贴标设计也采用了全新方案。

同时在命名方面也不再使用酷睿i3、i5、i7,而是采用酷睿Ultra 3、5、7+三位数字+H的命名,如酷睿Ultra 7 155H。

本次首发产品型号如下:

酷睿Ultra家族首发包含了28W的H系列以及15W的U系列,前者包含酷睿Ultra 7和Ultra 5的四款产品,分别采用16核22线程以及14核18线程设计,最高支持5GHz睿频加速。后者同样是酷睿Ultra 7和Ultra 5各两款产品,均采用12核14线程设计,最高睿频4.9GHz。

此外,酷睿Ultra 9 185H以及酷睿Ultra 7 164U和Ultra 5 134U三款型号将在2024年一季度发售。

相对于以往的酷睿平台处理器,全新的酷睿Ultra可以说是全面革新。新的制程工艺、新的架构设计、新的功能特性等等,可以说是与以往的酷睿处理器有着非常显著的区别。

得益于整体制程、架构的变化,英特尔酷睿Ultra平台也拥有了不少全新特性,如基于Foveros 3D封装技术的高性能混合架构,模块化的计算单元等等。

同时它还升级了英特尔锐炫GPU,支持低功耗AI加速的NPU模块等等。接下来通过本篇文章,让我们一起认识英特尔酷睿Ultra。

·首次采用分离式模块化架构设计

首先,我们来看看Meteor Lake的架构。

Meteor Lake采用了全新的分离式模块设计,使整个平台更加灵活,并能够同时适应高性能计算和低功耗长续航需求。

Meteor Lake包含了GPU图形模块、SOC模块、CPU计算模块以及I/O模块,架构图如下:

位于最左侧的是GPU图形模块,它采用了基于Xe LPG架构打造的Intel ARC锐炫核显,性能较此前锐矩Xe核显提升2倍,并且支持DX12 Ultimate。

Meteor Lake的GPU优化了缓存互连,拥有8个GPU核心,128个Vector Engines(矢量引擎),几何图形渲染管线大幅提升,并且新增了8个硬件光追单元,新增了乱序采样功能,进一步增加准确率和性能。

从英特尔锐炫核显的相关特性来看,其基本集成了高性能独显的所有核心特性,如对于DX12U的支持,对于AV1编解码的支持,对于DP4A人工智能加速引擎的支持,以及Intel XeSS的支持。

根据官方测试数来看,英特尔锐炫核显在性能方面较锐炬Xe核显提升2倍,以下是多款主流游戏的提升百分比。如新近热门的《博德之门3》提升达到100%,《生化危机8》、《骑马与砍杀2》两款游戏提升幅度都达到了90%以上。

可以看到越新的游戏提升幅度越大,这是因为英特尔锐炫GPU的驱动更新一直对新游戏提供Day 0级支持,因此做到了非常好的新游戏适配。

而与锐龙平台的Radeon 780M集显对比的话,18款游戏1080p中等画质,锐炫核显平均有着16%左右的提升。

此外得益于Intel XeSS技术的加持,锐炫核显能够进一步提升游戏画面流畅度,平均提升幅度达到了39%。这意味着轻薄本也能玩3A游戏了。

位于中间的是SOC模块,其中包含了全新的低功率计算岛E-core,内置NPU AI加速引擎,支持Wi-Fi 6E和Wi-Fi 7控制器,支持8K HDR和AV1格式编码的媒体引擎,支持原生HDMI2.1和DP2.1标准的显示单元,并且集成了内存控制器。

位于右下角的是计算模块,也就是我们熟悉的P-core和E-core,这次的性能核与能效核均采用全新的Intel 4制程工艺打造,并且优化了电源管理和总线带宽。

具体到E-core与P-core的变化,首先,酷睿Ultra平台的E-core微架构由Gracemont升级到了Crestmont,确保在低功耗下进一步提升E-core的吞吐能力。同时,其VNNI指令集的执行也得到大幅提升,因而增强了AI计算能力。

P-core微架构则由Golden Cove升级到Redwood Cove,进一步提升性能的前提下,P-core的能效实现大幅度提升。

多方面的改进和提升,使得英特尔酷睿Ultra处理器的多线程性能相比以往有了一定幅度的提升。

以酷睿Ultra 7 165H为例,它的单线程性能和多线程性能较锐龙7 7840U分别提升12%和11%,在功耗进一步降低的情况下,总体表现还是相当让人满意的。

生产力方面,酷睿Ultra 7 165H对比锐龙7 7840U在Video Editing上有31%的性能领先,在Premiere Pro上有41%性能领先,在Lightroom上有19%的性能领先。

位于左下角的是I/O模块,这里主要集成了Thunderbolt4和PCIe5.0控制器,提供出色的连接性。

在拆分成四大模块之后,图形、计算和I/O模块其实都是大家比较熟悉的,但SOC模块可以说是Meteor Lake最为与众不同的地方。

以往,Wi-Fi控制器、媒体引擎、显示控制器以及内存控制器等都分布于不同IP之中。如媒体引擎以往是在GPU图形单元之中。

而Meteor Lake在基于性能与能效比的考量上,将这些控制器统一集成到了SOC模块中。其在架构设计上遵循了四个原则:

第一,对计算的密集型IP进行了重新划分,以实现其功率的优化。力求在不影响性能的情况下,大幅提高能效比。

第二,对I/O进行了扩展,使SOC内部所有主要IP都能享受到带宽支持,所以提供了非常大的系统内存相匹配的带宽。

第三,在SOC的核心当中引入了超低能耗核心。

第四,重组了电源管理算法。

还是以媒体引擎为例。以往,媒体引擎集成在GPU单元中,所以只要媒体引擎在工作,实际上就是整个GPU单元在工作。而GPU在工作的同时,又需要访问内存,因此还要把环形总线打开,这样就会使能耗变高。

而Meteor Lake将媒体引擎与图形单元拆分,并集成到低功耗SOC中之后,用户在使用媒体引擎相关应用时,如看视频的时候,GPU模块就不需要被打开了。

同时内存控制器也放到了SOC总线上,此时即便需要访问内存,其它几个模块也不需要打开,这样就可以节省功耗,延长电脑的续航能力。此外像I/O模块也是同样的原理。

SOC模块除了集成以往的Wi-Fi控制器、媒体引擎、显示控制器以及内存控制器之外,NPU和低功率岛E-core可以说是两个全新的单元。

NPU是英特尔首款低功耗推理专用的人工智能引擎,在CPU与GPU之外,英特尔希望通过拥有更好能效比的NPU去实现对人工智能的不同维度的加速能力。

它可以看作是PC普及人工智能的一个标志。在Meteor Lake平台上,如背景虚化、人体追踪、眼角度矫正等基于AI的特性将被放到功耗更低的NPU上去执行,这样可以极大程度降低CPU与GPU的使用,从而让笔记本具有更好的续航能力。

NPU支持标准化程序界面,支持商业以及开源API,从而为人工智能应用开发提供了非常友好的开发界面。

具体到架构层面,NPU主要集成了两个神经计算引擎,它由推理管道和可编程数字信号处理器构成,具备高效灵活的矩阵乘法和卷积,支持激活函数以及数据转换。

其内置两个MAC阵列,专门负责矩阵乘法和卷积,支持最佳数据重用,以降低功耗,支持INT8和FP16数据类型。

同时拥有单独的激活函数和数据转换模块。此外,它还集成了DMA引擎和暂用内存,可将数据引入软件管理的SRAM,图形编译器会优化调度DMA任务,并支持先进的数据重新布局。

此外,借助OpenVINO等工具,以及对于AI应用、大模型库的支持,NPU在AI相关应用,如Stable Diffusion等方面,都能提供非常出色的性能支持。

NPU使得Meteor Lake整体能效提升多达8倍,它推动了生态系统创新的标准化编程接口,Meteor Lake处理器全系列均支持NPU。

低功耗岛,顾名思义,它的诉求就是在追求极致性能的前提下去降低能耗,延长电池使用时间,让系统变得更冷更安静。

将低工作负载应用直接运行在SOC模块的低功耗E-core上,如Wi-Fi、NPU AI推理、流媒体播放等,可以实现让用户在运行低负载任务时只需要SOC去工作就可以了。

此时,计算模块、图形模块都可以挂起睡眠,甚至直接关闭。

而当一些重负载任务运行是,如游戏等,其它模块才会按需打开,这样就可以力争做到不浪费每一分能源。

此外,在实现分离式模块化设计之后,还需要考虑不同模块间的协同工作优化。此时我们需要引入一个概念——Uncore(可以理解为以前的北桥)。

Meteor Lake在Uncore上进行了电源管理的重新设计,不同模块都有分立的电源管理控制器集成在内部。

比如上图所示,在SOC上面,PUNIT单元可以对整个SOC进行电源管理,它通过跟不同模块上的分电源管理器进行沟通,提供一个实时的可扩展的电源管理架构。

这个架构为Meteor Lake提供了很多新的电源管理功能,为将来的芯片设计上的电源管理奠定了非常好的基础。

·三大AI引擎为AI PC加速

全新的酷睿Ultra平台无疑是推动AI PC落地的最佳平台,它提供了GPU、NPU以及CPU三大AI引擎,总体算力可以达到34TOPS,而三大AI引擎可以对应不同的AI计算需求。

TeraOPS

如GPU,它具备更大的带宽吞吐能力,当用户需要的数据量比较高的时候,可以用GPU来做。

NPU则是低功耗的AI计算单元,同时因为它是专门为AI工作负载设计的处理器,所以它在处理AI工作负载时非常高效也非常省电。

CPU同样具备AI计算能力,因为它支持VNNI这一AI加速指令集,可以专门用来加速AI工作负载处理。它在运行对延时比较敏感的这类应用时,比如说语音控制、语音识别,相对NPU、GPU来说,CPU启动时间最短。

此外,我们可以对比一下酷睿Ultra平台与其它平台在浮点和整数计算方面的差异。得益于Intel OpenVINO的支持,酷睿Ultra的NPU、GPU、CPU全面支持FP16浮点运算和Int8整数计算,因此酷睿Ultra平台可以为AI PC的落地带来巨大的推动力。

·为什么要做分离式的模块化设计?

看到这里大家可能会有一个疑问,Meteor Lake为什么要做模块化设计?

其实归根结底,模块化能够让芯片设计更加灵活,甚至可以实现功能模块的定制。同时英特尔在掌握2.5D EMIB和Foveros 3D封装技术后,也更容易实现模块化设计。

比如想要增加NPU的功能,想要升级显示模块去支持8K显示等等,分离式模块化设计会更好实现。因为只需要把特定功能的模块设计出来,再将其与其它模块封装到一起即可,不需要去完全重新设计整个芯片架构。

·如何在不同模块间实现调度?

其实从高性能异构混合架构开始,线程调度就成为英特尔酷睿处理器的重要因素。

Meteor Lake全新的3D高性能混合架构带来的模块化设计,更加需要对此进行调优。因此,英特尔进一步优化了英特尔硬件线程调度器。

Meteor Lake增强了英特尔硬件线程调度器对操作系统的反馈。在其它IP占用功耗的时候,核心功耗会被动态分配。

因此,新的硬件线程调度器会实时更新核心能力,以便更加精准地向操作系统报告整个核心和每个核心的内部能耗比的评估和判断,以提供更加精确的表格给到操作系统。

同时在软件层面和系统层面,与英特尔DDT软件结合起来对核心调配做更优的控制。

其实这里我们需要明确一下英特尔硬件线程调度器的工作原理。它并不是直接控制进程的,或者说它不是去分配进程到某一个具体核心上。而是介于处理器和Windows操作系统之间的一个“评分系统”。

它可以向Windows系统实时提供P-Core、E-Core、LP E-Core的硬件能力,然后反馈给操作系统线程调度器,最终由系统根据每个核心的评分,按照负载将任务分配到特定核心上去执行。

如下图所示,英特尔与微软做了一张这样的“评分”表格,其中包含四种颜色,对应不同分类等级。它根据P-Core、E-Core以及LP E-Core的IPC,就是每个时钟能执行多少条指令的能力来进行分类。

比如Class0代表的是P-Core、E-Core在执行这种指令,每时钟执行的指令数量基本上一致,就归为Class0。

右边的Class1代表P-Core在每一个时钟内执行的指令数量大于由E-Core来执行,则会被归为Class1,比如一些浮点运算的指令就会落在Class1的范围内。

Class2代表P-Core在每个时钟内执行的指令数量远远大于由E-Core执行,比如一些AI计算,通常会归到Class2当中。

最左边的Class3是极少部分指令会落在这一等级上,这里表明Class3的指令中,E-Core每个时钟周期执行的指令数反而会高于P-Core。

表格会对每一个核心打两个分数(EE和Perf分),分数最高的就代表着英特尔硬件线程调度器对Windows的推荐优先级最高。之后Windows会依据推荐将任务负载放到分数最高的核心上来执行。

因此,Meteor Lake的能效设计,包括硬件线程调度器等等,其实与Windows系统有着密不可分的关系。

实际上英特尔、微软共同设计实现了线程调度器这种反馈和控制的机制,然后去做处理器的功耗管理优化,并且去实现功率和性能的最大限度的提高。

因此,Meteor Lake分离式模块化设计最终能否真正兼顾高性能与低功耗,硬件线程调度器与Windows系统是极其重要的环节。

·Intel 4制程工艺简化制造流程,良率显著提升

在4年5个制程节点中,Intel 4对于英特尔而言极为重要。因为Intel 4取得成功,就意味着从技术层面英特尔可以非常好地步进到接下来的Intel 3、Intel 20A和Intel 18A三个制程节点。

Intel 4的主要特性包括:

其一,广泛采用EUV光刻技术,在满足DIE变小的同时,大幅度简化了制造流程。

其二,CPU高性能逻辑库面积相比Intel 7缩减约2倍。

其三,相比Intel 7,带来了20%的性能和能效比提升,

其四,实现了更好的频率和电压平衡,

其五,进一步加大了MIM密度,以提供更高效的底层供电。

接下来我们对这五项特性逐一作出分析。

Intel 4制程工艺广泛使用了EVU光刻技术,降低3-倍的处理步骤。

从下图可以看到,在使用EUV技术的情况下,掩膜总数和工艺步骤总数分别比未使用EUV的Intel 7制程下降20%和5%。而在微缩工艺方面的提升也带来了晶体管密度的整体提升。

Intel 4制程带来了整个DIE的集成度变化。下图可以看到,Intel 7采用408库高度,而Intel 4切换到了240库高度。约2倍缩减分别来自于接触式栅极间距缩减0.83、鳍片间距缩减0.88、M0间距缩减0.75以及高性能库高度缩减0.59。

针对CPU,对比Intel 7以及Intel 4带有6VT和带有8VT的功率与频率情况,Intel 4实现了更低功率情况下更好的频率表现,相比Intel 7有20%的能效提升。

同时,Meteor Lake连接层针对高性能计算应用进行优化的18层金属堆栈上也采用了新技术,广泛借助EUV,通过四重自动成像工艺,实现了非常好的层数和密度提升,为布线层也提供了非常好的技术支持。

除了降低间距之外,如何降低电阻提升导电性的同时,确保更长的电迁移寿命也是新制程工艺的一项关键技术指标。

在Intel 7制程节点,英特尔采用了不同的特殊金属层去解决这一问题。而Intel 4则是采用了增强型的铜金属(钽/钴与纯铜)工艺,实现电阻降低并延长电迁移寿命。

此外,EUV技术使得Intel 4在连接结构上面变的更加标准化。如下图所示,对比Intel 7和Intel 4,会发现在Intel 7金属层有很多非标准、非单一的连接模式,而EUV技术使得Intel 4做的更加统一。这件事的意义在于可以使布局、单元摆放、时钟数统一以及布线等方面实现高效的自动化设计。

MIM电容器可提供卓越的供电能力,相对于Intel 7制程工艺,Intel 4的MIM cap密度提高了约2倍,达到了376fF/um2。

基于更加细腻的微缩工艺、更加简化的制造步骤、更加标准化的连接模式以及电迁移寿命延长和更加健康的电磁可靠性,Intel 4制程工艺获得了极高的良率,总体超过了优化后的14nm和10nm制程水准线。

这也是为什么Intel 4的成功,对于未来快速过渡到Intel3、Intel 20A和Intel 18A就越顺畅。

·Foveros 3D封装让模块化设计实现更好的连接

架构与制程之后,我们再来聊聊Meteor Lake的封装技术。

前面我们提到,Meteor Lake采用了全新的分离式模块化设计,而要让每个模块之间实现更好的连接,实现更加高效的协同性能,就需要通过更加先进的封装工艺来实现。而Meteor Lake所使用的,就是经过多年验证的Foveros 3D封装技术,同时也在不同模块上使用了2.5D EMIB封装技术。

此前,Foveros 3D封装技术主要被应用在至强处理器、高密度计算GPU以及FPGA上,而Meteor Lake是英特尔首次大规模将Foveros 3D封装技术应用在消费级市场的产品上。

通过2.5D和3D的混合封装,可以实现更高密度的DIE与DIE的封装,提供不同节点更复杂的连接,同时可以具备更好的低功耗以及高性能的连接。

那么具体到Meteor Lake,是如何实现模块化封装的呢?

首先,晶圆厂制造好晶圆之后,会将其运输到封装测试工厂进行分割和测试。分割晶片完成测试之后,确保只有经过认证的良好晶片最终进入到Foveros组装流程中。

接下来,封装厂会将顶部晶片与基础晶圆通过高温进行贴合,创建出晶片复合体,之后再将贴合后的晶圆二次分割成封装所需要的各个模块,并通过环氧树脂贴合到基板上,最后封上金属散热器,即可大批量完成Meteor Lake处理器的封装制造。

之后再通过系统级的测试验证,将没有任何问题的成品交付到OEM手中进行最终的产品组装。在封装层面,Foveros3D封装技术,带来更好的叠加性以及更高密度。

由于在芯片内就已经实现了极低功耗和高密度晶片连接,最小化了分区开销,所以能够为处理器芯片的每个区块选择理想的芯片工艺,且每块晶圆可获得10%以上的芯片数量提升,从而降低成本、提高性能、提升晶圆良率。

2.5D EMIB技术则主要被用于GPU封装。其底层通过2.5D实现计算单元模组的DIE与DIE互连,密度更高,间距更小。同时混合使用3D封装技术,将上层DIE与基础层的DIE连接到一起,进一步提升密度的同时,可以在芯片层级降低功耗。

其实从前面的架构示意图可以看到,Meteor Lake大体分为4个模块,但其实每个模块中又包含了功能不同的小模块,这些大大小小的模块,其实就是通过2.5D和3D封装技术集成到一起的。这就像盖房子,一砖一瓦的横向与纵向堆叠,最终构成一整个建筑主体。

·结语

总体来说,英特尔Meteor Lake是第一个基于Intel 4制程工艺打造的处理器平台,它在架构层面采用了创新的分离式模块化设计,并首次将Foveros 3D封装工艺带到消费级产品上来。

它改进了英特尔硬件线程调度器,优化了模块间的电源管理,借助低功耗的SOC模块可以让低负载任务运行在其上的同时,睡眠甚至关闭GPU和CPU模块,以达到降低整体功耗,提升续航能力的需求。

2023年12月15日,第一代酷睿Ultra平台正式发布,同时也有不少OEM厂商第一时间推出了基于其打造的轻薄型笔记本产品,我们也将陆续为大家放出相关产品的评测。

架构设计脱胎换骨!英特尔酷睿Ultra深度解析的更多相关文章

  1. 第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南

    欢迎查看第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南,该处理器可为开发人员和最终用户提供领先的 CPU 和图形性能增强.各种新特性和功能以及显著提高的性能. 本指南旨在帮助软件开发人员 ...

  2. 网传英特尔酷睿第十代桌面处理器(Comet Lake 14nm)规格

    自从农企(AMD)2016年开始崛起时,牙膏厂(英特尔)就开始发力,陆续两代推出性价比颇高的桌面处理器, 第八代.第九代酷睿桌面处理器相当的给力,而第十代酷睿桌面处理器会很猛啊,据传从酷睿i3到酷睿i ...

  3. 借助第八代智能英特尔® 酷睿™ i7 处理器和 Unreal Swarm* 的强大性能快速构建光照

    <虚幻竞技场>.<Robo Recall>等游戏的成功与 Unreal Engine 如何处理照明密切相关.原因之一就是静态光映射,但是这需要付出一定的代价:构建照明需要时间, ...

  4. Botanical Dimensions:借助第九代智能英特尔® 酷睿™ 处理器实现独特沉浸式体验

    本文介绍位于洛杉矶的互动体验设计工作室 Master of Shapes (MOS) 打造 Botanical Dimensions 时所做出的技术努力.在这种互动式多世界体验中,参与者将穿越丛林,寻 ...

  5. 英特尔® 实感™ SDK 架构

    英特尔® 实感™ SDK在架构上完全不同于其前代系统 — 英特尔® 感知计算 SDK. 如果您使用英特尔感知计算 SDK 进行应用开发,会很快发现,全新的 SDK 可提供增强型编程模式,从而可通过几种 ...

  6. 基于英特尔® 至强 E5 系列处理器的单节点 Caffe 评分和训练

    原文链接 在互联网搜索引擎和医疗成像等诸多领域,深度神经网络 (DNN) 应用的重要性正在不断提升. Pradeep Dubey 在其博文中概述了英特尔® 架构机器学习愿景. 英特尔正在实现 Prad ...

  7. Intel 英特尔

    英特尔 英特尔 基本资料   公司名称:英特尔(集成电路公司)    外文名称:Intel Corporation(Integrated Electronics Corporation)    总部地 ...

  8. 在配有英特尔® Iris™ 显卡的系统上通过优化对 Just Cause 3 进行增强

    高端 PC 继续通过高性能显卡驱动桌面游戏. 一流的"梦想机器"基于第六代智能 英特尔® 酷睿™ 处理器i7-6700K等 CPU,通常与高端独立显卡配合使用以运行要求最严苛的游戏 ...

  9. 英特尔® 实感™ SDK 前置摄像头 (F200) 常见问题解答

    原文地址 https://software.intel.com/zh-cn/articles/intel-realsense-sdk-faq-for-front-facing-camera-f200? ...

  10. 英特尔实感SDK 代码示例

    原文地址 摘要 本套代码示例针对巴西英特尔实感动手实验室创建,旨在帮助参与人员了解如何使用英特尔® 实感™ 软件开发套件. 12 个示例使用 C# SDK 包装程序,提供了简单的基于控制台的应用,支持 ...

随机推荐

  1. SCA技术进阶系列(一):SBOM应用实践初探

    现代软件都是组装的而非纯自研.随着开源组件在数字化应用中的使用比例越来越高,混源开发已成为当前业内主流开发方式.开源组件的引入虽然加快了软件开发效率,但同时将开源安全问题引入了整个软件供应链.软件组成 ...

  2. mybatis-plus 对date类型取当天的数据

    数据库中的字段是时间类型,要取出当天的数据,使用mybatis-plus 如何实现,思路是用 时间大于当天凌晨,小于当天23:59:59的时间 //调用的代码Date start = DateUtil ...

  3. uni-app 从入门到放弃(持续更新)

    https://blog.csdn.net/weixin_33940102/article/details/91460204

  4. C#通过泛型实现对子窗体的不同操作

    private void button1_Click(object sender, EventArgs e) { FormOperate<object>();//调用FormOperate ...

  5. loadrunner12的安装教程

    一.LR12安装包: 链接:https://pan.baidu.com/s/1UU304e-nP7qAL-fV8T39YQ 密码:jpln 二.LR12安装: 1.下载完成后点击解压

  6. 昆虫科学院 AtCoder Race Ranking 2023 Autumn

    概况 为提高选手们的训练 / 比赛热情,我们(昆虫科学院)通过商讨,在 \(2023-5-25\) 仿照 AtCoder Race Ranking (WTF) 机制,设立了"昆虫科学院 At ...

  7. Shell 脚本编程学习

    本文为博主原创,转载请注明出处: 目录: 1. shell 变量 2. 运算符 3. if 语句 4.for 循环 5.while 语句 6. case 语法 7.跳出循环:continue 与 br ...

  8. Angular系列教程之管道

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  9. 【SI】source insight4 添加指定类型的文件

    Options->File Type Options 红框可选择是否将指定类型的文件添加到工程 绿框可添加自定义文件类型,如汇编*.s;*.S 蓝框可新增文件类别,用于自定义文件类型 如不需将t ...

  10. 浏览器兼容 : IE 5 到 IE 9

    <!--[if IE]> <link href="ie.css" rel="stylesheet"> <![endif]--> ...