CN101339545A - 一种寄存器配置方法和装置 - Google Patents
一种寄存器配置方法和装置 Download PDFInfo
- Publication number
- CN101339545A CN101339545A CNA2008101472413A CN200810147241A CN101339545A CN 101339545 A CN101339545 A CN 101339545A CN A2008101472413 A CNA2008101472413 A CN A2008101472413A CN 200810147241 A CN200810147241 A CN 200810147241A CN 101339545 A CN101339545 A CN 101339545A
- Authority
- CN
- China
- Prior art keywords
- present node
- node
- register
- read
- needs
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种寄存器配置方法,包括以下步骤:根据链表中当前节点的更新标识计算当前节点中需要读取的数据量,所述更新标识用于指示所述节点中的各个寄存器是否需要更新;根据当前节点中需要读取的数据量获得当前节点信息,所述当前节点信息包括需要更新的寄存器的配置值;根据当前节点信息更新所述节点中需要更新的寄存器。本发明实施例优化了寄存器配置的方法,减少了对CPU资源和寄存器空间的占用。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种寄存器配置方法和装置。
背景技术
随着芯片复杂度的提高,芯片的功能也越来越丰富,为了支持更多功能,芯片中需要添加许多用来支持这些功能的寄存器。寄存器的增加提高了芯片的性能,但也对软件电路的设计提出了更高的要求,如降低软件和硬件的复杂度,并尽量减少配置的时间等。
针对传统的寄存器配置方法中,寄存器数量多,刷新频率高时,每次请求数据都需要CPU(Central Processing Unit,中央处理器)参与,从而大量占用CPU资源的缺点,现有技术将链表结构引入到寄存器配置中。根据需求,每个链表可以设置N个节点,每个节点包括下一节点地址和功能模块中所有的寄存器所要配置的数值。
如图1所示,为现有技术中的寄存器配置方法流程图,包括以下步骤:
步骤101,创建执行寄存器配置功能的链表。
步骤102,配置链表首地址寄存器。
步骤103,根据链表首地址寄存器自动读取链表节点,完成本节点的操作。
本节点的操作包括三部分:将下一节点的地址保存在链表首地址寄存器中;更新所有寄存器;完成本节点指示的功能处理。
步骤104,根据更新后的链表首地址寄存器完成节点的操作,直到链表的最后一个节点。
下一节点地址数据为零来指示此节点为链表的最后一个节点。
步骤105,发送中断通知CPU可以进行新的链表操作。
发明人在实现本发明的过程中,发现现有技术至少存在如下问题:链表每一个节点包括所有的寄存器数据,每读取一个节点,不论某些寄存器是否需要保留原值,所有寄存器都将更新,造成了读取寄存器周期较长,且不需要更新的寄存器数据也要存储在存储器中,浪费了存储器空间。
发明内容
本发明实施例提供一种寄存器配置方法和装置,减少了寄存器配置时对存储器空间的占用。
本发明实施例一方面提出一种寄存器配置方法,包括以下步骤:
根据链表中当前节点的更新标识计算当前节点中需要读取的数据量,所述更新标识用于指示所述节点中的各个寄存器是否需要更新;
根据当前节点中需要读取的数据量获得当前节点信息,所述当前节点信息包括需要更新的寄存器的配置值;
根据当前节点信息更新所述节点中需要更新的寄存器。
另一方面,本发明实施例还提出一种寄存器配置装置,包括:
运算模块,用于根据链表中当前节点的更新标识计算当前节点中需要读取的数据量,所述更新标识用于指示所述节点中的各个寄存器是否需要更新;
读取模块,用于根据所述运算模块得到的当前节点中需要读取的数据量获得当前节点信息,所述当前节点信息包括需要更新的寄存器的配置值;
更新模块,用于根据所述读取模块获取的所述当前节点信息更新所述节点中需要更新的寄存器。
本发明实施例的技术方案具有以下优点,因为在寄存器配置链表中引入了更新标识,删减了不需要更新的寄存器数据,优化了寄存器配置的方法,对于不需要更新的寄存器,不再存储数据和重复读取,从而,减少了对存储器空间的占用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的寄存器配置方法流程图;
图2为本发明实施例中的寄存器配置方法流程图;
图3为本发明实施例中寄存器配置的一种具体实现方式流程图;
图4为本发明实施例中的一种链表结构示意图;
图5为本发明实施例中寄存器配置的另一种具体实现方式流程图;
图6为本发明实施例中的另一种链表结构示意图;
图7为本发明实施例中的寄存器配置装置结构图;
图8为本发明实施例中寄存器配置装置的一种具体结构图;
图9为本发明实施例中寄存器配置装置的另一种具体结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,为本发明实施例中的寄存器配置方法流程图,包括以下步骤:
步骤201,根据链表中当前节点的更新标识计算当前节点中需要读取的数据量。
更新标识用于指示节点中的各个寄存器是否需要更新。更新标识可以是由0和1组成的N位序列,0代表寄存器不需要更新,1代表寄存器需要更新。更新标识中的N位序列的累加值,就等于当前节点需要更新的寄存器数量,也就是当前节点中需要读取的数据量。
链表的当前节点中需要读取的数据n的计算方法如下:
n=bit[0]+bit[1]+bit[2]+bit[3]+......+bit[n]
其中,bit[N]表示当前节点的更新标识的第N位值。
步骤202,根据当前节点中需要读取的数据量获得当前节点信息。
根据当前节点中需要读取的数据量,可以获得当前节点的信息,当前节点信息包括需要更新的寄存器的配置值。
步骤203,根据当前节点信息更新节点中需要更新的寄存器。
根据链表当前节点信息可以实现对寄存器的配置,将节点中需要更新的寄存器的值,更新为当前节点信息中的配置值,并进行当前节点指示的功能处理,完成当前节点的操作。当前节点信息中还包括链表下一节点的地址,完成当前节点的操作后,可以根据下一节点的地址读取下一节点的信息,进行与当前节点相同的操作。如此反复,一直读取到链表的最后一个节点,完成最后一个节点指示的数据配置和功能处理。链表最后一个节点中的下一节点地址为零,用于指示此节点为链表的最后一个节点。
本发明实施例的技术方案具有以下优点,因为在寄存器配置链表中引入了更新标识,删减了不需要更新的寄存器数据,优化了寄存器配置的方法,对于不需要更新的寄存器,不再存储数据和重复读取,减少了对存储器空间的占用。
如图3所示,为本发明实施例中寄存器配置的一种具体实现方式流程图,该具体实现方式适用于寄存器配置任务已知的情况,即在获得链表当前节点信息之前,已经获取了当前节点的更新标识,当前节点信息中包括下一节点的更新标识。该具体实现方式包括以下步骤:
步骤301,创建执行寄存器配置功能的链表。
执行寄存器配置功能的链表由若干个节点构成,如图4所示,为本发明实施例中的一种链表结构示意图,链表节点包括三个部分:下一节点地址401、下一节点的更新标识402和寄存器阵列中需要更新的寄存器的配置值403。
步骤302,通过CPU配置链表的首地址和链表首个节点的更新标识。
链表的首地址可以由CPU完成配置,存储在首地址寄存器中。链表节点的更新标识对寄存器阵列中的每个寄存器都有相应的标识,指示其是否需要更新。链表首个节点的更新标识可以由CPU完成配置,存储在更新标识寄存器中。
值得说明的是,链表也可以事先创建并配置好首个节点的信息,这样的话,步骤301、302就不是必须的了。
步骤303,根据链表中当前节点的更新标识计算当前节点中需要读取的数据量。
更新标识可以是由0和1组成的N位序列,0代表寄存器不需要更新,1代表寄存器需要更新。更新标识中的N位序列的累加值,就等于当前节点需要更新的寄存器数量,也就是当前节点中需要读取的数据量。
链表的当前节点中需要读取的数据n的计算方法如下:
n=bit[0]+bit[1]+bit[2]+bit[3]+......+bit[n]
其中,bit[N]表示当前节点的更新标识的第N位值。
步骤304,根据当前节点中需要读取的数据量获得当前节点信息。
根据当前节点中需要读取的数据量,可以获得当前节点的信息,当前节点信息包括需要更新的寄存器的配置值。
步骤305,根据当前节点信息更新节点中需要更新的寄存器。
根据链表当前节点信息可以实现对寄存器的配置,将节点中需要更新的寄存器的值,更新为当前节点信息中的配置值,并进行当前节点指示的功能处理,完成当前节点的操作。
步骤306,获得下一节点的更新标识。
链表的每个节点中都包括下一节点的更新标识。读取链表的一个节点后,将该节点中的下一节点的更新标识存储到更新标识寄存器中,以读取链表的下一节点。
步骤307,根据下一节点的更新标识计算下一节点中需要读取的数据量。
链表下一节点中需要读取的数据n的计算方法如下:
n=bit[0]+bit[1]+bit[2]+bit[3]+......+bit[n]
bit[N]表示链表下一节点的更新标识的第N位值。
步骤308,根据下一节点中需要读取的数据量读取链表的下一节点信息。
链表当前节点信息中还包括链表下一节点的地址,可以根据下一节点中需要读取的数据量和下一节点的地址读取下一节点的信息。
步骤309,根据链表的下一节点信息更新下一节点需要更新的寄存器。
根据链表下一节点信息可以实现对寄存器的配置,将节点中需要更新的寄存器的值,更新为下一节点信息中的配置值,并进行下一节点指示的功能处理。
每读取链表的一个节点的信息后,都会进行与读取链表首个节点的信息后相同的操作,即存储链表下一节点地址和链表下一节点的更新标识,计算下一节点需要读取的数据量,完成本节点指示的数据配置和功能处理。
如此反复,一直读取到链表的最后一个节点,完成最后一个节点指示的数据配置和功能处理。最后一个节点中的下一节点地址为零,用于指示此节点为链表的最后一个节点。
在完成本链表的操作后,可以向CPU发送中断信号,通知CPU可以进行新的链表操作。
本发明实施例的技术方案具有以下优点,因为在寄存器配置链表中引入了更新标识,删减了不需要更新的寄存器数据,优化了寄存器配置的方法,对于不需要更新的寄存器,不再存储数据和重复读取,减少了对存储器空间的占用。
如图5所示,为本发明实施例中寄存器配置的另一种具体实现方式流程图,该具体实现方式适用于寄存器配置任务未知的情况,即只有在获得链表当前节点信息之后,才能获取当前节点的更新标识,当前节点信息中包括当前节点的更新标识,但不包括下一节点的更新标识。该具体实现方式包括以下步骤:
步骤501,创建执行寄存器配置功能的链表。
如图6所示,为本发明实施例中的另一种链表结构示意图,执行寄存器配置功能的链表由若干个节点构成,链表节点包括三个部分:下一节点地址601、当前节点的更新标识602和寄存器阵列中需要更新的寄存器的配置值603。当前节点的更新标识602对寄存器阵列中的每个寄存器都有相应的标识,指示其是否需要更新。
步骤502,通过CPU配置链表的首地址。
链表的首地址可以由CPU完成配置,存储在首地址寄存器中。
值得说明的是,链表也可以事先创建并配置好首个节点的信息,这样的话,步骤501、502就不是必须的了。
步骤503,获得当前节点的预测读取数据量。
链表节点的预测读取数据量,是在下一个配置任务的处理方法未知的情况下,对链表节点需要读取的数据量的预测。链表首个节点的预测读取数据量可以由CPU完成配置。
步骤504,根据当前节点的预测读取数据量读取当前节点信息,并从当前节点信息中获得当前节点的更新标识。
步骤505,根据步骤504读取的当前节点信息中的更新标识计算当前节点需要读取的数据量。
根据当前节点的预测读取数据量读取的当前节点信息中包括当前节点的更新标识,更新标识可以是由0和1组成的N位序列,0代表寄存器不需要更新,1代表寄存器需要更新。更新标识中的N位序列的累加值,就等于当前节点需要更新的寄存器数量,也就是当前节点中需要读取的数据量。
链表的当前节点中需要读取的数据n的计算方法如下:
n=bit[0]+bit[1]+bit[2]+bit[3]+......+bit[n]
其中,bit[N]表示当前节点的更新标识的第N位值。
步骤506,比较当前节点需要读取的数据量与当前节点的预测读取数据量之间的大小关系,如果当前节点需要读取的数据量大于当前节点的预测读取数据量,则执行步骤507;如果当前节点需要读取的数据量小于当前节点的预测读取数据量,则执行步骤508。
步骤507,读取当前节点需要读取的数据量与当前节点的预测读取数据量之间的差值数据,获得当前节点信息。
当前节点信息中包括预测读取数据量,还有当前节点需要读取的数据量与当前节点的预测读取数据量之间的差值数据。这里的差值数据表示,如果预测的数据量比实际需要的数据量小的话,说明步骤504获得的预测数据量还不够,需要再获取缺少的部分数据,也就是当前节点需要读取的数据量与当前节点的预测读取数据量之间的差值数据。
步骤508,丢弃当前节点需要读取的数据量与首个节点预测读取数据量之间的差值数据,得到实际需要的当前节点信息。
与步骤507不同的是,这个步骤中,在得知步骤504获得的预测数据量多于实际需要的数据量时,需要把多出来的部分舍弃,即丢弃当前节点需要读取的数据量与首个节点预测读取数据量之间的差值数据,得到实际需要的当前节点信息。同理,当前节点信息中包括需要更新的寄存器的配置值,用于更新对应的寄存器。
步骤509,根据步骤507或步骤508获取的实际的当前节点信息更新节点中需要更新的寄存器。
根据链表当前节点信息可以实现对寄存器的配置,将节点中需要更新的寄存器的值,更新为当前节点信息中的配置值,并进行当前节点指示的功能处理,完成当前节点的操作。
步骤510,获得下一节点的预测读取数据量并根据下一节点的预测读取数据量读取下一节点信息,再根据下一节点信息完成下一节点的操作。
寄存器配置装置每读取链表的一个节点的信息后,都会进行与读取链表首个节点的信息后相同的操作,即计算当前节点需要读取的数据量,比较预测读取数据量与需要读取的数据量之间的大小关系,根据大小关系决定继续读取链表数据还是丢弃部分链表数据,根据读取的链表信息完成本节点指示的数据配置和功能处理。
如此反复,一直读取到链表的最后一个节点,完成最后一个节点指示的数据配置和功能处理。最后一个节点中的下一节点地址为零,用于指示此节点为链表的最后一个节点。
在完成本链表的操作后,可以向CPU发送中断信号,通知CPU可以进行新的链表操作。
本发明实施例的技术方案具有以下优点,因为在寄存器配置链表中引入了更新标识,删减了不需要更新的寄存器数据,优化了寄存器配置的方法,对于不需要更新的寄存器,不再存储数据和重复读取,减少了对存储器空间的占用。
如图7所示,为本发明实施例中的寄存器配置装置结构图,包括:
运算模块701,用于根据链表中当前节点的更新标识计算当前节点中需要读取的数据量。
更新标识用于指示节点中的各个寄存器是否需要更新。更新标识可以是由0和1组成的N位序列,0代表寄存器不需要更新,1代表寄存器需要更新。更新标识中的N位序列的累加值,就等于当前节点需要更新的寄存器数量,也就是当前节点中需要读取的数据量。
链表的当前节点中需要读取的数据n的计算方法如下:
n=bit[0]+bit[1]+bit[2]+bit[3]+......+bit[n]
其中,bit[N]表示当前节点的更新标识的第N位值。
读取模块702,用于根据运算模块701得到的当前节点中需要读取的数据量获得当前节点信息。
根据当前节点中需要读取的数据量,可以获得当前节点的信息,当前节点信息包括需要更新的寄存器的配置值。
更新模块703,用于根据读取模块702获取的当前节点信息更新节点中需要更新的寄存器。
根据链表当前节点信息可以实现对寄存器的配置,将节点中需要更新的寄存器的值,更新为当前节点信息中的配置值,并进行当前节点指示的功能处理,完成当前节点的操作。当前节点信息中还包括链表下一节点的地址,完成当前节点的操作后,可以根据下一节点的地址读取下一节点的信息,进行与当前节点相同的操作。如此反复,一直读取到链表的最后一个节点,完成最后一个节点指示的数据配置和功能处理。链表最后一个节点中的下一节点地址为零,用于指示此节点为链表的最后一个节点。
本发明实施例的技术方案具有以下优点,因为在寄存器配置链表中引入了更新标识,删减了不需要更新的寄存器数据,优化了寄存器配置的方法,对于不需要更新的寄存器,不再存储数据和重复读取,减少了对存储器空间的占用。
如图8所示,为本发明实施例中寄存器配置装置的一种具体结构图,该装置适用于寄存器配置任务已知的情况,即在获得链表当前节点信息之前,已经获取了当前节点的更新标识,当前节点信息中包括下一节点的更新标识。该装置包括:
运算模块801,用于根据链表中当前节点的更新标识计算当前节点中需要读取的数据量。
更新标识用于指示节点中的各个寄存器是否需要更新。更新标识可以是由0和1组成的N位序列,0代表寄存器不需要更新,1代表寄存器需要更新。更新标识中的N位序列的累加值,就等于当前节点需要更新的寄存器数量,也就是当前节点中需要读取的数据量。
链表的当前节点中需要读取的数据n的计算方法如下:
n=bit[0]+bit[1]+bit[2]+bit[3]+......+bit[n]
其中,bit[N]表示当前节点的更新标识的第N位值。
读取模块802,用于根据运算模块801得到的当前节点中需要读取的数据量获得当前节点信息。
根据当前节点中需要读取的数据量,可以获得当前节点的信息,当前节点信息包括需要更新的寄存器的配置值。
更新模块803,用于根据读取模块802获取的当前节点信息更新节点中需要更新的寄存器。
根据链表当前节点信息可以实现对寄存器的配置,将节点中需要更新的寄存器的值,更新为当前节点信息中的配置值,并进行当前节点指示的功能处理,完成当前节点的操作。
该装置还可以包括:
获取模块804,用于获得下一节点的更新标识。
当前节点信息还包括链表中的下一节点的更新标识,获取模块804用于获得该下一节点的更新标识。
运算模块801,还用于根据获取模块804获得的下一节点的更新标识计算所述下一节点中需要读取的数据量;读取模块802,还用于根据运算模块801得到的下一节点中需要读取的数据量读取链表的下一节点信息;更新模块803,还用于根据读取模块802读取的链表的下一节点信息更新下一节点需要更新的寄存器。
当前节点信息中还包括链表下一节点的地址,完成当前节点的操作后,可以根据下一节点的地址读取下一节点的信息,进行与当前节点相同的操作。如此反复,一直读取到链表的最后一个节点,完成最后一个节点指示的数据配置和功能处理。链表最后一个节点中的下一节点地址为零,用于指示此节点为链表的最后一个节点。
进一步地,该装置还可以包括:
通知模块805,用于通知CPU可以进行新的链表操作。
在更新模块803完成本链表的操作后,通知模块805可以向CPU发送中断信号,通知CPU可以进行新的链表操作。
本发明实施例的技术方案具有以下优点,因为在寄存器配置链表中引入了更新标识,删减了不需要更新的寄存器数据,优化了寄存器配置的方法,对于不需要更新的寄存器,不再存储数据和重复读取,减少了对存储器空间的占用。
如图9所示,为本发明实施例中寄存器配置装置的另一种具体结构图,该装置适用于寄存器配置任务未知的情况,即只有在获得链表当前节点信息之后,才能获取当前节点的更新标识,当前节点信息中包括当前节点的更新标识,但不包括下一节点的更新标识。该装置包括:
运算模块910,用于根据链表中当前节点的更新标识计算当前节点中需要读取的数据量。
更新标识用于指示节点中的各个寄存器是否需要更新。更新标识可以是由0和1组成的N位序列,0代表寄存器不需要更新,1代表寄存器需要更新。更新标识中的N位序列的累加值,就等于当前节点需要更新的寄存器数量,也就是当前节点中需要读取的数据量。
链表的当前节点中需要读取的数据n的计算方法如下:
n=bit[0]+bit[1]+bit[2]+bit[3]+......+bit[n]
其中,bit[N]表示当前节点的更新标识的第N位值。
读取模块920,用于根据运算模块910得到的当前节点中需要读取的数据量获得当前节点信息。
根据当前节点中需要读取的数据量,可以获得当前节点的信息,当前节点信息包括需要更新的寄存器的配置值。
更新模块930,用于根据读取模块920获取的当前节点信息更新节点中需要更新的寄存器。
根据链表当前节点信息可以实现对寄存器的配置,将节点中需要更新的寄存器的值,更新为当前节点信息中的配置值,并进行当前节点指示的功能处理,完成当前节点的操作。
该装置还可以包括:
预测模块940,用于获得当前节点的预测读取数据量。
链表节点的预测读取数据量,是在下一个配置任务的处理方法未知的情况下,对链表节点需要读取的数据量的预测。链表首个节点的预测读取数据量可以由CPU完成配置。
预读模块950,用于根据预测模块940获得的当前节点的预测读取数据量读取当前节点信息,并从当前节点信息中获得当前节点的更新标识。
预读模块950读取的当前节点信息包括当前节点的更新标识,更新标识用于指示节点中的各个寄存器是否需要更新,供运算模块910使用。
读取模块920包括:
比较单元921,用于比较当前节点需要读取的数据量与当前节点的预测读取数据量之间的大小关系。
获取单元922,用于在比较模块921比较当前节点需要读取的数据量大于当前节点的预测读取数据量后,读取当前节点需要读取的数据量与当前节点的预测读取数据量之间的差值数据,获得当前节点信息。当前节点信息包括预测读取数据量,还有当前节点需要读取的数据量与当前节点的预测读取数据量之间的差值数据,以及需要更新的寄存器的配置值。这里的差值数据表示,如果预测的数据量比实际需要的数据量小的话,说明预读模块950获得的预测数据量还不够,需要再获取缺少的部分数据,也就是当前节点需要读取的数据量与当前节点的预测读取数据量之间的差值数据。
获取单元922,还可以用于在比较单元921比较当前节点需要读取的数据量小于所述节点的预测读取数据量后,丢弃当前节点需要读取的数据量与首个节点预测读取数据量之间的差值数据,得到实际需要的当前节点信息。
在比较单元921比较获得的预测数据量多于实际需要的数据量后,需要由获取单元922把多出来的部分舍弃,即丢弃当前节点需要读取的数据量与首个节点预测读取数据量之间的差值数据,得到实际需要的当前节点信息。同理,当前节点信息中包括需要更新的寄存器的配置值,用于更新对应的寄存器。
当前节点信息中还包括链表下一节点的地址,完成当前节点的操作后,可以根据下一节点的地址读取下一节点的信息,进行与当前节点相同的操作。如此反复,一直读取到链表的最后一个节点,完成最后一个节点指示的数据配置和功能处理。链表最后一个节点中的下一节点地址为零,用于指示此节点为链表的最后一个节点。
进一步地,该装置还可以包括:
通知模块960,用于通知CPU可以进行新的链表操作。
在更新模块930完成本链表的操作后,通知模块960可以向CPU发送中断信号,通知CPU可以进行新的链表操作。
本发明实施例的技术方案具有以下优点,因为在寄存器配置链表中引入了更新标识,删减了不需要更新的寄存器数据,优化了寄存器配置的方法,对于不需要更新的寄存器,不再存储数据和重复读取,减少了对存储器空间的占用。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (14)
1、一种寄存器配置方法,其特征在于,包括以下步骤:
根据链表中当前节点的更新标识计算当前节点中需要读取的数据量,所述更新标识用于指示所述节点中的各个寄存器是否需要更新;
根据当前节点中需要读取的数据量获得当前节点信息,所述当前节点信息包括需要更新的寄存器的配置值;
根据当前节点信息更新所述节点中需要更新的寄存器。
2、如权利要求1所述寄存器配置方法,其特征在于,在配置寄存器之前,通过中央处理器CPU配置链表中首个节点的更新标识。
3、如权利要求1所述寄存器配置方法,其特征在于,
所述当前节点信息还包括所述链表中的下一节点的更新标识。
4、如权利要求3所述寄存器配置方法,其特征在于,还包括:
获得所述下一节点的更新标识;
根据所述下一节点的更新标识计算所述下一节点中需要读取的数据量;
根据所述下一节点中需要读取的数据量读取所述链表的下一节点信息,并根据所述链表的下一节点信息更新所述下一节点需要更新的寄存器。
5、如权利要求1所述寄存器配置方法,其特征在于,
所述当前节点信息还包括所述当前节点的更新标识,所述根据链表中当前节点的更新标识计算当前节点中需要读取的数据量之前,还包括:
获得当前节点的预测读取数据量;
根据当前节点的预测读取数据量读取当前节点信息,并从所述当前节点信息中获得当前节点的更新标识。
6、如权利要求5所述寄存器配置方法,其特征在于,所述根据当前节点中需要读取的数据量获得当前节点信息,具体包括:
比较当前节点需要读取的数据量与当前节点的预测读取数据量之间的大小关系,如果当前节点需要读取的数据量大于所述当前节点的预测读取数据量,则读取当前节点需要读取的数据量与所述当前节点的预测读取数据量之间的差值数据,所述当前节点信息包括所述预测读取数据量和差值数据。
7、如权利要求6所述寄存器配置方法,其特征在于,
如果当前节点需要读取的数据量小于所述当前节点的预测读取数据量,则丢弃当前节点需要读取的数据量与所述首个节点预测读取数据量之间的差值数据,得到实际需要的当前节点信息。
8、一种寄存器配置装置,其特征在于,包括:
运算模块,用于根据链表中当前节点的更新标识计算当前节点中需要读取的数据量,所述更新标识用于指示所述节点中的各个寄存器是否需要更新;
读取模块,用于根据所述运算模块得到的当前节点中需要读取的数据量获得当前节点信息,所述当前节点信息包括需要更新的寄存器的配置值;
更新模块,用于根据所述读取模块获取的所述当前节点信息更新所述节点中需要更新的寄存器。
9、如权利要求8所述寄存器配置装置,其特征在于,
所述当前节点信息还包括所述链表中的下一节点的更新标识。
10、如权利要求9所述寄存器配置装置,其特征在于,还包括:
获取模块,用于获得所述下一节点的更新标识。
11、如权利要求9所述寄存器配置装置,其特征在于,
所述运算模块,还用于根据所述下一节点的更新标识计算所述下一节点中需要读取的数据量;
所述读取模块,还用于根据所述下一节点中需要读取的数据量读取所述链表的下一节点信息;
所述更新模块,还用于根据所述链表的下一节点信息更新所述下一节点需要更新的寄存器。
12、如权利要求8所述寄存器配置装置,其特征在于,所述当前节点信息还包括所述当前节点的更新标识。
13、如权利要求12所述寄存器配置装置,其特征在于,还包括:
预测模块,用于获得当前节点的预测读取数据量;
预读模块,用于根据所述预测模块获得的当前节点的预测读取数据量读取所述当前节点信息,并从所述当前节点信息中获得当前节点的更新标识。
14、如权利要求13所述寄存器配置装置,其特征在于,所述读取模块包括:
比较单元,用于比较当前节点需要读取的数据量与当前节点的预测读取数据量之间的大小关系;
获取单元,用于在所述比较单元比较所述当前节点需要读取的数据量大于所述当前节点的预测读取数据量后,读取当前节点需要读取的数据量与所述当前节点的预测读取数据量之间的差值数据,所述当前节点信息包括所述预测读取数据量和差值数据;或
用于在所述比较单元比较所述当前节点需要读取的数据量小于所述当前节点的预测读取数据量后,丢弃当前节点需要读取的数据量与所述首个节点预测读取数据量之间的差值数据,得到实际需要的当前节点信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101472413A CN101339545B (zh) | 2008-08-22 | 2008-08-22 | 一种寄存器配置方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101472413A CN101339545B (zh) | 2008-08-22 | 2008-08-22 | 一种寄存器配置方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101339545A true CN101339545A (zh) | 2009-01-07 |
CN101339545B CN101339545B (zh) | 2011-04-20 |
Family
ID=40213615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101472413A Expired - Fee Related CN101339545B (zh) | 2008-08-22 | 2008-08-22 | 一种寄存器配置方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101339545B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827395A (zh) * | 2009-03-06 | 2010-09-08 | 中国移动通信集团公司 | Lte系统信息更新方法、基站、用户终端及系统 |
CN102279727A (zh) * | 2010-06-13 | 2011-12-14 | 华为技术有限公司 | 对芯片的寄存器进行自动配置的方法和装置 |
CN106851706A (zh) * | 2017-02-23 | 2017-06-13 | 武汉米风通信技术有限公司 | 基于多通道通信接收系统的寄存器配置方法 |
CN111258838A (zh) * | 2020-01-17 | 2020-06-09 | 南京芯驰半导体科技有限公司 | 验证组件生成方法、装置、存储介质及验证平台 |
CN113721972A (zh) * | 2020-05-25 | 2021-11-30 | Oppo广东移动通信有限公司 | 硬件加速器配置信息的配置方法、装置及存储介质 |
CN114880045A (zh) * | 2022-05-13 | 2022-08-09 | 海光信息技术股份有限公司 | 寄存器配置方法、装置及相关设备 |
-
2008
- 2008-08-22 CN CN2008101472413A patent/CN101339545B/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827395A (zh) * | 2009-03-06 | 2010-09-08 | 中国移动通信集团公司 | Lte系统信息更新方法、基站、用户终端及系统 |
CN102279727A (zh) * | 2010-06-13 | 2011-12-14 | 华为技术有限公司 | 对芯片的寄存器进行自动配置的方法和装置 |
WO2011157119A1 (zh) * | 2010-06-13 | 2011-12-22 | 华为技术有限公司 | 对芯片的寄存器进行自动配置的方法和装置 |
CN106851706A (zh) * | 2017-02-23 | 2017-06-13 | 武汉米风通信技术有限公司 | 基于多通道通信接收系统的寄存器配置方法 |
CN106851706B (zh) * | 2017-02-23 | 2020-05-15 | 成都米风感知科技有限公司 | 基于多通道通信接收系统的寄存器配置方法 |
CN111258838A (zh) * | 2020-01-17 | 2020-06-09 | 南京芯驰半导体科技有限公司 | 验证组件生成方法、装置、存储介质及验证平台 |
CN111258838B (zh) * | 2020-01-17 | 2023-05-23 | 南京芯驰半导体科技有限公司 | 验证组件生成方法、装置、存储介质及验证平台 |
CN113721972A (zh) * | 2020-05-25 | 2021-11-30 | Oppo广东移动通信有限公司 | 硬件加速器配置信息的配置方法、装置及存储介质 |
CN113721972B (zh) * | 2020-05-25 | 2024-04-16 | Oppo广东移动通信有限公司 | 硬件加速器配置信息的配置方法、装置及存储介质 |
CN114880045A (zh) * | 2022-05-13 | 2022-08-09 | 海光信息技术股份有限公司 | 寄存器配置方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101339545B (zh) | 2011-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101339545B (zh) | 一种寄存器配置方法和装置 | |
CN104885071A (zh) | 多设备智能语言模型同步 | |
CN105045603A (zh) | 一种构建有限状态机模型框架的方法、装置及电子装置 | |
CN103544153A (zh) | 一种基于数据库的数据更新方法和系统 | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN103390003A (zh) | 在服务器之间合并用户数据信息的方法和装置 | |
CN111125057B (zh) | 一种业务请求的处理方法、装置及计算机系统 | |
CN104461698A (zh) | 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统 | |
CN110737747A (zh) | 一种数据操作方法、装置及系统 | |
CN105159841A (zh) | 一种内存迁移方法及装置 | |
CN110298508A (zh) | 行为预测方法、装置及设备 | |
CN111464352A (zh) | 调用链路数据处理方法及装置 | |
CN109408682A (zh) | 一种正则表达式匹配的方法、系统及设备 | |
CN110399026B (zh) | 基于fpga的多源单输出复位方法、装置及相关设备 | |
CN105430115A (zh) | 一种优化ip库的方法、装置及计算设备 | |
CN106156038A (zh) | 数据存储方法和装置 | |
CN117435569A (zh) | 缓存系统动态扩容方法、装置、设备、介质和程序产品 | |
CN103761060A (zh) | 一种数据处理方法及服务器 | |
CN111767433A (zh) | 数据处理方法、装置、存储介质以及终端 | |
CN110765144B (zh) | 分布式异构数据库数据处理方法及装置 | |
CN111428453B (zh) | 批注同步过程中的处理方法、装置以及系统 | |
CN106557368B (zh) | Spark程序优化方法和装置 | |
CN103379086A (zh) | 一种热插拔式数据交互的实现方法及数据服务中心 | |
CN104394195A (zh) | 数据更新方法及装置 | |
CN114021709B (zh) | 多fpga数据处理方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110420 Termination date: 20180822 |
|
CF01 | Termination of patent right due to non-payment of annual fee |