[发明专利]一种管理寄存器文件单元的方法有效
申请号: | 201910052633.X | 申请日: | 2019-01-21 |
公开(公告)号: | CN111459543B | 公开(公告)日: | 2022-09-13 |
发明(设计)人: | 王刚;王震宇;王平;李晶晶 | 申请(专利权)人: | 上海登临科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 管理 寄存器 文件 单元 方法 | ||
1.一种管理寄存器文件单元的方法,所述寄存器文件单元由单端口存储器构成,所述单端口存储器是用于提供与线程关联的操作数的寄存器,所述方法包括以下步骤:
步骤1:为多个线程分配关联的寄存器,并将所分配的寄存器组织为多个寄存器组,其中,所述寄存器组的数量等于所述多个线程的线程数量;
步骤2:将与每个线程关联的寄存器均匀分布在所述多个寄存器组内并且所述多个寄存器组的同一位置存储不同线程的关联的同一操作数的相应寄存器;
步骤3:对于寄存器的读写操作,通过调度所述多个线程关联的操作数的排列方式,使得所述寄存器文件单元的多个寄存器组在同一时钟周期仅有一个读操作或仅有一个写操作。
2.根据权利要求1所述的方法,其中,在步骤3中,对于读操作,从所述多个寄存器组读取与所述多个线程关联的操作数并将每个线程关联的操作数调度为分别排列成对应的一组以分发执行。
3.根据权利要求1所述的方法,其中,在步骤3中,对于写操作,将与所述多个线程的每个线程关联的操作数均匀分布在所述多个寄存器组内并且将每个线程关联的操作数放在所述多个寄存器组的对应位置。
4.一种寄存器文件单元,其特征在于,包括:
多个寄存器组:用于提供与多个线程关联的操作数的寄存器,其中,寄存器由单端口存储器构成,寄存器组的数量等于所述多个线程的线程数量,并且与每个线程的关联寄存器均匀分布在所述多个寄存器组内以及所述多个寄存器组的同一位置存储不同线程的关联的同一操作数的相应寄存器;
调度单元:用于对于寄存器的读写操作,通过调度所述多个线程关联的操作数的排列方式,使得所述寄存器文件单元的多个寄存器组在同一时钟周期仅有一个读操作或仅有一个写操作。
5.根据权利要求4所述的寄存器文件单元,其特征在于,所述调度单元包括读操作调度单元和写操作调度单元,其中:
所述读操作调度单元对于读操作,从所述多个寄存器组读取与所述多个线程关联的操作数并将每个线程关联的操作数调度为分别排列成对应的一组以分发执行;
所述写操作调度单元对于写操作,将与所述多个线程的每个线程的关联的操作数均匀分布在所述多个寄存器组内并将每个线程关联的操作数放在所述多个寄存器组的对应位置。
6.一种计算系统,其特征在于,包括多个根据权利要求4至5任一项所述的寄存器文件单元、执行单元和交换网络,其中:
每一个寄存器文件单元用于接收一个子线程组的请求并提供相关的操作数;
所述执行单元用于执行所述子线程组对应的程序指令;
所述交换网络用于将所述子线程组对应的程序指令和相关的操作数分发给所述执行单元以及将所述执行单元获得的操作结果分发给相应的寄存器文件单元。
7.根据权利要求6所述的系统,其特征在于,还包括线程组管理单元,其用于将待处理的任务划分为多个子线程组并分发给所述多个寄存器文件单元。
8.根据权利要求7所述的系统,其特征在于,对于所述多个子线程组,按照相位错开依次从相应的寄存器文件单元读取多个源操作数,使得每个寄存器文件的寄存器组每个周期仅有一个读操作或仅有一个写操作。
9.根据权利要求6所述的系统,其特征在于,对于向量访存指令,在同一个周期内将一个线程取回的四个连续地址的数据同时写回到所述寄存器文件单元。
10.根据权利要求8所述的系统,其特征在于,所述多个子线程组以时分复用的方式共享所述执行单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海登临科技有限公司,未经上海登临科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910052633.X/1.html,转载请声明来源钻瓜专利网。