The invention discloses a method and device for random access to support vectors. The steps of the method are: S1: decoding the issued instructions, identifying the fields of the instructions, obtaining information related to addressing instruction types, address calculation methods, access granularity and random address register files; S2: decoding information according to instructions. And the access addresses of n VPEs are computed, and the access addresses of each VPE are judged by the conflict judgment component. S3: Set up shared vector memory to provide high bandwidth SIMD parallel data support for multiple VPEs. The device is used to implement the above method. The invention has the advantages of effectively reducing the design complexity of hardware, improving the bandwidth and efficiency of data access memory, improving the execution speed of instructions and improving the processing performance of processors.
【技术实现步骤摘要】
支持向量随机访存的方法及装置
本专利技术主要涉及到微处理器体系结构领域,特指一种适用于单指令多数据流(SIMD)结构微处理器中支持向量随机访存的方法及装置,用以提高存在大量不规则访存应用的运算性能。
技术介绍
为发掘微处理器的数据级并行、以较低的硬件开销和功耗预算实现较高的峰值运算性能,SIMD技术成为微处理器体系结构发展的一个重要方向。SIMD结构处理器在处理规则应用程序时,往往能够得到较为理想的峰值运算性能,但是在处理不规则应用时,其性能急剧下降,主要原因是不规则应用的访存操作比规则应用中地址连续或等跨步访存复杂,空间局部性差,现有微处理器结构不能很好支持,致使其执行速度慢,性能低。而不规则应用广泛存在于大量科学计算和工程应用中,例如稀疏矩阵计算、图像边缘检测、分动力学模拟和语音识别等。有学者总结出13类基本的并行计算模式,其中有一半以上的计算模式都是不规则的。不规则应用存在的大量不规则访存和计算模式,极大降低了处理器的资源使用率和数据带宽利用率。不规则的应用可以归结为不规则计算和不规则访存,不规则计算主要指程序存在过多的控制流分支,任务分配不均衡等;而不规则 ...
【技术保护点】
1.一种支持向量随机访存的方法,其特征在于,步骤为:S1:对派发的指令进行译码,识别指令的各个域,获取指令类型、地址计算方式、访存粒度和随机地址寄存器文件与寻址相关的信息;S2:根据指令译码信息和计算得到的n个VPE的访存地址,冲突判断部件对各个VPE的访存地址进行冲突判断,如果存在访存冲突,通过仲裁对存在访存冲突的请求进行仲裁,根据仲裁规则确定各VPE访问向量存储器的顺序;如果是向量写指令则将需要写入向量存储器的数据按仲裁顺序写入相应的地址;如果是向量读指令,则所有需要的数据从向量存储器读出后经过数据同步返回给向量处理单元;S3:设置共享向量存储器为多个VPE提供高带宽的 ...
【技术特征摘要】
1.一种支持向量随机访存的方法,其特征在于,步骤为:S1:对派发的指令进行译码,识别指令的各个域,获取指令类型、地址计算方式、访存粒度和随机地址寄存器文件与寻址相关的信息;S2:根据指令译码信息和计算得到的n个VPE的访存地址,冲突判断部件对各个VPE的访存地址进行冲突判断,如果存在访存冲突,通过仲裁对存在访存冲突的请求进行仲裁,根据仲裁规则确定各VPE访问向量存储器的顺序;如果是向量写指令则将需要写入向量存储器的数据按仲裁顺序写入相应的地址;如果是向量读指令,则所有需要的数据从向量存储器读出后经过数据同步返回给向量处理单元;S3:设置共享向量存储器为多个VPE提供高带宽的SIMD并行数据支持。2.根据权利要求1所述的支持向量随机访存的方法,其特征在于,设置冲突缓冲器阵列,每个Bank对应一个缓冲器;所有的访存请求在译码后按该请求所访问的Bank进行分流,然后对访问同一Bank的请求做冲突判断和仲裁,仲裁失败的访问请求被缓存到对应的冲突缓冲器中。3.根据权利要求2所述的支持向量随机访存的方法,其特征在于,根据指令译码的相关请求信号,读取基址寄存器和偏移寄存器的数据,根据访存粒度和寻址方式对各个VPE的访存地址进行计算,如果指令需要更新基址,则在地址计算完后使用计算出的访存地址更新基址寄存器。4.根据权利要求3所述的支持向量随机访存的方法,其特征在于,通过VPE的访存地址区分各个VPE所访问的Bank,同时对每个VPE的访存相关信息进行请求打包,各个访存请求根据该VPE所访问的Bank编号进行分流,对访问同一Bank的所有访问请求按照VPE编号由小到大的顺序进行处理。5.根据权利要求2-4中任意一项所述的支持向量随机访存的方法,其特征在于,各个Bank的访存请求分流后在此进行冲突判断,根据请求包的访存地址进行区分,如果有两个或两个以上的访存请求访问同一Bank的同一SRAM地址空间,则存在访存冲突;当发生访存冲突时,该Bank对应的仲裁部件对存在访存冲突的访存请求进行仲裁,以确定VPE访存请求的访问顺序。6.根据权利要求2-4中任意一项所述的支持向量随机访存的方法,其特征在于,设置数据重排序部件,数据重排序部件包含m个数据输出通道,分别和m个SRAM的输出对应,其宽度与SI...
【专利技术属性】
技术研发人员:陈海燕,郭阳,刘胜,吴健虢,雷元武,陈胜刚,万江华,王耀华,陈俊杰,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。