新处理器架构探索

新处理器架构探索
随着新型处理器能耗创下历史新高 , 数据中心的 \"热度\" 持续攀升 。 散热是应对处理器产热的主要手段 , 但面对传统处理器架构 , 这种方式终将难以为继 。 或许 , 我们需要全新的架构方案 。
如今 , 优化现有成熟架构以提升能效仍有空间 , 但能实现大幅革新的方向已越来越少 。 因此 , 业界开始探索新的架构思路 , 部分方案已逐步走向商用 。 有些新架构与现有方案差异显著 , 甚至尝试在电路内部实现能量回收 。
【新处理器架构探索】但处理器并非孤立存在 , 它依赖庞大的生态系统—— 包括操作系统支持、编码、编译、测试及调试工具等 。 那么 , 什么样的架构变革能足以推动大规模基础设施升级?
通用计算时代已落幕?
嵌入式处理器长期以来都针对特定应用场景优化 。 \"过去 , 人们会直接选用现成的 DSP(数字信号处理器)和 CPU , 却为此付出了功耗的代价 。 \" Cadence 公司 Tensilica 音频 / 语音 DSP 产品营销总监普拉卡什?马达瓦帕蒂表示 。
数据中心和个人电脑一直采用通用处理器 , 因为它们需要应对极其多样的工作负载 。 但为通用性做出的权衡 , 可能已成为降低功耗的巨大障碍—— 即便在数据中心领域也是如此 。
\"片上系统(SoC)的发展历程 , 本质上是一个不断走向专业化的过程 。 \"Quadric 公司首席营销官史蒂夫?罗迪指出 , \"SoC 时代起步时 , 这类芯片上只有一个可编程处理器 ——CPU 。 多年来 , 每一类新的处理器核心都是 ' 加法式 ' 出现的:在 CPU(或多个 CPU)之外 , 新增一种处理器类型 。 每一类新处理器的诞生 , 都是为了应对特定计算需求的增长 —— 这些需求围绕特定数据类型和计算强度展开 , 而 CPU 并不擅长处理这类任务 。 \"
罗迪提到 , 有些计算任务 CPU 处理起来效率极高 , 而另一些任务则更适合 GPU 。 \"CPU 的设计初衷是处理 C 语言中的指针操作 , \" 他说 , \"无论如何通过定制化提升性能 , 它们在绘制多边形这类高度重复的任务上都效率低下 。 \"
支持更多 AI 图算子指令的第二代 NPU 已迅速取代第一代产品 , 但 \"带辅助加速器的 CPU 本质上仍是 ' 拄着轮滑拐杖追指针 ' 。 \" 他继续说道 , \"2025 年 , 我们看到片上系统设计中出现了完全支持 C++ 编程的神经处理单元(NPU) , 它们能将 AI 工作负载从传统 CPU 上彻底转移到为特定任务量身定制的处理器上 。 \"
优化这类架构需要深入的工作负载分析 。 \"运行代表最终用例的工作负载时 , 必须确保指令选择与应用场景相匹配 , \" 马达瓦帕蒂表示 , \"要在每条指令带来的面积增加、性能提升与能耗之间找到平衡 。 增加面积不仅会略微提高动态功耗 , 还会增加静态功耗 —— 因为静态功耗与面积成正比 。 \"
这种趋势也正在数据中心上演 。 未来不再是单一通用架构贯穿始终 , 而是针对不同工作负载调用不同的处理器组合 。 AI 领域已出现这种情况 , 未来可能进一步扩展 —— 根据工作负载需求分配服务器 。
数据流处理器:一种替代方案
解决这一问题的思路之一 , 是研究数据在处理器中的流动方式 。 例如 , 高效计算机公司(Efficient Computer)声称其数据流架构能大幅降低通用计算的功耗 。 \"与市场上其他嵌入式计算产品相比 , 我们的能耗降低了 10 到 100 倍 。 \" 该公司首席执行官兼联合创始人布兰登?露西亚表示 。
Efficient 的架构采用了一系列计算单元阵列 , 这些单元无需指令获取 , 无需像标准处理器在指令变化时必须执行的那种逐周期配置 , 也无需间接数据移动 。 相反 , 编译器会静态地将指令分配给特定的单元 。 加载后 , 这些指令会一直保留在该单元中 。

图 1:Efficient 的数据流处理器(上)与传统处理器(下)对比 。 传统处理器中的大部分模块在高效计算机的架构中被移除 , 主计算单元中的一些标准组件也不复存在 。
片上网络(NoC)用于连接各个模块 , 但与典型的片上网络不同 , 这个网络采用电路交换(类似老式电话系统) , 而非分组交换 。 一旦网络配置完成 , 在连接保持打开的状态下 , 数据便会持续流动 。
高能效片上网络允许其中一个模块与其他任何模块进行通信 。 “在配置阶段 , 你设置一个模块来执行一条指令 , 然后设置模块之间的路由 , 这样当一个操作在某个模块上运行时 , 其产生的输出就能直接被路由到下游指令的输入端口 , ” 露西亚说道 。
这个概念本身并不复杂 , 也并非全新 。 深度嵌入式代码的工作负载有限 , 且功能固定 。 但要让它具备更强的通用性 , 还需要一些增强设计 。
动态重新加载
或许有人会认为 , 这种架构只能运行能完全放入阵列的程序 。 其首款产品配置为 12×12 的Tiles 阵列 , 数量并不多 。 该公司正在研发更大规模的设备 , Tiles 数量可以扩展 , 但同时也需扩展内存和 I/O 子系统 , 这需要更多工作 。 因此 , 至少目前来看 , 它还不是大规模的核心阵列 。
为避免程序大小受限 , 该公司加入了重新配置功能 , 可实时替换新代码 。 \"这类似于 ' 延续传递 '(continuation passing) , \" 露西亚解释道 , \"我们采用流水线式重新配置 —— 当第一个延续即将结束时 , 第二个延续已在架构上完成配置 , 只要前一个延续的输出可用 , 就能立即开始运行 。 \" 他们采用 \"分布式完成\" 算法来决定何时重新配置 。
重新配置是局部的—— 任何已完成任务的Tiles 都能被重新配置 。 但在没有 \"完成\" 信号的情况下 , 无法进行任意局部重新配置 。
执行本质上是异步的—— Tiles 在输入就绪时(基于 \"就绪 / 有效\" 协议)开始计算 , 无需显式调度 。
\"这种简单协议让我们能高效实现从一个Tiles 到其他任意Tiles 的单播、多播和广播通信 , 无需同步机制或集中式数据结构 。 \" 露西亚解释道 , \"将同步责任分配到各个Tiles 之间 , 能显著简化设计 。 \"
通用计算的另一大要求是支持条件执行 , 这意味着需要分支操作 , 同时也会影响循环—— 循环需根据迭代限制判断何时结束 。 解决这一问题的简单方法是将所有操作转换为导向操作:根据输入信号(决策器) , 输出会进入其中一条路径 。
但为如此基础的操作占用一整个Tiles 会很低效 。 事实上 , 每个Tiles 都能融合指令 , 因此条件判断可与其他指令融合 。 \"在一个Tiles 上 , 可能有 3 到 5 个操作编码在Tiles 配置中 , 它们是融合在一起的 。 \" 露西亚解释道 。
与传统核心中的功能单元类似 , 不同Tiles 具备不同能力 。 \"有些Tiles 能执行乘法等操作 , 有些支持 32 位浮点运算 , 另一些则不能 。 \" 露西亚说 。 芯片开发过程中的代码分析会决定哪些Tiles 承载哪些指令 。 可融合的指令数量取决于Tiles 本身 , 以及融合指令占用资源后剩余的资源量 。
只要编译器能检测到并行性 , 这种架构就能充分利用并行计算 。 该公司表示 , 无需特殊编程技术 , 标准代码即可运行 。 \"与加速器不同 , 即便面对非常复杂的代码 , 我们也能实现通用计算 。 \" 露西亚说 , 他们甚至成功运行了早期版本的《毁灭战士》程序 。
能量回收
维尔计算公司(Vaire Computing)提出了一种更具革命性的处理方式 , 其理念基于热力学 。 \"在 CMOS 电路中 , 我们通过电路节点的电压电平表示比特 , 这些电压会关联一定的信号能量 。 \" 维尔计算公司的资深科学家迈克?弗兰克解释道 , \"当我们切换到新的电压电平时 , 用于编码比特的全部信号能量都会被消耗掉 。 这是因为传统的开关方式是将电路节点连接到恒定电压源 。 任何时候丢弃数字信息 , 都必须消耗掉用于表示该信息的能量 。 丢弃信息的过程 , 本质上是将其转化为熵 , 而与信息关联的能量则转化为热量 。 \"
维尔公司开发了所谓的 \"可逆计算\" 技术:完成操作后 , 可通过 \"逆转\" 该操作回收大部分所用能量 。 \"在可逆计算中 , 我们尽量避免丢弃信息 , \" 弗兰克说 , \"相反 , 我们通过可逆方式转换信息 , 确保没有信息真正丢失 。 这让我们能回收用于表示这些比特的能量 。 \"
这种芯片采用谐振电源 , 引入了模拟元素 。 每个计算节点都类似一个 LC 振荡回路 , 从中获取能量 , 之后再返还大部分能量 。 电感器集成在芯片上 。 该公司表示 , 损耗可降至极低水平 , 且通常与泄漏电流和谐振器的品质因数(Q 值)相关 。
\"这是交流电源而非直流电源 , \" 弗兰克说 , \"能量并非从电源流向电路再转化为热量 , 而是先将能量输入电路以改变其状态 , 之后再从电路中回收能量以再次改变状态 。 \"
整体架构仍是数字式的 , 但转换速率被控制在较低水平 , 以实现绝热(即无热量增减)开关 。 \"它本质上仍是数字计算范式 , 具备数字技术的可靠性 。 \" 弗兰克说 。
虽然理论上可完全逆转一组指令以恢复中间状态 , 但这并非该公司的目标 。 他们希望支持标准编程技术 , 无需涉及逆转操作 。 不过 , 或许可通过利用这一特性进一步优化程序 。
更低时钟频率 , 更高并行性
其时钟频率不会像当今典型 CPU 那样高 , 而更接近 GPU 的时钟频率 。 \"GPU 的时钟速度低得多 , 因此我们与 GPU 的差距并不大 。 \" 维尔计算公司首席执行官鲁道夫?罗西尼表示 。
部分原因是能量回收需要时间 , 这会增加时钟周期 , 因此所有操作都需在一个周期内完成 。 \"在一个时钟周期内 , 电路的部分组件正向运行 , 部分反向运行 , 对操作进行 ' 反计算 ' 。 \" 弗兰克说 。 这种开销会使时钟速度降低约 50% 。
\"这种技术在超高并行场景下表现极佳 , 而幸运的是 , 如今的大型语言模型正符合这一特点 。 \" 弗兰克说 。 这有助于弥补部分性能损失 。 通过降低时钟频率并增加并行计算量 , 或许能进一步节省功耗 。
关于这一主题的研究已有不少 , 其中很多较为深奥 , 涉及所谓的 \"托弗利门\"(Toffoli gates)和 \"辅助比特\"(ancilla bits) 。 维尔公司似乎是首家尝试商业化的企业 , 这意味着要将这些抽象概念转化为实用、易用且经济的产品 , 包括摒弃在经济上低效的 literal 托弗利门等设计 。
\"有一些规则必须遵守 , 比如晶体管两端有电压时不能导通 , 有电流通过时不能关断 。 \" 弗兰克说 , \"事实证明 , 只要遵守这些规则 , 电路就能实现逻辑可逆且高效 。 关键在于精心安排电路中的转换时序 , 并设计合适的电路拓扑 , 使驱动时钟信号能控制电路完成一系列特定转换 。 只要步骤正确 , 一切都能实现可逆且完全绝热 。 \"
不过 , 维尔公司的产品距离商用还有几年时间 , 因此其架构和电路细节尚未公布 。
新架构能否成功?
尽管半导体行业为世界带来了无数革命性变革 , 但对全新理念仍持谨慎态度 。 业界更倾向于渐进式变革 , 因此优化现有架构始终是首选 。 只有当问题足够严峻且解决方案足够有说服力时 , 才会推动重大变革 。
处理器需要大量工具支持 , 其中许多来自第三方 。 因此 , 尽管软件一直是新型 AI 架构的短板 , 但对于新处理器架构而言 , 要获得主流商用认可 , 完善的软件支持是必不可少的 。
\"我们发现 , 新架构面临的一大问题是需要大量配套软件 , 这会大幅增加成本 。 \" 弗劳恩霍夫研究所自适应系统工程部门高级系统集成组组长兼高效电子部门主管安迪?海尼希表示 , \"一个优秀的硬件方案可能只占所需全部资源的 20% 到 30% 。 初创企业往往忽视软件部分 , 在我们看来 , 这样的企业在市场上毫无机会 。 \"
如果高效计算机公司、维尔计算公司等企业能自主开发所需工具 , 并与生态系统合作确保支持—— 尤其是让软件开发人员无需理解底层架构就能编程 —— 它们就有机会成功 。 这两家公司都在努力让其芯片支持标准编码技术 。
归根结底 , 这是一个经济问题 。 \"如果数据中心的能耗压力足够大 , 那么新架构就会应运而生 , 因为此时采用新架构在经济上是合理的 。 \" 海尼希说 。
但成功取决于多个因素 。 \"针对特定应用场景、旨在提升性能、降低成本和功耗的专用系统架构层出不穷 。 \"Rambus 公司研究员兼杰出发明家史蒂文?吴表示 , \"有些子系统(如 CPU 和 GPU)可用于快速开发差异化架构 。 但对于内存等关键子系统 , 由于开发成本高昂 , 核心挑战是找到足够支撑新架构的市场规模 。 市场必须足够大且能提供良好回报 , 这往往会陷入 ' 先有鸡还是先有蛋 ' 的困境:要用关键技术开拓新市场 , 但实现这一目标所需的技术尚未落地 。 \"
从纯技术角度看 , 大幅节省能耗是可能的 。 但目前尚不清楚如何实际实现这一点 , 也不确定处理器设计者是否只能满足于更温和的方案—— 这些方案虽能帮助降低功耗 , 但效果不够显著 。
原文:
https://semiengineering.com/will-new-processor-architectures-raise-energy-efficiency

    推荐阅读