编程考古-CPU(上)

在这个信息爆炸的时代,我们每个人都是数字世界的参与者。然而,你是否曾想过,那些在指尖滑动屏幕、敲击键盘时,幕后默默支撑起一切计算和处理工作的核心是什么?没错,它就是中央处理器(Central Processing Unit, CPU),俗称电脑的"大脑"。

编程考古-计算机发展(上)

编程考古-计算机发展(中)

编程考古-计算机发展(下)

在编程考研-计算机发展系列中我们了解了计算机发展的大致脉络:

1940年代:电子管时代 最早的计算机使用的是体积庞大的电子管作为开关元件。这些机器不仅占地巨大,而且效率低下,但它们开启了自动化计算的新纪元。ENIAC,世界上第一台通用电子计算机,标志着CPU概念的雏形。

1960-1970年代:晶体管与集成电路 随着晶体管的发明,计算机开始变得更小、更快、更可靠。1971年,Intel推出了全球首个微处理器------Intel 4004,这是一款4位处理器,揭开了微处理器时代的序幕。

1980年代至2000年代初:摩尔定律下的黄金十年 进入个人电脑(PC)普及的时期,CPU性能以惊人的速度增长。Intel推出的8086、80286、80386以及奔腾系列,每一代都在集成度、主频和架构上取得了重大突破。同时期,AMD等厂商也加入了竞争行列,推动了技术的快速发展。

2000年代中期至今:多核时代的来临 当单核处理器的频率提升遇到瓶颈后,多核架构成为了新的发展方向。双核、四核乃至更多核心的处理器相继问世,为并行计算提供了可能。此外,GPU加速、AI专用芯片等新兴技术也为传统CPU带来了挑战与机遇。

未来展望: 如今,CPU已经步入纳米级制造工艺,甚至亚纳米级别的探索正在展开。量子计算、神经形态计算等前沿领域预示着一个全新的计算时代即将来临。

本系列文章旨在通过Intel系列介绍CPU发展的大致脉络,并非详尽无遗的专业文献。对于想要深入了解的朋友,建议查阅相关专业资料或参加行业研讨会获取更多信息。

Intel 4004

经验证的英特尔4004原理图

Lajos Kintli的英特尔4004网表/布局分析器,带有动画逻辑模拟器,包含完整的MCS-4掩码和原理图

下载链接: https://pan.baidu.com/s/1hhrRYSZQfP_BV8AmCS6ogg,关注公众号【和码说】,发送:我要下载,获取下载密码

Intel 4004 是世界上第一个商用的微处理器,由英特尔(Intel)公司于1971年11月15日发布。这款芯片标志着微处理器时代的开端,它不仅改变了计算机的设计方式,也为后来个人电脑革命奠定了基础。

主要特点:

  • 架构

    4位微处理器,意味着它可以一次处理4位二进制数据。

  • 晶体管数量

    集成了大约2,300个晶体管,对于当时的科技水平来说是一个巨大的成就。

  • 频率

    运行速度为740 kHz,相当于0.74 MHz,这在今天看来非常慢,但在当时已经是相当先进的了。

  • 指令集

    拥有46条基本指令,支持加法、减法等算术运算和逻辑操作。

  • 封装

    采用16针DIP(双列直插式封装),这种设计便于安装在电路板上。

历史意义:

Intel 4004 的诞生具有划时代的意义,它开启了微处理器产业,并且促使了计算机从大型机向小型化、个人化的转变。随着技术的进步,后续出现了8位、16位乃至更高位数的处理器,性能不断提升,成本逐渐降低,最终促成了个人电脑的普及以及互联网的发展。

此外,4004的成功也证明了大规模集成电路(LSI)技术的可行性,推动了整个半导体行业向着更小尺寸、更低功耗和更高性能的方向发展。因此,尽管4004已经过时多年,但它作为第一款商用微处理器,在计算机历史上占据着不可替代的位置。

8008 And 8080

英特尔凭借4004在微处理器业务中声名鹊起,为了乘胜追击,公司迅速推出了新的8位处理器系列。1972年,8008首次亮相,紧接着是1974年的8080和1975年的8085。尽管8008作为英特尔的第一款8位处理器,它的表现却未能像其前辈4004或后续的8080那样耀眼夺目。虽然它能够以8位块处理数据,显著提升了速度,但其时钟频率介于200到800 kHz之间,显得较为保守,未能充分吸引系统开发者的注意。8008采用了10微米晶体管技术。

相比之下,英特尔的8080取得了更大的成功。这款处理器不仅扩展了8008的设计,还引入了一系列新的指令,并过渡到了六微米晶体管技术,这使得8080的时钟频率几乎翻倍。1974年发布的性能最强的8080芯片可以达到2 MHz的运行速度。8080广泛应用于各种设备之中,这也促使了一些软件开发商,比如新成立的微软,将焦点放在为英特尔处理器开发软件上。

最终,在8086发布时,英特尔确保了它与8080的源代码兼容性,以此来维持与现有软件的向后兼容性。因此,从技术角度讲,所有生产的基于x86架构的处理器中,依然保留着8080和关键硬件元素的影响,这意味着8080的软件经过重新编译后可以在任何x86处理器上运行------需要注意的是,这里的"源代码兼容"指的是方便地将代码重新编译以适应较新的处理器,而不是指未经修改的编译后代码可以直接在新处理器上运行。

8085则可以看作是8080的一个更经济实惠且时钟频率更高的版本,尽管它的影响力不及8080,但也获得了相当的成功。

8086: x86时代的开启者

英特尔的首款16位微处理器8086标志着性能的一次重大飞跃,相较于之前的处理器设计,它引入了若干关键改进。8086不仅在时钟频率上超越了其面向预算市场的兄弟产品8088,还引入了16位外部数据总线和更长的6字节指令预取队列,这些特性共同提升了数据处理效率。尽管当时大多数软件仍为8位处理器设计,但8086已具备运行16位任务的能力。更重要的是,通过扩展地址总线至20位,8086首次能够访问高达1MB的内存空间,这极大地增强了其性能潜力。

作为x86架构的开山之作,8086所采用的第一版x86指令集架构(ISA)成为了后续AMD与英特尔几乎全部处理器的基础。自8086问世以来,这一架构不断演进,成为个人计算机和其他数字设备的核心计算平台。

与此同时,英特尔也推出了8088处理器。虽然8088基于8086的设计,但它采用了更为狭窄的数据总线------仅8位宽,且预取队列长度减半至4字节。这样的设计选择导致了性能上的妥协:较窄的数据通路限制了指令获取速度,使得执行单元经常处于等待状态。然而,8088仍然保持了对高达1MB RAM的访问能力,并以较高的时钟频率运行,只是整体性能不及8086。这种设计权衡使得8088在成本敏感的应用中更具吸引力,尤其是在早期的个人电脑市场中找到了自己的位置。

80186 And 80188

在8086的成功基础上,英特尔继续扩展其16位处理器系列,推出了多款继承了相似架构的后续产品。其中,80186是专门针对嵌入式应用市场设计的一款重要升级。为了适应这一特定的应用场景,英特尔将一些原本位于主板上的关键组件------如时钟发生器、中断控制器和定时器------直接集成到了CPU内部。这种集成不仅简化了系统设计,还带来了额外的性能提升:即使在同一时钟频率下,80186上某些指令的执行速度也明显快于其前身8086。随着技术的进步,英特尔逐步提升了这些处理器的工作频率,从而进一步增强了它们的性能表现。

与此同时,面向成本敏感市场的80188也应运而生。它与80186共享了许多特性,包括内置的辅助硬件模块,但类似于早先的8088,80188的数据总线宽度被减半至8位。这样的设计选择虽然限制了数据传输速率,但也使得该处理器在价格和功耗方面更具竞争力,适合那些对成本更为敏感的应用环境。尽管如此,80188依然能够访问高达1MB的内存,并且以更高的时钟频率运行,确保了足够的计算能力来满足当时的许多应用需求。

80286: More Memory, More Performance更多内存,更高性能

80286与80186在同一年问世,尽管两者共享了许多相似的技术特性,但80286在架构上迈出了一大步,特别体现在其地址总线的扩展上。通过将地址总线扩展到24位,80286能够突破前辈们1MB内存寻址的限制,跃升至支持高达16MB的物理内存访问。这一显著的进步不仅大大增加了可直接寻址的内存空间,还为复杂应用程序和多任务处理提供了坚实的基础,标志着个人计算机性能和功能的一次重大飞跃。

此外,80286不仅继承了前代处理器的诸多优点,还在保护模式下引入了增强的安全性和稳定性特征,使其成为当时市场上一款既先进又实用的处理器。对于需要更多内存和更强计算能力的应用来说,80286无疑提供了一个理想的升级路径。

iAPX 432

iAPX 432是英特尔在其早期历史中一次大胆而激进的尝试,旨在通过一种全新的架构设计来突破传统x86处理器的界限。英特尔对iAPX 432寄予厚望,预测它将凭借其先进的设计理念实现性能上的巨大飞跃,超越当时市面上的所有产品。

然而,现实却给这份雄心壮志浇了一盆冷水。iAPX 432的设计过于复杂,不仅在指令集架构(CISC)上达到了前所未有的复杂程度,而且其硬件设计也异常庞大,以至于不得不采用两片独立的芯片模具来实现。这种复杂性导致了严重的性能瓶颈:处理器对数据的需求极高,需要极高的带宽才能确保顺畅运行,这在当时的硬件环境下几乎是不可能实现的。

尽管iAPX 432确实实现了对如8080和8086等早期处理器的性能超越,但它的复杂性和高昂的成本使其难以大规模推广。随着技术的进步,更新、更高效的x86系列处理器迅速崛起,iAPX 432逐渐失去了竞争力,最终被市场淘汰。这次尝试虽然以失败告终,但它为英特尔未来的创新提供了宝贵的经验教训,证明了在追求高性能的同时,也要考虑到实际应用中的可行性和成本效益。

i960: Intel's First RISC 英特尔的第一个RISC

在1984年,英特尔迈出了开创性的一步,推出了其首款基于精简指令集计算(RISC)理念的处理器------i960。这款处理器并非旨在与英特尔自家广受欢迎的x86系列直接竞争,而是定位为一种高度可靠、专注于安全性的嵌入式解决方案,特别适合对稳定性和安全性要求极高的应用场景。

i960的设计灵感源自加州大学伯克利分校提出的RISC设计概念,采用了先进的32位超标量架构,这使得它能够在单一时钟周期内执行多条指令,从而显著提升了处理效率。尽管初代i960处理器的时钟频率相对较低,最慢的型号仅运行在10MHz,但随着时间的推移和技术的进步,这一系列处理器经历了多次迭代和优化,最终成功过渡到更精细的制造工艺,使得性能大幅提升,最高时钟频率达到了令人印象深刻的100MHz。

此外,i960还支持高达4GB的受保护内存,进一步增强了系统的安全性和可靠性。这些特性使i960成为了军事系统和商业应用中的理想选择,广泛应用于需要高性能、高可靠性和严格数据保护的场合。i960的成功不仅展示了英特尔在多样化计算架构上的创新能力,也为后续的技术发展奠定了坚实的基础。

80386: x86 Turns 32-bit x86转为32位

1985年,英特尔推出了其首个32位x86处理器------80386(通常简称为386),这一里程碑式的处理器不仅标志着计算能力的一次重大飞跃,还为未来的计算机架构奠定了基础。80386最显著的特性之一是它拥有32位地址总线,使得该处理器能够支持高达4GB的系统内存。尽管在当时,这样的内存容量似乎遥不可及,但这一设计决策具有前瞻性,有效地避免了早期x86处理器和竞争对手产品因RAM限制而产生的性能瓶颈。对于当时的用户来说,增加更多的RAM几乎总是直接转化为性能的提升。

除了内存支持的扩展外,80386还引入了一系列架构上的改进,即使是在相同RAM配置的情况下,也能显著提高系统的运行效率,超越了前代80286处理器的表现。尤为值得一提的是,80386支持虚拟模式处理,增强了多任务处理的能力,这为用户提供了一个更加流畅、高效的计算环境。

为了满足不同市场的需求并提供更具性价比的选择,英特尔随后推出了80386SX。这款处理器保留了80386的核心32位架构优势,但在成本控制上进行了优化:它的数据总线宽度减半至16位,地址总线缩减到24位,从而降低了生产成本,同时仍能保持足够的性能水平以满足大多数用户的日常需求。通过这种方式,英特尔成功地将先进的32位计算技术带入了更广泛的市场,进一步巩固了其在个人电脑领域的领导地位。

i860

1989年,英特尔在处理器设计领域进行了大胆的尝试,推出了全新的RISC架构CPU------i860。这款处理器旨在以高性能机型的身份参与台式机市场的竞争,标志着英特尔试图超越传统的x86架构,探索新的计算路径。然而,i860的设计理念虽具前瞻性,但在实际应用中却遇到了挑战。

i860最引人注目的特点是其对编译器的高度依赖:为了实现高效运行,它要求编译器能够精确地将指令按照程序执行所需的顺序进行排列。这种设计初衷是为了简化CPU的结构,减少芯片尺寸和复杂性,从而提升性能和降低功耗。但是,在实践中,要确保编译时每条指令都按正确的顺序排列几乎是一项不可能完成的任务。这导致了i860在处理任务时频繁出现失速现象,即CPU因等待正确指令而暂停工作,严重影响了整体性能表现。

此外,i860所采用的独特设计还带来了与现有软件生态系统的兼容性问题,进一步限制了它的市场接受度。尽管英特尔通过i860展示了其在RISC架构领域的创新能力和技术实力,但该处理器最终未能在商业上取得预期的成功。这次经历为英特尔提供了宝贵的教训,促使公司在未来的产品开发中更加注重平衡技术创新与市场需求之间的关系。

80486: Integrating The FPU 集成FPU

英特尔的80486处理器标志着个人计算机性能的一次重大飞跃。这款处理器的成功秘诀在于其高度集成的设计理念,它将更多组件紧密整合到了CPU内部,从而大幅提升了整体性能。

作为首款配备L1高速缓存的x86 CPU,80486在初期便内置了8KB的缓存,并采用1000纳米(1微米)工艺制造。随着技术的进步,当设计转为更精细的600纳米工艺时,不仅使得L1缓存容量翻倍至16KB,还显著缩小了芯片尺寸,提高了效率。

另一个关键的改进是浮点运算单元(FPU)的集成。在此之前,FPU通常作为一个独立的协处理器存在,而80486则首次将其直接集成到主CPU中,极大地减少了数据传输延迟,增强了处理能力。此外,为了进一步提升性能,80486引入了更快的前端总线(FSB)接口,增加了带宽,并对核心架构进行了优化,以提高每个时钟周期内的指令执行数量(IPC)。这些改变共同作用,使80486的性能相较于前一代80386有了质的飞跃,高端版本的运行速度更是达到了数倍之多。

初代80486处理器的工作频率达到了50MHz,而通过后续采用更先进的600纳米工艺,这一频率被提升到了令人印象深刻的100MHz。为了满足不同层次消费者的需求,英特尔还特别推出了面向预算敏感型用户的简化版------80486SX,该版本省略了FPU功能,但依然保留了80486的核心优势。这种多样化的策略帮助英特尔巩固了其在市场上的领导地位,同时也为用户提供了更多的选择。

相关推荐
Amd7947 小时前
PostgreSQL 的历史
postgresql·开源软件·计算机科学·软件开发·关系型数据库·数据库技术·数据库历史
驱动小百科6 天前
NPU是什么?电脑NPU和CPU、GPU区别介绍
电脑·cpu·gpu·npu·电脑硬件
Bio Coder1 个月前
shell查看服务器的内存和CPU总量
运维·服务器·内存·cpu
rs勿忘初心1 个月前
linux常见资源查询命令(持续更新)
linux·内存·cpu·资源查询
沉下心来学鲁班1 个月前
欺诈文本分类检测(十八):基于llama.cpp+CPU推理
人工智能·语言模型·分类·cpu·llama.cpp
ShiinaKaze2 个月前
用图说明 CPU、MCU、MPU、SoC 的区别
mcu·cpu·mpu·soc·计算机架构
艾思科蓝-何老师【H8053】2 个月前
最后一周征稿!第四届计算机、物联网与控制工程国际学术会议(CITCE 2024)
人工智能·物联网·计算机科学·控制工程
谷公子的藏经阁2 个月前
RISC-V笔记——内存模型总结
cpu·risc-v·内存模型·memory model·ztso
Crossoads2 个月前
【汇编语言】寄存器(内存访问)(七)—— CPU提供的栈机制
android·java·tcp/ip·机器学习·cpu··汇编语言