计算机体系结构-第四章-向量处理机

1 向量处理机相对标量处理机的优势

向量处理机的实质是用一条指令(向量指令)发起对整个向量中的所有元素的访存操作流水化处理这些元素(因为他们需要进行的操作相同),从而减少指令获取和解码的带宽

对于向量A=[1,2,3]

A+A

代替循环

for i in len(A):
	Ai+Ai

减少了很多显式指令的获取和解码,同时后者每次+都要访问一次主存得到向量的一个元素,而向量指令访存操作是为向量中的所有元素发起的,相对于访问 cache 而言更高的访问主存的延迟被均摊了

2 向量的处理方式和对应的处理机结构

对于只包含一个运算符的向量计算(如:A+B) 纵向和横向方式没有区别
对于包含多个运算符的向量计算(如:A*(B+C)) 纵向明显比横向有优势,如减少数据相关

例如计算 A*(B-C)
1 横向 - 在标量处理机中使用

//以元素为单位 整体计算A*(B-C)
for i in len(A):
	bi-ci->qi
	ai*qi->di
//每次循环都存在数据相关

2 纵向 - 在向量处理机中使用 存储器存储器结构

//先计算B-C(只有一个运算符,纵向和横向没区别,相当于以元素为单位整体计算B-C)
for i in len(B):
	qi <-bi-ci
//再计算A*Q
for i in len(A):
	ai*qi->di
-----表示成向量指令就是---------
B-C->Q
A*Q->D
//由于先算出整体q,避免了数据相关

3 纵横向 - 在向量处理机中使用 寄存器寄存器结构

int 分段数 =2;
for k in 分段数:
	for m in len(B)/分段数:
		i = m+k*len(B)/分段数
		qi <-bi-ci
	for n in len(A)/分段数:
		i = n+k*len(B)/分段数
		ai*qi->di

3 提高向量处理机性能的常用技术

  1. 设置多个功能部件
  2. 采用链接技术,加快一串指令的执行速度(实质相当于变纵向为横向)
  3. 循环开采(分段)
  4. 多处理机

链接使用条件:

  • 没有功能部件冲突寄存器冲突
  • 链接只能发生在上一条指令的结果送入向量寄存器的那个周期
  • 前向链接了好几个结果时,这些结果的送入寄存器的时刻必须相同

4 向量处理机性能评价

5 参考

向量处理器
百度百科

  • 11
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值