深度长文 | 计算机体系结构:核心原理、发展演进与未来趋势(计算机架构系列-1)

本文聚焦计算机体系结构概念与设计思路,剖析现代微处理器设计逻,围绕以下维度展开:

  • 计算机体系结构的定义;
  • 体系结构设计领域与核心目标;
  • 计算机体系结构的历史性能演进;
  • 多核处理器;
  • 片上系统(SoC)及后续技术的未来发展趋势。

全文参考ARM官方公开资料。

一、计算机体系结构的核心基础

(一)发展背景与价值

从发展历程来看,现代计算机诞生不足百年,20世纪30-40年代首款机电式和电子管计算机问世,历经数十年发展,如今的计算机在速度、功耗、可靠性和成本上实现了数量级的优化。

EDSAC是第一台全面投入运行的电子存储程序计算机。该项目于1947年启动,并在1949年运行了首批程序。

EDSAC

配备16KB闪存和4KB RAM的Arm Cortex-M3微控制器的芯片

(二)三层抽象层级

计算机体系结构的设计与研究围绕三层核心抽象层级展开,各层级分工明确、相互支撑:

  • 架构(Architecture):架构定义了指令集,以及操作系统和 Hypervisor 所依赖的异常模型与内存模型。Arm 架构还包括系统寄存器、调试与跟踪架构的定义,以及虚拟内存系统的细节。除了 CPU 之外,定义其他组件和接口也常常有助于硬件与软件之间的互操作,这些有时被称为“系统架构”—CPU 架构与系统架构共同构成了操作系统可以依赖的平台定义。
  • 微体系结构(Microarchitecture):计算机内部结构的逻辑组织方式,是体系结构的具体逻辑实现。架构没有描述的是处理器的构建方式,这部分我们称之为微架构。理解微架构的一个简单方法是想象有两辆汽车。两辆车都能带你到达同一个目的地,但它们的构造方式可能截然不同。类似地,两个处理器可以实现相同的架构,但拥有不同的微架构,这意味着它们以非常不同的方式构建。这里的唯一约束是满足规范,从而使不同的微架构设计在功能上保持一致。不同的微架构可能在性能和成本(例如面积、功耗或复杂度)之间做出不同的权衡。
  • 硬件实现层(Hardware or Implementation):可以针对给定的微架构选择参数,然后使用不同的电路、门和晶体管(即使用不同的制造工艺技术)来实现设计。不同的实现也可以针对不同的时钟频率并以此运行。即使在相同的工艺节点(例如 28 nm 或 10 nm)下,也会存在许多选择,例如侧重性能还是能效。

(三)体系结构的核心内涵

计算机体系结构并非仅局限于指令集或高层体系结构的定义,其核心是结合制造工艺,挖掘技术潜力以满足市场需求。

如下图展示了“计算机体系结构领域”及其主要“参与者”:应用、体系结构、技术及市场

这些要素之间均存在不同程度的相互影响,图中的连线/箭头表示强影响或根本性影响(用粗线表示)。

  • 半导体技术的进步催生了更小的晶体管,进而推动新的应用与市场诞生。而市场本身也可能反向影响基础制造技术。基础技术还对计算机体系结构产生根本性影响,因为技术特性限制了设计的可能性(如时钟频率、晶体管数量、功耗)以及哪种设计最优。封装技术和存储技术也会产生类似的影响。
  • 同样,应用特性会决定常见场景(即处理器设计应针对优化的目标),从而影响体系结构设计的选择。
  • 市场则定义了诸多目标,如成本、性能、尺寸、安全性、可靠性、功耗、上市时间等。

同时,体系结构设计各层级均有独特的需求和约束,且会随时间演变。

二、计算机体系结构的设计领域与核心目标

(一)设计领域的核心影响因素

计算机体系结构的设计受多重因素交叉影响,核心包括应用特征、新兴应用、制造技术和市场需求,各因素相互作用,共同决定了体系结构的设计方向和优化重点。

(二)六大核心设计目标

设计过程需围绕六大核心目标展开,各目标相互制约,需根据目标市场进行差异化权衡:

  • 功能性:硬件功能缺陷难以像软件一样快速修正,验证是设计流程中成本最高的环节,芯片制造后的测试同样成本高昂,需在设计阶段提前规划;
  • 性能:无统一的性能评判标准,性能表现高度依赖工作负载,类似跑车与越野四驱车的性能差异,需匹配具体应用场景;
  • 功耗:当前绝大多数设计的一级约束条件,功耗直接限制系统的性能上限;
  • 安全性:核心为控制敏感数据访问、防止恶意输入劫持处理器控制权。安全性往往是一个关键的设计目标,因为我们依赖网络化计算机系统来提供关键基础设施并存储个人数据。有些防御措施需要在架构和硬件层面实施,以防范蓄意滥用。安全性被认为日益重要,并且正越来越多地影响处理器的设计。
  • 成本:涵盖设计成本(复杂度)、芯片裸片成本(面积)、封装成本等多个维度;
  • 可靠性:需考虑运行过程中故障的检测和/或容错能力。

(三)目标市场与处理器品类匹配

不同目标市场对功耗、成本、面积、性能、安全性、可靠性的权衡需求不同,Arm针对各市场推出了差异化的处理器品类:

  • Cortex-A:高性能应用处理器,适用于手机等消费电子设备;
  • Cortex-R:具备确定性实时性能,支持故障检测与容错,适用于实时性要求高的场景;
  • Cortex-M:高能效嵌入式处理器,属于微控制器级核心,适用于各类嵌入式设备;

三、计算机体系结构的历史性能演进

(一)核心性能提升阶段(1985-2002)

1985年,完整的微处理器首次实现单芯片集成,此后随着制造工艺进步,晶体管尺寸不断缩小,单核性能进入快速提升期,依托SPEC基准数据测算,近20年单核性能年均提升52%(该数据针对桌面/服务器处理器)。1985-2002年,处理器性能实现约800倍提升,核心驱动因素包括时钟频率优化、指令执行效率提升和指令集优化。

(二)性能提升的核心驱动因素

  • 时钟频率优化:1985-2002年时钟频率实现大幅提升,其中晶体管提速带来约10倍提升,流水线和电路级技术进步带来约10倍提升,合计实现约100倍提升,贡献了800倍性能提升中的100倍;核心路径包括缩短关键路径和制造工艺升级。
  • 指令执行效率提升(CPI/IPC优化):早期处理器受晶体管数量限制,单条指令需多个时钟周期执行;随着晶体管预算增加,设计向CPI趋近1演进(若不考虑时钟频率,该目标易实现,高频率下实现低CPI则难度显著提升,需通过各类技术避免处理器停滞);后续行业实现单时钟周期取指并执行多条指令,CPI降至1以下,核心依托指令级并行(ILP)技术,通过更多晶体管挖掘并利用指令间的独立性。
  • 其他因素:剩余约700倍性能提升中,约7倍来自指令数减少、编译器优化和IPC提升;指令数减少的核心手段包括增加数据通路宽度、减少加载/存储指令、引入复杂指令和SIMD指令等。

(三)流水线技术:性能提升的核心支撑

流水线技术是提升处理器并行执行效率的核心手段,其原理类似汽车制造的流水线作业:将指令执行的完整流程拆分为多个阶段(如底盘、发动机、喷漆),不同指令的不同阶段可并行执行,打破了“单指令完成后再执行下一条”的串行模式,大幅提升了单位时间内的指令执行数量。

四、单核性能增长放缓与技术转型

(一)单核性能增长放缓的核心原因

2002年后,单核性能增长速度从年均52%降至21%,核心受四大因素限制,且均存在难以突破的技术瓶颈。

  • 流水线技术的极限:流水线中断的成本持续增加(如缓存缺失、分支预测错误的影响),部分组件难以流水线化;高频时钟的分布式传输存在实际限制,寄存器延迟不可忽略,流水线阶段间的逻辑平衡难度大幅提升。
  • 指令级并行的极限:大量指令集并行难以高效发现和利用,投入产出比快速下降,需消耗更多功耗和晶体管,才能挖掘少量额外的提升。
  • 功耗约束:1980-1990年代,即便制造工艺进步、电源电压降低,处理器功耗仍快速增长,如今功耗已成为所有主流市场的一级设计约束。

  • 片上布线的限制:布线延迟的缩放效果远差于逻辑延迟,限制了单时钟周期内可访问的状态量,进而制约了大型复杂处理器的性能。

(二)技术转型:从单核到多核

受单核性能瓶颈影响,约2005年起,多核设计成为行业主流,技术发展方向发生核心转变:从追求单核高频,转向增加单芯片核心数量;时钟频率增速放缓,单个核心的设计重点向功耗效率优化倾斜。典型设计如4核Arm Cortex-A72处理器,每个核心配备独立L1缓存,所有核心共享L2缓存。

而且编写并行程序并处理并发问题,远比编写串行应用程序更加困难。

五、片上系统(SoC)与专业化加速技术

(一)专业化加速:超越通用处理器的设计思路

为满足设计目标,行业逐渐突破通用可编程处理器的范畴,转向专业化加速设计:以灵活性为代价换取效率提升,剔除通用处理器中不常用的模块,针对窄范围工作负载(甚至单一算法)定制设计,这类“加速器”在功耗和性能上,相比通用解决方案有10-1000倍的优势。

专业化加速的核心设计手段包括:

  • 移除处理器中低频使用部分;
  • 针对常见操作优化指令集,或替换为硬连线控制;
  • 挖掘应用中丰富的并行形式(将专用处理单元和本地内存多次复现);
  • 定制专用内存并优化其宽度和大小;
  • 设计组件间的专用互连;优化数据使用模式。

典型的专业化加速单元包括神经网络处理单元(NPU)、图形处理单元(GPU),前者针对人工智能算法定制,集成MAC引擎、本地内存等专用模块;后者针对图形处理优化,包含多个着色器核心、高级分块单元等专用组件。

(二)片上系统(SoC):高度集成的设计趋势

多核与专业化加速技术的结合,推动了片上系统(SoC)的发展,现代SoC实现了各类处理器核心、专用加速器、存储和接口的高度集成。以2019年手机SoC为例,其集成了超70亿个晶体管,核心组成包括:多个处理器核心(大核+小核的异构设计)、GPU、大量专用加速器、片上大内存、片外内存的高带宽接口。

(三)计算机体系结构的并行化发展脉络

从发展历程来看,计算机体系结构的性能提升始终围绕并行化展开,核心脉络为:

  1. 早期计算机依托位级并行提升性能;
  2. 流水线和超标量发射技术挖掘指令级并行;
  3. 多核/GPU实现线程级并行和数据级并行;
  4. SoC的高度集成、异构设计和专业化加速,进一步挖掘加速器级并行。

值得注意的是,存储层次结构的发展同样至关重要,其通常占据晶体管预算的很大一部分。

1. 参考ARM官方公开资料;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌云之程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值