CN115794671A - 一种兼容向量数据的访存系统及方法 - Google Patents
一种兼容向量数据的访存系统及方法 Download PDFInfo
- Publication number
- CN115794671A CN115794671A CN202310070132.0A CN202310070132A CN115794671A CN 115794671 A CN115794671 A CN 115794671A CN 202310070132 A CN202310070132 A CN 202310070132A CN 115794671 A CN115794671 A CN 115794671A
- Authority
- CN
- China
- Prior art keywords
- access
- address
- memory
- information
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Complex Calculations (AREA)
Abstract
本发明提供了一种兼容向量数据的访存系统及方法,包括:定序器、地址生成模块、访存模块和内存模块;所述定序器用于生成指令译码信息;所述地址生成模块用于根据指令译码信息,生成总线信息和地址信息;所述访存模块用于根据总线信息和地址信息,对内存模块进行存储或者加载操作;本发明解决了现有对向量数据访存功能冗余,造成处理效率下降的问题。
Description
技术领域
本发明涉及集成电路技术领域,具体而言,涉及一种兼容向量数据的访存系统及方法。
背景技术
近年来随着人工智能与图像处理的发展,处理器对于向量处理的性能需求越来越高。对于操作者来说一种简洁易用的向量指令集对于简化处理器架构,提升处理器性能来说是十分必要的。如今一些嵌入式处理器厂商如intel公司和arm公司都在其现有的标量处理器架构上进行了相应的向量指令集扩展,这样扩展确实具备了一定的向量处理能力但由于必须要考虑与之前指令集的兼容问题,所以导致处理器架构越来越复杂,功能越来越冗余。往往只在向量数据访存这一步就需要许多指令的相互配合。
现有技术的不足:
如mmx、sse、sve等架构,其对向量的支持都是在之前的架构上进行扩展,使得向量访存等功能十分冗余导致处理器性能不理想。
由于指令集兼容性问题导致的功能冗余,在向量的访存操作时往往都是调用多种指令或者通过循环指令去实现,这使得向量处理器中的地址生成单元往往都与标量的地址生成单元相类似,导致处理效率下降。
发明内容
针对现有技术中的上述不足,本发明提供的一种兼容向量数据的访存系统及方法解决了现有对向量数据访存功能冗余,造成处理效率下降的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种兼容向量数据的访存系统,包括:定序器、地址生成模块、访存模块和内存模块;
所述定序器用于生成指令译码信息;
所述地址生成模块用于根据指令译码信息,生成总线信息和地址信息;
所述访存模块用于根据总线信息和地址信息,对内存模块进行存储或者加载操作。
进一步地,所述地址生成模块包括:接收队列、访存模式判断子模块、标量跨步访存子模块、自定步长跨步访存子模块和索引访存子模块;
所述接收队列用于接收指令译码信息;
所述访存模式判断子模块用于确定指令译码信息在遵循第五代精简指令集的地址访问中的标量跨步访存子模块、自定步长跨步访存子模块或索引访存子模块中执行。
进一步地,所述标量跨步访存子模块包括:标量跨步访存总线信息生成单元、标量跨步访存地址生成单元和向量化的标量跨步访存地址生成单元;
所述标量跨步访存总线信息生成单元用于生成总线信息,并根据指令译码信息确定向量化访存方式或者标量访存方式;
在标量访存方式时,选择标量跨步访存地址生成单元根据指令译码信息生成地址信息;
在向量化访存方式时,选择向量化的标量跨步访存地址生成单元根据指令译码信息生成地址信息。
进一步地,所述自定步长跨步访存子模块包括:自定步长跨步访存总线信息生成单元、向量化的标量自定步长跨步访存地址生成单元和标量自定步长跨步访存地址生成单元;
所述自定步长跨步访存总线信息生成单元用于生成总线信息,并根据指令译码信息确定向量化访存方式或者标量访存方式;
在标量访存方式时,选择标量自定步长跨步访存地址生成单元根据指令译码信息生成地址信息;
在向量化访存方式时,选择向量化的标量自定步长跨步访存地址生成单元根据指令译码信息生成地址信息。
进一步地,所述索引访存子模块包括:索引访存地址生成单元、索引向量化访存总线信息生成单元和索引标量访存总线信息生成单元;
所述索引访存地址生成单元用于根据指令译码信息,生成地址信息,并根据指令译码信息确定向量化访存方式或者标量访存方式;
在向量化访存方式时,选择索引向量化访存总线信息生成单元生成总线信息;
在标量访存方式,选择索引标量访存总线信息生成单元生成总线信息。
进一步地,所述指令译码信息包括:初始地址寄存器的初始地址、内存模块的深度和步长寄存器的步长。
一种兼容向量数据的访存方法,包括:
在访存模块和内存模块根据总线信息接收到向量存储或加载指令后;
在向量存储指令时,根据指令译码信息,采用地址生成模块生成存储地址信息;
根据存储地址信息,将访存模块的寄存器组中数据存入内存模块中;
在向量加载指令时,根据指令译码信息,采用地址生成模块生成加载地址信息;
根据加载地址信息,将内存模块中数据取出放入访存模块的寄存器组中。
进一步地,总线信息由地址生成模块根据指令译码信息得到。
进一步地,指令译码信息包括:初始地址寄存器的初始地址、内存模块的深度和步长寄存器的步长。
进一步地,所述步长寄存器的步长最大为VLMAX-1,其中,VLMAX为寄存器组中单个寄存器能存储的最大字节数。
进一步地,所述的访存方法具体包括:
从总线信息中,访存模块和内存模块接收到向量存储指令后,执行步骤A1:
A1、根据存储地址信息和初始地址寄存器的初始地址,将访存模块的寄存器组中字节数据存放入内存模块中;
或者
从总线信息中,访存模块和内存模块接收到向量加载指令后,执行步骤A2:
A2、根据加载地址信息和初始地址寄存器的初始地址,将内存模块中的字节数据放入寄存器组中。
进一步地,所述访存方法具体包括:定义i为循环过程的计数量,i的初始值为0;
从总线信息中,访存模块和内存模块接收到向量存储指令后,执行步骤B1:
B1、在初始地址为[i]时,根据存储地址信息,将访存模块的寄存器组中第v(i+1)行的字节数据存放入内存模块中,其中,v(i+1)为寄存器组中寄存器行的编号;
或者
从总线信息中,访存模块和内存模块接收到向量加载指令后,执行步骤B2:
B2、在初始地址为[i]时,根据加载地址信息,将内存模块中的字节数据放入寄存器组中第v(i+1)行的字节中;
B3、i自加1更新,若为向量存储指令,则再一次执行B1,若为向量加载指令,则再一次执行B2,判断i是否等于NF-1,其中,NF为段落数,段落数为内存上连续存储的数据片段,若是,则数据存储或者加载结束,若否,则跳转至步骤B3。
进一步地,所述步骤B1具体为:
在初始地址为[i]时,存储地址信息为:[i]、[i+s]、[i+2s]、…、[i+ns],将访存模块的寄存器组中第v(i+1)行的低位三字节数据存放入内存模块中的[i]、[i+s]、[i+2s]、…、[i+ns]地址,其中,[i]、[i+s]、[i+2s]、…、[i+ns]为地址的编号,v(i+1)为寄存器组中寄存器行的编号,s为步长寄存器的步长,n为跨步数。
进一步地,所述步骤B2具体为:
在初始地址为[i]时,在加载地址信息为:[i]、[i+s]、[i+2s]、…、[i+ns],将内存模块中的[i]、[i+s]、[i+2s]、…、[i+ns]地址中的字节数据放入寄存器组中第v(i+1)行的低位三字节中,其中,[i]、[i+s]、[i+2s]、…、[i+ns]为地址的编号,v(i+1)为寄存器组中寄存器行的编号,s为步长寄存器的步长,n为跨步数。
本发明实施例的技术方案至少具有如下优点和有益效果:
1、本发明的地址生成模块配置有队列单元可以进行流水操作,同时兼容三种访存模式:标量跨步访存、自定步长跨步访存和索引访存,在访存时可以选择最适合的访存模式。
2、本发明的地址生成模块放弃了一次读多个寄存器和一次性写多个寄存器指令,在每生成一次地址信息后,访存模块一次性访问内存模块对应地址。因此增加了访存指令定制的灵活性,使其拥有良好的扩展性。
3、本发明可以很好提高指令操作人员的效率,在进行向量操作时,仅仅使用加载或存储指令就可以读取或存储同类型的数据。不需要再使用冗余的循环或多个指令来实现加载或存储同类型的数据,提高了处理效率。
4、本发明在保障通用的访存功能的前提下,添加了向量操作的访存功能,因此也能很好的兼容处理器内其他结构单元的访存需求。
附图说明
图1为一种兼容向量数据的访存系统的结构示意图;
图2为地址生成模块的结构示意图;
图3为标量跨步访存子模块的结构示意图;
图4为自定步长跨步访存子模块的结构示意图;
图5为索引访存子模块的结构示意图;
图6为一种兼容向量数据的访存系统的访存方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
如图1所示,一种兼容向量数据的访存系统,包括:定序器、地址生成模块、访存模块和内存模块;
所述定序器用于生成指令译码信息;
所述地址生成模块用于根据指令译码信息,生成总线信息和地址信息;
所述访存模块用于根据总线信息和地址信息,对内存模块进行存储或者加载操作。
如图2所示,所述地址生成模块包括:接收队列、访存模式判断子模块、标量跨步访存子模块、自定步长跨步访存子模块和索引访存子模块;
所述接收队列用于接收指令译码信息;
接收队列可存储多组指令译码信息,用于实现流水操作;
所述访存模式判断子模块用于确定指令译码信息在遵循第五代精简指令集的地址访问中的标量跨步访存子模块、自定步长跨步访存子模块或索引访存子模块中执行。
如图3所示,所述标量跨步访存子模块包括:标量跨步访存总线信息生成单元、标量跨步访存地址生成单元和向量化的标量跨步访存地址生成单元;
所述标量跨步访存总线信息生成单元用于生成总线信息,并根据指令译码信息确定向量化访存方式或者标量访存方式;
在标量访存方式时,选择标量跨步访存地址生成单元根据指令译码信息生成地址信息;
在向量化访存方式时,选择向量化的标量跨步访存地址生成单元根据指令译码信息生成地址信息。
在本实施例中,标量跨步访存地址生成单元为标量的访存格式不用分段,地址信息只用生成一次。
如图4所示,所述自定步长跨步访存子模块包括:自定步长跨步访存总线信息生成单元、向量化的标量自定步长跨步访存地址生成单元和标量自定步长跨步访存地址生成单元;
所述自定步长跨步访存总线信息生成单元用于生成总线信息,并根据指令译码信息确定向量化访存方式或者标量访存方式;
在标量访存方式时,选择标量自定步长跨步访存地址生成单元根据指令译码信息生成地址信息;
在向量化访存方式时,选择向量化的标量自定步长跨步访存地址生成单元根据指令译码信息生成地址信息。
在本实施例中,标量自定步长跨步访存地址生成单元为标量的访存格式不用分段,地址信息只用生成一次。
如图5所示,所述索引访存子模块包括:索引访存地址生成单元、索引向量化访存总线信息生成单元和索引标量访存总线信息生成单元;
所述索引访存地址生成单元用于根据指令译码信息,生成地址信息,并根据指令译码信息确定向量化访存方式或者标量访存方式;
在向量化访存方式时,选择索引向量化访存总线信息生成单元生成总线信息;
在标量访存方式,选择索引标量访存总线信息生成单元生成总线信息。
在本实施例中,索引访存子模块中索引是无规律的,因此每次循环需要在索引访存地址生成单元中去生成地址。
所述指令译码信息包括:初始地址寄存器的初始地址、内存模块的深度和步长寄存器的步长。
如图6所示,一种兼容向量数据的访存方法,包括:
S1、采用地址生成模块根据指令译码信息,生成总线信息;
S2、在访存模块和内存模块根据总线信息接收到向量存储或加载指令后;
S3、设定初始地址寄存器的初始地址;
S4、在向量存储指令时,根据初始地址寄存器的初始地址、内存模块的深度和步长寄存器的步长,采用地址生成模块生成存储地址信息;
S5、根据存储地址信息,将访存模块的寄存器组中数据存入内存模块中;
S6、在向量加载指令时,根据初始地址寄存器的初始地址、内存模块的深度和步长寄存器的步长,采用地址生成模块生成加载地址信息;
S7、根据加载地址信息,将内存模块中数据取出放入访存模块的寄存器组中。
访存方法具体包括:
从总线信息中,访存模块和内存模块接收到向量存储指令后,执行步骤A1:
A1、根据存储地址信息和初始地址寄存器的初始地址,将访存模块的寄存器组中字节数据存放入内存模块中;
或者
从总线信息中,访存模块和内存模块接收到向量加载指令后,执行步骤A2:
A2、根据加载地址信息和初始地址寄存器的初始地址,将内存模块中的字节数据放入寄存器组中。
在标量访存方式时,加载或存储操作仅一次,在向量化访存方式时,加载或存储操作需多次。
在本实施例中,所述内存模块的深度为11字节。
在本实施例中,所述步长寄存器的步长为4,跨步数为2。
以下提供一种访存方法的一种具体实现方式:
在本实施例中,定义i为循环过程的计数量,i的初始值为0,步骤S2到步骤S7具体为:
从总线信息中,访存模块和内存模块接收到向量存储指令后,执行步骤B1:
B1、在步骤S3中初始地址为[i]时,在步骤S4中存储地址信息为:[i]、[i+4]、[i+8],将访存模块的寄存器组中第v(i+1)行的低位三字节数据存放入内存模块中的[i]、[i+4]、[i+8]地址,其中,[i]、[i+4]、[i+8]为地址的编号,v(i+1)为寄存器组中寄存器行的编号;
或者
从总线信息中,访存模块和内存模块接收到向量加载指令后,执行步骤B2:
B2、在步骤S3中初始地址为[i]时,在步骤S4中加载地址信息为:[i]、[i+4]、[i+8],将内存模块中的[i]、[i+4]、[i+8]地址中的字节数据放入寄存器组中第v(i+1)行的低位三字节中;
B3、i自加1更新,若为向量存储指令,则再一次执行B1,若为向量加载指令,则再一次执行B2,判断i是否等于NF-1,其中,NF为段落数,段落数为内存上连续存储的数据片段,若是,则数据存储或者加载结束,若否,则跳转至步骤B3。
在本实施例中,存储跨步步长的寄存器设置为4,步长为连续存储加载时在内存中所间隔的字节单元数;存储段落数的寄存器设置为4,段落数为在内存加载/存储中,从内存起始地址开始每NF(段落)个连续字节所存储或加载的寄存器组中的位置;设置一个深度为11字节的内存模块用于数据的存储;访存模块中设置32个大小为VLMAX个字节的寄存器组用于存储要存储到内存模块中的数据或者存储从内存模块中加载出的数据。
在执行第一次存储或加载操作,在接收到向量存储/加载指令后,初始地址寄存器所设置的初始地址为[0],因为内存模块的地址最高为[11]又因步长设置为4,所以依据跨步存储的定义如果为加载操作,便将内存模块中地址为[0]、[4]、[8]中的字节数据取出放入寄存器组中的v1的低3字节中;如果为存储操作,则将寄存器组中v1的低位三字节数据存放在内存模块中的[0]、[4]、[8]地址中,存放或者加载结束后,不需等待新的指令信息,而是直接对起始地址进行Start_Address=Start_Address+1的更新操作,并且将加载或者存储地址信息也进行加一的更新操作,之后进行第二次的跨步加载或存储过程。更新后的地址为[1]、[5]、[9],如果为加载操作则将内存模块中地址为[1]、[5]、[9]中的字节数据取出放入寄存器组中的v2的低3字节中;如果为存储操作,则将寄存器组中v2的低位三字节数据存放在内存模块中的[1]、[5]、[9]地址中。将起始地址再进行加1更新,加载或者存储地址信息也进行加一的更新操作,进行继续记载或者存储,重复次数为NF-1次,也就是所设置段落数减一。所述低位三字节为数据中的第0~2字节。
本发明实施例的技术方案至少具有如下优点和有益效果:
1、本发明的地址生成模块配置有队列单元可以进行流水操作,同时兼容三种访存模式:标量跨步访存、自定步长跨步访存和索引访存,在访存时可以选择最适合的访存模式。
2、本发明的地址生成模块放弃了一次读多个寄存器和一次性写多个寄存器指令,在每生成一次地址信息后,访存模块一次性访问内存模块对应地址。因此增加了访存指令定制的灵活性,使其拥有良好的扩展性。
3、本发明可以很好提高指令操作人员的效率,在进行向量操作时,仅仅使用加载或存储指令就可以读取或存储同类型的数据。不需要再使用冗余的循环或多个指令来实现加载或存储同类型的数据,提高了处理效率。
4、本发明在保障通用的访存功能的前提下,添加了向量操作的访存功能,因此也能很好的兼容处理器内其他结构单元的访存需求。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种兼容向量数据的访存系统,其特征在于,包括:定序器、地址生成模块、访存模块和内存模块;
所述定序器用于生成指令译码信息;
所述地址生成模块用于根据指令译码信息,生成总线信息和地址信息;
所述访存模块用于根据总线信息和地址信息,对内存模块进行存储或者加载操作。
2.根据权利要求1所述的兼容向量数据的访存系统,其特征在于,所述地址生成模块包括:接收队列、访存模式判断子模块、标量跨步访存子模块、自定步长跨步访存子模块和索引访存子模块;
所述接收队列用于接收指令译码信息;
所述访存模式判断子模块用于确定指令译码信息在遵循第五代精简指令集的地址访问中的标量跨步访存子模块、自定步长跨步访存子模块或索引访存子模块中执行。
3.根据权利要求2所述的兼容向量数据的访存系统,其特征在于,所述标量跨步访存子模块包括:标量跨步访存总线信息生成单元、标量跨步访存地址生成单元和向量化的标量跨步访存地址生成单元;
所述标量跨步访存总线信息生成单元用于生成总线信息,并根据指令译码信息确定向量化访存方式或者标量访存方式;
在标量访存方式时,选择标量跨步访存地址生成单元根据指令译码信息生成地址信息;
在向量化访存方式时,选择向量化的标量跨步访存地址生成单元根据指令译码信息生成地址信息。
4.根据权利要求2所述的兼容向量数据的访存系统,其特征在于,所述自定步长跨步访存子模块包括:自定步长跨步访存总线信息生成单元、向量化的标量自定步长跨步访存地址生成单元和标量自定步长跨步访存地址生成单元;
所述自定步长跨步访存总线信息生成单元用于生成总线信息,并根据指令译码信息确定向量化访存方式或者标量访存方式;
在标量访存方式时,选择标量自定步长跨步访存地址生成单元根据指令译码信息生成地址信息;
在向量化访存方式时,选择向量化的标量自定步长跨步访存地址生成单元根据指令译码信息生成地址信息。
5.根据权利要求2所述的兼容向量数据的访存系统,其特征在于,所述索引访存子模块包括:索引访存地址生成单元、索引向量化访存总线信息生成单元和索引标量访存总线信息生成单元;
所述索引访存地址生成单元用于根据指令译码信息,生成地址信息,并根据指令译码信息确定向量化访存方式或者标量访存方式;
在向量化访存方式时,选择索引向量化访存总线信息生成单元生成总线信息;
在标量访存方式,选择索引标量访存总线信息生成单元生成总线信息。
6.根据权利要求1~5任一项所述的兼容向量数据的访存系统,其特征在于,所述指令译码信息包括:初始地址寄存器的初始地址、内存模块的深度和步长寄存器的步长。
7.一种兼容向量数据的访存方法,其特征在于,包括:
在访存模块和内存模块根据总线信息接收到向量存储或加载指令后;
在向量存储指令时,根据指令译码信息,采用地址生成模块生成存储地址信息;
根据存储地址信息,将访存模块的寄存器组中数据存入内存模块中;
在向量加载指令时,根据指令译码信息,采用地址生成模块生成加载地址信息;
根据加载地址信息,将内存模块中数据取出放入访存模块的寄存器组中。
8.根据权利要求7所述的兼容向量数据的访存方法,其特征在于,总线信息由地址生成模块根据指令译码信息得到。
9.根据权利要求7所述的兼容向量数据的访存方法,其特征在于,指令译码信息包括:初始地址寄存器的初始地址、内存模块的深度和步长寄存器的步长。
10.根据权利要求9所述的兼容向量数据的访存方法,其特征在于,所述步长寄存器的步长最大为VLMAX-1,其中,VLMAX为寄存器组中单个寄存器能存储的最大字节数。
11.根据权利要求7所述的兼容向量数据的访存方法,其特征在于,所述的访存方法具体包括:
从总线信息中,访存模块和内存模块接收到向量存储指令后,执行步骤A1:
A1、根据存储地址信息和初始地址寄存器的初始地址,将访存模块的寄存器组中字节数据存放入内存模块中;
或者
从总线信息中,访存模块和内存模块接收到向量加载指令后,执行步骤A2:
A2、根据加载地址信息和初始地址寄存器的初始地址,将内存模块中的字节数据放入寄存器组中。
12.根据权利要求11所述的兼容向量数据的访存方法,其特征在于,所述访存方法具体包括:定义i为循环过程的计数量,i的初始值为0;
从总线信息中,访存模块和内存模块接收到向量存储指令后,执行步骤B1:
B1、在初始地址为[i]时,根据存储地址信息,将访存模块的寄存器组中第v(i+1)行的字节数据存放入内存模块中,其中,v(i+1)为寄存器组中寄存器行的编号;
或者
从总线信息中,访存模块和内存模块接收到向量加载指令后,执行步骤B2:
B2、在初始地址为[i]时,根据加载地址信息,将内存模块中的字节数据放入寄存器组中第v(i+1)行的字节中;
B3、i自加1更新,若为向量存储指令,则再一次执行B1,若为向量加载指令,则再一次执行B2,判断i是否等于NF-1,其中,NF为段落数,段落数为内存上连续存储的数据片段,若是,则数据存储或者加载结束,若否,则跳转至步骤B3。
13.根据权利要求12所述的兼容向量数据的访存方法,其特征在于,所述步骤B1具体为:
在初始地址为[i]时,存储地址信息为:[i]、[i+s]、[i+2s]、…、[i+ns],将访存模块的寄存器组中第v(i+1)行的低位三字节数据存放入内存模块中的[i]、[i+s]、[i+2s]、…、[i+ns]地址,其中,[i]、[i+s]、[i+2s]、…、[i+ns]为地址的编号,v(i+1)为寄存器组中寄存器行的编号,s为步长寄存器的步长,n为跨步数。
14.根据权利要求12所述的兼容向量数据的访存方法,其特征在于,所述步骤B2具体为:
在初始地址为[i]时,在加载地址信息为:[i]、[i+s]、[i+2s]、…、[i+ns],将内存模块中的[i]、[i+s]、[i+2s]、…、[i+ns]地址中的字节数据放入寄存器组中第v(i+1)行的低位三字节中,其中,[i]、[i+s]、[i+2s]、…、[i+ns]为地址的编号,v(i+1)为寄存器组中寄存器行的编号,s为步长寄存器的步长,n为跨步数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310070132.0A CN115794671B (zh) | 2023-02-07 | 2023-02-07 | 一种兼容向量数据的访存系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310070132.0A CN115794671B (zh) | 2023-02-07 | 2023-02-07 | 一种兼容向量数据的访存系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115794671A true CN115794671A (zh) | 2023-03-14 |
CN115794671B CN115794671B (zh) | 2023-04-14 |
Family
ID=85430154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310070132.0A Active CN115794671B (zh) | 2023-02-07 | 2023-02-07 | 一种兼容向量数据的访存系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794671B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4910667A (en) * | 1985-02-25 | 1990-03-20 | Hitachi, Ltd. | Vector processor with vector buffer memory for read or write of vector data between vector storage and operation unit |
US5838984A (en) * | 1996-08-19 | 1998-11-17 | Samsung Electronics Co., Ltd. | Single-instruction-multiple-data processing using multiple banks of vector registers |
EP1462931A2 (en) * | 2003-03-28 | 2004-09-29 | Seiko Epson Corporation | Method for referring to address of vector data and vector processor |
CN102279818A (zh) * | 2011-07-28 | 2011-12-14 | 中国人民解放军国防科学技术大学 | 支持有限共享的向量数据访存控制方法及向量存储器 |
CN103294621A (zh) * | 2013-05-08 | 2013-09-11 | 中国人民解放军国防科学技术大学 | 支持数据按模重组的向量访存方法 |
CN105373484A (zh) * | 2014-08-20 | 2016-03-02 | 西安慧泽知识产权运营管理有限公司 | 一种网络通信芯片中内存分配、存储和管理的方法 |
CN108733415A (zh) * | 2018-05-16 | 2018-11-02 | 中国人民解放军国防科技大学 | 支持向量随机访存的方法及装置 |
CN109582594A (zh) * | 2018-12-05 | 2019-04-05 | 北京锐安科技有限公司 | 一种内存地址的管理方法、装置、设备和存储介质 |
CN110825437A (zh) * | 2018-08-10 | 2020-02-21 | 北京百度网讯科技有限公司 | 用于处理数据的方法和装置 |
CN112783555A (zh) * | 2019-11-11 | 2021-05-11 | 深圳市中兴微电子技术有限公司 | 基于risc-v向量扩展指令的编码处理方法及装置、存储介质 |
CN113918883A (zh) * | 2021-11-03 | 2022-01-11 | 海光信息技术股份有限公司 | 数据处理方法、装置以及设备和计算机可读存储介质 |
CN114281755A (zh) * | 2021-12-30 | 2022-04-05 | 中国人民解放军国防科技大学 | 一种面向向量处理器的半精度向量化卷积方法及系统 |
CN114579188A (zh) * | 2022-03-17 | 2022-06-03 | 成都启英泰伦科技有限公司 | 一种risc-v向量访存处理系统及处理方法 |
-
2023
- 2023-02-07 CN CN202310070132.0A patent/CN115794671B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4910667A (en) * | 1985-02-25 | 1990-03-20 | Hitachi, Ltd. | Vector processor with vector buffer memory for read or write of vector data between vector storage and operation unit |
US5838984A (en) * | 1996-08-19 | 1998-11-17 | Samsung Electronics Co., Ltd. | Single-instruction-multiple-data processing using multiple banks of vector registers |
EP1462931A2 (en) * | 2003-03-28 | 2004-09-29 | Seiko Epson Corporation | Method for referring to address of vector data and vector processor |
CN102279818A (zh) * | 2011-07-28 | 2011-12-14 | 中国人民解放军国防科学技术大学 | 支持有限共享的向量数据访存控制方法及向量存储器 |
CN103294621A (zh) * | 2013-05-08 | 2013-09-11 | 中国人民解放军国防科学技术大学 | 支持数据按模重组的向量访存方法 |
CN105373484A (zh) * | 2014-08-20 | 2016-03-02 | 西安慧泽知识产权运营管理有限公司 | 一种网络通信芯片中内存分配、存储和管理的方法 |
CN108733415A (zh) * | 2018-05-16 | 2018-11-02 | 中国人民解放军国防科技大学 | 支持向量随机访存的方法及装置 |
CN110825437A (zh) * | 2018-08-10 | 2020-02-21 | 北京百度网讯科技有限公司 | 用于处理数据的方法和装置 |
CN109582594A (zh) * | 2018-12-05 | 2019-04-05 | 北京锐安科技有限公司 | 一种内存地址的管理方法、装置、设备和存储介质 |
CN112783555A (zh) * | 2019-11-11 | 2021-05-11 | 深圳市中兴微电子技术有限公司 | 基于risc-v向量扩展指令的编码处理方法及装置、存储介质 |
CN113918883A (zh) * | 2021-11-03 | 2022-01-11 | 海光信息技术股份有限公司 | 数据处理方法、装置以及设备和计算机可读存储介质 |
CN114281755A (zh) * | 2021-12-30 | 2022-04-05 | 中国人民解放军国防科技大学 | 一种面向向量处理器的半精度向量化卷积方法及系统 |
CN114579188A (zh) * | 2022-03-17 | 2022-06-03 | 成都启英泰伦科技有限公司 | 一种risc-v向量访存处理系统及处理方法 |
Non-Patent Citations (2)
Title |
---|
CHEN CHEN等: "Xuantie-910: A Commercial Multi-Core 12-Stage Pipeline Out-of-Order 64-bit High Performance RISC-V Processor with Vector Extension : Industrial Product" * |
陈海燕 等: "GSVM:一种支持Gather/Scatter的向量存储器" * |
Also Published As
Publication number | Publication date |
---|---|
CN115794671B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4449184A (en) | Extended address, single and multiple bit microprocessor | |
US7984273B2 (en) | System and method for using a mask register to track progress of gathering elements from memory | |
US4361868A (en) | Device for increasing the length of a logic computer address | |
KR101581177B1 (ko) | 단일 명령 다중 데이터(simd)데이터 처리기에서 확장된 어드레싱 모드들의 제공 | |
US6813701B1 (en) | Method and apparatus for transferring vector data between memory and a register file | |
US7610469B2 (en) | Vector transfer system for packing dis-contiguous vector elements together into a single bus transfer | |
JPH0636515B2 (ja) | 通信プロセッサ装置 | |
GB1579061A (en) | Random access memory modules for digital data processing systems | |
KR20080059106A (ko) | 프로세서에서의 마스킹된 저장 동작들을 위한 시스템 및방법 | |
US20120254542A1 (en) | Gather cache architecture | |
JP2001216194A (ja) | 演算処理装置 | |
CN113254073B (zh) | 数据处理方法及装置 | |
EP4152146A1 (en) | Data processing method and device, and storage medium | |
US6978358B2 (en) | Executing stack-based instructions within a data processing apparatus arranged to apply operations to data items stored in registers | |
EP2689325B1 (en) | Processor system with predicate register, computer system, method for managing predicates and computer program product | |
CN115794671B (zh) | 一种兼容向量数据的访存系统及方法 | |
EP0649090A1 (en) | Microprocessor having register bank architecture | |
US7111127B2 (en) | System for supporting unlimited consecutive data stores into a cache memory | |
CN103765378A (zh) | 2d收集指令和2d高速缓存 | |
US7159078B2 (en) | Computer system embedding sequential buffers therein for performing a digital signal processing data access operation and a method thereof | |
KR100861896B1 (ko) | 데이터 프로세싱 장치 및 데이터 프로세싱 방법 | |
WO2022134426A1 (zh) | 可重构处理器中的指令分发方法、系统以及存储介质 | |
CN110018847A (zh) | 可配置寄存器及基于可配置寄存器的数据存取方法 | |
JP3211423B2 (ja) | 分岐命令実行方法および分岐命令実行装置 | |
CN115827063B (zh) | 一种基于Fill Constant指令的写存储系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |