向量处理机
向量处理机处理的数据是一组,并且具有相似的数据。
向量流水处理机 时间重叠
向量数据表示(可理解为数组)+ 流水线=向量流水处理机
向量特点
向量内部各元素很少相关(也就是说数组内各元素都是独立的,不具有相关)
一般执行同一个操作
容易发挥流水线效能
向量流水处理
横向处理
分别处理向量的每一个表达式
纵向处理
处理向量的不相关的部分表达式(需要中间寄存器),再处理表达式剩下的部分
分组纵向处理
若受资源限制,没这么多向量寄存器,那就分组,组跟组间是横向处理,组内是纵向处理
4种向量指令
向量和向量(如A+B)、向量和标量(如A+2)、从主存取数据到向量(load)、从向量写入到主存(store)
V冲突
向量的数据冲突
功能冲突
向量执行相同的操作,如乘,得等处理完后,才处理
解决
链接技术:利用寄存器写入完数据后,接着就可以用 这个特点来实现。
阵列处理机 资源重复 SIMD(单指令流多数据流)
阵列处理机的原理
分布式存贮器并行处理机
集中式共享存贮并行处理机
特点
- 基于有限差分、矩阵、信号处理、线性规划等问题为背景,可通过各种途径把他们转化成为对数组或向量的处理
- 单指令多数据流处理
- 资源重复,而不是时间重叠
- 利用并行性中的同时,而不是并发
- 靠增大并行单元的个数来提升
SIMD的互连网络
实现处理单元、处理单元与存储分体之间的连接关系
互连函数(最核心的)
表示互连网络里的出端号和入端号的一一对应关系
基本的互连网络
立方体
![](https://i-blog.csdnimg.cn/blog_migrate/03087558b55efb80566d4afc36ca5ed9.jpeg#pic_center)
PM2I
![](https://i-blog.csdnimg.cn/blog_migrate/7edd401eda27c7d2d99129cc5515fc73.jpeg#pic_center)
混洗交换单级网络
![](https://i-blog.csdnimg.cn/blog_migrate/3e408d358fc99dbc874e6a318ac6979e.jpeg#pic_center)
共享存储冲突
多个处理机访问同一块内存,少不了冲突,如何减少?
尽量让处理机分开访问不同的内存块。
解决方法
- 一维数组存储时,把存储体做成质数,这样很难集中在一个块访问
- 二维数组存储时,错位存放,避免对角线放或行或列时的冲突
- 数组大小不固定,转为一维存放,再根据存储体号,做成质数,然后再放。这样避免排的有序。
脉动阵列流水处理机
根据阵列不同的形式,可以有不同脉动(走的路径)的形式。
针对处理机脉动结构写一些算法,会很快。并行性很好
特点
列不同的形式,可以有不同脉动(走的路径)的形式。
针对处理机脉动结构写一些算法,会很快。并行性很好
特点
![](https://i-blog.csdnimg.cn/blog_migrate/2c3a334197003267700b1a8b7618cf84.jpeg#pic_center)