Snitch:一款用于浮点密集型工作负载高效面积与能耗执行的微型伪双发射处理器
硬件体系结构
2020-10-09 v2
摘要
数据并行应用,如数据分析、机器学习和科学计算,对新兴系统上每秒浮点运算的需求不断增长。随着集成密度的提高,对能效的追求成为首要设计考量。虽然专用加速器能提供高能效,但它们过度专用化且难以适应算法变化。我们提出一种架构概念,旨在实现极高能效的同时仍保持作为通用计算引擎的高灵活性。其核心思想是将一个称为 Snitch 的 10kGE 微型控制核与双精度 FPU 配对,以调整计算与控制之比。传统上,最小化非 FPU 面积并实现高浮点利用率是一种权衡,而借助 Snitch,我们通过为 ISA 增加两个极小侵入性扩展实现了二者兼得:流语义寄存器(SSR)和浮点重复指令(FREP)。SSR 允许核将加载/存储指令隐式编码为寄存器读/写,从而省去许多显式访存指令。FREP 扩展通过从微循环缓冲区中顺序发出指令,将浮点与整数流水线解耦。这些 ISA 扩展显著减轻了核的压力并释放其用于其他任务,使 Snitch 与 FPU 以最小 3.2% 的增量成本实现有效的双发射。这两个低开销的 ISA 扩展使 Snitch 比当代向量处理器通道更灵活,实现了 的能效提升。我们在 22nm 工艺下的八核集群上评估了所提出的核心与 ISA 扩展。在多个并行微核上我们实现了超过 的多核加速比和 的能效提升。
引用
@article{arxiv.2002.10143,
title = {Snitch: A tiny Pseudo Dual-Issue Processor for Area and Energy Efficient Execution of Floating-Point Intensive Workloads},
author = {Florian Zaruba and Fabian Schuiki and Torsten Hoefler and Luca Benini},
journal= {arXiv preprint arXiv:2002.10143},
year = {2020}
}