DLP类型
SISD、SIMD、MISD(TPU:脉动网络)、MIMD
SIMD实现形式
- 同一时间不同部件共同工作(Array processor)
- 在同一部件顺序工作(Vector processor)
Vector Processors
- Vector Register
- Vector Operation:多为同一种操作,若不同数据需要不同操作可能需要使用Vector Mask.
在执行时数据之间 没有数据冒险,没有转发需求。
1976 Cray-1
- 优点:
Vector 没有数据依赖
单个指令能够承担许多工作
访问连续规整的内存
可以回避循环 - 缺点
要求数据操作是规整的矢量操作,否则可能花费更多时间处理
内存会成为性能瓶颈,因为计算能力常常更强而Bandwidth不够
解决内存瓶颈:
- Memory Banking:将内存分成很多小块,实现内存访问上的并行来提升带宽。
加快指令执行:
- Vector Chaining:无需等待所有数据读入,读入一个就可以执行一个。
- forwarding:无需等待写入,提前执行
解决数据超过VLR:
- Vector Stripmining:n*VLR + m(m <VLR )