MADAR用环形数据流替代传统地址,大幅降低处理器能耗。
MADAR: An Address-Free Processor
- 数据和指令共用环形槽位,通过位置坐标命名而非地址
- 编译时确定执行顺序,运算在固定站点按周期触发
- 环形层次结构替代缓存,适合预知数据流动的AI计算
现代处理器中,计算成本低廉,但大部分面积与功耗用于寻址——即在寄存器文件和缓存间移动操作数,并运行标签、端口、缺失队列和旁路网络来定位值。MADAR通过取消地址机制消除这些开销:所有状态在每周期前移一位的环形槽中循环;指令与数据同槽运行;值通过其轨道位置( p{}坐标)命名;固定站点在循环指令经过时按编译期设定的调度执行;由周期递增的环形层级取代缓存层次结构,跨环迁移由调度决定而非命中触发。此前无任何循环存储、数据流或静态调度机同时具备这四点。本文定义执行模型,在时序精确的寄存器传输级实现中验证,证明其可编译性——构造性调度器生成程序并经实现交叉验证,并用初阶能效模型进行定价。对AI加速效果最显著:矩阵乘法与卷积的核心乘累加运算编译为流式形式,操作能效随归约规模增长保持平稳;矩阵乘法的高效依赖于操作数重用,由环周期层次结构实现——内存层次结构通过旋转完成缓存的标签功能。MADAR为数据流动可预知的计算提供全新设计范式。
原文摘要 · Abstract (English)
In a modern processor, computing is the cheap part. Most of its area and energy go to \emph{addressing} -- moving operands to and from a register file and cache, and running the tags, ports, miss queues, and bypass networks that find a value where it was left. MADAR deletes that machinery by abolishing the address. All state circulates in rings of slots that advance one position per clock; instructions and data ride in the same slots; a value is named by its place in an orbit -- a \rp{} coordinate -- not by an address; a fixed station computes when a circulating instruction sweeps past its operands, on a schedule set at compile time; and a hierarchy of rings of increasing period replaces the cache hierarchy, movement between them scheduled rather than triggered by a miss. No prior circulating-store, dataflow, or statically scheduled machine combines all four of these. We define the execution model, validate it in a cycle-accurate register-transfer-level implementation, show it \emph{compilable} -- a constructive scheduler emits programs cross-checked against the implementation -- and price it with a first-order energy model. The payoff is clearest for AI acceleration: the multiply-accumulate at the heart of every matmul and convolution compiles to a streaming form whose energy per operation stays flat as the reduction grows, and the operand reuse that makes matrix multiplication efficient is carried by the ring-period hierarchy -- the memory hierarchy doing by rotation what a cache does by tags. MADAR is a new design point for any computation whose data movement is known before the program runs.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。