编程考古-CPU(中)

P5:The First Pentium 奔腾

图片

奔腾(Pentium)处理器于1993年首次亮相,标志着英特尔x86处理器家族的一个新时代的开始。它打破了以往80x86数字命名的传统,成为英特尔首个不沿用此命名规则的x86处理器。内部架构上,奔腾采用了全新的P5体系结构,这一体系结构是英特尔首次在x86系列中引入超标量设计,意味着它可以同时执行多条指令,从而显著提升了处理性能。

奔腾不仅在整体性能上超越了其前代产品80486,更引人注目的是其浮点运算单元(FPU)的大幅提升。最初的奔腾处理器,其FPU的性能较之80486的老化单元快了超过十倍,这对于需要大量数学计算的应用程序来说是一个巨大的进步。随着时代的发展,当英特尔推出奔腾MMX版本时,FPU的重要性愈发凸显。奔腾MMX不仅继承了原有奔腾的架构优势,还加入了新的MMX SIMD指令集支持,这种增强对于图像、音频和视频等多媒体应用的性能提升尤为显著。

除了架构上的革新,奔腾相较于80486,在一级缓存容量上也有所增加。初代奔腾配备有16KB的一级缓存,而到了奔腾MMX,这一数字翻倍至32KB。更大的缓存有助于减少CPU访问主内存的次数,进而提高了系统的响应速度和效率。此外,这些处理器能够运行在更高的时钟频率下,从最初使用800纳米工艺制造、仅能达到60兆赫兹的初代奔腾,到后来通过采用更为先进的250纳米制程技术,使得频率提升至300兆赫兹,这不仅是工艺的进步,更是性能的巨大飞跃。

P6: The Pentium Pro 奔腾Pro

图片

英特尔原本计划紧随奔腾之后迅速推出基于P6体系结构的奔腾Pro,但在开发过程中遭遇了技术挑战。奔腾Pro在32位运算速度上显著超越了其前代产品,这得益于它创新的无序(Out-of-Order, OoO)设计。这种设计允许处理器根据资源可用性灵活地执行指令,而不是严格遵循程序中规定的顺序。奔腾Pro内部架构经历了重大革新,能够将指令解码为微操作,并在通用执行单元上高效执行。为了支持这一复杂的设计,奔腾Pro采用了14级流水线,比以往更深,但这也带来了额外的硬件开销。

针对服务器市场的首次出击,英特尔对奔腾Pro进行了定制化调整,扩展地址总线至36位并引入了物理地址扩展(PAE)技术,使系统能够支持高达64GB的RAM——远超当时普通用户的实际需求,但对于服务器客户而言却是至关重要的特性。这样的改进使得奔腾Pro成为了高性能服务器的理想选择。

在缓存系统方面,奔腾Pro同样经历了重新设计。一级缓存被细分为两个8KB的分段,分别用于指令和数据。虽然与奔腾MMX的一级缓存相比减少了16KB,但英特尔通过在CPU封装外单独配置的二级缓存芯片弥补了这一不足,提供了从256KB到1MB的容量。这些二级缓存芯片通过背面总线(Back-Side Bus, BSB)连接到CPU,有效地提高了缓存命中率和性能。

尽管奔腾Pro具备一些革命性的功能,但它在消费市场上并未能如预期般取得成功。一方面,奔腾Pro在处理16位软件时表现不如奔腾和奔腾MMX,而那时16位应用程序仍然广泛使用;另一方面,奔腾Pro缺乏对新推出的MMX指令集的支持,导致在运行MMX优化软件时,奔腾MMX反而表现出更好的性能。此外,由于需要额外的芯片来包含二级缓存,奔腾Pro的生产成本较高,这也限制了它在消费者市场中的普及。最快的奔腾Pro处理器运行频率达到了200 MHz,晶体管尺寸范围在500纳米至350纳米之间。

P6: Pentium II

图片

英特尔并未放弃P6体系结构的潜力,而是选择在1997年推出奔腾II,以此来解决奔腾Pro所面临的问题并进一步优化性能。奔腾II继承了奔腾Pro的核心架构特性,例如14级流水线设计,并在此基础上进行了多项增强,以提高每时钟周期指令数(IPC),从而实现了更高效的指令处理。

奔腾II的一个显著改进是其一级缓存容量的增长:数据和指令缓存各增加到16KB,使得处理器能够更快地访问常用数据和代码片段。为了降低生产成本,英特尔采用了更具成本效益的方法来集成二级缓存——将价格较为低廉的缓存芯片连接到更大的硅封装上。虽然这些二级缓存模块不能以CPU的全速运行,但它们以一半的频率工作,对于早期的奔腾II来说,这样的配置已经足以显著提升整体性能。

此外,奔腾II还加入了对MMX指令集的支持,这使得它在多媒体应用和图像处理任务中表现得更加出色。随着MMX技术的加入,奔腾II不仅能在传统的计算任务中表现出色,还能更好地满足当时日益增长的多媒体需求。

奔腾II内部使用的CPU核心,分别被赋予了“Klamath”和“Deschutes”的代号,同时也作为服务器市场的Xeon系列以及奔腾II Overdrive产品的一部分推向市场。性能最强劲的型号配备了512KB的二级缓存,并且可以达到450 MHz的运行频率,为用户提供了前所未有的性能体验。

通过这些改进,奔腾II不仅克服了奔腾Pro的局限性,还在性能、成本效益和功能支持方面取得了重大进展,成为了那个时代计算机处理器领域的里程碑之作。

P6: Pentium III And The Race To 1 GHz

图片

英特尔原计划在奔腾II之后推出基于其Netburst架构的处理器,但这一架构尚未成熟。因此,英特尔决定再次沿用P6架构,并推出了奔腾III处理器。

奔腾III系列中的首款处理器代号为“Katmai”,它与奔腾II非常相似,同样使用了包含较低质量二级缓存的插槽式封装,且该缓存只能以CPU频率的一半速度运行。然而,在基础架构方面,“Katmai”进行了一些显著改进:14级流水线中的一些部分被合并,使得流水线缩短至10级。得益于更新后的流水线设计以及更高的时钟频率,初代奔腾III处理器在性能上通常能略胜一筹于其前代产品奔腾II。

“Katmai”采用250纳米晶体管制造。随着转向180纳米制造工艺,英特尔得以大幅提升奔腾III的性能。这种升级后的版本被称为“Coppermine”。在“Coppermine”中,二级缓存被移到了CPU内部,虽然容量减半至256KB,但它能够以处理器的全速运行,从而大幅提升了性能。“Coppermine”是英特尔与AMD的Athlon处理器竞争突破1GHz大关的产品,最终成功达成了目标。英特尔曾尝试生产1.13GHz型号的奔腾III,但由于Tom's Hardware的Dr. Tom Pabst发现这款处理器存在稳定性问题,该型号最终被召回。这使得1GHz型号成为了最快的“Coppermine”核心奔腾III处理器。

奔腾III系列的最后一款核心名为“Tualatin”,它采用了130纳米工艺,支持高达1.4GHz的时钟频率。同时,“Tualatin”将二级缓存容量恢复到了512KB,这对性能提升有所帮助。作为P6架构的一个重要演进,“Tualatin”不仅标志着奔腾III时代的巅峰,也预示着未来更先进处理器的到来。

P5 And P6: Celeron And Xeon赛扬和至强

图片

在奔腾II问世的同时,英特尔推出了赛扬(Celeron)和至强(Xeon)两个新的产品线,旨在覆盖更广泛的市场。这两个系列的处理器虽然基于与奔腾II或奔腾III相同的内核架构,但通过调整缓存容量来区分定位。

最初的赛扬品牌处理器是基于奔腾II的,它们的一个显著特点是完全省略了二级缓存,这一设计决策导致这些早期赛扬处理器性能欠佳。随着技术的发展,基于奔腾III的赛扬处理器登场,这时的赛扬仅启用了部分二级缓存——具体来说是一半,即128KB。当采用“Coppermine”内核时,这种配置被称为Coppermine-128;而到了后来基于“Tualatin”内核的赛扬处理器,则将L2缓存增加到了256KB,被称作Tualatin-256。尽管缓存容量有限,但英特尔以接近奔腾III的时钟频率销售这些赛扬处理器,使得它们在市场上表现良好,并且能够与AMD的Duron处理器形成有力的竞争。值得注意的是,微软在其初代Xbox游戏机中选用了733MHz的Coppermine-128赛扬作为CPU。

另一方面,至强处理器则定位于高端服务器和工作站市场。与赛扬截然不同,至强强调的是更大的二级缓存。基于奔腾II的至强处理器至少配备有512KB的L2缓存,与同期奔腾II CPU相同,而高端型号更是可以拥有高达2MB的缓存。这使得至强处理器在多任务处理和数据密集型应用中具有明显优势,满足了专业用户对性能的需求。

通过不同的缓存策略,英特尔不仅丰富了自己的产品线,还针对不同市场需求提供了多样化的选择。从面向入门级用户的赛扬到专为高性能计算设计的至强,英特尔成功地用同一基础架构打造了一个涵盖广泛的产品家族。

Netburst架构简介

在深入探讨英特尔的Netburst架构及其标志性的Pentium 4处理器之前,有必要先理解其背后的深度流水线概念。流水线描述了指令通过处理器核心的过程,其中每个流水线阶段可能会执行多个任务,也有可能专注于单一功能。通过增加新硬件或将一个阶段分割成多个阶段,可以扩展执行流水线。相反地,移除硬件或将多个阶段的功能合并为一个阶段,则可以使处理器流水线缩短。

流水线的长度或深度直接影响到延迟、每时钟周期指令数(IPC)、时钟频率以及架构的吞吐量需求。更长的流水线通常需要更高的带宽,但如果能保持数据的持续供给,那么流水线中的每一阶段都可以保持忙碌状态。拥有较长流水线的处理器一般能够以更高的时钟频率运行。

然而,这种设计的权衡是处理器内部的显著较高延迟,因为数据流经各个阶段时必须在每个阶段停留一定数量的时钟周期。采用长流水线的处理器往往具有较低的IPC值,因此它们依赖显著提高的频率来提升性能。多年来,无论是基于长流水线还是短流水线设计理念的处理器都取得了成功,证明了这两种方法都有其合理性,没有一种方案绝对优于另一种。

Netburst: Pentium 4 Willamette And Northwood威拉米特和诺思伍德

图片

2000年,英特尔的Netburst架构正式面世,并首次应用于奔腾4(Pentium 4)处理器,这一设计随后主导了英特尔高端CPU市场长达六年之久。Netburst架构的第一个具体实现被称为“Willamette”,它不仅标志着新架构的起点,也引领了奔腾4系列的最初两年。

然而,这段时期对于英特尔来说充满了挑战。尽管Netburst实现了显著更高的时钟频率,使Willamette成功突破了2 GHz大关,但1.4 GHz的奔腾III在某些应用场景中依然保持领先。同时期,AMD推出的Athlon处理器凭借其优越性能,在市场上占据了明显优势。

Willamette的主要难题在于英特尔尝试通过扩展流水线至20个阶段以达成更高时钟速率的目标,特别是超过2 GHz之后,却因功耗和热量问题而受阻。这些问题使得Willamette未能充分发挥预期的性能潜力。

随着2002年初130纳米制程的“Northwood”设计推出,情况有所改善。这款设计将最高时钟频率提升到了3.2 GHz,并且二级缓存容量从256KB增加到了512KB,有效缓解了部分功耗和热量的问题。Northwood版本的奔腾4在性能上有了明显的飞跃,与AMD的竞争中重新获得了强劲的竞争力。

此外,英特尔还在高端产品线上引入了“超线程”(Hyper-Threading)技术,旨在提高多任务处理环境下的资源利用率。尽管这项技术带来的性能增益不如后来的酷睿i7系列那么显著,但在当时确实为性能带来了几个百分点的提升。

P6: Pentium-M

图片

Netburst架构因其追求高性能而设计得相对耗电,这使得它并不适合移动计算设备。因此,在2003年,英特尔推出了专为笔记本电脑优化的Pentium-M处理器体系结构。与同时期的桌面级CPU不同,Pentium-M继承了更节能的P6架构,并引入了一种创新的可变长度流水线设计,流水线深度在12至14个阶段之间变化。当指令所需的数据已经存在于缓存中时,它可以快速通过12个阶段完成执行;如果需要额外加载数据,则需经过两个附加阶段。

Pentium-M系列的首发产品采用了130纳米工艺制造,集成了1MB的二级缓存,并成功达到了1.8 GHz的频率,而功耗却仅仅只有24.5瓦。这种高效能比使它成为了当时移动市场的佼佼者。

随后,在2004年发布的“Dothan”修订版进一步推动了这一进步。Dothan转向了更为精细的90纳米制程,这不仅让英特尔能够将二级缓存扩大到2MB,还加入了一些核心级别的改进,以提升每周期指令数(IPC)。得益于这些增强,Dothan的最高速度达到了2.27 GHz,同时功耗仅轻微上升至27瓦。

Pentium-M架构最终被应用于Stealey A100移动CPU中,直到后来被专为低功耗设计的Atom处理器系列所接替。Pentium-M的成功不仅证明了英特尔在移动计算领域的技术实力,也为其后续开发针对移动和便携式设备的处理器奠定了坚实的基础。

Netburst: Prescott普雷斯科特

图片

从2002年到2004年间,英特尔在其处理器中坚持使用Netburst架构,该架构旨在通过增加时钟频率来实现性能的显著提升。然而,随着技术的进步和市场需求的变化,英特尔在2004年推出了带有众多改进特性的Prescott核心,标志着Netburst架构的一个重要转折点。

Prescott采用了更先进的90纳米制造工艺,这使得英特尔能够将二级缓存容量翻倍至1MB,并引入了新的LGA 775接口,支持DDR2内存和更快的四泵FSB(前端总线)。这些升级显著提升了数据传输带宽,对于增强Netburst架构的性能表现至关重要。此外,Prescott还成为英特尔首款支持64位计算的x86处理器,这意味着它能处理更大的地址空间,从而访问更多的RAM,并执行64位指令集。

尽管有这么多的创新,Prescott却未能如愿成为Netburst家族中的明星产品。英特尔再次增加了流水线长度至31个阶段,希望借此提高时钟频率以弥补因长流水线带来的延迟。虽然理论上这应该可以带来更高的性能,但实际上Prescott只能达到3.8 GHz的主频上限。由于功耗过大以及热量过高,Prescott的核心设计遇到了瓶颈。原本预期采用90纳米工艺会降低发热量,但事实证明,晶体管密度的增加反而使散热问题变得更加棘手。因为无法突破频率限制,Prescott的性能提升并没有预期中那么理想。

即使拥有额外的缓存和其他改进,Prescott在相同频率下与前代Northwood相比,其性能提升也显得平庸无奇。与此同时,AMD的K8架构也开始转向更小的晶体管尺寸,这不仅帮助它们实现了更高的工作频率,还在一段时间内确立了AMD在台式机CPU市场的领先地位。这一时期见证了CPU市场竞争格局的重大转变,而Prescott则成为了英特尔基于Netburst架构的产品线中一个不太成功的尝试。

Netburst: Pentium D

图片

2005年,随着双核处理器时代的黎明破晓,AMD和英特尔之间的竞赛达到了白热化。AMD虽已宣布其双核Athlon 64处理器,但尚未将其推向市场。不甘落后的英特尔迅速采取行动,推出了基于两个Prescott核心的多芯片模块(MCM)设计的首款面向消费者的双核处理器——奔腾D,其首个型号被命名为“Smithfield”。

奔腾D的推出标志着一个重要的技术里程碑,但它也继承了Prescott架构的一些固有问题。由于每个核心都是基于Netburst架构设计,这使得奔腾D在功耗和热量管理方面遇到了挑战,限制了它的最高时钟频率只能达到3.2 GHz。此外,有限的架构带宽导致了指令每时钟周期数(IPC)的下降,因为吞吐量需要在两个核心之间分配。与AMD的单片双核CPU相比,奔腾D的设计显得不够优雅,后者被认为更加优越。

紧随Smithfield之后的是Presler,这是英特尔迈向更先进制程工艺的重要一步。Presler采用了65纳米晶体管技术,集成了两个Cedar Mill核心在一个MCM上。这一进步不仅有助于缓解热量和功耗问题,还使英特尔能够将处理器的时钟频率提升至3.8 GHz。

Presler带来了两个显著的变化:首先是热设计功率(TDP),从最初的125W降低到了后续型号的95W;其次是通过缩小芯片尺寸,英特尔成功地将二级缓存容量翻倍至每个核心2MB。一些高端型号还引入了超线程技术,使得这些处理器可以同时处理四个线程,进一步提升了多任务处理能力。

所有奔腾D处理器均支持64位软件,这意味着它们能够利用超过4GB的RAM,为用户提供了更大的内存空间以运行复杂的应用程序。尽管奔腾D面临诸多批评,它仍然是当时计算技术发展的一个重要标志,反映了英特尔在追求更高性能道路上不断探索的努力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/489578.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于米尔全志T527开发板的OpenCV进行手势识别方案

本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志T527开发板)的OpenCV手势识别方案测试。 摘自优秀创作者-小火苗 米尔基于全志T527开发板 一、软件环境安装 1.安装OpenCV sudo apt-get install libopencv-dev python3-opencv 2.安装pip sudo apt…

《数据结构之美-- 单链表》

引言: 首先由上次我们实现的顺序表聊起,我们在实现顺序表的时候会发现,在每次插入数据时当空间不够时就会涉及到扩容,而顺序表的扩容一般都是呈二倍的形式来进行,因此这就有可能造成空间的浪费,那该如何解…

薄膜电容的种类与应用

聚酯电容 应用:对稳定性和损耗要求不高的低频电路 聚酯(涤纶)电容(CL)是用两片金属箔作电极,夹在极薄绝缘介质中,卷成圆柱形或扁柱形芯子介质是涤纶。聚酯电容的介电常数较大,体积…

YashanDB演讲实录|王南:YAC集群,核心平替

本文为“2024国产数据库创新生态大会”深算院首席产品官兼崖山科技副总裁王南的演讲实录分享,主题为 《YAC集群,核心平替》,欢迎阅读。 尊敬的各位领导、各位专家、各位来宾:大家下午好!我是王南。今天非常荣幸能够有…

51c大模型~合集89

我自己的原文哦~ https://blog.51cto.com/whaosoft/12815167 #OpenAI很会营销 而号称超强AI营销的灵感岛实测成效如何? OpenAI 是懂营销的,连续 12 天发布,每天一个新花样,如今刚过一半,热度依旧不减。 毫无疑问&…

细说Flash存储芯片W25Q128FW和W25Q16BV

目录 一、Flash存储芯片W25Q128FW 1、W25Q128硬件接口和连接 2、存储空间划分 3、数据读写的原则 4、操作指令 (1)“写使能”指令 (2)“读数据”指令 (3)“写数据”指令 5、状态寄存器SR1 二、Fl…

浩辰CAD教程004:柱梁板

文章目录 柱梁板标准柱角柱构造柱柱齐墙边绘制梁绘制楼板 柱梁板 标准柱 绘制标准柱: ①:点选插入柱子②:沿着一根轴线布置柱子③:指定的矩形区域内的轴线交点插入柱子 替换现有柱子:选择替换之后的柱子形状&#x…

关于Git分支合并,跨仓库合并方式

关于Git合并代码的方式说明 文章目录 关于Git合并代码的方式说明前情提要开始合并方式一:git merge方式二:git cherry-pick方式三:git checkout Git跨仓库合并的准备事项前提拉取源仓库代码 前情提要 同仓库不同分支代码的合并可直接往下看文…

Python Turtle 实现动态时钟:十二时辰与星空流星效果

在这篇文章中,我将带你通过 Python 的 turtle 模块构建一个动态可视化时钟程序。这个时钟不仅具备传统的时间显示功能,还融合了中国古代的十二时辰与八卦符号,并通过动态星空、流星效果与昼夜背景切换,为程序增添了观赏性和文化内…

鸿蒙NEXT开发案例:颜文字搜索器

【引言】 本文将介绍一个名为“颜文字搜索器”的开发案例,该应用是基于鸿蒙NEXT平台构建的,旨在帮助用户快速查找和使用各种风格的表情符号。通过本案例的学习,读者可以了解如何在鸿蒙平台上进行数据处理、UI设计以及交互逻辑的实现。 【环…

Linux进阶·如何在Ubuntu安装、调试、运行gcc/g++,以及如何进行多文件编译

目录 1. 简介 2. 安装gcc 3. gcc的编译流程 3.1 预处理 3.2 编译 3.3 汇编 3.4 链接 4. gcc相关参数 5. 多文件编译 6. gcc和g的区别 1. 简介 gcc是Linux下的编译工具集,是GNU Compiler Collection的缩写,包含gcc, g等编译器。这个工…

Python鼠标轨迹算法(游戏防检测)

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

【新人系列】Python 入门(十六):正则表达式

✍ 个人博客:https://blog.csdn.net/Newin2020?typeblog 📝 专栏地址:https://blog.csdn.net/newin2020/category_12801353.html 📣 专栏定位:为 0 基础刚入门 Python 的小伙伴提供详细的讲解,也欢迎大佬们…

uni-app实现小程序、H5图片轮播预览、双指缩放、双击放大、单击还原、滑动切换功能

前言 这次的标题有点长,主要是想要表述的功能点有点多; 简单做一下需求描述 产品要求在商品详情页的头部轮播图部分,可以单击预览大图,同时在预览界面可以双指放大缩小图片并且可以移动查看图片,双击放大&#xff0…

计算机网络之传输层协议TCP

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 计算机网络之传输层协议TCP 收录于专栏【计算机网络】 本专栏旨在分享学习计算机网络的一点学习笔记,欢迎大家在评论区交流讨论💌 目…

知识库系统,集成neo4j,集成activiti工作流,集成es全文检索,知识图谱血缘关系,nlp知识库

一、项目介绍 一款全源码,可二开,可基于云部署、私有部署的企业级知识库云平台,一款让企业知识变为实打实的数字财富的系统,应用在需要进行文档整理、分类、归集、检索、分析的场景。 为什么建立知识库平台? 助力企业…

Eclipse MAT(Memory Analyzer Tool) 使用手册

参考:JAVA内存泄露使用MAT(Memory Analyzer Tool)快速定位代码 Eclipse MAT 1.15.0提示JDK版本最低需要使用17版本的,如果不想安装可以下载ZIP包,或者使用较低版本的MAT。 为了避免下载的17版本JDK和本地环境干扰,可以直接在MAT配…

选择WordPress和Shopify:搭建对谷歌SEO友好的网站

在建设网站时,不仅要考虑它的美观和功能性,还要关注它是否对谷歌SEO友好。如果你希望网站能够获得更好的搜索排名,WordPress和Shopify是两个值得推荐的建站平台。 WordPress作为最流行的内容管理系统,其强大的灵活性和丰富的插件…

微信小程序:实现节点进度条的效果;正在完成的节点有动态循环效果;横向,纵向排列

参考说明 微信小程序实现流程进度功能 - 知乎 上面的为一个节点进度条的例子&#xff0c;但并不完整&#xff0c;根据上述代码&#xff0c;进行修改完善&#xff0c;实现其效果 横向效果 代码 wxml <view classorder_process><view classprocess_wrap wx:for&quo…

NMEA/观测文件/导航电文

NMEA-0183 NMEA-0183是美国国家海洋电子协会为海用电子设备制定的标准格式。它包含了定位时间&#xff0c;纬度&#xff0c;经度&#xff0c;高度&#xff0c;定位所用的卫星数&#xff0c;DOP&#xff0c;差分状态和校正时段等很多信息。 参考&#xff1a;GPS NMEA数据包解析…