2006年12月15日

 Denlee,2006年12月3日

2003年3月,英特尔正式向全世界推出面向笔记本电脑的迅驰移动计算技术(Centrino Mobile Technology)。Centrino一词取自center和neutrino(中微子)两个单词,与其Logo一样,代表着飞翔和可移动性。

   

正是因为迅驰移动计算技术包含上面三部分,因此有时也称作迅驰平台。Intel的迅驰平台从推出到现在共经历了三代:迅驰I、迅驰II、迅驰III,2007年即将推出迅驰IV。不同的迅驰平台,构成迅驰平台的三大部件也不相同。但是对于CPU而言,构成迅驰平台的CPU具有以下几个特点:

.支持增强型英特尔SpeedStep技术,拥有多个电压及频率操作点,从而使性能更好地满足应用的要求。
.支持英特尔移动电压定位技术,根据处理器的活动动态降低电压,因此减少散热设计能耗,支持更纤巧的笔记本电脑外形。

因此迅驰移动计算技术不仅仅是一枚处理器,同时还具备集成的无线局域网能力、卓越的移动计算性能、耐久的电池使用时间和轻薄型笔记本电脑外形。(严格来讲,迅驰不能算作一种技术,而是Intel对NB做出的一种架构规范,只要CPU+芯片组+无线网络模块采用符合Intel特定规格的产品,就可以称作迅驰NB。)

迅驰I(Carmel,2003年3月)

英特尔首次专门针对笔记本电脑的应用而开发的技术,其中结合了多项专为移动计算设计的组件。这不仅仅是一个处理器的创新,它更包括针对移动电脑进行优化的独特组件的创新。

Intel Pentium M+Intel 855芯片组(搭配ICH4-M)+英特尔PRO 无线2011网卡/无线2200BG网卡/无线2100A网卡

CPU:PentiumM(Banias/Dothan核心,前端总线为400MHz),Banias核心的PM包含1MB的二级缓存,基于130nm工艺;Dothan核心的PM基于90nm的应变硅工艺,包含2MB的二级缓存。

英特尔PRO/无线网卡:

单频英特尔PRO/无线2011网卡(802.11b)、单频双模英特尔PRO/无线2200BG网卡(802.11b/g)和双频英特尔(R)PRO/无线2100A网卡(802.11a/b)Wi-Fi认证无线局域网支持将提供连接到基于802.11b、802.11a和802.11g基础设施的能力。

802.11b(2.4GHz频带/11Mbps无线连接速率)、802.11a(5GHz频带/54Mbps无线连接速率)、802.11g(2.4GHz频带/54Mbps无线连接速率),

芯片组:

英特尔855PM和英特尔855GM芯片组

. 400MHz低功耗处理器系统总线:支持用于单处理器配置的400 MHz系统总线
. 能支持高达2GB的DDR333和DDR266/200内存。
. 集成高速 USB 2.0 支持USB 2.0 外设,可将数据传输速率提高40倍,而且具有后向兼容能力,支持USB 1.0设备
. 英特尔稳定映像技术(英特尔SIPP):支持芯片组硬件变化,最大限度降低对IT软件映像稳定性的影响
. 支持处理器系统总线与内存的动态输入/输出缓冲禁用:通过智能地激活或关闭处理器系统总线或内存来降低芯片组功耗

855PM

    . AGP4X 接口 高带宽接口,可为高性能移动式独立显卡解决方案提供灵活的支持

855GM

    . 英特尔极速图形引擎2技术 可提供密集逼真的3D图形和清晰的图像,能够在显卡与系统之间实现平衡的内存使用,进而获得最佳性能。
    . 优化内部时钟门控以支持3D与显示引擎 根据应用的需要让3D与显示引擎智能地计时,从而降低芯片组的能耗
    . 集成低电压差动信号(LVDS)接口 更高的集成率可支持更小的笔记本电脑外形设计
    . 双独立显示 当外部显示器或显示屏连接到笔记本电脑时,可以浏览两个独立的视频源
    . 图像旋转 能够旋转屏幕图像

迅驰II(Sonama,2005年1月)

 还是采用I代的蝴蝶形标志。

Intel Pentium M+移动式英特尔915PM/915GM高速芯片组(搭配ICH6-M)+英特尔PRO 无线2100网卡/无线 2200BG网卡/无线 2915ABG网卡

CPU:Intel Pentium M (Dothan核心),基于90nm的应变硅工艺,包含2MB的二级缓存。

芯片组:移动式英特尔915PM/915GM高速芯片组

. 533 MHz前端总线 前端总线带宽比前代提高多达33%
. 支持双通道DDR2 400/533 MHz内存技术 与DDR内存相比,最高内存带宽和平均功耗改进60%。
. 英特尔稳定映像技术(英特尔® SIPP) 支持统一的显卡驱动程序。支持在不影响IT软件映像稳定性的情况下改变硬件。
. 串行ATA 为磁盘流量提供高达每秒150 MB的传输速率。
. 直接媒体接口(DMI) 凭借高达每秒2 GB的并发带宽,DMI可提供比原来英特尔专有中枢链接I/O接口快4倍的I/O带宽。
. 集成高速USB 2.0 支持8个USB 2.0 外设,可将数据传输速率提高40倍,而且具有后向兼容能力,支持USB 1.1设备。
. 英特尔高清晰度音频 全新的音频规范可带来更高带宽,支持高品质音频和杜比*技术。此外在播放音频期间还可以降低功耗。
. PCI Express 总线架构 支持下一代独立显卡和I/O,可提供高达4倍的独立显卡带宽和2倍的I/O带宽。同时支持ExpressCard等最新的工业外设。低针数可提供每针最高带宽,能够自如应对要求最苛刻的游戏和工作站应用。

915GM

    . 英特尔图形媒体加速器 (GMA)900 提供超过前代英特尔855GME芯片组2倍的显卡性能。同时支持DirectX 9解决方案,可带来高清晰度媒体播放和精彩3D游戏体验

英特尔PRO/无线网卡:

英特尔PRO/ 无线 2100 网络连接 (802.11a/b)
英特尔PRO/ 无线 2200BG 网络连接 (802.11b/g)
英特尔PRO/ 无线 2915ABG 网络连接(802.11a/b/g)

迅驰III(Napa,2006年1月)

采用英特尔酷睿单核处理器的英特尔迅驰移动计算技术能够提供增强的能力,以支持出色的移动性能和低功耗。体验单核移动计算技术的增强的通信功能,可靠的性能,让您享受生活、工作及娱乐的自由度和灵活性。

采用英特尔酷睿双核处理器卓越的双核性能、更持久的电池使用时间以及增强的通信功能,将为您带来革命性的移动体验。

 Intel Core Duo/Intel Core Solo+移动式英特尔945PM/945GM高速芯片组(搭配ICH7-M)+英特尔PRO 无线3945ABG网卡

 

CPU:

Intel Core Duo/Intel Core Solo(Yonah核心),533/667MHz系统总线,2MB二级缓存,还包含阉割版的Merom核心的Core 2 Duo。

Calistoga芯片组:

移动式英特尔945PM/945GM高速芯片组(搭配ICH7-M)

. 667 MHz 前端总线 支持英特尔酷睿双核处理器以及英特尔酷睿单核处理器的数据传输速率比前代产品的总线速率高 25%。
. PCI Express x 16 接口 提供比传统 AGP 接口高 3.5 倍的带宽,并支持最新的高性能显卡。
. PCI Express x 1 接口 提供比传统 PCI 架构高 3.5 倍的带宽,支持快速访问外设和网络。
. 英特尔高清晰度(HD)音频 集成音频支持可带来震憾声效,并可提供多个音频流和插孔重分配等先进特性。杜比电脑娱乐体验,只有在采用英特尔高清晰度音频的系统上方可获得。
. 英特尔矩阵存储技术 改进存储子系统的性能、电源管理和数据保护。
. 双通道 DDR2 667 MHz 内存支持 高达 10.7 GB/ 秒的带宽和 4 GB 内存寻址能力可以加快系统响应速度。
. 集成高速 USB 2.0 支持 8 个 USB 2.0 外设,可将数据传输速率提高 40 倍,而且向后兼容支持 USB 1.1 设备。

945GM

    . 全 D 接头支持(D1-D5) 易于使用,用户可以通过 D 接头连接的设备轻松舒适地欣赏电视节目。
    . 英特尔 图形媒体加速器 (GMA)950 为商用和家用笔记本电脑带来超凡的 3D 图形性能。
    . COPP/HDCP/CGMS-A 支持 让用户欣赏到受保护的视频内容,在播放的同时提供内容保护。
    . 经典模式中的媒介 Z 增强 3D 图形性能的智能多边形渲染。
    . 自适应反交错处理 使逐行显示的交错内容获得更出色的图像质量。

Golan无线网卡:

英特尔PRO 无线3945ABG网卡(802.11a/b/g)

主要特性:

  1. 「Dynamic Power Coordination」动态电力管理技术,跟过去Pentium-M在低运算负荷时降低CPU的基本原理类似,能分別让两颗核心进入Active、Halt、Stop Clock、Deep Sleep、Deeper Sleep等状态,让Core Duo处理器更加省电。
  2. 而「Enhanced Deeper Sleep」加强型深度休眠技术,更让L2Cache可以在系统闲置时,将资料写到存储器中,之后就连L2Cache都停止供电,再度减少CPU的电耗。
  3. 在省电功能方面,Intel以「Display Power Saving Technology 2.0」、「Rapid Memory Power Management」、「Link Power Management 」等技术,分別管理LCD显示器、存储器、硬盘的电力消耗,希望能再进一步延长电力续航能力。
  4. 3945ABG加强自动选择AP的能力,并可以弹性调整连线「效能」与「稳定度」。例如在下载文件时,对连线速度要求高,若是要玩在线游戏,就需要稳定的连线速度。它还强调对最新版802.11e QoS的支援,能提供较理想的VoIP与串行视频能力。

迅驰IV代(Santa Rosa,2007年)

Intel Core 2 Duo+移动式英特尔PM965/GM965高速芯片组(搭配ICH8-M或ICH8M-Enhanced)+英特尔PRO 无线4965AG网卡/无线4965AGN网卡

  Santa Rosa 可以提供更加出色的整体性能和图形效果;提高无线连接性;安全性与可管理性。

新技术:

. CPU前端总线提高到800MHz,总线速度会根据实际负载情况降低或提高,以节省电力。
. 采用最新的显示功耗节能技术DPST 3.0,以进一步节省能源。DPST 3.0可自动切换显示模式,根据运行程序的不同最多可节约400mW。
. 采用新的主动管理技术AMT 2.5,针对无线网络连接进行了改进和调整.

可选部分:

. 采用代号Robson的NAND闪存加速技术,该技术不仅能缩短操作系统和应用程序的启动、载入时间,还能以类似的幅度加速系统的休眠恢复,另外还可以节约0.4W的功耗。
. 采用Intel和诺基亚联合开发的3G WAN(第三代广域网)技术,并支持HSDPA下载加速技术。

CPU:

Intel Core 2 Duo(Merom核心),新增了Intel Dynamic Acceleration (IDA)技术,800MHz系统总线,4MB二级缓存,将采用全新Socket P接口。

Crestline芯片组:

. 支持800MHz/533MHz的前端总线,支持最大4GB DDR2 667/533内存,可以搭配ICH8M和ICH8M-Enhanced两款南桥芯片组

965GM

    . 集成GMA X3000显卡(核心频率500MHz/400MHz)
    . 支持Direct X 9.0C及SM 3.0
    . 配合Intel Clear Video技术提供硬件H.264译码支持
    . 拥有Unified Display Interface提供HDMI输出接口

Kedron无线网卡:

无线4965AG网卡(802.11a/g)/无线4965AGN(802.11a/g/n)网卡

802.11n采用2.4GHz和5GHz双频带,同时具备Spatial Multiplexing MIMO (Multi-In, Multi-Out)和Orthogonal Frequency Division Multiplexing(OFDM)技术,同时通过多种频段进行通信,目前可以实现270Mbps~300Mbps的无线连接速率,将来更有希望实现600Mbps的速率。

四代迅驰平台对比:

  第一代迅驰 第二代迅驰 第三代迅驰 第四代迅驰
开发代号/平台  Carmel Sonoma  Napa/napa 64 Santa Rosa
推出时间 2003年 2005年 2006年 2007年
CPU核心 Banias Dothan  Yonah /Merom Merom
制程 130nm 90nm 65nm 65nm
核心数 1 1 2/1 2
位元  32 32 32/64 64
FSB 400 533 533/667 800/533
L2 Cache 1MB 2MB 2MB /4MB 4MB
无线协议 IEEE 802.11b IEEE 802.11b/g IEEE 802.11a/b/g  IEEE 802.11a/b/g/n
北桥芯片 855 915 945 965
南桥芯片 ICH4-M  ICH6-M ICH7-M  ICH8-M

 

附:迅驰移动计算技术特性对比

特性对比

面向英特尔 迅驰 移动计算技术

 
 
  •  
  • 英特尔 迅驰
    双核移动计算技术
  •  
  • 英特尔 迅驰
    移动计算技术
  •  
  • 英特尔 迅驰
    移动计算技术
规范
概览 针对多任务处理 提供双倍 CPU 性能,节约功耗 达 28%,为多任务处理及多媒体娱乐提供先进的移动双核性能,同时实现突破性节能效果。 增强的移动计算和通信能力 针对移动计算和通信的集成性能
处理器 英特尔 酷睿 双核处理器 英特尔 酷睿 单核处理器 英特尔 奔腾 M 处理器
芯片组 移动式英特尔 945 高速芯片组家族 移动式英特尔 945 高速芯片组家族  移动式英特尔 915 高速芯片组家族
无线
  • 英特尔 PRO/ 无线 3945ABG 网络连接
  • 英特尔 PRO/ 无线 3945ABG 网络连接
  • 英特尔 PRO/ 无线 2100 网络连接
  • 英特尔 PRO/ 无线 2200BG 网络连接
  • 英特尔 PRO/ 无线 2915ABG 网络连接
特性
性能 最好 较好
英特尔 酷睿 微体系结构      
二级高速缓存 4 MB/2 MB 2 MB 2 MB
英特尔 多路(Wide)动态执行    
英特尔 智能内存访问    
64 位支持 (Core 2 Duo)    
电池寿命 最好 较好
高级电源闸控    
英特尔 智能高速缓存    
英特 动态功率调节    
采用高速缓存动态调整技术的英特尔 增强型深度睡眠  
外形      
芯片组封装尺寸减小  
英特尔 高级散热管理器
微 FCPGA 和 FCBGA 封装技术
支持英特尔 移动电压定位
+ 英特尔 移动电压定位 VI

+ 英特尔 移动电压定位 VI

+ 英特尔 移动电压定位 VI
增强的无线技术      
增强型无线局域网络(WLAN)服务质量  
集成的无线局域网络

资料来源:主要来自于Intel官方网站

 Denlee,2006年12月3日

搬家于CDD个人主页

 最近在看Alpha AXP 21064的资料,突然在网上看到一篇回顾Alpha处理器的文章,感觉不错,尽管其中有一些小错误,还是拿来收藏。由于这篇文章是通过搜索引擎搜出来的,我看这篇文章的网站也是转载,由于这篇文章时间已经比较久远了,因此也没有考究这篇文章的最终出处,请作者见谅。若作者看到后可以留言,我增加上你的姓名以及原始出处。

PDP和VAX

  Digital Equipment Corporation下文简称DEC公司,成立于1957年。由Kenneth Olsen和Harlan Andserson两位工程师所创建。DEC也是现在计算机业界最老字号以及最知名的公司之一。

DEC公司

  在公司创建之前,Olsen曾供职于麻萨诸塞州科学研究所林肯实验室。该实验室主要为美国国防部工作,并且参与了世界上第一台基于晶体管的计算机TX-2的研发。公司成立之后,从事生产和销售计算机底板,不过在1960年,发布了自己研发的第一款产品,18-bit PDP-1(可编程数据处理器-1),该处理器每秒钟能够完成10万个指令。而且PDP-1还运行了世界上第一款电脑游戏(Spacewar of Steven Russell)。

  12-bit PDP-8发布于1964年,因其体积较小而被誉为第一台微型计算机。PDP-8成功的关键在于:极高的性价比,在1965年,每台售价大约在18000美元上下。这也是其与IBM大型主机系统竞争的有力手段。到1968年为止,PDP-8共生产和销售了1450台(未包括修改版)。68年,当时最新的36-bit PDP-10被推出市场,它基于PDP-6的设计,主要为数据处理中心,研究实验室和美国军方提供高性能的运算。

  从发布到1983年其间,PDP-10一直在生产销售。但其中有一个小插曲,一开始36-bit架构的性能不尽如人意,在Leonard Hughes和David Rogers的主导下,发起了独角兽项目,旨在提升36-bit架构的性能,却因为种种原因于1975年六月终止了该计划。不过计划中的所有资源都被用于32-bit架构的开发,从而大大促进了32-bit架构的发展,这在后文中有所提及。

  20世纪70年代前期,DEC发布了16-bit的PDP-11,它也是DEC研制的第一款使用8 byte的计算机,而且直接继承了PDP-8的产品线。由于采用了简化设计、统一总线架构、使用更有效的指令集和较低的生产成本等手段,PDP-11系列取得了空前的成功。当然PDP-11的各种克隆版本也开始在世界到处泛滥,其中包括CM-4(前苏联,保加利亚,匈牙利),CM-1420(前苏联,保加利亚,前东德),CM-1600(前苏联),IZOT-1016(保加利亚),DVK(前苏联)。

  同时基于PDP-11而开发的操作系统也有相当多的版本,比如说:DEC开发的P/OS,RSX-11,RT-11,RSTS/E,以及一些基于DOS的分支版本。最后在1971年,由贝尔实验室以PDP-7和PDP-11为原型机的基础上,开发出了第一个UNIX操作系统。随着时间的推移,曾显赫一时的PDP-11由于缺乏地址空间,而逐渐淡出市场。在这段时间中,32-bit的CISC(复杂指令集计算机)有了长足的进步。

  到了1975年四月,VAX架构委员会召开会议,正式确立了VAX(虚拟地址扩展)架构。该架构发布数个月后,由Gordon Bell领衔,发起了星球计划(Star project)。该计划主要任务在于增加通用寄存器的位宽到32-bit,数量增加到16个,并且几乎重新设计了大部分指令集。而与此同时进行的独角兽计划决定终止,转而支持32-bit VAX的开发。

  在两股力量的共同努力下,1977年10月发布了第一款VAX计算机,model 11/780。几个月之后,也就是1978年2月,基于VAXen的操作系统也被推出,操作系统名为VMS(虚拟内存系统)v1.0。这款操作系统支持多用户和多任务,最大支持64MB主内存,还有网络功能,任务计划和扩展进程管理等功能。由于这些都是在当时前所未见的新技术,因此引起了很大的轰动。

  后来DEC再接再厉,1980年四月推出VAX/VMS v2.0,带来了很多地方的改进。与此同时,经典UNIX也很快被移植到VAX上,在上世纪整个80年代,VAXen销售的都非常成功。其中根据订单,相当数量的产品一直交付到90年代末。其整个产品线覆盖范围很广,从小型工作站到6处理器的大型服务器主机。直到现在,还有相当一部分VAXen在美国国防部、美国国家安全局和一些商业组织里被使用着。不过VAXen只代表着80年代的辉煌。进入90年代,DEC赌上了另一个新架构。

整个80年代VAXen销售都非常成功

PRISM项目

  从80年代开始,DEC公司通过销售量节节攀升的VAX而赚了大把大把的钞票。不过随着技术的发展,VAX也逐渐的退居幕后,将市场留给新架构的发布。从此时开始,越来越多的公司开始对RISC(精简指令集计算机)发生了兴趣。DEC自然不会忽略这个趋势。在1982年到1985年间,DEC将RISC划分为几个部分来分开研究:

·Titan,从1982年开始,由DEC公司位于加利福尼亚州的西部研究实验室负责研制的一种高速设计方案
·SAFE,快速执行流线架构,从1983年开始,由Alan Kotok和David Orbits领衔负责开发
·HR-32,以DEC工厂的所在地哈德迅命名(Hudson RISC 32-bit),从1984年开始,由Richard Witek和Daniel Dobberpuhl领衔开发
·CASCADE,从1984年开始,由David Cutler负责开发

  1985年,Cutler主动提出“协作RISC计划”后,上述四个项目就被合并为一个项目,并且更名为PRISM(并行指令集计算机),关于这款新RISC处理器的第一份草图发布于1985年8月。为了进一步顺利的将新架构打入市场,DEC在参与MIPS R3000的处理器项目开发过程中,主动发起创建了高级计算环境协会(Advanced Computing Environment consortium)来提升新架构的影响力。

  因此,新处理器中有些许多和MIPS架构相似的特性就不足为奇了,不过两者之间不同之处也是显而易见的。首先是新处理器中的所有指令都采用了固定的32-bits长度,上6位和下5位用于表示指令代码,剩下的21个字节用来保存即时数据和寻址需求。另外新处理器中还有64个32-bit通用目的寄存器(MIPS里只有32个寄存器),另外追加了16个64-bit矢量寄存器,3个控制寄存器:其中两个7-bit,用于存储矢量长度和矢量计算;还有一个64-bit用于vector mask。

  不过新产品没有处理器状态寄存器,这也是为什么将两个标量操作数的比较结果放在通用目的寄存器中的原因。而两个矢量操作数比较的结果,就直接放入vector mask。同时在处理器中没有内建浮点单元,而是使用一组在软件中被创建的特殊指令(扩展处理器指令代码),采用读取微代码的方式,通过运行环境或操作系统的帮助来处理特殊任务,并且这些特殊的扩展指令代码并不属于标准指令集。稍后不久,这个功能被移植到了Apha架构中,重新被命名为PAL编码(专用架构库编码)。

  然而这个计划还没有最终完成的时候,1988年DEC公司的管理高层决定采用MIPS处理器,同时不再继续这个项目。认为继续为这个项目提供财政支持纯属浪费钱,决定终止计划。计划的发起者和负责人Cutler曾激烈反对未果,于是辞职来到微软,着手从事WindowsNT的开发,这是后话。

  1989年初,DEC就推出了公司第一款RISC工作站处理器—DECstation 3100,这款处理器基于MIPS R2000,内部时钟频率为16MHz,其系列产品DECstation 2100采用相同的处理器,核心频率为12MHz,操作系统使用Ultrix OS。在1990年,这款工作站计算机售价为8000美元(在当时不算贵)。

Alpha计划

  到了1989年,日益老化的VAX架构,面对MIPS和SPARC等第二代RISC架构的强力挑战越来越感到力不从心。很显然,留给VAX的时间不多了。因此在此年中,DEC的工程师接到任务,开发一款更具有竞争力的RISC架构,并且要在相当长的时期内保持足够的升级潜力,同时还要对VAX/VMS以及所有相关的应用程序保证最大的兼容性。64-bit解决方案由此而诞生。开发团队初步确立,Richard Witek和Richard Sites成为了这个项目的首席架构师。

  Alpha架构于1992年2月25日,在东京召开的一次会议上面被正式推介,新架构的关键特性都一一的被罗列出来。当时说Alpha只是产品开发的内部代号。新处理器采用完全64-bit RISC设计,执行固定长度指令(32 bits)。有32个64 bit整数寄存器,操作43-bit的虚拟地址(在后来能够扩充到64-bit)。和VAX相同,使用little-endian字节顺序,即低字节的寄存器占用低内存地址线。而不像如摩托罗拉等大多数处理器所使用的big-endian字节顺序,即低字节寄存器占用高内存地址线。除此之外,处理器还内建一个算术协处理器,有32个浮点64-bit寄存器,采用随机存取,而不是在intel x87协处理器上使用的堆栈存取方式。整个Alpha的生命周期被设计为至少25年。

  被简化后的指令集更利于流水线操作,它由5个部分所组成:

·整数指令
·浮点数指令
·分支和比较指令
·读取和存储指令
·PAL编码指令

  和现在一些I386架构的处理器不同,Alpha的架构是完完全全的RISC架构。而RISC(精简指令集计算机)和CISC(复杂指令集计算机)两者的概念是完全不同:

特性
CISC
RISC
指令长度
可变长度
要求指令类型
固定长度
不要求指令类型
指令集
广泛
适用于程序员的需要
平衡
适用于处理器执行的需要
内存访问
允许不同类型的指令访问
只允许存取指令访问

  Alpha处理器当时发布的时候,运行在一个很高的频率上—150MHz,而且还有提升的空间,不改变生产工艺就可以将频率提升到200MHz。这是一个从哪方面看都会取得成功的架构。项目也进行的很顺利,到了生产销售阶段。这时候,DEC公司市场部突然提出要将新架构命名为AXP,于是产品就被正式定名为Alpha AXP。没有人知道AXP代表什么意思,或许它根本就没有意义。

  这让人联想到DEC公司以前在命名VAX商标的时候所遇到的一些麻烦。当时要注册VAX商标的公司除了DEC外,还有一家本身名字就为VAX的真空吸尘器的制造商。双方争执不下,还闹上法庭,这给DEC带来不小的负面影响。正因为有此不快往事,因此取一个完全没有意义,但绝对没有重名的名字,对于DEC公司来说还是很有可能的。不过还是有人从鸡蛋里面挑出了骨头,指出AXP即意为“Almost Exactly PRISM”。

EV4,LCA4,EV45,LCA45

  第一款Alpha系列的处理器被称为21064(21意为alpha是一款面向21世纪的新架构,0代表处理器的版本,64代表具备64-bit的计算能力)。开发代号为EV4,其中EV是Extended VAX(扩展VAX)的简称,采用CMOS4的生产工艺。EV4的展示原型是在1991年推出的,当时限于生产工艺水平,使用了CMOS3,因此只有较小的缓存,同时没有浮点运算单元。 这对于一款处理器的性能来说,打了一个非常大的折扣。

  而EV4是在92年发布的,当时的生产工艺已经达到了3层0.75μ的水平,并且在后来一段时间中,采用了更为先进的0.675μ CMOS4S制造工艺,自然可以将节省出来的空间装入更多的晶体管,来增强性能。由此可以看出,在那个时候,生产工艺对于处理器的性能影响相当巨大。处理器设计工作电压为3.3V,核心频率为150MHz-200MHz(TDP为21W到27W之间)。处理器内部共由168万个晶体管组成,芯片面积为233平方毫米,芯片采用PGA-431方式进行封装。从EV4开始,就能够支持多处理器,这是其架构中很关键的一个特性之一。

  其中的L1缓存由:8KB的指令缓存(I-cache)和8KB的数据缓存(D-cache)组成。其中D-cache读取延迟为3个时钟。每一个I-cache由32字节指令,21-bit的tag record,8-bit的分支记录区域和其他的一些辅助部分所组成。每一个D-cache由32字节的数据和21bit的tag record所组成。

  L2缓存,当时又被称为备份缓存(B-cache),不过采用的却是外置的同步或异步SRAM芯片,最大容量达到了16MB(通常从512KB到2MB不等)。B-cache由带有1-bit长的奇偶校验和7-bit的ECC校验的32字节的数据和指令,带有1-bit奇偶校验的tag record和3-bit的状态标签所组成。由于采用外置式的L2缓存设计方式,因此缓存的速度在很大程度上都限制着处理器的运算。

  系统数据总线作为沟通处理器和L2缓存之间的接口,作用越发显得重要,系统数据总线采用了两种位宽64bit和128bit。由于B-cache的多样性,这种转换是相当有必要的。系统地址总线为34-bit位宽。

  除此之外,处理器还采用了一种叫做“victim write”的机制,用于将B-cache中的数据,储存到主内存中。在整个系统中,只有处理器才能够对B-cache执行读写操作,系统其他的逻辑核心只能够读取B-tag数据。这对于后来越来越复杂的多处理器系统中,显得尤为重要。只有这样,才能够尽可能的保证B-cache中的数据一致性。

  在处理器中的分支预测单元有一个4096个入口的分支预测表,还有有一根整数管线(E-box,7级流水线)和一根浮点管线(F-box,10级流水线)。指令解码器的执行单元能够每个时钟周期执行2个命令(I-box)。除此之外,还有读取单元(A-box)。读取单元的作用很重要,主要用于协调缓存和系统总线控制器之间的操作,其中涉及到的部件有:I-cache、D-cache和B-cache。

  尽管有非常出色的性能,不过EV4对于大多数的潜在消费者而言,还是太贵了。因此在1993年九月,其低价的孪生兄弟21066(LCA4)被推出市场。新处理器基本上是基于EV4核心,另外整合了内存和PCI控制器,以及一些其他的小功能。为了降低成本,并在性能上和EV4拉开差距,LCA4的系统数据总线位宽被缩减到64bit,这对性能会造成一个比较大的影响。

  LCA4采用了更为先进的0.675μ CMOS4S制造工艺,芯片面积比EV4略有缩小。由于当时的桌面机箱,通风散热问题较为突出。因此处理器工作的频率也被调低到100MHz-166MHz。整个处理器由175万个晶体管组成,工作电压为3.3V。该芯片被授权给日本三菱生产,三菱公司同一时期所生产的LCA4也包括了200MHz的版本。

  21064A(EV45)在1993年10月的微处理器论坛上面被发布。它是EV4的修改版,采用4层0.5μ CMOS5制造工艺。第二年21066A(LCA45)在11月举行的Comdex大会上被推出。LCA4同样是在生产工艺上面进行了更新。DEC公司的市场开发人员习惯于,将采用更先进的生产工艺制作出来的产品后面增加一个字母,以示区别。

  其实这一时期所推出的核心架构都没有多少变化,如:EV45中的I-cache和D-cache的容量分别增大了一倍,分支记录区域和I-cache分别扩展到了16bit,D-cache变成了2路相关。除此之外,EV45和LCA45在浮点运算单元中有进一步的优化,在EV4中,执行单精度操作数和双精度操作数分别需要34个时钟和63个时钟周期。而且这个过程和操作数本身的复杂程度无关。

  在EV45中,单精度的操作数处理时间为19-34个时钟周期,双精度的操作数处理时间为29-63个时钟周期。并且和操作数本身的值密切相关。LCA45同样委任给三菱生产。由于采用了当时最新的生产工艺,EV45和LCA45的芯片核心面积进一步下降到164mm²和161mm²,虽然EV45内部晶体管的数量有较大的增幅,达到了285万个。不过能耗和发热量都有所降低。EV45的核心频率为200-300MHz之间,LCA45的频率为166MHz-233MHz。

  第一款基于EV4开发的芯片组支持:TURBOchannel,FutureBus+和XMI外设总线。尽管这些设计在当时有着非常快的速度(大约100Mb/s),不过它们的扩展性却不强,因此能够支持的外设数量有限。为了解决这个问题,DEC特别将业界标准总线架构:PCI和ISA作为重点参考的对象。在1994年发布了基于PCI总线的新芯片组—DEC Apecs,该芯片组有两个不同的版本:64-bit系统数据总线(21071)和128-bit系统数据总线(21072)。

  这两款芯片组的复杂程度也不相同,前者由4块芯片所组成,分别是:1个通用控制器,两个数据片和一个PCI总线控制器,后者由6块芯片组成(增加了两个数据片)。芯片组支持33MHz系统总线频率,最高支持16MB L2缓存和最大4GB的奇偶校验内存(内存的访问延迟为100到50ns)。同时在标准桥接芯片中,还支持ISA和EISA总线。

  第一款基于Alpha的工作站发布于1992年11月,全名叫做DEC 3000 Model 500 AXP(开发代号:Flamingo)。采用的是EV4 150MHz,512KB的L2缓存和32MB主内存,1GB SCSI硬盘和SCSI光驱,内建10Mbit以太网控制器、音效芯片和ISDN控制器。配备了19英寸显示器(1280 x 1024 8位色)。机器售价为38995美元。

技术参数

EV5,EV56,PCA56,PCA57

  其实在94年8月14日举行的Hot Chips大会上,DEC就已经非常详细的阐述了第二代Alpha处理器的第一手资料。不过正式的官方发布会还要推迟到94年9月7日,新处理器被命名为21164(EV5),该处理器是在EV45的基础上发展出来的,不过产品的名称已经告诉人们,这是一款有着重要架构改进的产品。在新处理器中,整数单元和浮点单元的管线数量均增加了一倍,即每一个单元有两根管线。

  在EV5里面,DEC的工程师将每个运算单元的功能很明确的分配给每一个管线来处理。比如说:整数单元中的一根管线专门用于处理算术运算部分,而第二根管线则用于处理逻辑运算部分;而浮点单元中的两个管线也同样是分别处理单浮点代码和多重浮点代码。除此之外,该处理器采用4层0.5μ CMOS5制造工艺,工作电压为3.3V,共由930万个晶体管所组成,其中缓存部分占用了718万个晶体管。芯片面积为299平方毫米,这已经非常接近该制造工艺的极限了。处理器的核心频率在266MHz到333MHz之间,TDP为46W到56W不等。处理器采用IPGA-499封装方式。

EV5技术图解

  21164A(EV56)在1995年10月的微处理器论坛上被发布。它是EV5的修改版,后者采用更先进的0.35μ CMOS6生产工艺。为了提升生产工艺,DEC特别投资了4亿5000万美元在哈德迅修建了一座现代化的工厂。新处理器架构中采用了BWX(Byte-Word Extension),即增加了一组6个命令来存取8位或16位的数据。

  最开始,Alpha架构处理的数据都是32位或64位的,不过要在其他的处理器架构,如i386和MIPS上移植或模拟代码变得比较困难。因此从1994年6月开始,BWX被应用到新的处理器和芯片组中。该处理器由966万个晶体管所组成,核心面积为209平方毫米,需要两种工作电压2.5V和3.3V。EV56的设计时钟频率为366MHz到666MHz,TDP为31W到55W不等。从96年夏天开始,授权生产的三星开始出货。

   21164PC(PCA56)在1997年3月17日,作为EV56的低价版发布。这款处理器是由DEC和三菱联合研制的。S-cache和与此相关的逻辑电路被取消,不过I-cache增大为原来的两倍(16KB)。处理器由350万个晶体管所组成,芯片面积为141平方毫米,采用和EV56相同的制造工艺和工作电压。不过封装方式变为IPGA-499。核心频率为400MHz-533MHz,TDP为26W到35W不等。

  之后不久,三星采用更先进的0.28μ的制造工艺重新生产PCA56(PCA57),I-cache和D-cache都增大了一倍,晶体管的总数也增加到了570万个,不过核心面积却减小到101平方毫米,工作电压进一步下降到2.0V和2.5V。核心频率提升到533MHz—666MHz。除了从EV56那里继承了BWX指令之外,PCA56还支持新的指令集—MVI(Motion Video Instructions),用于加速使用SIMD指令的视频、音频计算速度,和MMX比较类似。

  第一款支持EV5的标准芯片组为DEC Alcor(21171)。支持33MHz系统总线,最大支持64MB外置L2缓存,支持8GB FPM ECC内存,主内存使用256bit位宽和64bit PCI总线(33MHz)。标准桥接芯片中还支持ISA和EISA总线,没有内建IDE控制器,不过能够使用第三方产品独立安装。芯片组由五个物理芯片组成:1个通用控制器,4个数据转换器。后来为了配合EV56,从新发布了支持BWX的Alcor修订版。

DEC公司的终结

  在1998年1月26日,这家世界上历史最悠久,规模最庞大的计算机公司,因为财政危机而被康柏(Compaq)所收购。1998年2月2日,DEC公司召开股东大会,并且通过了这项提议。DEC公司以96亿美元的价格被收购,当时评估DEC公司的市场占有份额为70亿美元。整个并购过程大约持续了半年左右,1998年6月11日,DEC公司正式在纽约证交所摘牌。

  双方从1995年开始接触,96年DEC公司高层同意了康柏的收购提议,到98年被最终摘牌只有短短的三年时间。根据89年的公司报告,DEC公司大约有13万名雇员,市值超过140亿美元,是仅次于IBM的全美国最大的计算机制造公司,它们还有着非常优秀的研究/开发部门和规模庞大的生产工厂。人们有理由问道:为什么如此庞大的公司会在顷刻之间倒下?其中的原因自然是纷繁复杂,下文将会对DEC公司7大败笔作出一一描述。

败笔之一,思想落后:

  很长时间中,DEC公司的创始人,也是一直的CEO—Kenneth Olsen的销售理念有很大的偏差。工程师出身的他,对于销售并不了解。他曾说过“一款优秀的产品能够自己被卖出去”。这句话深刻的反应了DEC公司对于产品宣传和市场开发的一贯态度。他同时还认为“每家每户都拥有一台电脑是不可能的”。

  也许这些想法放在以前可能是正确的,因为当时的计算机产量很少,价格高昂。不过在进入20世纪末,当时每年要销售数百万台计算机,计算机的销售网点遍布全美,消费者可以很轻松的买到适合自己的电脑。与此同时,购买计算机的消费对象也发生了变化,消费的主体从技术/专业人员转移到了普通人群中,这些消费者没有专业的背景知识,甚至分不清“晶体管”和“电阻器”的写法(注:晶体管和电阻器写法接近,分别为transistor和resistor)。因此对于市场宣传不够重视,对于市场变化不够敏感,仍然用向专业人员销售的方法,向普通消费者兜售产品,结果事半功倍。此为败笔一也。

败笔之二,错失良机:

  1991年二月,DEC公司推出了EV4处理器。与此同时,APPLE的工程师们正在为公司的产品寻求一款性能更好的处理器,而EV4的推出给他们留下了深刻的印象。于是APPLE的CEO John Sculley曾在同年6月会晤Kenneth Olsen,希望能够在今后的APPLE电脑中,使用DEC的新处理器。不过Olsen认为EV4推出市场的时机还不成熟,而且VAX架构的潜力也还没有充分挖掘出来,因此拒绝了APPLE的请求。

  数月之后,APPLE就推出了基于IBM和Motorola所开发的PowerPC的Macs。1997年4月28日,DEC公司曾参与开发VAX和Alpha的工程师Willian Demmer在接受商务周刊访问的时候,就曾指出:公司的高层并不想将未来的赌注押在APPLE。因此优柔寡断,错失良机是第二个败笔

败因之三,不够重视配件生产:

  DEC公司将所有和Alpha处理器相关的配件和外设都自己生产,不过为桌面电脑开发的主板却不支持SMP,而当时几乎所有采用Alpha处理器的公司都会使用多处理器系统,因此DEC公司所推出的桌面机型很没竞争力。不过这些主板在电气设计上却是很好,由于这些主板布局电路都可以公开获得,因此吸引了很多的公司对此进行模仿改造,生产出了大量的克隆版本。

  在此其间,只有一家公司为桌面市场开发了自己的主板DeskStation。虽然有越来越多的公司将它们生产出来的主板销往使用Alpha处理器的用户,不过DEC对此并不在意,他们认为首先将自己的工作站或服务器整机销售出去是最重要的,一些零碎的电脑配件市场并不重要。因此有人评价说:DEC公司占有了市场,却没有征服市场。

败因之四,定价过高:

  DEC公司从来都没有想过要将他们的产品(处理器,芯片组和主板)的价格降低到大多数潜在消费者能够承受的价位。例如在95年初,266MHz和300MHz的EV5每千颗售价高达2052美元和2937美元。当然这还是批发的价格,如果考虑到实际的零售价格的话,EV5的定价要比同时期RISC设计竞争者高出两倍以上。

  虽然DEC曾经一度发布了一款廉价产品Alcor,这种主板每5000片的售价为295美元,虽然远远低于处理器的价格,不过却将处理器(EB164,1MB L2缓存)和16MB主内存捆绑销售。由于主内存实在太小,对于当时的程序来说,也显得捉襟见肘,就这款主机售价为7500美元。

败因之五,收取昂贵的专利费:

  虽然DEC公司很提倡开放式架构的概念,而且从一开始Alpha计划就是开放的,不过一直以来,所有的研究开发工作都是由DEC自己的工程师来完成的,只有在生产阶段委托给了三菱。既然是自己完成的,所以公开的只有大致的产品框架,而最重要的硬件设计部分却被秘而不宣,要得到就需要交纳高额的专利费。

  尽管从EV4开始,DEC公司就先后向Intel,MOTOROLA,NEC和Texas Instruments伸出过橄榄枝,奈何专利费太高了,这些公司都没有接受DEC的“好意”,转眼就开发出了自己的产品。鼠目寸光,利令智昏,是第五个败因。

  再优秀的计算机也离不开操作系统的支持,否则就只是一个昂贵的发热机。因此DEC公司对操作系统格外重视,Windows NT,Digital UNIX和OpenVMS都曾成为公司高层的选择对象,不过……

败因之六,选择NT架构作为首选操作系统:

  首先要知道的是,WINNT是设计给用户,而不是给程序员使用的。操作系统里面没有整合软件开发工具,而且运行软件都需要进行预编译。当时市场上已经有相当一部分基于Alpha和i386所开发出来的软件,两者之间不能够在对方平台上运行,这需要先进行一次转化。

  1996年才发布的FX!32由Anton Chernoff小组所开发,能够很好的模拟并将x86转化为Alpha,不过转化后的结果是,大概有40%的性能损失。任何驱动程序和FX!32对此都无能为力,大家对此都百思不得其解,然后才有少数程序员发现,WINNT是32位的操作系统,即使能够在64位的Alpha平台上面工作,也难以充分发挥出64位架构的潜能。其实根本就不应该将NT作为Alpha架构的首选操作系统,最多作为一个备选方案存在。

败因之七,操作系统价格昂贵:

  其实市场上还有两款操作系统很适合Alpha架构,分别是OpenVMS和Digital UNIX。不过这两款商业操作系统的定价过高,导致其市场占有率很低,并且未开放源代码。再则这两款操作系统对外设的支持也没有NT丰富,操作系统的问题一直困扰着Alpha的普及,所有选择的操作系统都不尽如人意。

败因之八,不使用开源操作系统:

  虽然所有的商业操作系统都有这样或那样的问题而没有被成功推广到Alpha平台上,不过DEC公司一直都不支持免费开源操作系统。早在1995年,NetBSD就移植到了Alpha平台上,接下来还有Linux,OpenDSB和FreeBSD。这些系统的性能不必Digital UNIX和OpenVMS差,对硬件的兼容性也比WINNT要好,而且还可以提供大量的开源程序供用户使用。因此后来这些系统都在Alpha平台上广为流行。

  当然还可以继续列举出DEC策略失误的长长清单,包括他们不够重视主流市场和个人电脑市场的变化等等,不过这些都和Alpha架构本身没有直接的关系,所以略过不谈。总而言之,DEC的确倾注了大量的心血在Alpha上面,不过当产品推出之后,DEC公司想到的只是怎么来Alpha架构来换钱,而不是如何将这个架构推广开来。

小结:

  80年代末,90年代初这段时间,DEC作出了许多糟糕的决定,包括1992年新任命的董事会主席Robert Palmer,对DEC进行的一系列重组。Palmer认为现存的matrix模式(按照功能不同来划分出不同的部门,每个项目由多个部门协调完成)不适合公司,要回到传统的vertical模式下(从最上到最下,每一个人的职位和任务都分配的非常具体)。

  从91年到94年,DEC公司的损失超过了40亿美元,单93到94年度,就损失了20亿元。为了弥补大量的财政赤字,Palmer计划将DEC其他可以分割出去的部分全部卖掉。因此一次全球大甩卖拉开了序幕。1994年7月,将DEC生产硬盘驱动器的存储部门,以4亿美元的价格卖给了Quantum(昆腾)。之后不久,又将数据库软件研发部门以1亿美元的价格卖给了Oracle。97年11月,DEC再次将网络产品部门作价4亿3000万美元卖给了Cabletron。

  重病缠身的DEC在97年还将Intel告上法庭,指其在Pentium,Pentium Pro和Pentium II处理器中,使用了10项Alpha处理器的专利。97年9月,双方对簿公堂,两不相让。但同年的10月27日,双方在庭外达成谅解。DEC授权给Intel所有硬件的生产权利(除了Alpha之外),并且同意在未来支持它的IA-64架构开发计划。而Intel也以6亿2500万美元的价格,购买了DEC在哈德迅的制造工厂和位于以色列及得克萨斯的设计中心,并且同意以后将生产DEC的Alpha处理器,同时得到DEC所有专利10年的使用权。

  最后还不得不说说那些在DEC工作多年,并且才华横溢的工程师们的去向。Derrick Meyer加入了AMD公司,设计K7;James Keller也去了AMD,不过是K8的架构师。Daniel Leibholz到Sun开发UltraSPARC V。Intel远没有想象中的如此幸运:虽然在DEC公司最后关头得到了很多好处,不过StrongARM架构却只能够看着它胎死腹中,因为当初设计StrongARM-110的首席架构师—Daniel Dobberpuhl,Richard Witek,Gregory Hoeppner和Liam Madden没有一个愿意加入Intel。而第一个提出Alpha架构的Richard Sites则一蹶不振,一直没有找到像样的工作……

  到1998年5月18日,只有32000名雇员的Compaq收购了有着38000名雇员的DEC,结束了DEC在历史舞台上的最后一幕戏。

EV6,EV67,EV68C,EV68A

  21265(EV6)处理器的开发项目最初是由DEC负责完成,并且在1996年十月举行的微处理器论坛上面被首次披露。不过直到1998年2月芯片的整体研制才完全结束,那时DEC公司已经在进行资产清算了。不过这款处理器本身相对于EV5来说,仍是一个巨大的进步,在多个方面都所突破。一个对性能影响很重要的技术—乱序执行(out of order execution)功能得到应用。

  和传统的顺序执行不同,具备乱序执行的处理器能够利用空闲的运算资源,对需要执行的指令进行重组,以此来提高处理器执行效率。因此对重组指令的多少,就说明了处理器乱序执行的能力高低。

  而不同处理器之间,重组指令数也不尽相同,EV6能够重组80条指令,同时期的处理器如:Intel的P6架构能够重组40条指令,惠普的PA-8×00能够重组56条指令,MIPS R12000能够重组48条指令,IBM的Power3能够重组32条指令,而PowerPC G4只能够重组5条指令,Sun的UltraSPARCII还不支持乱序执行功能。和乱序执行相关的寄存器重命名技术,能够提供给程序员48个整数寄存器,40个浮点寄存器,可对其进行重新命名。

  整数管线增加到了4条,同样也是根据执行的工作不同两两分组。第一根和第三根管线用于操作A-box,为读取指令计算虚拟地址。A-box自身由I-TLB、D-TLB、读取队列(32个命令的队列)和8个64字节的缓冲器组成,用于处理B-cache和主内存中存取的数据。第二根和第四根管线主要用于计算,第二根管线能够执行乘法指令(7个时钟周期)和移位指令(1个时钟),第四根管线能够执行MVI代码(3时钟周期)和移位操作。

  所有的四根管线都支持基本的算术操作和逻辑操作,每一组管线都有自己的整数寄存器。浮点管线也有变化:首先是第一根管线用于运行加法(4时钟),除法(单精度12个时钟周期,双精度15个时钟周期)和平方根计算(15到30个时钟周期),其中平方根计算和相关的指令都是首次应用到Alpha新架构中的。

  第二根浮点管线则只能够执行乘法运算(4个时钟周期)。和EV5的工作方式相同,解码器每时钟提交4个指令,调度程序将其分配到2个队列:整数管线执行整数队列(20个命令),浮点管线执行浮点队列(15个命令)。除此之外,新款的Alpha处理器中还第一次加入了预取指令,用于在整数寄存器和浮点寄存器中预取数据。

  EV6在缓存方面也有较大的变化。C-box支持两个缓存级别:芯片内的L1缓存和外置式的B-cache。L1缓存由64KB的I-cache和64KB的D-cache所组成,并且缓存采用两向结合性。其中D-cache为write-back方式,用于将B-cache中的资料复制过来。由于采用了较大的容量和更复杂的多向结合性,因此D-cache的读写延迟均超过了3时钟周期。

  外置式的B-cache容量从1MB到16MB不等,采用了直接映射和write-back方式,使用128bit双向数据总线(具备16bit ECC校验)和一个独立20bit的单向地址总线。B-cache由LW SSRAM和DDR SSRAM芯片所组成。B-cache的工作频率为可变频率,大约是全速核心频率2/3到1/8。并且从EV6开始,B-cache开始成为处理器的必备项。

  除了缓存总线之外,系统数据总线为64位宽,采用双向设计并支持DDR技术。系统地址总线44bit位宽,采用单向设计,不支持DDR技术。系统控制总线为15bit位宽,也不支持DDR技术。由于系统总线的工作原理发生了变化,因此处理器和芯片组之间有了一条专用的总线路径。

  分支预测逻辑单元也被完全重新设计过。并且分为2级体系,即:本地预测器和全局预测器,两者分别记录有1024条和4096条记录。彼此算法不同,不过却可独立运行,本地预测器用于每一个分支侦测,而全局预测器则用于跟踪分支序列。如果本地预测器和全局预测器的预测结果不一致,则选择记录多(4096)的预测器的结论,这样会得到更为精确的结果。采用两个不同级别的分支预测器协调工作,可以降低分支预测失败的情况出现的次数。

  在EV6的开发过程中,由于内核中太多的功能单元,并且彼此之间相互影响,因此时钟频率发生器子系统也被完全重新设计。这让核心处理单一数据流变得更有效率,而且时钟子系统占总核心功率比例也在下降,EV6只占到了32%的总核心功率,EV5是37%,EV4则在40%上下。

  EV6采用了6层0.35μ CMOS6制造工艺。由1520万个晶体管所组成,其中有900万个晶体管用于I-cache、D-cache和分支预测器。由于晶体管数量较多,因此芯片面积较大,为314平方毫米,工作电压为2.1V-2.3V。核心频率为466MHz-600MHz不等,TDP为80W到110W。芯片采用PGA-587的方式进行封装。EV6及其其他采用新制造工艺所生产的衍生型号也较为纷繁。

EV6

   21264A(EV67)1999年末被推出市场,采用三星0.25μ CMOS7制程,芯片面积为210平方毫米,工作电压进一步降低为2.0V。内核与EV6相比没有变化。核心频率从600Mhz到833MHz,TDP为70W-100W。由于当时处理器市场百家争鸣,发展迅速,Intel和AMD的处理器在整数性能方面都曾一度超越了Alpha,不过借由这次采用新制造工艺的EV67发布,才夺回了整数运算性能之最的称号,实属不易。

  在2000年初,IBM采用最新的0.18μ铜互连工艺,生产出第一款21264B(EV68C)处理器样品。与EV6相比,架构同样没有什么变化,不过新工艺却让处理器的核心频率第一次超越了1000MHz,最高达到1250MHz。2001年,三星采用0.18μ铝互连制程,开始批量生产21264B(EV68A)处理器,核心频率从750MHz到940MHz,TDP为60W到75W。

  之后不久,IBM又分别推出了和EV68C制程相同的EV68CB和EV68DC两款产品。三款产品规格大致相当,频率和架构也无甚变化,不过IBM首次采用了“无针脚”的CLGA-675封装方式,来代替沿袭已久的PGA。

  为EV6所开发的芯片组有两款,分别为DEC Tsunami(21272,也被称为Typhoon)和AMD Irongate(AMD-751)。由于AMD得到了DEC的总线授权,因此为EV6设计了一款芯片组,同时将EV总线逐步应用到该公司后面的多款产品上,直到Athlon XP时代。

  DEC Tsunami是一款极具适应性的芯片组。它既能够支持单处理器,也能够支持多处理器。内存总线位宽从128位到512位不等,采用具备ECC校验的registered SDRAM,工作频率为83MHz,同时还支持多种PCI总线。为了达到如此高的可适应性,Tsunami集成了系统总线控制器,内存总线控制器,PCI总线控制器等等。这款芯片组所集成的芯片还不算多,还有一款名为AlphaPC 264DP的芯片组集成了多达12款的芯片。

  尽管AMD Irongate是一款面向服务器市场推出的芯片组,不过却只能够支持单处理器。采用Alpha处理器作为服务器的用户,主要都是使用多处理器,因此缺乏对此支持的Irongate芯片组即使售价更低,功耗更小,也难以得到市场的青睐。不过这是市场上第一款支持AGP总线的Alpha芯片组,但却仅此而已。

康柏时代综述

  其实当初康柏之所以购买DEC,正是看中了它技术先进的装配工厂,分布广泛的销售网络(全球98个国家),以及和Intel和DEC公司所签署的互换专利条约。但是由于康柏已经长时间和Intel及AMD在服务器/工作站上面合作,因此DEC留下来的Alpha架构对于康柏来说反而成了包袱,不过康柏在一开始并没有放弃Alpha。

  早在98年2月,三星和DEC公司签署协议,获得了Alpha处理器相关的所有专利使用权,并且能够独立生产和开发新的Alpha处理器。因此同年6月,康柏和三星在其麾下建立了一家联合子公司—API(Alpha Processor Inc),以此为基础共同开发和生产新的Alpha架构,康柏的这一举措大概也是吸取了DEC的失败经验。

  1998年夏天,基于EV6的系统开始进入大规模生产的阶段,并且在当时的市场上有着非常高的性价比,同样在当时推出市场的Intel的IA-64架构则因为种种原因难以和EV6竞争。更为滑稽的是,Intel为了履行当年和DEC所签署的协议,在自己的IA-64表现不佳的同时,还必须在哈德迅FAB-6工厂中生产EV6处理器……

  1999年,康柏由于对于Internet时代的到来准备不足,没有预先察觉到PC市场的快速成长,因此在个人电脑市场遭遇了很明显的业绩下滑。而与此同时,DELL等其他几家大型的PC业务运营公司,则因提供了更具吸引力的价格而成长迅速,一跃成为最顶尖的公司之一。康柏的CEO—Eckhard Pfeiffer于1999年第一季度的财政危机爆发后宣布辞职。康柏为了控制并减少赤字而开始大幅度的简化下属机构,其中还包括到Alpha系统的开发,1999年五月,位于新罕布什尔的AlphaServers装配线被迫停产。

  1999年8月23日,康柏突然宣布退出参与Windows NT的开发计划,停止了在Alpha主机上预装Windows NT操作系统,同时还裁撤了在DEC西部研究实验室中为此项目所工作的120名程序员,这对Alpha系统的打击巨大。不过康柏公司高层却并不这么认为,根据公司的一份公开统计报告所言,在Alpha主机上所预装的操作系统,有60%是Tru64,有35%是OpenVMS,只有不到5%的机器预装了WindowsNT操作系统。因此没有理由继续在Windows的项目上投入资金,然后大量的Alpha系统的个人用户首选系统都选择的是—Windows NT。一周之后,继1997年宣布放弃PowerPC和MIPS架构之后,微软再次声明,Windows 2000将不会支持Alpha系统……

  1999年12月,为了确保Alpha架构在未来继续保持领先地位,康柏和三星签署了备忘录,双方同意投资共计5亿美元,用于Alpha的架构生产研制费用。其中三星将投资2亿美元用于更新生产工艺,康柏投资3亿美元用于对新架构的研发和对新版Tru64 UNIX的开发。也是在12月,康柏还与IBM达成一致,一旦新工艺完成,后者将为Alpha处理器的制造采用最新的铜互连制造技术。虽然为Alpha做出了种种努力,不过在年度总结会上,康柏的股价从2月份的每股51美元,下跌到12月份的每股28美元。越来越多的分析家也开始看空康柏,前景一片黯淡。

  康柏的公元2000年终于到来。三星在转型0.18µ铝互连制造工艺时失败,EV67被迫延期,但市场普遍对EV67的延期持乐观态度,认为只是暂时现象。同时IBM开始向市场少量供应EV68C。为了刺激市场,正在研发的EV7(也被称为Marvel)和EV8(被称为Araña)的消息陆续被披露出来。一切似乎正在慢慢变好,但此时纳斯达克终于承受不住市场的压力,潜藏已久的矛盾相继爆发,网络及高科技上市公司的股票开始狂泻,dot-com神话终于破灭,2000年每一家IT公司迎来的都是全球IT业的一片萧条。康柏12月份的股价跌至每股15美元,和一月份相比,跌幅超过了44%。而其他IT公司的股票价格更是惨不忍睹:Gateway跌幅达75%,APPLE跌幅达71%,DELL跌幅为65%,YAHOO和Priceline.com分别损失了95%和97%的市值。其他Dot-com公司关门倒闭的不计其数。

  在经过了网络泡沫破灭的冲击后,2001年初,三星开始尝试量产EV68A,不过最好的推广时机已经被错过。康柏决定采用EV68C作为Alpha主机系统,并且升级现有的产品。各种关于EV7的消息悄悄涌现出来,一切迹象似乎显示出康柏还是希望继续倚重Alpha架构的。但是2001年6月25日,一个出乎所有人意料的日子(黑色星期一),康柏宣布放弃Alpha,到2004年所有的产品都采用IA-64。

  尚未露面的EV8被立马取消(其实这款处理器的工作原理细节都已经在99年10月的微处理器论坛上面被讨论过了),EV7也计划在2002年第一季度被全面撤销。接着Alpha微处理器部门也被解散,其中绝大多数雇员都投奔了Intel。三星和IBM也很快停止了继续生产Alpha处理器。到2001年12月,康柏的每股股价仅为10美元,并且公司有很严重的财政问题。同年惠普宣布有意入主康柏,这一次购并风潮甚至惊动了美国和加拿大政府,不过惠普最后还是在2002年5月,成功兼并了康柏。

  2001年10月21日,康柏和三星共同成立的子公司API更名为API网络公司,而其传统业务,即对Alpha系统提供技术支持也由Microway公司接盘处理。而Microway本身就是康柏以后,最大的Alpha工作站和服务器装配商,同时也是DEC的长期合作伙伴,因此由它接盘并不出人意料。API自己出让Alpha产品业务之后,也专注于网络技术的研究,陆续开发出HyperTransport总线和数据存储系统。

  曾经财大气粗的康柏在90年代收购了DEC,自己却在10年后被惠普所兼并。康柏虽然力图让自己不要重蹈DEC的覆辙,不过最终也没有将给予厚望的Alpha架构发扬广大。在90年代的最后阶段,康柏叠遭天灾人祸的双重打击,的确对于推广Alpha显得力不从心。因此基于21264A和21264B的Alpha系统价格始终没有降到一个合理的价位(2000美元)以下,而较为廉价的21264PC在市场上又难觅踪迹。芯片组方面的情况也是一样,低价的AMD Irongate性能太差;高价的Tsunami却又异常昂贵。在往往复复的新品发布中,Alpha系统一直都处在曲高和寡的尴尬境地,高价让它始终高高在上,难惹人爱,阻止了它试图进入主流市场的一次次努力。

EV7,EV79,EV7z,EV8

  1998年10月的微处理器论坛上,EV7架构被正式推介。这款处理器基于EV6内核,不过集成了4通道的Rambus DRAM控制器和1.5MB,6向结合性的L2缓存。由于有较多的工程师离开了康柏公司另谋高就,因此EV7的内核架构和EV6相同,基本没有发生变化。整个设计预计在2000年完成。

  不过紧接着康柏公司面临财政危机和收购风波,EV7的研发暂时陷入停滞。惠普入主康柏之后,由于已经有自己开发的64-bit PA-RISC架构处理器,同时惠普还和Intel联合开发IA-64架构。因此Alpha对惠普而言更像是一个可有可无的选项,接盘之后的惠普没有完全将Alpha架构打入冷宫,而是继续销售康柏留下来的EV6、EV67和EV68系列服务器。并继续完成EV7的研发工作,直至所有研发工作完成,已是2002年1月。

  EV7的核心架构和EV68相似,另外还增加了几个集成单元:两个内存控制器(Z-box),用于操控Rambus DRAM PC800;一个多功能路由器(R-box),用于多处理器和网络功能的支持;一个7向结合性的全速L2缓存(S-cache,1.75MB)。S-cache总线位宽128-bit,并且有较明显的延迟(读取延迟12个时钟周期)。Z-box和R-box的运行频率为核心频率的2/3。内存通道的速度和内存控制器密切相关,是控制器频率的一半(约为1/3核心频率)。

  每一个Z-box支持5根内存通道(4根主通道和1根辅助通道),每根通道位宽18-bit(16bit用于传输命令、数据和地址,2bit用于ECC校验)。辅助通道为可选,其租用的功能是可以在内存中形成一个队列(有点像RAID3)。例如:当向内存中写入一个64 bits的四倍长字时,能够首先将其分解为4个16bits的字,分别发送到专用的通道中。

  辅助通道则用于存储校验和。每一个z-box控制器最多可以打开1024个内存页面,因此总共理论内存带宽为12GB/s。很显然在多处理器系统中,每一个EV7都有自己的内存区域,这种内存模型被成为NUMA(非统一内存访问)。和传统的SMP(同步多处理器)系统中,每一个处理器都可以访问全部的内存区域不同。

  EV7中的每一个处理器要想访问到其他的内存区域,只能够通过另外处理器中的控制器来实现。R-box就是多处理器之间用于通信的单元,它同时也能够为指定处理器和本地外设之间的通信服务。R-box支持4根独立的通道和一根辅助通道组成,每根主通道的理论带宽为6GB/s,辅助通道则用于高速输入/输出数据传输。

  EV7处理器能够通过多种算法彼此之间进行互连,不过之后真正被应用的只有被称为“torus”和“shuffle”两种互连算法。如下图所示,可以很容易发现,shuffle这种连接方式更有效率,因为在8处理器的情形下,同一时间采用shuffle算法能够让每一个处理器直接和其他四个处理器相连,而采用torus只能够和三个处理器相连。

 “torus”和“shuffle”

  EV7采用7层 0.18μ CMOS8制造工艺,由1亿520万个晶体管所组成,其中I-cache、D-cache和S-cache占了1亿37万个晶体管。芯片面积为397平方毫米。第一款EV7样品时钟频率为1250MHz,TDP为155W。正式销售的的系统中,处理器频率为1000MHz到1150MHz不等。虽然EV7和EV6相比,在核心架构上没有明显的变化,不过从工程学的观点来看,EV7能够在芯片内部集成了如此多的功能单元的确是一个非常大的飞跃,但过多的功能单元导致核心复杂度大大增加,同时也导致缓存延迟时间加长,整体性能受到影响。

  2002年12月份,惠普召开的一次新闻发布会上面正式宣称基于EV7的服务器将于2003年一月推出市场。稍后不久采用新工艺的EV79将被生产的消息也不断传出,2003年3月,ISSCC2003上展示了EV79的样品,采用0.13μ SOI制造工艺,时钟频率为1450MHz,TDP为100W,工作电压为1.2V,核心面积为251平方毫米。不过同年10月份,IBM传出量产遇到困难的传言,半年之后,这款处理器的生产也就不了了之了……

  2004年8月,最后一款Alpha处理器—EV7z被发布。该款处理器时钟频率为1300MHx,制造工艺为0.18μ。和EV7相同,这也是专为惠普的产品而设计的。虽然从此以后,再也没有推出过新款的Alpha处理器,但是采用Alpha架构的服务器和工作站仍将被冠以惠普的招牌一直销售到2006年,而所提供的技术支持也将持续到2011年。

  原本为了取代EV7所开发的EV8则早已被取消,现在关于这款处理器的资料就还剩一些书面规格:包括有8根整数管线和4根浮点管线,3MB的S-cache。支持新的SMT(同步多线程)技术,单核心能够同时执行4条软件流(也许Intel的HyperThreading就是从此演变而来)。芯片的制造工艺为0.13μ SOI,芯片面积为420平方毫米。在此之后有着7个系列,走过20多年风风雨雨的Alpha架构,就这样在人们的视线中渐行渐远……

结语:

  这篇文章中绝大部分关于Alpha系统的资料都取材自惠普和Microway。后者现在还在推出基于21164A,预装Linux的AlphaPC164LX。而很多“退休”下来的Alpha服务器和工作站的老硬件,也还活跃在各个跳蚤市场中。根据统计,截止到2001年6月,DEC和康柏总共销售了超过80万台Alpha工作站和服务器。而在此期间通过自己组装的Alpha系统数量则难以估算,不过保守估计也超过了50万台。历史有很多种可能,本来还具有很多潜力没有被挖掘的Alpha架构,就在一次又一次的商业购并中,过早的结束了自己的宿命……

2006年12月2日

搬家于CDD个人主页

  • 回顾

  2000年,Intel 发布了NetBurst架构。当时加入了诸多的新技术也着实让人期盼,特别在当时普遍认为以频率为主导处理器发展的时期,Intel NetBurst架构把我们带入了3GHz的时代。随着NetBurst架构核心不断改良,频率也节节上升。Intel相信凭借技术的发展,频率更能达到更高的攀升。然而,拥有庞大资源和技术实力的业界龙头Intel也无法解决追求高频率所要面临的一系列问题,曾经看到Intel发展蓝图里计划的运行频率高达5GHz的Tejas核心处理器早已胎死腹中,即便是转到65纳米制程,功耗、发热、核心内部电子迁移等等问题在现阶段也无法很好的解决。

  2003年AMD K8架构的发布也从侧面突出了NetBurst架构高频低效的致命弱点,虽然在K8出现的初期,很多人仍然对Intel的高频处理器充满信心,但K8在运行效率上的确是优于NetBurst,AMD以PR值作为处理器性能指标也慢慢得到市场的接受,市场占有率也稳步提升。相比节节败退的桌面市场,Intel在移动处理器市场看到了曙光。内忧外患的Intel也不会抱着NetBurst架构不放,曾经由于开发出Banias等PM家族处理器而大获成功的Intel以色列团队担当了下一代Core微架构的研发工作。

  Intel在2006年3月发布的Core微架构成了业界近几年来最受关注的事情。相比Intel上一代NetBurst架构,Core微架构有了革命性的变化,这变化并不是由NetBurst衍生出来的,根据Intel官方的说法,Core微架构综合了Pentium M(Banias、Tualatin等)和Netburst的优点。从Core微架构的一系列的变化我们可以看到Intel已经跳出了追求频率的怪圈,执行效率、运行功耗等成为首要解决的问题。

  • 14级流水线

  以往NetBurst架构的P4处理器为追求高频率而采用了更深的指令执行流水线设计,Williamette和NorthWood等拥有20级、Prescott核心则更达到31级,而AMD K8架构等拥有17级。更长的流水线会让频率得到更高的提升,但负面影响是一旦产生分支预测失败或缓冲区为命中的时间后将会浪费更多的时钟周期,虽然频率提升可以弥补这方面的缺陷,但是以现在所能达到的频率显然是不足以弥补这种性能损失。因此Core微架构设计了14级的指令执行流水线,更短的流水线也会让指令的处理速度更快,目前看来这是一种兼顾了效能和速度的解决方法。

  • 4宽区动态执行

4宽区动态执行

  4组指令编码器和3个算术逻辑单元:Core微架构的设计为加强指令的处理能力,改进了编码器和算术逻辑单元。而在这当中也加入了一整套的创新功能。如宽动态执行(Wide Dynamic Execution)、宏融合(Macro Fusion)、微操作融合(Micro-op Fusion)等等。宽动态执行和微操作融合都是从前代架构继承过来然后加以改进优化的技术,至于宏融合是最新加入的,通过合并普通指令的方式减少指令的执行时间。以上3项技术都是Core微架构优化指令执行效率的设计精髓。

  • 智能内存访问

   

共享的智能缓存

   以往双核的无论是PD系列还是PXE都是独立的二级缓存,核心之间数据只能通过系统总线来交换,这无疑占用了总线带宽和带来延迟,不利于核心之间的密切合作。Conroe拥有和Yonah一样的共享二级缓存,通过内部的Shared Bus Router共用L2 Cache脱离了对系统总线的依赖。共享智能缓存的设计也使得功耗和性能之间达到很好的平衡。在不同强度的运算强度下,Core微架构可以关闭其中一个核心而另外一个核心全数使用4MB的二级缓存。而当不需要时也能够关闭部分的缓存单元以节约能源。

  智能内存访问(Smart Memory Access)包括内存消歧(Memory Disambiguation)和增强的预取器(Advanced Prefetchers),内存消歧能使核心智能地预先判断内存中将要用到的数据从而缩短等待时间提高效率。经过内存消歧后,分别设置在L1 Cache和L2 Cache的预取器就会先将需要的数据载入到缓存中,这两个技术配合能够最大化的使用总线带宽,减少突发性的数据交换造成堵塞。

  AMD K8架构加入了内存控制器,使得K8处理器的内存性能更强。Intel方面虽然有能力在核心加入内存控制器,但对于市场占有率巨大的集成主板和笔记本市场来说,把内存控制器集成到北桥芯片会更好发挥集成显卡等设备的性能,对将来内存升级也能更快跟进,而加入了智能内存访问技术后于集成内存控制器相比的性能差距也会大幅减少。

  • 高级数字媒体增强功能

  高级数字媒体增强(Advanced Digital Media Boost)功能是Intel Core微架构里对SSE指令集的改进,使得Core微架构能处理128bit指令。相对传统只能处理64bit指令的处理器,Core微架构在处理128bit指令时只需单个的时钟周期,因此处理128bit指令时性能得到成倍提升。在处理SSE指令集的数据或是多媒体操作时,高级数字媒体增强技术将会更明显的提高效率。

更为详细的资料请参考我的文章:Inten Core微架构全解析

资料来源:中关村在线

2006年9月19日
搬家于CDD个人主页

 

 

     Intel将在今年年底发布新款最高端四核处理器Kentsfield,并且它将在9月26 – 28号San Francisco召开的IDF上进行更多的展示。

    Intel Core 2 Quadro的规格为四核心设计,主频2.66GHz,L2 Cache总共达到了空前的8MB。

Core 2 Quadro处理器

       在功耗方面,Core 2 Quadro达到了非常高的130-W,和Pentium Extreme Edition 965相当,不过此时双核已经变成了四核,由于它是通过两个Core 2核心组合在一起,所以它的晶体管数目达到了Core 2的两倍:582M。

『Kentsfield其实是两个双核拼在一起』

   同时我们考虑到如果照现在的情形看,超过两个Conroe核心的封装是不可行的,因为如果要这样来实现八核,至少核心面积达到了572mm2(一个Conroe核心面积为143 mm2),这个在实际生产过程中已经造成了瓶颈,而8MB的精简版八核是可行的,但是这个时候功耗已经超过200W,所以可以确信Intel下一步将会是采用单die四核的设计来实现,并且共享L2 cache。但是这只是一个开始,转换到45nm将会在07年中,同时在09年受益于EUV lithography技术,Intel将实现32nm的生产,如果是这样Intel将领先其它芯片厂商超过两年。

    在主板兼容方面,965、975X或者nForce 500 IE版就可以实现对Kentsfield的支持,目前主板厂商已经全速在对支持Kentsfield的BIOS进行修改。

AMD方面:

  INQ报道,AMD数款四核心处理器将分别在2007年第二季度、第四季度和2008年第一季度发布。

  所有AMD四核心处理器都将采用全新的Rev H处理核心。首先出现的AMD四核心处理器代号为Barcelona,支持HT2.0,它将拥有包括68W、95W和120W在内的全系列功耗型号。消费者无需更新主板即可使用AMD Barcelona四核心处理器。

  在2007年第四季度,AMD将推出更新的四核心处理器Budapest。这款处理器支持HT3.0,将有12xx系列Opteron和A64系列多种型号。消费者需更换新的主板才能使用这款处理器。

  而AMD将在2008年发布的四核心处理器代号为中国最大的城市“上海”,它将是皓龙22xx和82xx系列版的Budapest。据悉,上述AMD四核心处理器都将采用65nm制程。

AMD四核心CPU路线图

资料来源:中关村在线

2006年9月18日
搬家于CDD个人主页

2006年12月14日

  中国北京,2006年8月28日,英特尔公司正式宣布,基于英特尔®迅驰™双核移动计算技术的笔记本电脑开始采用英特尔®酷睿™2双核移动处理器(开发代号:Merom),从而开启了全球笔记本电脑的新篇章。

   

酷睿2笔记本用处理器T5600

  2006年7月底发布的英特尔®酷睿™2双核得到的好评如潮,并已率先应用在英特尔的台式机和服务器平台上,此次酷睿™2双核处理器又将进一步应用在英特尔®迅驰™双核笔记本电脑上。从发布到今年年底,全球范围内的个人电脑制造商、经销商及集成商将发运逾200款采用最新的英特尔®酷睿™2双核移动处理器的英特尔®迅驰™双核笔记本电脑。

共享二级缓存

  英特尔公司负责移动事业部的高级副总裁浦大卫(David (Dadi) Perlmutter)表示:“借助英特尔®酷睿™2双核处理器的上市,我们在短短一年内便实现了移动和台式机计算方面的巨大飞跃。以笔记本为例,全新处理器实现了性能翻倍,在保持功耗不变的情况下,为消费者和企业用户带来了无以伦比的移动体验。英特尔®酷睿™2双核处理器以出色的双核处理能力,帮助用户随时随地应对最复杂的多任务处理。”

性能提升20%

  英特尔®酷睿™2双核处理器有两个处理内核,能以更低功耗在更短的时间处理多项任务。这意味着,散热更优、更轻薄、更纤巧的笔记本电脑的诞生。同时也提供了更卓越的视频、游戏以及多媒体性能,特别是在多个应用程序同时运行时更是如此。当集成到基于英特尔®迅驰™双核移动计算技术的笔记本时,英特尔®酷睿™2双核处理器将改善观看和播放高清晰度视频的体验,以更快速度将歌曲转换成数字格式,用以上传至MP3播放器,并更快地运行最新的病毒软件更新。

        Merom新一代移动处理器,与桌面处理器一同命名为Core 2 Duo。此前的Yonah被命名并编号为Core Duo T2000系列,新的Merom分为Core 2 Duo T7000和T5000两个系列,区别在于二级缓存容量分别为4MB和2MB。

  基于英特尔®迅驰™双核移动计算技术的笔记本电脑采用英特尔®酷睿™2双核处理器,并采用了当前的英特尔® 945高速芯片组家族与英特尔® PRO/无线3945ABG网络连接。

   从Intel的价格策略上可以看出,Core 2 Duo与Core Duo基本上一一对应,也就是说Core Duo将逐渐被淘汰,改由Core 2 Duo主打移动市场。
        以下是截至明年第二季度的Intel移动处理器出货比例规划:

  可以看到,Core 2 Duo的出货比例将在年底达到三分之一左右,不过Core Duo也有将近三成,即二者的换代不会在短时间内完成;不过到明年二季度,Merom和Yonah的比例将分别为三分之二和十分之一,交替将在届时基本完成。
  到明年一季度,低功耗版Core 2 Duo将登场,分别是L7200和L7400;二季度,800MHz前端总线Core 2 Duo亮相,包括T7700、T7500、T7300、T7000、L7500、L7300等,其中后两款为低功耗版;超低功耗版U7500也将在二季度推出。
  T5500价格预计为209美元,与T2300E相同;值得注意的是,T5500还会有一个变种,编号T5500P,二者都与T2300E一样不支持虚拟化技术,二者的区别在于T5500P将采用下一代移动平台Santa Rosa的Socket P接口,而T5500沿用Napa平台的Socket M接口。

资料来源:北方网

2006年9月2日
搬家于CDD个人主页

Core 2 Duo Mobile (Socket M)

  • Implementation Merom: 478pins µFCPGA – Socket M (Socket479)
  • Implementation Merom: 479balls µFCBGA – soldered on mainboard
  • Instruction set Merom: RISC – IA32 – EM64T – XD – MMX – SSE – SSE2 – SSE3 – SSSE3
  • Intel Core 2 Processor Family
CPU info settings cache elec (max) physics
 name   release   speed   FSB   MP   VCore   L1   L2   L3   I   P   T   T   P   D 
Core 2 Duo L7200
Merom
Q1/2007
1000~1333MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~8.0x ? L1 64KB
L2 2MB
?A
?W
100.0ºC
144.0M
65nm
291mm²
Core 2 Duo L7300
Merom
Q1/2007
1200~1400MHz
Dual Core
VT/EIST
200MHz
QDR
6.0~7.0x ? L1 64KB
L2 2MB
?A
?W
100.0ºC
144.0M
65nm
291mm²
Core 2 Duo L7400
Merom
Q1/2007
1000~1500MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~9.0x ? L1 64KB
L2 2MB
?A
?W
100.0ºC
144.0M
65nm
291mm²
Core 2 Duo L7500
Merom
Q1/2007
1200~1600MHz
Dual Core
VT/EIST
200MHz
QDR
6.0~8.0x ? L1 64KB
L2 2MB
?A
?W
100.0ºC
144.0M
65nm
291mm²
Core 2 Duo Lnnnn
Penryn
?? (?-?-?) H2/2007
?
Dual Core
VT/EIST
? ? ? L1 64KB
L2 4MB
? ?M
45nm
?mm²
Core 2 Duo T5500
Merom
B2 (6-F-6) 06/2006

OEM: LE80537GF0282M (BGA)
OEM: LF80537GF0282M (PGA)
BOXED: BX80537T5500 (PGA)
1000~1666MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~10.0x 1.0375~1.3V L1 64KB
L2 2MB
27.3~41.0A
20.0~34.0W
100.0ºC
144.0M
65nm
291mm²
Core 2 Duo T5600
Merom
B2 (6-F-6) 06/2006

OEM: LE80537GF0342M (BGA)
OEM: LF80537GF0342M (PGA)
BOXED: BX80537T5600 (PGA)
1000~1833MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~11.0x 1.0375~1.3V L1 64KB
L2 2MB
27.3~41.0A
20.0~34.0W
100.0ºC
144.0M
65nm
291mm²
Core 2 Duo T7200
Merom
B2 (6-F-6) 06/2006

OEM: LE80537GF0414M (BGA)
OEM: LF80537GF0414M (PGA)
BOXED: BX80537T7200 (PGA)
1000~2000MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~12.0x 1.0375~1.3V L1 64KB
L2 4MB
27.3~41.0A
20.0~34.0W
100.0ºC
144.0M
65nm
291mm²
Core 2 Duo T7400
Merom
B2 (6-F-6) 06/2006

OEM: LE80537GF0484M (BGA)
OEM: LF80537GF0484M (PGA)
BOXED: BX80537T7400 (PGA)
1000~2166MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~13.0x 1.0375~1.3V L1 64KB
L2 4MB
27.3~41.0A
20.0~34.0W
100.0ºC
144.0M
65nm
291mm²
Core 2 Duo T7600
Merom
B2 (6-F-6) 06/2006

OEM: LE80537GF0534M (BGA)
OEM: LF80537GF0534M (PGA)
BOXED: BX80537T7600 (PGA)
1000~2333MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~14.0x 1.0375~1.3V L1 64KB
L2 4MB
27.3~41.0A
20.0~34.0W
100.0ºC
144.0M
65nm
291mm²
Core 2 Duo Tnnnn
Penryn
?? (?-?-?) H2/2007
?
Dual Core
VT/EIST
? ? ? L1 64KB
L2 4MB
? ?M
45nm
?mm²
Core 2 Duo U7500
Merom
Q2/2007
800~1066MHz
Dual Core
VT/EIST
133MHz
QDR
6.0~8.0x ? L1 64KB
L2 2MB
?A
9.0W
100.0ºC
144.0M
65nm
291mm²
Core 2 Duo Unnnn
Penryn
?? (?-?-?) H2/2007
?
Dual Core
VT/EIST
? ? ? L1 64KB
L2 4MB
? ?M
45nm
?mm²

2006年8月30日
搬家于CDD个人主页

 Core Solo (Socket M)

  • Implementation Yonah: 478pins µFCPGA – Socket M (Socket479)
  • Implementation Yonah: 479balls µFCBGA – soldered on mainboard
  • Instruction set Yonah: RISC – IA32 – XD – MMX – SSE – SSE2 – SSE3
  • Intel Core Solo processor
CPU info settings cache elec (max) physics
 name   release   speed   FSB   MP   VCore   L1   L2   L3   I   P   T   T   P   D 
Core Solo T1200
Yonah
D0 (6-E-C) 09/2006
1000~1500MHz
VT/EIST
166MHz
QDR
6.0~9.0x 0.762~1.3V L1 64KB
L2 2MB
?A
?W
100.0ºC
151.0M
65nm
90mm²
Core Solo T1300
Yonah
C0 (6-E-8) 01/2006

OEM: LE80538GF0282M (BGA)
OEM: LF80538GF0282M (PGA)
BOXED: BX80538T1300 (PGA)
1000~1666MHz
VT/EIST
166MHz
QDR
6.0~10.0x 0.762~1.3V L1 64KB
L2 2MB
15.5~34.0A
13.1~27.0W
100.0ºC
151.0M
65nm
90mm²
Core Solo T1350
Yonah
D0 (6-E-C) 09/2006
800~1866MHz
VT/EIST
133MHz
QDR
6.0~14.0x 0.762~1.3V L1 64KB
L2 2MB
?A
?W
100.0ºC
151.0M
65nm
90mm²
Core Solo T1400
Yonah
C0 (6-E-8) 05/2006

OEM: LE80538GF0342M (BGA)
OEM: LF80538GF0342M (PGA)
BOXED: BX80538T1400 (PGA)
1000~1833MHz
VT/EIST
166MHz
QDR
6.0~11.0x 0.762~1.3V L1 64KB
L2 2MB
15.5~34.0A
13.1~27.0W
100.0ºC
151.0M
65nm
90mm²
Core Solo U1300
Yonah
C0 (6-E-8) 04/2006

BGA
800~1066MHz
VT/EIST
133MHz
QDR
6.0~8.0x 0.8~1.1V L1 64KB
L2 2MB
6.4~8.0A
5.0~5.5W
100.0ºC
151.0M
65nm
90mm²
Core Solo U1400
Yonah
C0 (6-E-8) 04/2006

BGA
800~1200MHz
VT/EIST
133MHz
QDR
6.0~9.0x 0.8~1.1V L1 64KB
L2 2MB
6.4~8.0A
5.0~5.5W
100.0ºC
151.0M
65nm
90mm²
 Core Duo (Socket M)

  • Implementation Yonah: 478pins µFCPGA – Socket M (Socket479)
  • Implementation Yonah: 479balls µFCBGA – soldered on mainboard
  • Instruction set Yonah: RISC – IA32 – XD – MMX – SSE – SSE2 – SSE3
  • Intel Core Duo processor
CPU info settings cache elec (max) physics
 name   release   speed   FSB   MP   VCore   L1   L2   L3   I   P   T   T   P   D 
Core Duo L2300
Yonah
C0 (6-E-8) 01/2006

OEM: LE80539LF0212M (BGA)
1000~1500MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~9.0x 0.762~1.212V L1 64KB
L2 2MB
15.5~19.0A
13.1~15.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo L2400
Yonah
C0 (6-E-8) 01/2006

OEM: LE80539LF0282M (BGA)
1000~1666MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~10.0x 0.762~1.212V L1 64KB
L2 2MB
15.5~19.0A
13.1~15.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo L2500
Yonah
D0 (6-E-C) 09/2006

BGA
1000~1833MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~11.0x 0.762~1.212V L1 64KB
L2 2MB
15.5~19.0A
13.1~15.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo T2050
Yonah
C0 (6-E-8) 05/2006
1000~1600MHz
Dual Core
VT/EIST
133MHz
QDR
6.0~12.0x 0.762~1.3V L1 64KB
L2 2MB
15.5~34.0A
13.1~31.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo T2250
Yonah
C0 (6-E-8) 05/2006
1000~1733MHz
Dual Core
VT/EIST
133MHz
QDR
6.0~13.0x 0.762~1.3V L1 64KB
L2 2MB
15.5~34.0A
13.1~31.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo T2300
Yonah
C0 (6-E-8) 01/2006

OEM: LE80539GF0282M (BGA)
OEM: LF80539GF0282M (PGA)
BOXED: BX80539T2300 (PGA)
1000~1666MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~10.0x 0.762~1.3V L1 64KB
L2 2MB
15.5~34.0A
13.1~31.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo T2300E
Yonah
C0 (6-E-8) 05/2006
D0 (6-E-C) 06/2006

OEM: LE80539GF0282ME (BGA)
OEM: LF80539GF0282ME (PGA)
BOXED: BX80539T2300E (PGA)
1000~1666MHz
Dual Core
EIST
166MHz
QDR
6.0~10.0x 0.762~1.3V L1 64KB
L2 2MB
15.5~34.0A
13.1~31.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo T2400
Yonah
C0 (6-E-8) 01/2006
D0 (6-E-C) 06/2006

OEM: LE80539GF0342M (BGA)
OEM: LF80539GF0342M (PGA)
BOXED: BX80539T2400 (PGA)
1000~1833MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~11.0x 0.762~1.3V L1 64KB
L2 2MB
15.5~34.0A
13.1~31.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo T2500
Yonah
C0 (6-E-8) 01/2006
D0 (6-E-C) 06/2006

OEM: LE80539GF0412M (BGA)
OEM: LF80539GF0412M (PGA)
BOXED: BX80539T2500 (PGA)
1000~2000MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~12.0x 0.762~1.3V L1 64KB
L2 2MB
15.5~34.0A
13.1~31.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo T2600
Yonah
C0 (6-E-8) 01/2006
D0 (6-E-C) 06/2006

OEM: LE80539GF0482M (BGA)
OEM: LF80539GF0482M (PGA)
BOXED: BX80539T2600 (PGA)
1000~2166MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~13.0x 0.762~1.3V L1 64KB
L2 2MB
15.5~34.0A
13.1~31.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo T2700
Yonah
D0 (6-E-C) 06/2006

OEM: LE80539GF0532MX (BGA)
OEM: LF80539GF0532MX (PGA)
BOXED: BX80539T2700 (PGA)
1000~2333MHz
Dual Core
VT/EIST
166MHz
QDR
6.0~14.0x 0.762~1.3V L1 64KB
L2 2MB
15.5~34.0A
13.1~31.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo T2nn
Penryn
Q4/2007
2000~3000MHz
Dual Core
VT/EIST
200MHz
QDR
10.0~15.0x ? ? ? ?M
45nm
?mm²
Core Duo U2400
Yonah
D0 (6-E-C) 09/2006

BGA
800~1066MHz
Dual Core
VT/EIST
133MHz
QDR
6.0~8.0x 0.8~1.1V L1 64KB
L2 2MB
?A
9.0W
100.0ºC
151.0M
65nm
90mm²
Core Duo U2500
Yonah
C0 (6-E-8) 06/2006
D0 (6-E-C) 06/2006

BGA
800~1200MHz
Dual Core
VT/EIST
133MHz
QDR
6.0~9.0x 0.8~1.1V L1 64KB
L2 2MB
?A
9.0W
100.0ºC
151.0M
65nm
90mm²
Core Quad?
Gilo
Q1/2007
1666~2500MHz
Quad Core
VT/EIST
166MHz
QDR
10.0~15.0x ? ? ? ?M
65nm
?mm²
 Core Xeon LV (Dualprocessor Socket M)

  • Implementation Sossaman: 478pins µFCPGA – Socket M (Socket479)
  • Instruction set Sossaman: RISC – IA32 – XD – MMX – SSE – SSE2 – SSE3
  • Intel Xeon Processor
CPU info settings cache elec (max) physics
 name   release   speed   FSB   MP   VCore   L1   L2   L3   I   P   T   T   P   D 
Core Xeon LV 2,0
Sossaman
09/2006
1000~2000MHz
Dual Core
EIST
166MHz
QDR
6.0~12.0x 0.825~1.2575V L1 128KB
L2 2MB
22.0~36.0A
19.4~31.0W
100.0ºC
151.0M
65nm
90mm²
Core Xeon ULV 1,66
Sossaman
09/2006
1000~1666MHz
Dual Core
EIST
166MHz
QDR
6.0~10.0x 0.825~1.2125V L1 128KB
L2 2MB
15.5~19.0A
13.1~15.0W
100.0ºC
151.0M
65nm
90mm²

资料来源:The BalusC Server

2006年8月30日
搬家于CDD个人主页

1.先行控制方式的原理

采用二次重叠执行方式必须解决两个问题:
(1)有独立的取指令部件、指令分析部件和指令执行部件
    把一个集中的指令控制器,分解成三个独立的控制器:存储控制器、指令控制器、运算控制器
(2)要解决访问主存储器的冲突问题
    取指令、分析指令、执行指令都可能要访问存储器,可以采用先行控制技术解决存储器冲突。

    采用先行控制技术的关键是缓冲技术和预处理技术。
    缓冲技术通–在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑功能部件之间的工作速度。
    预处理技术–将进入运算器的指令均处理成RR型指令,而某些栈为其提供所需的操作数(先行读数栈、后续写数栈),这样运算器在进行预算时无需访问存储器,从而加快速度。

    在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。

2.处理机结构
三个独立的控制器:存储控制器、指令控制器、运算控制器。
四个缓冲栈:先行指令缓冲栈、先行读数缓冲栈、先行操作栈、后行写数栈。

处理机结构

 3.工作原理

    充分利用主存带宽,在主存空闲时,即从主存中取出指令放入先行指令缓冲栈,以供指令分析器使用。–预取
    先行指令缓冲栈遵循先进先出,缓冲战充满后不能进入,一旦指令被指令分析器取走即从缓冲栈作废。
    指令分析器对缓冲栈中的指令进行预处理,并送入先行操作栈。
对于无条件转移指令–指令分析器将转移地址送入先行程序计数器以及现行程序计数器中,然后作废先行指令缓冲栈中的指令,重新从主存中预取指令;而此时先行操作栈中可能还有未执行的指令,因此作废缓冲栈中的指令对流水线影响不大。
对于条件转移指令–由于分析较慢,因此可能有停顿,要分转移成功和不成功来处理(控制相关的处理方法)。
以上两种类型指令能在分析器中直接处理,因此称为吸收型指令。
对于运算类的指令–则要处理成RR型的指令,如果指令本身就是RR型,则不作任何处理;如果是RS型,则分析器计算出操作数有效地之后送入先行读数栈或后行写数栈的地址寄存器,并将对应的地址寄存器的编号代替指令中的主存地址后送入先行操作栈;如果是RI型,则将立即数送入先行读数栈的操作数寄存器,并用此寄存器的编号代替指令中的立即数字段。这样,所有的运算类指令执行时都将访问寄存器,加快运算速度。

    再看先行读数栈,每当先行读数栈收到分析器送来的有效地之后,即将地址有效标志位置位,并向主存申请读操作数,取得的操作数放入对应的先行操作数缓冲寄存器中,并置数据有效标志位,做废刚才的地址有效标志位,以供相应的指令使用操作数。

    再看后行写数栈,每当后行写数栈收到分析器送来的有效地之后,即将地址有效标志位置位;这样,当相应的运算类指令执行完毕后不再马上写主存,而是先送入相应的后行写数据缓冲寄存器中,并置数据有效标志位。控制器自动根据相应的后行写地址缓冲寄存器中的地址向主存发出写请求。

4.小结
    无论是先行取指还是先行读数,抑或是后行写数,都是充分利用主存带宽,并且优先等级由低至高。
    通过对指令流和数据流的预处理和缓冲,则能使指令分析部件和指令执行部件(运算器)独立并行工作,并始终处于忙碌状态。

—-参考资料
计算机系统结构(第二版)–郑纬民、汤志忠;清华大学出版社

2006年5月12日

搬家于CDD个人主页

这一篇是上一篇的补充,增加了和旧架构的比较

1.前言

        近年来,Intel 原本寄以厚望、号称频率将提升至10GHz的 NetBurst 微架构屡遭重创。采用90nm制造工艺的 Prescott 遭遇功耗过高、散热困难的问题,原定推出的4GHz的 Pentium 4 580被无限期推迟。而后继产品,原定时脉超过5GHz的 Tejas 惨遭腰斩,6GHz的 Nehalem 也无疾而终。NetBurst 微架构遭遇无法解决的功耗问题,发展受阻,固然有90nm制造工艺漏电严重的影响,但是 Intel 同样采用90nm制造工艺的移动平台的 Dothan 处理器却在功耗方面有良好的表现。这使我们不得不认为,功耗问题多半是由 NetBurst 微架构先天设计上的缺陷引起的。与此同时,竞争对手 AMD 的 K8 处理器在性能和功耗两方面都表现良好,正在桌面和服务器平台上侵占原本属于 Intel 的市场,势头迅猛。这也迫使 Intel 只能选择重新研发兼具高性能与低功耗的微架构。
        2006年3月上旬,Intel 于美国旧金山举办了2006年度的春季 IDF 大会(Intel Developer Forum)。在这届 IDF 大会上,有一个万众瞩目的焦点:Intel 宣布下一代处理器将采用的 Core 微架构。这也使得今年的 IDF 大会成为近几年来最激动人心的一次。在去年秋季的 IDF 大会的开幕主题演讲中,Intel 的执行长官 Paul Otellini 就曾经指出,未来处理器的技术发展重点将是“性能功耗比”(Performance per Watt)。而这届 IDF 大会的主题更加明确:功耗最优化平台(Power-Optimized Platforms)——与 Core 微架构紧密相关。根据 Intel 的说法,采用新的 Core 微架构的处理器将在整数性能和商业计算方面得到极大的飞跃,肯定将超过竞争对手 AMD 的产品。更加美妙的是,拥有这样强悍性能的 Core 微架构在功耗方面将比前任大幅下降,从而完美的体现了这届 IDF 大会的主题。
  Core 微架构是由 Intel 位于以色列海法的研发团队负责设计的。该以色列团队早在2003年就因为设计出兼具高性能与低功耗的 Banias 处理器而闻名天下,Core 微架构也是他们在 Yonah 微架构之后的最新杰作。Core 微架构很早就出现在 Intel 的计划之中了,早在2003年夏天 Intel 就曾经隐约提到过,原定是 Centrino 平台的第三代 Napa 平台后期和第四代 Santa Rosa 平台所采用的处理器。没想到由于 NetBurst 微架构的失败,Core 微架构被 Intel 改弦易辙,推上前台,被赋予了取代 NetBurst 微架构、一统桌面、移动与服务器平台的历史使命。

        之前,Intel 最新的 X86 微架构是出自以色列设计团队之手的 Yonah 微架构。而 Yonah 微架构被认为是从古老的 Pentium Pro 架构(P6 微架构)演变而来的。与之前 Pentium 4 采用的 NetBurst 微架构发布时提供的详细文档和资料相比,对 Yonah 微架构,Intel 只披露了很少的相关资料,而且 Intel 很可能将继续对关于 Core 微架构的详细资料守口如瓶。在这种情况下,本文集中了目前可以得到的所有资料,将是业界详细了解 Core 微架构的好机会。

  Intel 的新核心已经拥有多个名字。以色列团队在设计之初,采用 Merom 作为开发代号。Merom的原意是约旦河附近的一个湖,这也是 Intel 的一个有趣的习惯——采用研发团队居住地附近的地名作为产品的开发代号。然后,Intel 在2005年开始大规模宣传该微架构的时候,把它描述为“下一代微架构”(Next Generation Micro-Architecture,简称NGMA)。而在今年的IDF大会上,Intel 把它正式宣布为“Core 微架构”(Core Micro-Architecture)。本文也将采用“Core 微架构”作为对新核心的正式称谓。 Intel 的 Roadmap 上,“Core 微架构”的移动平台的产品代号为“Merom”——以色列团队一开始采用的研发代号,桌面平台的产品代号为“Conroe”,而服务器平台的产品代号为“Woodcrest”。

       我们先看一看下面展示的 Core 微架构的桌面产品 Conroe 在 SuperPi 1M测试中的表现:3.1GHz下16s时间完成!已经打破之前的世界纪录。采用 NetBurst 微架构的 Pentium 4 处理器超频到6GHz左右,或者 AMD 的 K8 处理器超频到4GHz左右,在这个测试中的速度都是20s左右。当然,SuperPi 测试并不能全面反映处理器的性能,而且,在进一步阅读了后面的 Core 微架构的更全面的测试之后,你会发现 SuperPi 测试算是对 Core 微架构最有利的测试之一。不过,这并不影响 Core 微架构给我们带来的震撼感。  

Conroe 处理器进行 SuperPi 测试

  本文中,我们首先将带领读者来了解 Core 微架构的秘密,并对其中各个功能单元进行详细的分析。为使读者对 Core 微架构的改进有清晰的概念,我们总是把 Core 微架构和 Yonah 微架构以及 NetBurst架构放到一起进行对比

2.关于 Core 微架构

    Intel 的 Yonah 处理器是第一个共享式二级缓存的双核处理器设计,然而,共享式二级缓存的优势在移动平台上却不能完全发挥出来。共享式二级缓存的芯片级多处理器(Chip Multi-Processer,简称CMP)设计的最大优势在于它可以不考虑缓存一致性问题,而分别独占二级缓存的多核处理器需要时刻注意保持缓存一致。这正是工作站和服务器需要面对的一个主要问题,而相比之下移动平台和桌面平台并不迫切需要解决这个问题。基于这种考虑,采用 Core 微架构的Woodcrest 处理器将比之前的服务器芯片有质的提高,因为之前的芯片没有任何一款采用共享式二级缓存的设计。此外,Intel 还表示,Core 微架构可以在两个核心的一级数据缓存之间直接传输数据,但是 Intel 的工程师拒绝再继续透露更多相关的细节。下面的图片对比了Yonah 微架构、 Core 微架构和NetBurst 微架构的总体架构。

Intel 三代架构总体对比

注:带宽计算,以woodcrest为例。片上cache和内核间的带宽为3Gx32B(Cache行尺寸,也是数据通路宽度)=96GB/S;前端总线(Core微架构沿袭了FSB)带宽=1333Mx64/8=10.6GB/S。

  从总体架构来看,Core 微架构继承了 Yonah 微架构的设计方式,包括共享式二级缓存和前端总线。同时,Core 微架构的内部连接单元的带宽与 NetBurst 微架构的连接带宽接近,远远超过 Yonah 微架构——片上缓存与内核通讯的带宽远超 Yonah 微架构,与外部的连接带宽更是达到了 Yonah 微架构的2倍。跟前面提到的一样,这些改进虽然对移动平台和桌面平台意义不太大,但是对多路服务器系统来说非常有用。
  Intel 将在今年下半年陆续发布 Woodcrest、Conroe 和 Merom,服务器、桌面和移动平台三箭齐发,其中 Woodcrest 和 Conroe 应该会早一些,Merom 应该到今年第四季度才能看到。为什么这样说?如果你熟悉目前的处理器市场的情况,你就会知道,在移动平台的市场方面,得益于 Intel 的极其成功的 Centrino 平台,Intel 占据了绝对主动的地位,并且在短时间内应该不会有什么意外的情况发生,并且 Yonah 处理器在今年一月份刚刚发布;在服务器平台的市场方面,应该说 Intel 已经稍微落在了 AMD 的后面;而目前桌面平台的市场是对 Intel 最不利的。所以,对 Intel 来说,更重要的是尽快发布 Woodcrest 和 Conroe,改变自己在服务器平台和桌面平台的竞争力。至于移动平台,要排到后面去了。况且,从财政方面考虑,Intel 肯定不愿意 Yonah 处理器的生命周期过短。

3.总体架构
  作为 Intel 的新旗舰,Core 微架构拥有双核心、64bit指令集、4路超标量体系结构和乱序执行机制等技术,使用65nm制造工艺生产,支持36bit的物理寻址和48bit的虚拟内存寻址,支持 Intel 所有的扩展指令集。Core 微架构的每个内核拥有 32KB 的一级指令缓存、32KB 的双端口一级数据缓存,然后2个内核共同拥有 4MB 的共享式二级缓存。Core 微架构在今年内发布的最高频率将是 Conroe XE 的3.33GHz。每种产品拥有自己的最高 TDP(Thermal Design Power,热量设计功耗):Merom 最高35W,Conroe 最高65W,Woodcrest 最高80W。此外,针对不同客户的要求也可以提供低功耗的版本。例如,低电压版本的 Woodcrest 将会定位于刀片系统,通过降低频率等方法使 TDP 低达40W。
  下图是 Core 微架构的内核总体架构图。图中各个功能单元用不同的颜色来划分。左上角的紫色单元是取指单元,负责从指令缓存中取出指令并进行分支预测等工作;橙色的部分是译码单元,负责把取出的指令译码,并生成微指令;黄色的部分是微指令缓冲区和微指令调度单元;蓝色的部分是执行单元;绿色的单元是存储单元。
  作为比较,Yonah 微架构和 NetBurst 微架构的核心架构图也列在下面。

Core微架构

Yonah 微架构

NetBurst 微架构

   让我们提示一下 Core 微架构中的每个核心在每个周期可以做的工作:在最好的情况下,每周期可以取指160bit以上(Intel 没有透露更具体的数字),解码5条X86指令,发射7条微指令,重排序和重命名4条微指令,发送6条微指令至执行单元,完成并退出4条微指令。从任何一个方面来看,这个架构都是比 NetBurst 微架构或者 Yonah 微架构更宽的架构,拥有更宽的流水线、更高的并行度。 

4.流水线级数
  Intel 声称 Core 微架构拥有14级“有效”流水线。与 Banias 同出于一个设计团队,Core 微架构仅有14级的整数流水线,并不让人意外。但是,究竟什么是14级“有效”流水线? 
  然后让我们来了解一下“有效流水线”的定义,这也是在过去容易造成误解之处。简而言之,所谓的有效流水线,就是指发生分支预测错误时,所需要重新执行的流水线级数。以采用 NetBurst 微架构的处理器来说,Willamette、Northwood与Prescott核心的有效流水线级数分别是20、20和31,而原始的P6 微架构的处理器则是10级。(注:个人认为有效流水线级数指的是指令流水线的级数
  不过,对于现代的普遍采用乱序执行方式的X86处理器来说,有效流水线级数并不能代表真正意义上的流水线级数。NetBurst 微架构的处理器仅仅是 Trace Cache 的 Trace 建立过程,就有起码10级;P6 微架构的完整流水线级数应该是12至15(10级有效流水线加上指令执行完毕后的 Retire 动作,与可能出现的 Reorder Buffer延迟)。随着乱序执行引擎的工作方式越来越复杂,X86处理器流水线级数的概念也日益模糊。换言之,Core 微架构真正意义上的流水线级数并不会只有14。
  Core 微架构的14级有效流水线与 Prescott 核心的31级有效流水线的对比,也只有参考意义。那些仅仅根据这个数字的对比就断言 Core 微架构只能达到很低的频率的说法是不具有足够的说服力的。Conroe XE 3.33GHz 处理器的存在已经让很多相信这个说法的用户大吃一惊。而实际上,已经有玩家声称,Conroe 处理器可以在风冷的情况下达到4GHz以上的频率。Core 微架构的频率到底能够到达什么样的高度,让我们拭目以待。
  接下来,我们将对 Core 微架构的各个功能单元进行更加详细的分析。

5.四组解码单元
  首先我们可以明确的指出,毫无疑问,Core 微架构是一个比 NetBurst 微架构或者 Yonah 微架构更宽的设计。下图是这三代微架构在前端的比较,三者的解码单元的构成可以初步表明这一点:Core 微架构拥有4组解码单元,每周期可以生成7条微指令;Yonah 微架构拥有3组,每周期可以生成6条微指令;而 NetBurst 微架构由于解码方式不同,不容易比较解码单元的数目,但是我们可以知道,NetBurst 微架构每周期只能生成3条微指令。

Intel 三代微架构前端对比

   在对 Core 微架构的解码单元进行详细介绍之前,我们先来了解一下 Yonah 微架构的解码单元。实际上,Yonah 微架构基本上是沿用了古老的 P6 微架构的解码单元设计,采用3组解码单元,由2组简单解码单元和1组复杂解码单元组成。其中2个简单解码单元负责处理对应1条微指令的简单X86指令,而1个复杂解码单元负责处理对应4条微指令的复杂X86指令,这样的解码单元每周期最多能生成6条微指令。P6 微架构的这种历史久远的解码方式被形象的称为“4-1-1”规则。
  实际上,这种把简单指令与复杂指令分而治之的做法,并非是 P6 微架构的专利。从全世界第一个流水线化的X86处理器——80486开始,为了加速简单指令的执行,这原则就已经开始主导所有高速X86处理器的微架构。就算是号称提供三组“完整解码单元”的 AMD K7、K8 处理器,实际上也有类似的限制。
  不过,Yonah 微架构在指令解码单元上的改进,以及 SSE 指令解码方式的改变,却带给我们另一个思考的方向。与原始的 P6 微架构不同,Yonah 微架构的2组简单解码器都可以进行128bit SSE 指令的解码。而在过去,这只有复杂解码单元才能胜任。换言之,如果 Core 微架构的所有4组解码单元都具备了这样的能力,结合更强的微指令融合技术和宏指令融合技术(见后文),Core 微架构的解码单元的实力将几乎等同于“4-2-2-2”,甚至“4-4-4-4”。
  Core 微架构把解码单元增加到4组,这个变化可以说是 Core 微架构最大的特色之一。自从 AMD 失败的 K5 设计之后,已经有超过十年的时间,X86处理器的世界再也没有出现过4组解码单元的设计。因为X86指令集的指令长度、格式与寻址模式都相当混乱,导致X86指令解码器的设计是非常困难的。Intel甚至在 NetBurst 微架构的设计中引入 Trace Cache 来取代占用大量晶体管的复杂解码单元。而增加解码单元,特别是复杂解码单元,固然会大大增强处理器的解码能力,但是解码单元复杂的电路也必然会提高内核的复杂度和处理器的功耗。
  在处理器频率不可能达到 NetBurst 微架构那种高度的前提下,为了能显著提高处理器的性能,最有效的途径就是增加执行单元的数量。就像你将在后文看到的那样,Core 微架构执行单元的数量比 Yonah 微架构增加了50%。而仍然采用与 Yonah 微架构相同的3组解码单元是不可能适应这样庞大的执行资源的。所以,我们甚至可以说,Intel 是“被逼”选择增加解码单元的数量的。权衡利弊,Intel 最终选择了增加1组简单解码单元的折衷方案。至少从最终的效果来看,这样的选择还不算差。
  为了配合这超宽的4组解码单元,Core 微架构的取指单元也需要加宽。Intel 没有透露取指单元的具体宽度,但是我们可以从其它指标中估计出这个数字:Core 微架构每个周期可以解码最多5条指令,而X86指令的平均长度大约为32bit,因此取指单元的宽度至少为160bit。目前有一种尚未得到证实的说法声称,Core 微架构取指单元的宽度为192bit,仅供参考。
  取回的指令被送到预解码缓冲区,该缓冲区还存放了关于指令长度和解码边界的信息。预解码缓冲区至少可以容纳10条X86指令,很可能可以容纳更多(Intel 也没有透露更加具体的数字)。
  现在让我们总结一下 Core 微架构的解码单元:Intel 在 Core 微架构上取消了 NetBurst 微架构上的有些令人失望的追踪缓存(Trace Cache),而是安置了多达4个解码单元,其中,有3个简单解码单元来处理对应1条微指令的简单X86指令,而1个复杂解码单元来处理对应4条微指令的复杂X86指令。并且,与 Yonah 微架构一样,所有的SSE指令都可以被简单解码单元处理,生成1条微指令。我们可以把解码部分简单的总结为“4-1-1-1”方式。此外,如果遇到非常复杂的指令,复杂解码单元还可以借助旁边的微码存储器(Microcode Sequencer),取得微指令序列。

6.微指令融合与宏指令融合
  微指令融合(Micro-Op Fusion)是从 Banias 核心开始出现的技术,随后的 Yonah 微架构和 Core 微架构也都具备该技术,并不断进行改进。该技术通过减少X86指令解码后生成的微指令的数目,来降低乱序执行引擎和执行单元的压力,从而达到提升处理器效率的目的。
  首先让我们解释一下什么是微指令(Micro-Op)。由于X86指令集的指令长度、格式与寻址模式都相当复杂,为了简化数据通路(Data Path)的设计,从很久以前开始,X86处理器就采用了将X86指令解码成1个或多个长度相同、格式固定、类似RISC指令形式的微指令的设计方法,尤其是涉及存储器访问的 load 及 store 指令。所以,现在的X86处理器的执行单元真正执行的指令是解码后的微指令,而不是X86指令。
  微指令融合技术,以及 Intel 的专属栈引擎技术(Dedicated Stack Engine),目的都在于减少微指令的数目。处理器内部执行单元的资源有限,如果可以减少微指令的数目,就代表实际执行的X86指令增加了,可以显著提升执行效能。而且,微指令的数目减少还有助于降低处理器功耗,可谓有益无害。
  微指令融合技术所支持的范围,包括了整数运算、浮点运算和SSE2指令集等各种扩展指令集。根据 Intel 的官方说法,通过微指令融合技术,整数运算大约可以提升5%的性能,浮点运算大约可以提升9%的性能。
  如今SSE、SSE2和SSE3等扩展指令集的重要性与日俱增,但是这些SIMD指令的存储器访问操作——尤其是128bit的操作——一般都需要解码成多条微指令,造成执行效率不高。在 Yonah 微架构与 Core 微架构中,这种类型的操作在很多时候可以解码成1条微指令,从而降低了后端执行单元的压力,对提高SIMD指令的执行效率有不小的帮助。
  细心的读者可能会发现,我们前面曾经提到,Core 微架构每个周期最多可以解码5条X86指令。奇怪的是,这里只有4个解码单元。那么,怎样才可以做到解码5条指令呢?这就需要介绍 Intel 在 Core 微架构的前端引入的一项新的技术——宏指令融合(Macro-op Fusion)。
  所谓宏指令(Macro-Op),即X86指令。宏指令融合技术的引入使得 Core 微架构在前端可以把2条宏指令融合为1条微指令。例如,X86指令中的cmp指令或者test指令可以与jmp指令融合,产生仅1条微指令。而宏指令融合技术也可以与程序中常见的 if-then-else 结构很好的配合。还有传言声称,Core 微架构还可以将某些连接在一起、有依赖关系的浮点乘法与加法指令结合为1条微指令。最后,4个解码单元中的任何一个都可以执行宏指令融合操作,然而每个周期最多只能有1个解码单元执行宏指令融合,所以最大的解码宽度为每周期5条X86指令。 

    虽然 Intel 再次拒绝透露宏指令融合技术的具体效果,但是一些估算表明,宏指令融合技术可以把处理器需要执行的微指令的数目降低10%——已经是非常巨大的提升了。
  宏指令融合技术的优点是显而易见的,降低处理器需要执行的微指令的数目可以在两个方面提高处理器性能。首先,也是十分直观的,执行单元只需执行更少的微指令,直接提高处理器性能。其次,微指令缓冲区相当于容纳了更多的X86指令,乱序执行引擎可以从中更有效的发现能够并行的指令,也就是说,有利于实现更高的指令级并行度(Instruction Level Parallelism,简称ILP)。当然,这些优点与以前 Yonah 微架构就拥有的微指令融合技术(Micro-Op Fusion)十分相似。但是,同时拥有宏指令融合技术和微指令融合技术使得 Core 微架构可以比 Yonah 微架构节省更多的执行单元资源和拥有更好的指令级并行度。也许,具有讽刺意义的是,宏指令融合技术和微指令融合技术正在使得 X86 处理器的内核更加接近 CISC 架构,而不是 RISC 架构。这与 Intel 当年推出 IA-64 架构的想法正在背道而驰。
  结合微指令融合与宏指令融合技术,与之前的 Intel X86处理器相比较,Core 微架构的解码单元的实际能力,还要远远大于表面上所看到的4组解码单元的数量。
  Core 微架构前端的改进还包括分支预测单元。分支预测行为发生在取指单元部分。首先,它使用了很多人们已经熟知的预测单元,包括传统的 NetBurst 微架构上的分支目标缓冲区(Branch Target Buffer,简称BTB)、分支地址计算器(Branch Address Calculator,简称BAC)和返回地址栈(Return Address Stack,RAS)。然后,它还引入了2个新的预测单元——循环回路探测器(Loop Detector,简称LD)和间接分支预测器(Indirect Branch Predictor,简称IBP),其中循环回路探测器可以正确预测循环的结束,而间接分支预测器可以基于全局的历史信息做出预测。Core 微架构在分支预测方面不仅可以利用所有这些预测单元,还增加了新的特性:在之前的设计中,分支转移总是会浪费流水线的一个周期;Core 微架构在分支目标预测器和取指单元之间增加了一个队列,在大部分的情况下可以避免这一个周期的浪费。看起来很微不足道?要知道,对微内核设计来说,节省每一个可以节省的周期就是最大的目标;对已经发展了很多年的设计进行改进也是非常非常困难的。

 

7.乱序执行引擎

    Core 微架构的乱序执行引擎与 Yonah 微架构的设计类似,但是引入了更多的资源。如下图所示,Core 微架构与 Yonah 微架构在乱序执行引擎方面非常相似,包括寄存器别名表(Register Alias Table),分配器(Allocator)和再定序缓冲区(Reorder Buffer,简称ROB)。区别在于,所有的这些单元都被加大加宽,这样才可以配合更强劲的前端,容纳和调度更多的微指令,寻求更高的指令级并行度。

Intel 三代微架构乱序执行引擎对比

  NetBurst 微架构和 Yonah 微架构的最大吞吐量都是每周期3条微指令。相比之下,Core 微架构的最大吞吐量是每周期4条微指令。NetBurst 微架构的再定序缓冲区容量是126项,对 Yonah 微架构来说是多于40项,而 Core 微架构的再定序缓冲区容量是96项。

  Core 微架构的保留站(Reservation Station)同样被加大:从 Yonah 微架构的24项增大到32项。这方面与 NetBurst 微架构的比较有一些困难,因为 NetBurst 微架构采用了分布式调度器(Distributed Scheduler),而不是保留站。不过我们还是可以了解一些数字:NetBurst 微架构拥有46个调度槽(Scheduler Slot),存储单元使用8个,执行单元使用38个。

8.执行单元

  Intel 没有过多的透露关于乱序执行引擎的资料,但是对执行单元子系统的相关资料毫不吝啬,言之甚详。Core 微架构的执行单元部分拥有3个调度端口,通过这3个端口来调度执行单元。执行单元包括3个64bit的整数执行单元(ALU)、2个128bit的浮点执行单元(FPU)和3个128bit的SSE执行单元,或者更准确的说法应该是,向量执行单元或SIMD执行单元。其中,位于端口1的整数执行单元可以处理128bit的Shift和Rotate操作。而2个浮点单元和3个SSE单元共享某些硬件资源。NetBurst 微架构和 Yonah 微架构的执行单元子系统也在图中列出作为比较。

Intel 三代微架构执行单元对比

  很明显,我们首先注意到 Core 微架构拥有3个调度端口——比 NetBurst 微架构和 Yonah 微架构的2个端口增加了1个。所以,Core 微架构的执行单元子系统每个周期最多可以执行3条操作,而 Yonah 微架构最多只能执行2条。需要注意的是,对于 NetBurst 微架构来说,并不是2条。NetBurst 微架构的调度机制使得每个周期最多可以执行4条操作,但是这种情况会相当罕见——必须是4个简单的整数单元操作。并且,NetBurst 微架构在执行64bit指令时会有额外的延迟。更重要的是,Core 微架构的功能单元的统筹安排相对平衡,对于整数操作,可以在多个周期内保持单周期执行3个操作的吞吐量。而 NetBurst 微架构在很多情况下只能单周期执行1个操作。

  Core 微架构所拥有的3个64bit的整数执行单元并非完全相同。与解码单元部分类似,3个整数执行单元也分为1个复杂整数执行单元和2个简单整数执行单元。不过,Core 微架构是 Intel 的X86架构处理器第一次可以在一周期内完成一次64bit的整数运算。之前的 NetBurst 微架构虽然也可以完成64bit的整数运算,但是需要2个时钟周期。另外,因为3个整数执行单元占据了不同的端口,所以采用 Core 微架构的处理器可以在一周期内最多执行3组64bit的整数运算。

  Core 微构架拥有2个浮点执行单元,位于端口0的浮点执行单元负责加减等简单的浮点运算,而端口1的浮点执行单元则负责乘除等浮点运算。这样,在Core 微架构中,浮点加减指令与浮点乘除指令被划分成两部分,使其具备了在一周期中完成两条浮点指令的能力。

  Core 微架构在 SSE 运算方面的性能也比它的前任有很大的提高。它的3个128bit的 SSE 单元并不是完全相同的,在移位和乘法的资源方面有微小的差异,但是都可以在单周期内完成1个128bit的 SSE 操作。相比之下,NetBurst 微架构的 SSE 单元无论在数量上还是质量上都有所不如:只有2个64bit的 SSE 单元,需要2个周期来执行1个128bit的操作。Yonah 微架构同样只有2个64bit的 SSE 单元。从SSE指令的执行资源来看,Core 微架构比 NetBurst 微架构和 Yonah 微架构有3倍的提升!

  128bit的SSE执行单元有什么样的意义?让我们从 Intel 最初支持128bit的向量执行指令开始说起。当 Intel 最初兼容128bit向量执行的时候,也就是在 P6 微架构上开始出现 SSE 指令集的时候,P6 微构架的向量执行单元单周期内只能进行64bit的运算,对于处理128bit数据的指令,P6 微构架必须把该指令解码成2条处理64bit数据的微指令来执行。这样的执行方案一直沿用了下来,包括采用 NetBurst 微架构的处理器和 Yonah 处理器。

  Core 微架构终于拥有了完整的128bit的向量处理单元。配合多达3组的执行单元以及load、store 存储单元,Core 微架构可在一个时钟周期内,同时执行一个128bit乘法操作、一个128bit加法操作、一个128bit load操作与一个128bit store操作,另外还有可能再加上一条经过宏指令融合的cmp/jmp指令——相当于单周期6条指令!真是令人叹为观止的指令级并行处理能力。做出如此大幅改进的 SSE 处理能力,使得 Core 微架构更加有利于多媒体方面的应用。

9.存储访问单元

  Core 微架构有着数量众多的执行单元,形成了超乎寻常的处理资源。这庞大的执行单元不仅要求前端提供更多的微指令来满足自己,也对存储单元的处理能力提出了更高的要求。下图是 Core 微架构、Yonah 微架构和 NetBurst 微架构的存储单元对比,注意 NetBurst 微架构利用“fast ALU”来计算存储地址,因此并没有独立的存储地址单元。Core 微架构的存储系统源自 Yonah 微架构的设计,但是却拥有 NetBurst 微架构的超高带宽,实在是难能可贵。

Intel 三代微架构存储单元对比

  Core 微架构和 Yonah 微架构的一级缓存与二级缓存都采用“写回”(Write Back)方式,以64字节为存储单位。而对于 NetBurst 微架构来说,一级数据缓存采用“写直达”(Write Through)方式,以64字节为存储单位;而二级缓存采用“写回”的存储方式,以128字节(?)为存储单位。

  Intel 没有给出 Core 微架构的缓存延迟,但是其一级数据缓存的延迟很可能是2个时钟周期,最多为3个时钟周期。并且,Core 微架构中的2个核心的一级数据缓存之间有一条附加的数据通路,使得2个核心可以直接交换一级数据缓存中的数据。Intel 仍然没有给出更多的资料,这种数据交换的发生是否频繁,每次数据交换传输多少数据,一次这种数据交换是否可以替代一次对二级缓存的访问,这些都还没有答案。

  Core 微架构的存储单元还拥有新的预取器设计,协同共享式二级缓存进行工作。每个核心的一级数据缓存各自拥有多个预取器。而共享式二级缓存自然是共用多个预取器,在运行时,这些预取器根据改进的“Round-Robin算法”把带宽动态分配给2个内核。共享的前端总线也采用类似的方法进行仲裁。

  Core 微架构的存储系统还使用了一种新的技术来解决内存混淆问题(Memory Aliasing Problem:存储器引用二义性)。我们将在下面的部分详细介绍关于内存混淆问题和这种新的解决方案。

10.内存混淆问题与相关性预测

  我们首先来解释一下什么是内存混淆问题:采用乱序执行方式的处理器在面对多个load和store操作的时候也可以进行乱序执行,但是首先需要保证程序进行load和store操作的正确性。下图是一个内存混淆现象的例子:第2个store操作与第9个load操作针对的是同样的内存地址,因此第9个操作不能移动到第2个操作之前执行,否则程序会得到错误的结果。但是很明显,第9个操作可以移动到第8个操作之前执行,因为它们针对的是不同的内存地址。然后,因为不知道第5个操作针对的内存地址,所以也就不能确定第9个操作是否可以移动到第5个操作之前执行。

  判断2个内存操作(通常是一个load操作与一个store操作:RAW相关,WAW相关通过ROB已经消除)是否针对同一个内存地址的过程,也就是判断是否会发生内存混淆现象的过程,称为存储器引用二义性检测(Memory Disambiguation)。如果这2个操作针对不同的内存地址,那么它们就可以乱序执行。看似很简单,但是问题在于:为了对1个load操作的RAW相关性进行预测,存储单元需要把它与缓冲区内所有的store操作队列进行比较,代价十分昂贵。

  在古老的 P6 微架构中,这个问题是这样解决的:把store操作分成2步,首先计算内存地址,然后再真正存储数据。这样,store操作的内存地址就可以提前获得,从而可以比较容易的检测内存混淆问题。P6 微架构的内存再定序缓冲区(Memory Reorder Buffer,简称MOB)采用如下的规则:如果在乱序执行窗口中存在与某load操作内存地址相同的store操作,则该load操作不能提前执行;如果在乱序执行窗口中存在内存地址未知的store操作,则任何load操作不能提前执行;某store操作不能提前到另外一个store操作之前执行。

  这样的规则虽然可以保证程序进行load和store操作的正确性,但是也丧失了一些本来可以提高执行效率的机会:比如当某load操作之前存在某内存地址未知的store操作的时候,很可能内存地址是不同的,因此该load操作本来可以提前执行的。研究表明,实际发生内存混淆现象的概率非常小。所以,一个更加合理的做法是:假设所有的load操作与store操作之间都不发生内存混淆现象,而当错误发生的时候再进行恢复。这样做显然会有更高的效率。

  Core 微架构正是采用了这种更加高效的做法:P6 微架构和 NetBurst 微架构中采用的保守的规则被丢弃了,load 操作可以在内存地址未知的store操作之前执行(推断执行,依赖于推断的准确性,其实这也不是一种新技术)。这样的话,当有错误发生的时候,处理器流水线将不得不暂停运转。然而就像前面讲到的,这种情况并不多见。为了最大限度的避免这种情况的出现,Core 微架构加入了一个动态的内存相关性预测器,根据历史信息来预测load操作的移动是否可行。据有关人员透露,该预测器的预测正确率达到90%以上。

  下图的例子说明了Core 微架构的这种工作方式在多数情况下会带来的性能提升:P6 微架构需要9个时钟周期才能执行完的操作,Core 微架构只需要5个时钟周期。

Core 微架构的内存相关性预测

  为了使读者真正认识到内存相关性预测和Core 微架构在内存相关性预测方面的改进的重要意义,我们举另外一组数据来说明。实际的X86程序中,一般有1/6左右的操作是store操作,1/3左右的操作是load操作。Core 微架构的乱序执行窗口能容纳96个操作,假如没有存储器引用二义性检测技术,那么,占据乱序执行窗口一半左右的40~60个操作将只能顺序执行,这肯定将造成极大的资源浪费。这个时候,效率良好的内存相关性预测功能将带来本质上的性能提升。

11.新指令集及其它新特性

  我们已经看到,Core 微架构的每一个子单元都比以前的架构有很大的提升。除此以外,Core 微架构还引入了几项新技术,我们再一起来了解一下。

  Core 微架构终于加入了对EM64T指令集的支持,弥补了 Yonah 微架构的最大缺憾。随着 Windows Vista 的到来以及 Intel、AMD 全面更换到64bit处理器,64bit计算的普及只是时间问题。

  Core 微架构支持新的指令集——SSE4指令集。Intel 原本打算把该指令集用在采用 NetBurst 微架构的 Tejas 核心上。但是在由于功耗问题取消 Tejas 之后,该指令集出现在了 Core 微架构上。SSE4 指令集会带来一些性能上的提高,但是可能不会像 SSE2 指令集那样带来巨大的提升,因为 SSE4 指令集其中的大部分指令用于某些特殊的目的。

  Core 微架构拥有增强的电源管理功能,并且2个核心可以分别进行管理。各功能单元以及内部总线在电路设计方面也考虑了节电的问题。与 Yonah 微架构一样,Core 微架构中的大部分功能单元在不使用的时候都可以进入睡眠状态以降低耗电,例如微码存储器等。另外,Core 微架构内部的多条总线为了提高总的传输带宽,加大了宽度,但是多数情况下并不需要如此大的传输宽度,于是 Intel 的工程师让这些总线平时只开放一般的宽度,甚至在没有信号传输的时候也可以进入睡眠状态。这种芯片可以部分关闭的能力早已是Core 微架构整个设计思想的一部分,使得我们只需要为我们使用的那部分电路“付款”。

  Core 微架构开始支持 Virtualization Technology,即 Intel的硬件虚拟化技术。这项技术为处理器虚拟化提供了芯片级支持,使得在一个处理器上同时运行多个操作系统成为可能。还有从 Dothan 时代就开始加入的硬件防病毒功能,在采用 Core 微架构的处理器上已经成为必不可少的功能。

  Core 微架构内建“数字温度传感器”(Digital Thermal Sensor),其作用当然是侦测处理器的温度,保证处理器的安全,与以前的温度二极管的作用一样。此外,还有传言声称,数字温度传感器如果认为当前的温度并不高,那么有可能会提高处理器的频率以获得更高的性能。是不是与某些显卡和主板的“OverDrive”功能很类似?如果这项技术真的实施,那么也可能只是用于 Conroe 和 Woodcrest,而不会用于 Merom,因为用提高功耗的方法来获得更高的性能并不符合移动平台处理器的设计思想。

  Core 微架构针对笔记本电脑提供第2代功率状态报告功能(Power Status Indicator 2,简称PSI-2),可以通知系统现在的耗电状况,从而作为动态调整电压的依据,让系统可以更有效率的节电。

  Core 微架构可以通过平台环境控制接口(Platform Environment Control Interface,简称PECI)把处理器的实际温度报告给系统,从而作为调整散热风扇运作模式的依据,对控制系统散热、噪音等方面很有帮助。

12.P6 微架构终极形态?

  我们对 Core 微架构的内核单元及其新特性的介绍到这里就结束了。与超长流水线、追求超高频率、充满争议的 NetBurst 微架构相比,Core 微架构可以说是十分的传统。而如果你仔细看过了前面的每一张 Core 微架构与 Yonah 微架构的对比图,那么,你一定有和我一样的感受:Core 微架构与 Yonah 微架构的内核构成太相似了——一样的解码流程,一样的简单解码单元与复杂解码单元相配合的设计,一样的乱序执行的流程,一样的一级指令缓存与一级数据缓存分离的设计,一样的共享式二级缓存的设计……再看一遍下面的2个架构的总体对比图,你会发现抛开解码单元与执行单元的数量、内部总线的宽度以及各个缓冲区的容量这些数字上的区别,2个架构的设计可以说是完全相同的!这与许多媒体不加分辨就宣称“全新架构”的说法大相径庭。

所以 Core 微架构可以说是 Yonah 微架构的放大版,我们把几个主要指标的大致放大倍数列表如下。

  其中,提升最为明显的是各类执行单元的计算能力,提高都达到100%以上。配合有史以来最强大的执行资源,各单元的吞吐量也有了比较大的提升。其中,需要注意的是前端解码部分,4组解码单元配合新引入的宏指令融合技术,Core 微架构的指令解码吞吐量的实际增幅远在16%以上。总体上,在各单元均比 Yonah 微架构有大幅提升的情况下,Core 微架构的性能提升幅度在20%以上是可以预期的。

  按照 Intel 的说法,采用 Core 微架构的各个产品都会比其对应的上一代产品有巨大的性能提升:Merom 比 Yonah 提升20%,Conroe 比 Pentium D 提升40%,Woodcrest 比 Paxville DP 提升80%。同时,桌面产品 Conroe 和服务器产品 Woodcrest 的功耗也会比其对应的上一代产品有大幅下降30%或者更多:Conroe 的TDP是65W,Woodcrest 的TDP是80W。如果这些数据都没有水分的话,那么,在 Intel 提出的性能功耗比这项新的衡量处理器优越性的指标上,采用 Core 微架构的这一代产品将毫无疑问占据最高点。

  Yonah 微架构发布后业界就一直流传着这样的看法:Yonah 微架构实际上是在 P6 微架构基础上发展而来的,其本质与古老的 P6 微架构没有什么不同。Intel 对此不置可否,而这闪闪烁烁的态度其实已经说明了 Yonah 微架构与 P6 微架构至少有着及其密切的联系。实际上,从 Banias 核心处理器面世之后,Pentium M 处理器是以色列团队在采用 P6 微架构的Pentium III 处理器基础上改进而来的说法就开始流传。时至今日,Intel 已经发布的三代移动核心本质上都是 P6 微架构的延续,已经算是公开的秘密。既然如此,Core 微架构又与 Yonah 微架构如此相似,把 Core 微架构也归为 P6 微架构是理所应当的事情。不过,拥有宏指令融合、4组解码单元、庞大执行资源和庞大共享式二级缓存的 Core 微架构似乎应该拥有一个更响亮的名字,不如叫作“P6 微架构最终形态”?

  虽然笔者一样认为 Core 微架构本质上还是 P6 微架构的一种,但是并不同意某些人的看法,认为这十年内X86处理器的微架构设计没有任何本质的进步,甚至认为重拾十年前的架构是一种倒退。从头开始进行一个高效的微处理器内核的设计是非常非常困难的,在已有成果的基础上进行改进是明智的,几乎也是唯一的选择。而且,虽然 Core 微架构还是沿用了 P6 微架构的设计思想,但是各种各样新加入的技术已经使得它面目全非,其执行效率已经与最初的 P6 微架构不可同日而语。其功耗最优化的设计思想与电源管理等先进功能更是 P6 微架构不曾考虑过的——试问十年前有谁想到机箱内的处理器可以关闭部分电路来达到省电的目的?用户需要的不是一个全新的内核,他不会在意花钱买来的是叫做 NetBurst 的内核还是叫做 Core 的内核,或是什么别的核心,他的要求很简单:一台快速、省电、静音的电脑。

  写到这里,也应该给 Core 微架构的种种特性做一个总结了。Core 微架构是 Intel 的以色列设计团队在 Yonah 微架构或者说是 P6 微架构基础之上全力改进而来的新一代微架构。它设计之初的目标就是构建一个高效的双核心架构,因此采取共享式二级缓存设计,2个核心共享多达4MB的二级缓存。其内核采用高效的14级有效流水线设计。每个核心都内建32KB一级指令缓存与32KB一级数据缓存,而且2个核心的一级数据缓存之间可以直接传输数据。每个核心内建4组指令解码单元,支持微指令融合与宏指令融合技术,每个时钟周期最多可以解码5条X86指令,并拥有改进的分支预测功能。每个核心内建5个执行单元,执行资源庞大。采用新的内存相关性预测技术。加入对EM64T与SSE4指令集的支持。支持增强的电源管理功能。支持硬件虚拟化技术和硬件防病毒功能。内建数字温度传感器。还可提供功率报告和温度报告等,配合系统实现动态的功耗控制和散热控制。

(摘自PCPOP)

2006年5月10日
搬家于CDD个人主页

 

2006年12月13日

    英特尔已经发布了两款支持VT(Virtualization Technology)技术的处理器——奔腾4 672和662,Intel Virtualization Technology就是以前众所周知的“Vanderpool”技术,这种技术让可以让一个CPU工作起来就像多个CPU并行运行,从而使得在一部电脑内同时运行多个操作系统成为可能。

  这种VT技术并不是一个新鲜事物,市面上已经有一些软件可以达到虚拟多系统的目的,比如VMware workstation、Virtual PC等,使用这种技术就可以单CPU模拟多CPU并行,可以实现单机同时运行多操作系统。

多任务工作原理示意图

超线程工作原理示意图

虚拟技术原理示意图

  virtualization技术和多任务(multitasking)、HyperThreading超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟技术中,你可以拥有多个操作系统同时运行,每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上。而HyperThreading超线程只是在SMP系统(Symmetric Multi Processing)中单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。

  当然了,如果一个CPU同时支持HyperThreading和Virtualization技术的话,每一个虚拟CPU在各自的操作系统中都被看成是两个对称多任务处理的CPU。

  虚拟技术可能让人联想到早期CPU上的“Virtual 8086”技术,这种V86模式技术是用来兼容早期的8086/8088处理器而设计的,最早出现在386机器上。使用V86模式你可以创建好几个并行虚拟8086计算机来运行多个DOS程序,同样道理,使用VT技术你也可以创建几个完整的虚拟电脑来运行几个完整的操作系统。

  可是既然已经有VMware等这种可以达到虚拟目的的软件,为什么我们还要努力来实现硬件CPU内部的虚拟技术呢?这是因为硬件CPU的虚拟技术有许多优势。支持虚拟技术的CPU带有多余的指令集来控制虚拟过程,通过这些指令集,控制软件VMV(Virtual Machine Monitor)会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。

工作原理

  带有虚拟技术的处理器具有额外的指令集,叫做Virtual Machine Extensions,简称VMX。VMX给CPU带来了10个新的虚拟专用指令:VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUCH, VMRESUME, VMXOFF and VMXON。

虚拟技术运行原理图

  在虚拟状态下有两种工作模式:root操作和非root操作。通常只有虚拟操作软件——Virtual Machine Monitor (VMM)能够运行在root操作模式下,而操作系统在虚拟机的顶层运行在非root操作模式下。运行在虚拟机顶层的软件同时也叫做“guest software”。

  要进入虚拟模式,VMM需要执行VMXON指令来调入VMM软件,VMM软件使用VMLAUNCH指令来进入每一个虚拟机,使用VMRESUME指令来退出。如果想要退出虚拟模式,可以使用VMM运行VMXOFF指令。在图4中的每个guest系统可以是不同的操作系统,同时运行自身的软件。

根据intel的资料,intel虚拟技术的实现需要同时具有处理器、芯片组、BIOS、VMM软件的支持,这些特定的平台软件必须全部到位。同时性能方面要视不同的硬件和软件平台而定,intel虚拟技术支持的BIOS和VMM程序现在正在开发之中。

  据我们所知,现在还没有支持虚拟技术的VMM软件,所以即使你买了一款支持VT技术的CPU,你还要等待Intel放出VMM软件才能使用上VT技术。同时还要等主板厂商放出VMM支持的BIOS(或者保证使得现有的主板BIOS支持虚拟技术)。

(转自IT168)

2006年4月22日

搬家于CDD个人主页