算力、存力、硬件复杂度的关系

做芯片就是在算力墙、存墙、复杂度墙三个约束下,取舍固定成本、功率、面积。
想省成本 → 存墙和复杂度墙低换取算力墙高。
想性能高 → 三墙一起高,拿钱砸、拿功耗换、拿散热填。
想功耗低/能效比高 → 复杂度交给软件

硬件复杂度

  • 硬件复杂度:表示芯片电路整体有多复杂 ,是芯片物理算法逻辑的总和。
  • 组成:计算单元、存储单元、控制逻辑、互联、缓存一致性、接口、安全、电源管理。
    增加计算单元,会拉高算力+硬件复杂度;
    增加缓存、NoC、内存控制器,会拉高存力+硬件复杂度;
    更复杂控制逻辑只涨硬件复杂度,峰值算力和存力不变,但能改善实际有效性能;

算力

  • 算力:单位时间算术运算量(FP/INT运算),算力决定Ai模型单位时间最多能算多少;
  • 指标:运算速度,算得多快
  • 峰值算力(peak performance)= 硬件上限
  • 有效算力(sustained performance)= 实际跑出来
  • 利用率(utilization)= 有效 / 峰值(典型 AI 推理卡 30-50%,训练卡 40-60%)

存力

  • 存力:单位时间芯片/系统把数据读进来、写出去、搬运流转的能力。存力决定物理上限时,实际上能用到几成。
  • 存力只管搬数据,不做算术运算
  • 指标:搬得多快、装得下多少

存力分为:存储容量、存储带宽、访问延迟、存储层级结构、能效

  1. 容量:决定能放下多大模型、多大数据集。
    片上:寄存器、L1/L2/L3缓存;
    片外:DDR、HBM、SSD、磁盘。
    单位:Byte。

  2. 带宽(最核心存力指标)单位时间读写数据总量,GB/s、TB/s。

  • 片内带宽:缓存、SPM、片上网络NoC内部吞吐
  • 片外带宽:HBM/DDR控制器,内存总线
  1. 访问延迟发起请求到拿到数据的时间,ns级别。 缓存、内存、存储介质延迟差异巨大。

  2. 存储架构能力(属于存力的软‑硬件属性)缓存一致性、预取、地址转换、压缩、ECC纠错、内存池化、多芯片内存共享。 这些本身不新增容量,但是决定存力能不能发挥出来。

三者:算力|存力|硬件复杂度

算力 ⇋ 存力:

算力与存力几乎互不包含。算力与存力是耦合约束——存力不足时,实际有效算力会被存力卡住(这是经典存储墙);但峰值算力由计算单元决定,存力再差也变不出算力。 存力不会产生算力,但存力决定能把百分之多少的峰值算力转化为实际有效算力(Roofline 模型)。
有几种情况:

    1. 峰值算力很高,但存力很差:芯片堆一大堆张量核,但是内存带宽很小。 芯片纸面算力爆炸,实际跑模型疯狂等待数据,有效算力暴跌。峰值算力由计算单元决定;
    1. 存力很强,算力很低:高性能内存控制器芯片,只是数据中转,几乎没有计算单元,这种没有计算需求,自然不用很多计算单元。

这就引出了芯片设计第一原则:市场定义技术栈——看清芯片卖给谁,由产品的价值推出三墙优先级。

1. 先看产品形态再定取舍

芯片设计师面对三堵墙,是在特定约束下做帕累托最优取舍,通常先定产品形态,由产品的价值推出三墙优先级:

  • 硬实时、低功耗 → 以存换复杂(精简 SRAM,不搞花哨流水线)
  • 数据中心训练 → 以复杂同时换算力和存力,只要能跑,工程复杂度不计代价
  • 消费级 → 成本、功耗、面积三墙之间算总账,多一块单元多一笔钱,任何超过规格承诺的东西都叫“浪费”约束通常来自:成本、功耗、面积、研发周期、软件生态。
    约束通常来自:成本、功耗、面积、研发周期、软件生态。
场景核心瓶颈取舍策略
AI 推理加速(数据中心)存墙主导怼 HBM、近存计算,容忍一定硬件复杂度
边缘 AI(IoT/可穿戴)面积/功耗墙极致裁剪算力,小 SRAM + 流水线,复杂度压到最低
高性能计算 GPU三墙并发三者全上:大算力 + 超大带宽 + 复杂调度;代价是面积、功耗、成本爆炸
手机 AP SoCIP 集成复杂度模块化异构(CPU、GPU、NPU、ISP 拼装);存墙靠缓存层级缓解;单模块算力不强,但全系统活好够用
网络交换芯片存力吞吐为绝对核心几乎没有通用算力单元,硬件复杂度集中在包处理流水线和缓存管理

2. 不能只看峰值,工程师盯“每瓦·每毫米”有效算力

  • 算力墙 不是单纯堆 ALU 就能破——功率密度让芯片发热到物理极限(暗硅效应)。
    设计师的策略:不等所有工人同时开工,而是搞“轮流上岗”(DVFS、时钟门控、电源域),让实际热功率安全,同时提升有效算力。
  • 存墙 的解法从来不是容量与带宽二选一,而是靠多层次存储(寄存器→L1→L2→HBM→DDR)让数据尽量靠近计算单元。代价是缓存一致性和预取逻辑(复杂度)。
  • 复杂度墙 的核心不是设计难,是验证难:晶体管越多,状态空间指数爆炸。现在大芯片 Tape-out 前,验证工作量超过设计本身。工程上的取舍:大量复用验证过的成熟 IP、模块化设计、减少跨时钟域。

现实工程中的三类典型权衡

专用 ASIC:算力优先,复杂度换存墙
通用 CPU:预算优先给复杂度,用血本对冲存墙
GPU / AI 训练卡:三墙顶格,烧钱也烧功耗

① 专用 ASIC:算力优先,放弃部分复杂度换存墙

推理芯片(如谷歌 TPU v1):

  • 脉动阵列获得极高算力/面积比,通过数据复用降低访存次数,放弃通用缓存一致性,用大 SPM(便签存储器)由编译器显式管理数据搬运,这是缓解存墙的做法(让数据搬运更可控)
  • 编译器显式SPM是把存墙从硬件模糊地带精确化到软件可控,硬件复杂度极低,但存墙压力摊给编译器团队,把存墙压力精确化,让程序员/编译器明确知道什么时候数据在哪儿
  • 牺牲软件灵活性,换能效比

② 通用 CPU:复杂度永远最优先,用血本对冲存墙

高性能 CPU:

  • 乱序执行、分支预测、多级缓存一致性——都是复杂度核心指标
  • 单核峰值算力并不惊人,但实际有效算力靠复杂调度撑住
  • 存墙靠越来越大的 L2/L3 + 提前预取缓解
  • 设计团队 70% 精力在验证和调试,这堵复杂度墙无法绕过

③ GPU / AI 训练卡:三墙逼近极限,成本高+功耗高

数据中心 GPU:

  • 数千个计算单元保证算力
  • HBM 堆叠 + 超宽总线保证存力
  • 完整调度、线程管理、显存控制器保证组织复杂度
  • 代价:芯片面积特大、功耗爆炸(单卡 700W+)、系统散热成本高昂
  • 取舍不在芯片内部,而在于散热成本和液冷的价格平衡点

四种典型芯片例子

芯片类型算力存力硬件复杂度特点总结
简单AI推理ASIC片上SPM带宽很高;没有复杂缓存系统计算阵列简单,存储是简单SRAM,没有复杂一致性、乱序逻辑。高算力、不错存力,低硬件复杂度。
通用高性能CPU峰值浮点算力中等缓存系统极其复杂,但片外带宽一般;单线程访存延迟优秀极高大量晶体管花在乱序、分支预测、缓存一致性,不是用来做计算,也不是单纯提升带宽。
主流GPU(AI显卡)HBM带来巨大片外带宽;多级缓存、复杂NoC很高同时堆计算单元+复杂存储互联系统;三者都强。
内存控制器/交换芯片0,几乎没有运算单元极高,专门做数据转发中高,复杂互联逻辑只有存力,几乎无算力。

“以存换算”与“以算换存”的辩证

  • 以存换复杂:增大 SRAM,删掉预取逻辑,降低复杂度(适合嵌入式 MCU/简单 DSP)
  • 以算换存
  • 1 软件预取(software prefetch):CPU 发指令提前把数据拉进缓存 → 多用算力指令换少等数据-
  • 2 内存解压缩(在线解压):芯片运行时实时解压缩数据流 → 用解码算力换带宽-
  • 3 着色器/AI 推理的 tile 计算:把大矩阵切成小块在 on-chip 算完 → 多用算力换少搬数据
  • 以数据形态变化换存力:用计算指令模拟压缩/解压缩搬运,缓解存墙但增加算力开销(内存压缩、稀疏化、量化)
  • 以复杂换算力:乱序执行用多的晶体管换有效算力,是 CPU 的核心思想
  • 以复杂换存力:多级缓存一致性协议用复杂状态机换透明的高效数据存取

总结

  1. 算力 = 决定Ai模型单位时间最多能算多少,只管运算。
  2. 存力 = 硬件存储+传送数据周转逻辑体系,只管存放搬运数据。
  3. 硬件复杂度 = 硬件复杂度 = 物理算法逻辑 + 验证逻辑 + 软件协同逻辑的总和 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值