向量体系结构(3) 向量长度寄存器和向量遮罩寄存器

笔记来源《计算机体系结构 量化研究方法》第四章向量体系结构 

接着上一篇继续写:向量体系结构:向量执行时间-CSDN博客

这一节解决上一讲最后留下众多问题中的两个问题:

(1)面对向量长度与处理器向量寄存器长度不匹配的情况(如VMIPS中寄存器长度为64),如何设计高效的策略来兼容和优化这类程序执行?

(2)分析如何有效处理含有条件分支(IF语句)的代码,使之能够向量化,从而扩展向量化的应用范围?

解决方法就是使用向量长度寄存器(1)和 向量遮罩寄存器(2)

向量长度寄存器

    向量处理器就像一台高级搅拌机,擅长一次性处理很多水果(数据元素)。这台搅拌机的“杯子”(向量寄存器)能装下固定数量的水果,比如VMIPS搅拌机能装下64块水果。但是,不是每次我们都有正好64块水果需要处理,有时候多,有时候少。

   为了适应不同数量的水果(数据),设计了一个“计数器”——向量长度寄存器(VLR)。这个计数器告诉搅拌机这次应该处理多少块水果,哪怕这个数量小于或等于搅拌机的最大容量。这样,即便水果的数量变化,搅拌机也能灵活应对。

为什么需要向量长度寄存器

   在编写程序时,我们经常不知道确切要处理的数据量(比如循环次数n),它可能根据用户输入或其他因素变化。所以向量长度寄存器确保无论数据多少,都能有效地利用向量处理器的优势。

条带挖掘(strip mining)

    如果要处理的水果数量远远超过搅拌机的最大容量(最大向量长度),怎么办呢?这时,“条带挖掘”技术就派上用场了。想象一下,把这些水果分成一个个小堆,每堆不超过搅拌机的最大容量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值