可配置寄存器及基于可配置寄存器的数据存取方法技术

技术编号:21627266 阅读:27 留言:0更新日期:2019-07-17 10:35
本发明专利技术提供了一种可配置寄存器及基于可配置寄存器的数据存取方法,其包括:寄存器堆、多个可配置端口以及离散地址缓存寄存器;寄存器堆包括用于存储待访问的向量数据的多个向量数据寄存器以及用于对外部输入的控制指令进行译码以执行控制指令的译码器;可配置端口包括数个读端口以及数个写端口,用于根据控制指令中的第一地址配置信息对预设参数进行配置,生成第一数据访存地址并对其进行缓存;以及从离散地址缓存寄存器中获取第二地址配置信息并计算第二数据访存地址,并根据第二数据访存地址去寄存器堆中读取/写入对应的离散数据;离散地址缓存寄存器包括至少一个读地址寄存器及至少一个写地址寄存器,用于缓存控制指令中的第二地址配置信息。

Configurable Register and Data Access Method Based on Configurable Register

【技术实现步骤摘要】
可配置寄存器及基于可配置寄存器的数据存取方法
本专利技术涉及处理器领域,具体涉及一种可配置寄存器及基于可配置寄存器的数据存取方法。
技术介绍
数字信号算法中的矩阵、向量、变换类运算已占据非常核心的地位,异构多核向量型处理器是从DSP(DigitalSignalProcessor,数字信号处理器)指令系统和体系结构上进行优化设计而来,针对阵列信号处理的处理器,其具有很多与DSP类似的特点。因其经常针对高密集型数据进行处理,且处理速度快,数据访问地址频繁地改变,地址计算需要和数据运算处理相互独立,以减轻运算单元的压力。为此需要设计高性能的地址产生部件来实现信号处理和地址计算并行,以提高功能部件的并行性和流水线的效率,从而提高处理器的性能。现有的地址产生部件虽然能够支持向量地址的访问,但是对于读写有规律的源数据而言,目前还需要通过固定索引的方法读取/写入数据,这不仅会因为需要设置过多数量指令进而给程序员造成负担,还会影响DSP的指令存取并影响计算效率,对于离散确有相对固定模式的地址访问也无法进行高效的支持,给数据处理过程造成诸多不便。
技术实现思路
本专利技术的目的是针对现有技术的缺陷,提供了一种可配置寄存器及基于可配置寄存器的数据存取方法。根据本专利技术的一个方面,提供了一种可配置寄存器,包括:寄存器堆、多个可配置端口以及离散地址缓存寄存器;其中,寄存器堆包括多个向量数据寄存器以及译码器,向量数据寄存器用于存储待访问的向量数据;译码器用于对外部输入的控制指令进行译码以执行控制指令;其中,控制指令包括:根据预设读写规律设置的第一地址配置信息或为离散数据设置的第二地址配置信息;可配置端口包括:数个读端口以及数个写端口;读端口/写端口用于根据控制指令中的第一地址配置信息对预设参数进行配置,生成对应的第一数据访存地址,并将第一数据访存地址进行缓存,以供根据从缓存中读取的第一数据访存地址去寄存器堆中读取/写入对应的访存数据;以及从离散地址缓存寄存器中获取第二地址配置信息并计算对应的第二数据访存地址,并根据第二数据访存地址去寄存器堆中读取/写入对应的离散数据;离散地址缓存寄存器包括:至少一个读地址寄存器以及至少一个写地址寄存器;读地址寄存器/写地址寄存器用于缓存控制指令中的第二地址配置信息,以供可配置端口从缓存中读取的第二地址配置信息并计算对应的第二数据访存地址。可选地,可配置端口进一步包括:地址产生器,用于根据控制指令中的第一地址配置信息对预设的地址变量参数及地址指令参数进行配置,以生成对应的地址偏移,并根据地址偏移生成第一数据访存地址;内部寄存器,用于对第一数据访存地址进行缓存,以供根据从缓存中读取的第一数据访存地址去寄存器堆中读取/写入对应的访存数据。可选地,地址产生器包括:确定单元,用于根据对地址指令参数的配置结果确定对应的地址偏移运算规则以及地址运算规则;运算单元,用于根据地址偏移运算规则以及地址运算规则对预设地址变量参数进行运算,生成对应的地址偏移以及第一数据访存地址。可选地,地址变量参数包括:I窗口起始地址参数、I窗口内步进长度参数、I窗口大小参数、I窗口内偏移参数、S窗口起始地址参数、S窗口内步进长度参数、S窗口大小参数、以及S窗口内偏移参数。可选地,控制指令进一步包括:用于计算第二数据访存地址的移位命令选项以及索引标记命令选项;地址指令参数包括S++、I++以及A++中的一个或多个。根据本专利技术的另一个方面,提供了一种基于可配置寄存器的数据存取方法,包括:接收外部输入的控制指令;其中,控制指令中包括预先配置的第一地址配置信息和第二地址配置信息;根据控制指令中的第一地址配置信息对预设的地址变量参数以及地址指令参数进行配置,并根据配置结果计算第一数据访存地址;其中,第一地址配置信息为根据预设读写规律设置的地址配置信息;以及,根据控制指令中的第二地址配置信息计算第二数据访存地址;其中,第二地址配置信息为离散数据的地址配置信息;根据第一数据访存地址或第二数据访存地址去寄存器堆中读取对应数据。可选地,根据配置结果生成对应的地址偏移及第一数据访存地址的步骤具体包括:根据配置结果确定对应的地址偏移运算规则以及地址运算规则;根据偏移运算规则以及地址运算规则对地址变量参数进行运算,生成对应的地址偏移以及第一数据访存地址或第二数据访存地址。可选地,地址变量参数包括:I窗口起始地址参数、I窗口内步进长度参数、I窗口大小参数、I窗口内偏移参数、S窗口起始地址参数、S窗口内步进长度参数、S窗口大小参数、以及S窗口内偏移参数。可选地,控制指令进一步包括:用于计算第二数据访存地址的移位命令选项以及索引标记命令选项;地址指令参数包括S++、I++以及A++中的一个或多个。由此可见,在本专利技术提供的一种可配置寄存器及基于可配置寄存器的数据存取方法中,能够根据外部控制指令中配置的预设参数灵活定义数据及指令的读写数顺序并自动计算数据的读写地址,有效减少了读写数据的指令长度以及指令数量,减轻了程序员编写指令的负担,提升了数据的读写效率;同时,本专利技术还进一步支持离散地址变换,能够根据预先配置的离散地址信息自动读取/写入离散数据,以支持多种地址的访存模式。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明图1为本专利技术一实施例提供的一种可配置寄存器的整体结构示意图;图2为本专利技术另一实施例提供的一种可配置寄存器的整体结构示意图;图3为本专利技术另一实施例提供的离散数据的存储分布示意图;图4为本专利技术一实施例提供的一种基于可配置寄存器的数据存取方法的流程图;图5为本专利技术另一实施例提供的一种基于可配置寄存器的数据存取方法的流程图。具体实施方式为充分了解本专利技术之目的、特征及功效,借由下述具体的实施方式,对本专利技术做详细说明,但本专利技术并不仅仅限于此。图1为本专利技术一实施例提供的一种可配置寄存器的整体结构示意图。如图1所示,本实施例中的可配置寄存器包括:寄存器堆、多个可配置端口以及离散地址缓存寄存器。其中,寄存器堆包括多个向量数据寄存器(对应图1中的编号R[0]、R[1]、R[2]、R[3]…R[63])以及译码器(图中未示出)。具体地,向量数据寄存器用于存储待访问的向量数据;译码器用于对外部输入的控制指令进行译码以执行该控制指令。其中,上述控制指令包括:根据预设读写规律设置的第一地址配置信息或为离散数据设置的第二地址配置信息。具体实施中,很多通信、图像领域算法的源数据往往具有一定的读写规律,上述预设读写规律即根据通信、图像领域算法的源数据的读写规律所对应设置的预设读写规律。第一地址配置信息以及第二地址配置信息中包含多个待配置的参数值,用于对可配置端口中设置的多个预设参数进行配置。在执行控制指令时,寄存器堆根据译码结果将控制指令发送给对应的可配置端口。可配置端口包括:数个读端口以及数个写端口。具体实施中,读端口及写端口的数量可以由本领域技术人员根据实际情况进行设置,本专利技术对此不作限定。其中,每个读端口以及写端口中都设置有预设参数,读端口以及写端口在接收控制指令后,根据控制指令中的第一地址配置信息对预设参数的参数值进行配置,以根本文档来自技高网...

【技术保护点】
1.一种可配置寄存器,其特征在于,包括:寄存器堆、多个可配置端口以及离散地址缓存寄存器;其中,所述寄存器堆包括多个向量数据寄存器以及译码器,所述向量数据寄存器用于存储待访问的向量数据;所述译码器用于对外部输入的控制指令进行译码以执行所述控制指令;其中,所述控制指令包括:根据预设读写规律设置的第一地址配置信息或为离散数据设置的第二地址配置信息;所述可配置端口包括:数个读端口以及数个写端口;所述读端口/写端口用于根据所述控制指令中的第一地址配置信息对预设参数进行配置,生成对应的第一数据访存地址,并将所述第一数据访存地址进行缓存,以供根据从所述缓存中读取的第一数据访存地址去寄存器堆中读取/写入对应的访存数据;以及从所述离散地址缓存寄存器中获取第二地址配置信息并计算对应的第二数据访存地址,并根据所述第二数据访存地址去寄存器堆中读取/写入对应的离散数据;所述离散地址缓存寄存器包括:至少一个读地址寄存器以及至少一个写地址寄存器;所述读地址寄存器/写地址寄存器用于缓存所述控制指令中的第二地址配置信息,以供所述可配置端口从所述缓存中读取所述第二地址配置信息并计算对应的第二数据访存地址。

【技术特征摘要】
1.一种可配置寄存器,其特征在于,包括:寄存器堆、多个可配置端口以及离散地址缓存寄存器;其中,所述寄存器堆包括多个向量数据寄存器以及译码器,所述向量数据寄存器用于存储待访问的向量数据;所述译码器用于对外部输入的控制指令进行译码以执行所述控制指令;其中,所述控制指令包括:根据预设读写规律设置的第一地址配置信息或为离散数据设置的第二地址配置信息;所述可配置端口包括:数个读端口以及数个写端口;所述读端口/写端口用于根据所述控制指令中的第一地址配置信息对预设参数进行配置,生成对应的第一数据访存地址,并将所述第一数据访存地址进行缓存,以供根据从所述缓存中读取的第一数据访存地址去寄存器堆中读取/写入对应的访存数据;以及从所述离散地址缓存寄存器中获取第二地址配置信息并计算对应的第二数据访存地址,并根据所述第二数据访存地址去寄存器堆中读取/写入对应的离散数据;所述离散地址缓存寄存器包括:至少一个读地址寄存器以及至少一个写地址寄存器;所述读地址寄存器/写地址寄存器用于缓存所述控制指令中的第二地址配置信息,以供所述可配置端口从所述缓存中读取所述第二地址配置信息并计算对应的第二数据访存地址。2.根据权利要求1所述的可配置寄存器,其特征在于,所述可配置端口进一步包括:地址产生器,用于根据所述控制指令中的第一地址配置信息对预设的地址变量参数及地址指令参数进行配置,以生成对应的地址偏移,并根据所述地址偏移生成第一数据访存地址;内部寄存器,用于对所述第一数据访存地址进行缓存,以供根据从所述缓存中读取的第一数据访存地址去寄存器堆中读取/写入对应的访存数据。3.根据权利要求2所述的可配置寄存器,其特征在于,所述地址产生器包括:确定单元,用于根据对地址指令参数的配置结果确定对应的地址偏移运算规则以及地址运算规则;运算单元,用于根据所述地址偏移运算规则以及所述地址运算规则对所述预设地址变量参数进行运算,生成对应的地址偏移以及第一数据...

【专利技术属性】
技术研发人员:郭阳杨磊李桓
申请(专利权)人:北京思朗科技有限责任公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1