科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条

最新历史版本 :NexGen 返回词条

  • 编辑时间: 历史版本编辑者:高兴
  • 内容长度:图片数:目录数:
  • 修改原因:

NexGen是一家私人控股的美国半导体公司,专门设计x86相容处理器,之后于1996年由AMD所收并。NexGen与他的竞争业者Cyrix相同,都是无厂半导体公司(Fabless),必须倚赖晶圆厂代为生产芯片。NexGen过去是交由IBM微电子部门代产。

NexGen成立于1986年,由Compaq、株式会社ASCII及Kleiner Perkins共同创办。第一个设计是期望开发出80386相同世代等级的处理器,不过设计过于复杂、电路面积过于庞大,必须用8颗芯片才能等同于1颗芯片的功效;等到芯片数已经收敛减少后,整个业界已经转移、进入80486世代了。

NexGen的第二颗设计是Nx586 CPU,于1994年推出,并尝试与Intel的Pentium直接抗衡,这也是第一颗向Pentium发出挑战的处理器。此时Nx586处理器的具体型款为Nx586-P80及Nx586-P90。与其他竞争业者(AMD、Cyrix)不同的,Nx586的接脚配置与Pentium不相容,以致必须搭配特有的芯片组与主板才行。为此,NexGen推出两款使用Nx586的主板,一片支援VLB(VESA Local Bus),另一片支援PCI。

与AMD、Cyrix的Pentium级处理器一样,在相同时脉频率下,AMD、Cyrix的处理器性能皆超越Pentium;所以Nx586-P80以75MHz运作,Nx586-P90以84MHz运作。然而很不幸的,Nx586的性能胜过搭配82430LX、82430NX芯片组的Pentium,但Intel推出Pentium的新搭配芯片组82430FX(Triton)后就超越了Nx586,使Nx586的优势难以维持。此外,Nx586不具浮点运算能力,必须额外搭配Nx587的浮点运算(协力)处理器才行。

File:NexGen Nx596-P90.jpg

不过,后续的Nx586也具有浮点运算能力,这是由IBM使用MCM(Multi-Chip Module)封装技术来实现,将Nx586、Nx587两个裸晶一同封装,且接脚相容于过去的Nx586;此颗称为Nx586-PF100,好与之前就已经推出的Nx586-P100(不具浮点运算能力)有所区别。

另外,Compaq在其产品文宣、展示、箱盒上使用586字样,并以此对抗“Pentium”一词,不过Compaq并没有广泛采用NexGen的处理器。

之后,AMD K5处理器的性能与销售表现都低于预期,因此AMD买下NexGen,大量取得NexGen的设计团队,并延续Nx586的设计来开发新处理器,以此成就了在商业上相当成功的AMD K6处理器。

目录

NexGen处理器 回目录

    NexGen产品的销售地主要集中在北美和欧洲少数国家,并且实际发售量远低于预期。十几年后的今天,一台能够正常使用的NexGen系统算的上是一款不可多得的收藏品。

酷睿不稀奇!没见过的稀有处理器(二)
NexGen Nx587

    NexGen Nx587,是唯一配合Nx586使用的浮点运算微处理器,提供快速浮点运算的能力。其出产时间为1994年,频率为60MHz、前端总线60MHz  。

Cyrix、Transmeta、NexGen、IDT,曾经的CPU制造厂商回目录

同AMD一样,在那个INTEL如日中天的时候,CYRIX诞生了。无论从实力、经营时间和名气上,CYRIX都是对抗INTEL阵营中仅次于AMD的成 员。在长期的奋战中,它举步维艰,紧紧跟随着时代的脚步,它也曾以CPU厂商三巨头之一的名义笑傲江湖,也曾雄心勃勃地勾画着未来时代的瑰丽画卷,但身心 疲惫的它终于没有支撑下去,在“战友”AMD跨上技术顶峰的时候,在对它不停围堵封杀的INTEL手忙脚乱、大失水准之前,它却倒下了,悲壮地退出了 CPU市场的舞台。  
     应该说CYRIX是个失败者,在商界和技术界,只有成功者才能生存下去,但CYRIX依然值得我们尊敬。从486时代起,几乎是白手起家的它便顽强的挑战 着INTEL—这个处理器市场上的王者,并一直坚持了下去,他的CPU以极低廉的价格,优秀的整数性能,也占据了一定的低端商用市场,并且其推出的ALL -IN-ONE的GX系列产品,使市场掀起了一阵用完就扔的千美圆以下电脑的潮流,而今CYRIX虽然易主了,但这种观念却已深入人心,成为技术发展和开 发产品的方向。CYRIX虽然失败了,但在某种意义上说,它又是成功的,在CPU的发展历史上,CYRIX已经拥有了自己的位置,在回首这段历史时,任何 人都不得不提到CYRIX,在与INTEL悲壮的对抗中,那个倔强不屈,拼搏到最后一刻的CYRIX。

     尽管失败者的缺点多于优点,但我还是要先说说CYRIX的成功之处。能够在竞争如此激烈的市场占据一席之地,成功的推出了一系列产品并得到市场的认可,这就是成功。

File:KL Nexgen Nx587.jpg

      首先是CYRIX对自己产品的定位很准确。它的CPU一直是同档次CPU中浮点性能和整体实力最弱的,基本上不适合玩复杂的游戏,尤其是3D方面;但它的 CPU整数性能十分突出,甚至超过INTEL,因此,CYRIX便将其产品对准了低端的商用市场和非游戏玩家的用户,它的产品对于从事普通商业应用的用户 和仅从事上网等普通应用的家庭用户来说,的确是拥有极高的性价比,在这些应用上,CYRIX的CPU性能并没有落后于别的产品,但其价格却仅为其它产品的 一半或三分之一,非常具有竞争力,尤其适合于中国市场。

     接着,就是其最成功的一个举措,在定位的基础上推出一种新的产品和理念,这就是它的GX系列产品。这是第一颗将声卡和显卡集成到CPU里面的整合型产品, 它充分的表现出了ALL-IN-ONE的理念,用户只要在其产品上添加上内存和驱动器就可以了,其成本大大下降,掀起了一股低价电脑的风潮,打击了 INTEL高出高走的价格策略,时至今日,ALL-IN-ONE已经成了一种趋势,整合产品越来越多,可以说和CYRIX是分不开的。

     然而CYRIX还是失败了,这说明它在决策中有相当多的失误。一是产品的档次结构不合理。CYRIX的产品没什麽档次差距,基本上就一种,虽然价格极低 廉,但其产品委实不尽人意,在INTEL和AMD纷纷大幅降低其产品的价格时,CYRIX产品的竞争力越来越低,甚至到了无人问津的地步;同时CYRIX 在更新换代中,一次又一次的承诺要改善产品的性能和形象,不光吸收其它厂商的精华,还要更上一层楼,但每次产品推出后,总是带给人们莫大的失望,终于在人 们对它失去耐性时,它的道路也走到头了。再就是在产品性能无甚改进时,仅以低价来与对手竞争。CPU的技术发展日新月异,成本价格也越来越低,那种只求价 廉、不顾性能的观念逐渐被屏弃,因此仅以价格竞争的方法也越来越行不通了,会逐渐失去用户的口碑;而且过低的价格不利于成本回收,使本来就实力不强的企业 更加捉襟见肘,失去了发展的潜力。

     还有就是对自己实力不切实际的估计。由于产品取得了一些成功,人们对它有了好的看法,CYRIX似乎有些得意忘形,它曾经认为自己有一款产品性能已经超过 了INTEL的产品,于是其定价居然比INTEL的产品还高,购买者无不大呼上当,迫使它又大幅的将价格降回,自毁了辛辛苦苦创立的形象。

     于是CYRIX就这样失败了,虽然竞争对手的封杀策略是一定的原因,但最主要的还是自己发展战略的失误。现在VIA收购了CYRIX,希望它能够吸收这些经验和教训,凭借强大的实力让CYRIX这个品牌东山再起

全美达 痛惜另类英雄!全美达CPU战史全回顾新闻

Cyrix、NexGen、IDT等等、等等,您是否还记得它们的名字呢?当然,不记得或者不知道都不要紧,因为目前只能在一些处理器回顾的文章,或是二 手市场(还得是比较老的二手市场)里才能看到它们的身影。不过,虽然它们已经距离我们越来越远了,但不可否认的是,它们同样为处理器产品的发展起到了非常 重要的推动作用。

Cyrix M3

电脑诞生之日起,处理器领域的战争便已经开始爆发。在这场激烈的战争中,如今只剩下Intel和AMD两位勇者,它们一路披荆斩棘,伴随着战争的硝烟不断 的成长,凭借各自的实力挫败了几乎所有的竞争对手,而那些跃跃欲试的后来者也在强大的对手面前无奈的退却了。等等,其实不然,还有一个较大且颇有名气的处 理器厂商在和它们对峙,它便是全美达(Transmeta)。

Transmeta的副主席兼CTO David R.Ditzel

在2000年,在处理器领域诞生了一个陌生的名字——全美达(Transmeta)。这位初出茅庐的少年,高举手中的利剑,勇敢的站到了Intel和AMD两位巨龙的面前。人们看到,那少年眉宇中流转的是天才般的的气质和无所畏惧的坚定信念……

Efficeon系列硕果仅存,这是TM8800处理器

然而,就在今年4月底,一个不大不小的消息让处理器业界再掀波澜。相信大家都已经看到了《谁叫“美达”谁倒霉?又有一家传噩耗》这篇文章,大致内容也应该 了解了一些。继今年年初决定放弃连续4年亏损的处理器部门,转而将运营重心放在对外技术授权方面之后,移动处理器供应商全美达(Transmeta)终于 在4月底终止0.13微米工艺的Crusoe处理器在台积电的订单,仅剩与富士通合作的Efficeon处理器继续出货。这条消息预示着这个目前唯一能够 与AMD和Intel两大巨龙死斗的品牌在处理器这块宝地上壮烈牺牲了。

但是,我们依然感谢全美达,因为它让我们对处理器市场充满了希望,因为有了它才让AMD和Intel之间的斗争变得更有意义。只可惜,全美达没能在鹬蚌相 争的时候得到便宜,就这样倒下去了多少有些惋惜……。因而,借助这个机会让我们再次共同缅怀全美达的奋斗史、回顾那些经典、回顾曾经的辉煌吧。

第2页:Crusoe令人眼前一亮 除了AMD和Intel还有强者

2000年1月,正当Intel与AMD在处理器市场上打得难解难分之时,鲜为人知的全美达(Transmeta)公司带着一种全新架构的CPU——Crusoe亮相在人们的眼前。

这种处理器独特的数据处理方式和超的功耗的特性瞬间使得业界众多软硬件厂商为之一震。尤其对于Intel和AMD处理器厂商,Transmeta公司的这 款Crusoe处理器是针对整合系统和笔记本电脑而设计的低功耗处理器,这无疑也意味着将要和Intel和AMD争夺市场份额。

当时发布Crusoe处理器共有两款,都是基于软件模拟、超低功耗的智能处理器,主要应用范围是便携式计算机设备。这两种Crusoe处理器分别是主频为400MHz的TM3200和主频为700MHz的TM5400/TM5600。

Transmeta公司的TM3200

TM3200内置64KB 8路指令L1缓存和32KB

8路数据L1缓存,没有内置二级缓存,采用0.22微米生产工艺制造,其被主要应用于手持式设备。

第3页:灭掉P4!顶级Crusoe凭功耗火拼Intel

Crusoe

CPU可以分为三种,除了我们上面看到的TM5400/TM5600系列外,还有TM5500/TM5800系列和TM5700/TM5900。其中Crusoe

TM5800 CPU是全美达(Transmeta)产品线中工作频率较高,性能不错的CPU。它和Northwood核心P4

CPU一样采用了0.13微米的制作工艺,具有512KB的二级高速缓存,而且工作电压非常低,仅为0.9-1.3V,800MHz的处理器耗电量才5.5W。

Transmeta公司的TM5800

随后,全美达还推出了Cresoe

TM5900和TM5700两款处理器,这两款产品和之前的TM5800相比,尺寸减小了一半。TM5900/5700处理器是为迷你PC和植入系统设计 的,所以核心大小只有21×21mm,而TM5800处理器则是25×32.5mm。这两款处理器同样具有128位的VLIW引擎和LongRan技术, 内建DDR内存控制器和PCI总线控制器,其中TM5900具有512KB

L2缓存,而TM5700则具有256KB L2缓存,两款产品工作频率最高均为1GHz。

Transmeta公司的TM5900

不过,即便是这样,在速度和性能方面依然无法和Intel相比。硬拼不行可以巧夺,那就要从其它一些方面来赶超了,于是全美达(Transmeta)选择了功耗,上面我们已经向您提到过了。Intel

P4处理器工作时,每平方厘米会产生50-60W的热量,而Crusoe CPU在运行Windows

2000操作系统,电耗能低到1W。如此低的功耗会为我们带来两个好处,一个是发热低,另一个是可以延长笔记本电池的工作时间。这两个好处对于笔记本电脑来说,都是非常重要的。Crusoe

CPU就是凭借着这些优点一直和Intel保持着竞争状态。

Transmeta公司的TM5400

Transmeta公司的TM5600

而TM5400内置64KB指令L1缓存,64KB数据L1缓存和256KB的L2缓存,采用0.18微米生产工艺,TM5600与TM5400的区别仅 仅是它集成了512KB的更大L2缓存。改系列则面向的是基于Windows的超轻型笔记本PC。两者都支持普通的SDRAM内存。这两款处理器的标准功 耗都只有1W。另外,在其特有的深度睡眠状态中耗电量更可降低到20mW,因此当时在业界引起了轩然大波,低功耗也成为了全美达处理器最大的特点和火拼 AMD、Intel最重要的武器。

第4页:王牌的诞生 Efficeon性能提升的标志

2003年10月15日Transmeta终于发布了握在手中的王牌——“Efficeon”。其不仅继承了Crusoe的低耗电特性,而且处理性能也得 到大幅提高。将Crusoe可同时执行的4个32位指令数增加到了8个。同时还提高了工作频率、增加了二级缓存,强化了接口性能。

Transmeta公司的TM8600

Transmeta Efficeon

8600/8300处理器,分别配备1MB(TM8600)和512KB(TM8300)L2缓存以及支持多媒体的SSE和SSE2指令,该芯片同时集成了单通道DDR内存控制器,支持400MHz内存产品。

背面

据称与Crusoe相比性能提高了50~80%之多。顷刻间关于Efficeon的报道蜂拥而至,Transmeta再次成为业界的焦点。

Dothan核心迅驰的死敌 Efficeon2处理器尚未咽气

2004年6月中旬,全美达正式发布了Efficeon2处理器,它的前身Efficeon处理器是全美达公司对应P-M的产品,所以可以这样简单地认为Efficeon2是对应Dothan核心迅驰的拳头产品。

在这个计算机技术快速发展的时代,硬件性能的提升已经超过了很多人的实际应用需要,特别是在移动领域,移动电脑的持续使用时间已经成为用户最关注的问题。 而全美达的Efficeon2处理器在这一方面具有先天的优势。同时,全美达Efficeon2处理器的高度集成性也可使移动平台的便携性大大加强。我们 相信,Efficeon2处理器一定会在移动平台上占得一席之地。而事实证明,目前也只有Efficeon2处理器还存活。

第6页:全美达的辉煌战绩(一):集成度颇高的整合系统

全美达的辉煌战绩不知是以上看到的那些处理器,与处理器整合的产品也颇具看头。采用了现版Efficeon

2核心的内嵌式处理器TM8620的推出就是一个惊人之举。

TM8620处理器的芯片面积对比,很明显TM8620处理器小了很多。

集成度十分之高的TM8620系统,在小小的基板上集成了ALi的南桥芯片1563S和ATI的显示芯片,基本上已经是一个完整的处理平台。而且背面还同时集成了系统内存,怎么样?够强悍吧?

第7页:全美达的辉煌战绩(二):集成96颗CPU的系统始于全美达

还记得下面看到的这个工作站吧?早期它根本不是集成96颗安腾处理器,而是美国加州的名叫Orion公司推出的两款基于Transmeta

Efficeon处理器构建的高端桌面集群工作站,其性能之强劲足以与主流小型机相媲美。

刚看它时,一时还拿不准这两款产品究竟是归于桌面产品还是集群服务器类,由于全美达系统的特点是功耗极少体积很小,所以对于由它构建的集群产品其体积只有 27英寸(约68.58厘米)高,你完全可以把它放在你的桌面上运行,从外观来看和一台普通PC没什么两样,但其内部可是有多达96颗全美达心脏在一起跳 动!

这款由Orion推出的全美达系统有DS-96和DT-12桌面集群工作站两种,其中DS-96桌面集群工作站拥有多达96个节点CPU,处理能力高达 150Gflops。这款96节点系统同时使用了8块主板(每块20个cpu),总共提供了10个千兆以太网接,每个节点之间的带宽高达1GB,每颗 Transmeta

Efficeon处理器(90nm)时钟频率为1.6GHz,DS-96可支持使用多达192GB内存和9.6TB的存储设备,同时这款可放置在你桌子底 下的超级电脑的功耗也不小达到了1500W,但它于市场上的同类产品的功耗相比真的算不上什么,要知道一台2匹的柜式空调都有1500W了。

DT-12桌面集群工作站为12节点产品,拥有18Gflops的处理能力,支持最大24GB

DDR内存和1TB的磁盘存储设备,同时它的功耗小于220W,另外我们得知1台DT-12桌面集群工作站还能与另外三台DT-12组成拥有48个节点超小型集群系统。怎样?全美达的战绩还是非常辉煌的吧?

第8页:叹息、惋惜!也许有一天它会归来……

请祝愿并感谢全美达(Transmeta)吧,是他的出现把CPU的发展从一条走向极端的路途上拉向了理智的方向,是他在苦痛的挣扎中推动了便携低功耗处理设备的前进。

面对当今电子硬件市场,我们不得不感叹:发展速度实在太快,竞争实在太残酷。当你用一台P4

3.0C上网打字写文章的时候,你是否会想起还有一个名叫全美达Efficeon的处理器你未曾尝试使用过。当然,你会认为为什么非要用它呢!对,没有必 要用它,但是也并不能否认它曾经的存在,它曾经的辉煌。与(元)美达、雅美达不同的是,也许有一天,全美达的处理器产品还会回来的。
●CPU常规知识汇总

CPU又叫中央处理器,是英文单词Central Processing Unit的缩写,负责对信息和数据进行运算和处理,并实现本身运行过程的自动化。在早期的计算机当中,CPU被分成了运算器和控制器两个部分,后来由于电 路集成度的提高,在微处理器问世时,就将它们都集成在一个芯片中了。需要智能控制、大量信息处理的地方就会用到CPU。

CPU有通用CPU和嵌入式CPU,通用和嵌入式的分别,主要是根据应用模式的不同而划分的。通用CPU芯片的功能一般比较强,能运行复杂的操作系统和大 型应用软件。嵌入式CPU在功能和性能上有很大的变化范围。随着集成度的提高,在嵌入式应用中,人们倾向于把CPU、存储器和一些外围电路集成到一个芯片 上,构成所谓的系统芯片(简称为SOC),而把SOC上的那个CPU成为CPU芯核。

■CPU的流派

现在,指令系统的优化设计有两个截然相反的方向。一个是增强指令的功能,设置一些功能复杂的指令,把一些原来有软件实现的常用功能改用硬件的指令系统来实现,这种计算机成为复杂指令系统计算机。早期Intel的X86指令体系就是一种CISC指令结构。

RISC是Reduced Instruction Set Computer的缩写中文翻译成精简指令系统计算机,是八十年代发展起来的,尽量简化指令功能,只保留那些功能简单,能在一个节拍内执行完成的指令,较 复杂的功能用一段子程序来实现,这种计算机系统成为精简指令系统计算机。目前采用RISC体系结构的处理器的芯片厂商有SUN、SGI、IBM的 Power PC系列、DEC公司的Alpha系列、Motorola公司的龙珠和Power PC等等。

■MIPS体系

MIPS是世界上很流行的一种RISC处理器。MIPS的意思是"无内部互锁流水级的微处理器"(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。他最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领 导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品以为很多打计算机公司采用构成各种工作站和 计算机系统。
■指令系统

要讲CPU,就必须先讲一下指令系统。指令系统指的是一个CPU所能够处理的全部指令的集合,是一个CPU的根本属性。比如我们现在所用的CPU都是采用 x86指令集的,他们都是同一类型的CPU,不管是PIII、Athlon或Joshua。我们也知道,世界上还有比PIII和Athlon快得多的 CPU,比如Alpha,但它们不是用x86指令集,不能使用数量庞大的基于x86指令集的程序,如Windows98。之所以说指令系统是一个CPU的 根本属性,是因为指令系统决定了一个CPU能够运行什么样的程序。

所有采用高级语言编出的程序,都需要翻译(编译或解释)成为机器语言后才能运行,这些机器语言中所包含的就是一条条的指令。

1、指令的格式

一条指令一般包括两个部分:操作码和地址码。操作码其实就是指令序列号,用来告诉CPU需要执行的是那一条指令。地址码则复杂一些,主要包括源操作数地址、目的地址和下一条指令的地址。在某些指令中,地址码可以部分或全部省略,比如一条空指令就只有操作码而没有地址码。

举个例子吧,某个指令系统的指令长度为32位,操作码长度为8位,地址长度也为8位,且第一条指令是加,第二条指令是减。当它收到一个 “00000010000001000000000100000110”的指令时,先取出它的前8位操作码,即00000010,分析得出这是一个减法操 作,有3个地址,分别是两个源操作数地址和一个目的地址。于是,CPU就到内存地址00000100处取出被减数,到00000001处取出减数,送到 ALU中进行减法运算,然后把结果送到00000110处。

这只是一个相当简单化的例子,实际情况要复杂的多。

2、指令的分类与寻址方式

一般说来,现在的指令系统有以下几种类型的指令:

(1) 算术逻辑运算指令

算术逻辑运算指令包括加减乘除等算术运算指令,以及与或非异或等逻辑运算指令。现在的指令系统还加入了一些十进制运算指令以及字符串运算指令等。

(2) 浮点运算指令

用于对浮点数进行运算。浮点运算要大大复杂于整数运算,所以CPU中一般还会有专门负责浮点运算的浮点运算单元。现在的浮点指令中一般还加入了向量指令,用于直接对矩阵进行运算,对于现在的多媒体和3D处理很有用。

(3) 位操作指令

学过C的人应该都知道C语言中有一组位操作语句,相对应的,指令系统中也有一组位操作指令,如左移一位右移一位等。对于计算机内部以二进制不码表示的数据来说,这种操作是非常简单快捷的。

(4) 其他指令

上面三种都是运算型指令,除此之外还有许多非运算的其他指令。这些指令包括:数据传送指令、堆栈操作指令、转移类指令、输入输出指令和一些比较特殊的指令,如特权指令、多处理器控制指令和等待、停机、空操作等指令。

对于指令中的地址码,也会有许多不同的寻址(编址)方式,主要有直接寻址,间接寻址,寄存器寻址,基址寻址,变址寻址等,某些复杂的指令系统会有几十种甚至更多的寻址方式。
3、 CISC与RISC

CISC,Complex Instruction Set Computer,复杂指令系统计算机。RISC,Reduced Instruction Set Computer,精简指令系统计算机。虽然这两个名词是针对计算机的,但下文我们仍然只对指令集进行研究。

(1) CISC的产生、发展和现状

一开始,计算机的指令系统只有很少一些基本指令,而其他的复杂指令全靠软件编译时通过简单指令的组合来实现。举个最简单的例子,一个a乘以b的操作就可以 转换为a个b相加来做,这样就用不着乘法指令了。当然,最早的指令系统就已经有乘法指令了,这是为什么呢?因为用硬件实现乘法比加法组合来得快得多。

由于那时的计算机部件相当昂贵,而且速度很慢,为了提高速度,越来越多的复杂指令被加入了指令系统中。但是,很快又有一个问题:一个指令系统的指令数是受指令操作码的位数所限制的,如果操作码为8位,那么指令数最多为256条(2的8次方)。

那么怎么办呢?指令的宽度是很难增加的,聪明的设计师们又想出了一种方案:操作码扩展。前面说过,操作码的后面跟的是地址码,而有些指令是用不着地址码或只用少量的地址码的。那么,就可以把操作码扩展到这些位置。

举个简单的例子,如果一个指令系统的操作码为2位,那么可以有00、01、10、11四条不同的指令。现在把11作为保留,把操作码扩展到4位,那么就可 以有00、01、10、1100、1101、1110、1111七条指令。其中1100、1101、1110、1111这四条指令的地址码必须少两位。

然后,为了达到操作码扩展的先决条件:减少地址码,设计师们又动足了脑筋,发明了各种各样的寻址方式,如基址寻址、相对寻址等,用以最大限度的压缩地址码长度,为操作码留出空间。

就这样,慢慢地,CISC指令系统就形成了,大量的复杂指令、可变的指令长度、多种的寻址方式是CISC的特点,也是CISC的缺点:因为这些都大大增加 了解码的难度,而在现在的高速硬件发展下,复杂指令所带来的速度提升早已不及在解码上浪费点的时间。除了个人PC市场还在用x86指令集外,服务器以及更 大的系统都早已不用CISC了。x86仍然存在的唯一理由就是为了兼容大量的x86平台上的软件。

(2) RISC的产生、发展和现状

1975年,IBM的设计师John Cocke研究了当时的IBM370CISC系统,发现其中占总指令数仅20%的简单指令却在程序调用中占了80%,而占指令数80%的复杂指令却只有20%的机会用到。由此,他提出了RISC的概念。

事实证明,RISC是成功的。80年代末,各公司的RISC CPU如雨后春笋般大量出现,占据了大量的市场。到了90年代,x86的CPU如pentium和k5也开始使用先进的RISC核心。

RISC的最大特点是指令长度固定,指令格式种类少,寻址方式种类少,大多数是简单指令且都能在一个时钟周期内完成,易于设计超标量与流水线,寄存器数量 多,大量操作在寄存器之间进行。由于下文所讲的CPU核心大部分是讲RISC核心,所以这里就不多介绍了,对于RISC核心的设计下面会详细谈到。

RISC目前正如日中天,Intel的Itanium也将最终抛弃x86而转向RISC结构。

CPU内核结构

好吧,下面来看看CPU。CPU内核主要分为两部分:运算器和控制器。

一 运算器

1、算术逻辑运算单元ALU(Arithmetic and Logic Unit)

ALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。在某些CPU中还有专门用于处理移位操作的移位器。

通常ALU由两个输入端和一个输出端。整数单元有时也称为IEU(Integer Execution Unit)。我们通常所说的“CPU是XX位的”就是指ALU所能处理的数据的位数。

2、浮点运算单元FPU(Floating Point Unit)

FPU主要负责浮点运算和高精度整数运算。有些FPU还具有向量运算的功能,另外一些则有专门的向量处理单元。

3、通用寄存器组

通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。

在通用寄存器的设计上,RISC与CISC有着很大的不同。CISC的寄存器通常很少,主要是受了当时硬件成本所限。比如x86指令集只有8个通用寄存 器。所以,CISC的CPU执行是大多数时间是在访问存储器中的数据,而不是寄存器中的。这就拖慢了整个系统的速度。而RISC系统往往具有非常多的通用 寄存器,并采用了重叠寄存器窗口和寄存器堆等技术使寄存器资源得到充分的利用。

对于x86指令集只支持8个通用寄存器的缺点,Intel和AMD的最新CPU都采用了一种叫做“寄存器重命名”的技术,这种技术使x86CPU的寄存器 可以突破8个的限制,达到32个甚至更多。不过,相对于RISC来说,这种技术的寄存器操作要多出一个时钟周期,用来对寄存器进行重命名。

4、专用寄存器

专用寄存器通常是一些状态寄存器,不能通过程序改变,由CPU自己控制,表明某种状态。

二 控制器

运算器只能完成运算,而控制器用于控制着整个CPU的工作。

1、指令控制器

指令控制器是控制器中相当重要的部分,它要完成取指令、分析指令等操作,然后交给执行单元(ALU或FPU)来执行,同时还要形成下一条指令的地址。

2、时序控制器

时序控制器的作用是为每条指令按时间顺序提供控制信号。时序控制器包括时钟发生器和倍频定义单元,其中时钟发生器由石英晶体振荡器发出非常稳定的脉冲信号,就是CPU的主频;而倍频定义单元则定义了CPU主频是存储器频率(总线频率)的几倍。

3、总线控制器

总线控制器主要用于控制CPU的内外部总线,包括地址总线、数据总线、控制总线等等。

4、中断控制器

中断控制器用于控制各种各样的中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理。

三 CPU核心的设计

CPU的性能是由什么决定的呢?单纯的一个ALU速度在一个CPU中并不起决定性作用,因为ALU的速度都差不多。而一个CPU的性能表现的决定性因素就在于CPU内核的设计。

1、超标量(Superscalar)

既然无法大幅提高ALU的速度,有什么替代的方法呢?并行处理的方法又一次产生了强大的作用。所谓的超标量CPU,就是只集成了多个ALU、多个FPU、多个译码器和多条流水线的CPU,以并行处理的方式来提高性能。

超标量技术应该是很容易理解的,不过有一点需要注意,就是不要去管“超标量”之前的那个数字,比如“9路超标量”,不同的厂商对于这个数字有着不同的定义,更多的这只是一种商业上的宣传手段。
2、流水线(Pipeline)

流水线是现代RISC核心的一个重要设计,它极大地提高了性能。

对于一条具体的指令执行过程,通常可以分为五个部分:取指令,指令译码,取操作数,运算(ALU),写结果。其中前三步一般由指令控制器完成,后两步 则由运算器完成。按照传统的方式,所有指令顺序执行,那么先是指令控制器工作,完成第一条指令的前三步,然后运算器工作,完成后两步,在指令控制器工作, 完成第二条指令的前三步,在是运算器,完成第二条指令的后两部……很明显,当指令控制器工作是运算器基本上在休息,而当运算器在工作时指令控制器却在休 息,造成了相当大的资源浪费。解决方法很容易想到,当指令控制器完成了第一条指令的前三步后,直接开始第二条指令的操作,运算单元也是。这样就形成了流水 线系统,这是一条2级流水线。

如果是一个超标量系统,假设有三个指令控制单元和两个运算单元,那么就可以在完成了第一条指令的取址工作后直接开始第二条指令的取址,这时第一条指令 在进行译码,然后第三条指令取址,第二条指令译码,第一条指令取操作数……这样就是一个5级流水线。很显然,5级流水线的平均理论速度是不用流水线的4 倍。

流水线系统最大限度地利用了CPU资源,使每个部件在每个时钟周期都工作,大大提高了效率。但是,流水线有两个非常大的问题:相关和转移。

在一个流水线系统中,如果第二条指令需要用到第一条指令的结果,这种情况叫做相关。以上面哪个5级流水线为例,当第二条指令需要取操作数时,第一条指 令的运算还没有完成,如果这时第二条指令就去取操作数,就会得到错误的结果。所以,这时整条流水线不得不停顿下来,等待第一条指令的完成。这是很讨厌的问 题,特别是对于比较长的流水线,比如20级,这种停顿通常要损失十几个时钟周期。目前解决这个问题的方法是乱序执行。乱序执行的原理是在两条相关指令中插 入不相关的指令,使整条流水线顺畅。比如上面的例子中,开始执行第一条指令后直接开始执行第三条指令(假设第三条指令不相关),然后才开始执行第二条指 令,这样当第二条指令需要取操作数时第一条指令刚好完成,而且第三条指令也快要完成了,整条流水线不会停顿。当然,流水线的阻塞现象还是不能完全避免的, 尤其是当相关指令非常多的时候。

另一个大问题是条件转移。在上面的例子中,如果第一条指令是一个条件转移指令,那么系统就会不清楚下面应该执行那一条指令?这时就必须等第一条指令的 判断结果出来才能执行第二条指令。条件转移所造成的流水线停顿甚至比相关还要严重的多。所以,现在采用分支预测技术来处理转移问题。虽然我们的程序中充满 着分支,而且哪一条分支都是有可能的,但大多数情况下总是选择某一分支。比如一个循环的末尾是一个分支,除了最后一次我们需要跳出循环外,其他的时候我们 总是选择继续循环这条分支。根据这些原理,分支预测技术可以在没有得到结果之前预测下一条指令是什么,并执行它。现在的分支预测技术能够达到90%以上的 正确率,但是,一旦预测错误,CPU仍然不得不清理整条流水线并回到分支点。这将损失大量的时钟周期。所以,进一步提高分支预测的准确率也是正在研究的一 个课题。

越是长的流水线,相关和转移两大问题也越严重,所以,流水线并不是越长越好,超标量也不是越多越好,找到一个速度与效率的平衡点才是最重要的。
■CPU的外核

1、解码器(Decode Unit)

这是x86CPU才有的东西,它的作用是把长度不定的x86指令转换为长度固定的类似于RISC的指令,并交给RISC内核。解码分为硬件解码和微解码, 对于简单的x86指令只要硬件解码即可,速度较快,而遇到复杂的x86指令则需要进行微解码,并把它分成若干条简单指令,速度较慢且很复杂。好在这些复杂 指令很少会用到。

Athlon也好,PIII也好,老式的CISC的x86指令集严重制约了他们的性能表现。

2、一级缓存和二级缓存(Cache)

以及缓存和二级缓存是为了缓解较快的CPU与较慢的存储器之间的矛盾而产生的,以及缓存通常集成在CPU内核,而二级缓存则是以OnDie或OnBoard的方式以较快于存储器的速度运行。对于一些大数据交换量的工作,CPU的Cache显得尤为重要。

NexGen CPU史话

NexGen的Nx586

背面

NexGen的Nx586FP

背面

NexGen Nx686

背面

NexGen Nx686的另外一种样子

背面

参考文献回目录

→如果您认为本词条还有待完善,请 编辑词条

标签: NexGen