Data-intensive applications involving irregular memory streams are inefficiently handled by modern processors and memory systems highly optimized for regular, contiguous data. Recent work tackles these inefficiencies in hardware through core-side stream extensions or memory-side prefetchers and accelerators, but fails to provide end-to-end solutions which also achieve high efficiency in on-chip interconnects. We propose AXI-Pack, an extension to ARM's AXI4 protocol introducing bandwidth-efficient strided and indirect bursts to enable end-to-end irregular streams. AXI-Pack adds irregular stream semantics to memory requests and avoids inefficient narrow-bus transfers by packing multiple narrow data elements onto a wide bus. It retains full compatibility with AXI4 and does not require modifications to non-burst-reshaping interconnect IPs. To demonstrate our approach end-to-end, we extend an open-source RISC-V vector processor to leverage AXI-Pack at its memory interface for strided and indexed accesses. On the memory side, we design a banked memory controller efficiently handling AXI-Pack requests. On a system with a 256-bit-wide interconnect running FP32 workloads, AXI-Pack achieves near-ideal peak on-chip bus utilizations of 87% and 39%, speedups of 5.4x and 2.4x, and energy efficiency improvements of 5.3x and 2.1x over a baseline using an AXI4 bus on strided and indirect benchmarks, respectively.
翻译:涉及不规则记忆流的数据密集型应用程序由现代处理器和存储系统处理效率不高,对于经常、连续的数据而言,它们高度优化。最近的工作通过核心侧流扩展或内存端预推器和加速器解决硬件中的这些低效率问题,但未能提供端到端解决方案,从而在芯片互连中也实现高效。我们提议AXI-Pack,将AXI-Pack扩展至ARM AXI4协议,引入带带带宽高效的带宽带宽带宽和间接连流,以便能够实现端端至端的不规则流流。AXI-Pack增加了对内存请求的不规则流语,并通过将多个狭窄数据元素包装在宽广的公交车上避免效率低的窄汽车。它与AXI4保持完全兼容性,而无需修改非重塑式互连接的IP。为了展示我们的方法端对端,我们扩展了一个开放源的RISC-V矢量处理器,以便在其存储界面基准界面和索引式访问中利用AXI-Pack系统。在存储侧面,我们设计了一个银行式的平流流流-直径5.3x平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平