[发明专利]支持向量随机访存的方法及装置有效
申请号: | 201810468106.2 | 申请日: | 2018-05-16 |
公开(公告)号: | CN108733415B | 公开(公告)日: | 2021-03-16 |
发明(设计)人: | 陈海燕;郭阳;刘胜;吴健虢;雷元武;陈胜刚;万江华;王耀华;陈俊杰 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F13/32 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 周长清 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 向量 随机 方法 装置 | ||
1.一种支持向量随机访存的方法,其特征在于,步骤为:
S1:对派发的指令进行译码,识别指令的各个域,获取指令类型、地址计算方式、访存粒度和随机地址寄存器文件与寻址相关的信息;
S2:根据指令译码信息和计算得到的n个VPE的访存地址,n为大于1的整数,冲突判断部件对各个VPE的访存地址进行冲突判断,如果存在访存冲突,通过仲裁对存在访存冲突的请求进行仲裁,根据仲裁规则确定各VPE访问向量存储器的顺序;如果是向量写指令则将需要写入向量存储器的数据按仲裁顺序写入相应的地址;如果是向量读指令,则所有需要的数据从向量存储器读出后经过数据同步返回给向量处理单元;
S3:设置共享向量存储器为多个VPE提供高带宽的SIMD并行数据支持;
设置冲突缓冲器阵列,每个Bank对应一个缓冲器;所有的访存请求在译码后按该请求所访问的Bank进行分流,然后对访问同一Bank的请求做冲突判断和仲裁,仲裁失败的访问请求被缓存到对应的冲突缓冲器中;
各个Bank的访存请求分流后在此进行冲突判断,根据请求包的访存地址进行区分,如果有两个或两个以上的访存请求访问同一Bank的同一SRAM地址空间,则存在访存冲突;当发生访存冲突时,该Bank对应的仲裁部件对存在访存冲突的访存请求进行仲裁,以确定VPE访存请求的访问顺序。
2.根据权利要求1所述的支持向量随机访存的方法,其特征在于,根据指令译码的相关请求信号,读取基址寄存器和偏移寄存器的数据,根据访存粒度和寻址方式对各个VPE的访存地址进行计算,如果指令需要更新基址,则在地址计算完后使用计算出的访存地址更新基址寄存器。
3.根据权利要求2所述的支持向量随机访存的方法,其特征在于,通过VPE的访存地址区分各个VPE所访问的Bank,同时对每个VPE的访存相关信息进行请求打包,各个访存请求根据该VPE所访问的Bank编号进行分流,对访问同一Bank的所有访问请求按照VPE编号由小到大的顺序进行处理。
4.根据权利要求1-3中任意一项所述的支持向量随机访存的方法,其特征在于,设置数据重排序部件,数据重排序部件包含m个数据输出通道,分别和m个SRAM的输出对应,m为大于1的整数,其宽度与SIMD宽度相匹配;当VPE的读请求发生访存冲突时,冲突的请求根据仲裁顺序依次对向量存储器进行读操作,需要多个时钟周期对向量存储器执行多拍读操作才能获得该读指令所需的全部数据;每个时钟周期需要将当前读出的数据重新排列到与当前发起访问请求的VPE对应的位置,从Bank读出的数据分别输出到对应的SRAM通道与Bank号对应的位置;数据重排序单元根据当拍输出数据请求的VPE编号,将该通道的输出数据重新排列到向量寄存器中与该VPE编号对应的位置,并将对应的数据标志位置为1,表示该输出数据有效。
5.根据权利要求1-3中任意一项所述的支持向量随机访存的方法,其特征在于,执行同一条读指令时,多个时钟周期从向量存储器读出的数据进行节拍的同步,前面节拍读出的数据寄存在向量寄存器里,等待后面节拍的读出数据,每读出一个有效数据就将相应的Mask标志位置1,当Mask位都置为1表示该指令所有的读访存请求都处理完毕,将向量寄存器的数据返回给运算部件进行运算,待数据返回后将Mask位清空准备处理下一条读指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810468106.2/1.html,转载请声明来源钻瓜专利网。