MADAR: An Address-Free Processor
MADAR 引入了一种新颖的无地址处理器架构,该架构通过循环槽位和编译时调度取代了传统的存储层级结构和操作数获取,从而显著降低了针对 AI 加速等可预测工作负载的能耗和面积开销。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,将现代计算机处理器想象成一个繁忙且混乱的机场。
在标准计算机(如你的手机或笔记本电脑)中,“数据”(乘客)和“指令”(飞行计划)被存储在一个巨大的、静态的航站楼里。为了完成任何任务,计算机必须:
- 在航站楼中找到乘客(寻址)。
- 根据名单核对他们的身份证(标签)。
- 决定他们去哪个登机口(仲裁)。
- 将他们送过安检并送到飞机旁(旁路网络)。
论文指出,现代计算机中 90% 的能量和空间 都浪费在了这个“寻找和移动”的过程中。实际的数学运算(飞行本身)成本很低,占用的空间也非常小。
MADAR 是一种全新的设计,它彻底抛弃了整个航站楼。它不再是一个静态的建筑,而是一个巨大的、移动的旋转木马。
以下是它的工作原理,使用简单的类比:
1. 移动的旋转木马(循环存储)
MADAR 不再将数据存储在固定的位置,而是将一切都放在一个巨大的环形结构上,每经过一个时钟周期,环就旋转一步。
- 没有地址: 你不需要说“去 42 号座位”。你只需要说“去当前在我前面 3 个位置的座位”。
- 无需提取: 数据不需要等待被提取。它只是不停地旋转。当数据旋转经过一名工人时,工人就会抓取它。
2. 车厢列队(协同循环)
在普通计算机中,“指令”(要做什么)和“数据”(对谁做)是在不同的地方。在 MADAR 中,它们在同一个车厢里。
- 想象一列火车,每一节车厢都同时载着一名乘客和一张票。当火车沿着轨道旋转时,乘客和票会同时到达车站。它们是不可分割的整体;它们只是并肩同行。
3. 固定工人(碰撞执行)
想象一个工厂车间,有一个传送带(环形结构)正在经过。
- 固定站台: 工人(算术逻辑单元 ALU、乘法器)站在特定的位置。他们从不动。
- 碰撞: 当一节车厢(包含一条指令及其数据)经过一名工人时,工人会立即进行数学运算。
- 无需等待: 工人不会等待接收“我准备好了”的信号。只要车厢经过,他们就立即进行计算。如果车厢不在那里,工人就不做任何事。如果车厢在那里,数学运算就会发生。这被称为“碰撞执行”。
4. 速度车道(存储层级)
这是最聪明的部分。MADAR 拥有不同尺寸的环,就像赛道上的不同车道。
- 内环(快速): 一个小巧、快速的环(例如 16 步循环)。这是用于处理你“现在就要”的数据。它旋转得非常快。
- 外环(慢速): 一个巨大、缓慢的环(例如 64,000 步循环)。这是用于处理你“稍后需要”的数据。它旋转得非常慢。
- 传输: 编译器(编写代码的人)会精确规划何时将乘客从慢速外环转移到快速内环。这就像是一次预定的电梯乘坐。没有任何意外;一切都在机器启动前就已规划完毕。
为什么这意义重大?
论文声称,通过移除“机场航站楼”(复杂的寻址系统),MADAR 节省了大量的能量。
- 代价: 唯一的代价是维持旋转木马运转所需的能量。
- 回报: 对于那些路径可预测的任务(如 AI 计算或视频处理),由于不再需要“寻找”数据,所节省的能量远大于旋转环消耗的能量。
“甜点区”(适用场景)
论文使用了一个特定的例子:AI 推理(运行神经网络)。
- 在 AI 中,你会反复进行相同的数学运算(乘法和加法)。
- 在普通计算机中,你不断地从内存中获取这些数字,这既慢又耗能。
- 在 MADAR 中,你只需将这些数字加载到环上一次。它们只需不停旋转。每当它们经过数学工人时,工人就会进行计算。无论你要处理多少个数字,能量成本都保持稳定,因为你永远不需要停下来去“寻找”它们。
MADAR 不是什么
论文明确指出了它的局限性:
- 它并不适用于所有场景: 如果你在做一些不可预测的事情,比如点击一个随机的网页链接,或者玩一个玩家移动轨迹随机的游戏,MADAR 会表现挣扎。它需要预先知道路径。
- 它不是魔法: 如果环对于当前任务来说太大了,那么旋转空转的能量成本就会变得过高,从而在效率上输给普通计算机。
总结
MADAR 是一种用“旋转与碰撞”模型取代“搜索与提取”模型的处理器。它将计算机视为一个旋转的旋转木马,指令和数据并肩而行,数学运算随着它们的经过自动发生。它通过将寻找物品的复杂性转化为旋转的简单性,使得在处理像 AI 这样可预测、重复性的任务时,效率极高。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。