通用脉动阵列systolic array及矩阵乘法Matrix Multiplication

目录

      • 脉动阵列的特点
      • Matrix Multiplication矩阵乘法
      • 通用SA(systolic array)发展趋势
      • SIMD和SA处理器的比较
      • Reference

脉动阵列的特点

优点:
结构简单,规整,控制方便
计算并行度高,吞吐量高
缺点:
具有一定的专用性
在这里插入图片描述

Matrix Multiplication矩阵乘法

下图原文有个小错误,A[J,K]应该是A[I,K]
在这里插入图片描述
为了得到3*3的C矩阵,要取6×9=54次数据,每个C的参数需要经过3次乘法和2次加法,需要计算9×(3次乘法+2次加法)
通过如下的脉动阵列只需要取18次数据就可以了。
第二列b和第二行a数据等待一个cycle再进入脉动阵列,因为第一行和第一列的a、b需要在P1内停留一个时钟进行计算,之后才传入P2和P4
在这里插入图片描述

通用SA(systolic array)发展趋势

用可编程开关进行SA重构,设计可重构的脉动阵列
在这里插入图片描述
关于可重构的SA阵列,部分论文有提到,例如如下这张图,我理解就是可重构的SA(先占个坑,后面研究明白了再详细分析一篇)
在这里插入图片描述

SIMD和SA处理器的比较

SIMD全称Single Instruction Multiple Data,单指令多数据流。脉动阵列和CPU专用指令相比,有不可替代性
在这里插入图片描述

Reference

百度文库https://wenku.baidu.com/view/d6aec1b9370cba1aa8114431b90d6c85ed3a881d.html?from=search.
博文https://blog.csdn.net/MaoChuangAn/article/details/88992191.