一种寄存器配置方法和装置的制作方法

文档序号:6466513阅读:258来源:国知局
专利名称:一种寄存器配置方法和装置的制作方法
技术领域
本发明涉及计算机技术领域,特别是涉及一种寄存器配置方法和装置。
背景技术
随着芯片复杂度的提高,芯片的功能也越来越丰富,为了支持更多功能, 芯片中需要添加许多用来支持这些功能的寄存器。寄存器的增加提高了芯片 的性能,但也对软件电路的设计提出了更高的要求,如降低软件和硬件的复 杂度,并尽量减少配置的时间等。
针对传统的寄存器配置方法中,寄存器数量多,刷新频率高时,每次请
求数据都需要CPU ( Central Processing Unit,中央处理器)参与,从而大量占 用CPU资源的缺点,现有技术将链表结构引入到寄存器配置中。根据需求, 每个链表可以设置N个节点,每个节点包括下一节点地址和功能模块中所有 的寄存器所要配置的数值。
如图1所示,为现有技术中的寄存器配置方法流程图,包括以下步骤
步骤IOI,创建执行寄存器配置功能的链表。
步骤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
+bit[l]+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位序列,O代表寄存器不需要更新,1 代表寄存器需要更新。更新标识中的N位序列的累加值,就等于当前节点需 要更新的寄存器数量,也就是当前节点中需要读取的数据量。 链表的当前节点中需要读取的数据n的计算方法如下 n = bit
+bit[l]+bit[2]+bit[3]+……十bit[n] 其中,bit[N]表示当前节点的更新标识的第N位值。 步骤304,根据当前节点中需要读取的数据量获得当前节点信息。 根据当前节点中需要读取的数据量,可以获得当前节点的信息,当前节 点信息包括需要更新的寄存器的配置值。
步骤305,根据当前节点信息更新节点中需要更新的寄存器。 根据链表当前节点信息可以实现对寄存器的配置,将节点中需要更新的 寄存器的值,更新为当前节点信息中的配置值,并进行当前节点指示的功能 处理,完成当前节点的操作。
步骤306,获得下一节点的更新标识。
链表的每个节点中都包括下一节点的更新标识。读取链表的一个节点后, 将该节点中的下一节点的更新标识存储到更新标识寄存器中,以读取链表的 下一节点。
步骤307,根据下一节点的更新标识计算下一节点中需要读取的数据量。 链表下一节点中需要读取的数据n的计算方法如下 n = bit
+bit[l]+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
+bit[l]+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位序列,O代表寄存器不需要更新,1代表寄存器需要更新。 更新标识中的N位序列的累加值,就等于当前节点需要更新的寄存器数量, 也就是当前节点中需要读取的数据量。
链表的当前节点中需要读取的数据n的计算方法如下
n = bit
+bit[l]+bit[2]+bit[3]+……+bit[n]
其中,bit[N]表示当前节点的更新标识的第N位值。
读取模块702,用于根据运算模块701得到的当前节点中需要读取的数据 量获得当前节点信息。
根据当前节点中需要读取的数据量,可以获得当前节点的信息,当前节 点信息包括需要更新的寄存器的配置值。
更新模块703,用于根据读取模块702获取的当前节点信息更新节点中需 要更新的寄存器。
根据链表当前节点信息可以实现对寄存器的配置,将节点中需要更新的 寄存器的值,更新为当前节点信息中的配置值,并进行当前节点指示的功能 处理,完成当前节点的操作。当前节点信息中还包括链表下一节点的地址, 完成当前节点的操作后,可以根据下一节点的地址读取下一节点的信息,进 行与当前节点相同的操作。如此反复, 一直读取到链表的最后一个节点,完 成最后一个节点指示的数据配置和功能处理。链表最后一个节点中的下一节 点地址为零,用于指示此节点为链表的最后一个节点。
本发明实施例的技术方案具有以下优点,因为在寄存器配置链表中引入 了更新标识,删减了不需要更新的寄存器数据,优化了寄存器配置的方法, 对于不需要更新的寄存器,不再存储数据和重复读取,减少了对存储器空 间的占用。
如图8所示,为本发明实施例中寄存器配置装置的一种具体结构图,该 装置适用于寄存器配置任务已知的情况,即在获得链表当前节点信息之前, 已经获取了当前节点的更新标识,当前节点信息中包括下一节点的更新标识。 该装置包括
运算模块801,用于根据链表中当前节点的更新标识计算当前节点中需要 读取的数据量。
更新标识用于指示节点中的各个寄存器是否需要更新。更新标识可以是 由0和1组成的N位序列,0代表寄存器不需要更新,1代表寄存器需要更新。 更新标识中的N位序列的累加值,就等于当前节点需要更新的寄存器数量, 也就是当前节点中需要读取的数据量。
链表的当前节点中需要读取的数据n的计算方法如下
n = bit
+bit[l]+bit[2]+bit[3]+……十bit[n]
其中,bit[N]表示当前节点的更新标识的第N位值。
读取模块802,用于根据运算模块801得到的当前节点中需要读取的数据 量获得当前节点信息。
根据当前节点中需要读取的数据量,可以获得当前节点的信息,当前节 点信息包括需要更新的寄存器的配置值。
更新模块803,用于根据读取模块802获取的当前节点信息更新节点中需 要更新的寄存器。
根据链表当前节点信息可以实现对寄存器的配置,将节点中需要更新的 寄存器的值,更新为当前节点信息中的配置值,并进行当前节点指示的功能 处理,完成当前节点的操作。
该装置还可以包括
获取;f莫块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
+bit[l]+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可以进行新的M操作。
本发明实施例的技术方案具有以下优点,因为在寄存器配置链表中引入
了更新标识,删减了不需要更新的寄存器数据,优化了寄存器配置的方法,
对于不需要更新的寄存器,不再存储数据和重复读取,减少了对存储器空
间的占用。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技
术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使
得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等) 执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进 和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
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所述寄存器配置装置,其特征在于,所述读^f莫块包括比较单元,用于比较当前节点需要读取的数据量与当前节点的预测读取 数据量之间的大小关系;获取单元,用于在所述比较单元比较所述当前节点需要读取的数据量大 于所述当前节点的预测读取数据量后,读取当前节点需要读取的数据量与所 述当前节点的预测读取数据量之间的差值数据,所述当前节点信息包括所述 预测读取数据量和差值数据;或用于在所述比较单元比较所述当前节点需要读取的数据量小于所述当前 节点的预测读取数据量后,丢弃当前节点需要读取的数据量与所述首个节点 预测读取数据量之间的差值数据,得到实际需要的当前节点信息。
全文摘要
本发明实施例公开了一种寄存器配置方法,包括以下步骤根据链表中当前节点的更新标识计算当前节点中需要读取的数据量,所述更新标识用于指示所述节点中的各个寄存器是否需要更新;根据当前节点中需要读取的数据量获得当前节点信息,所述当前节点信息包括需要更新的寄存器的配置值;根据当前节点信息更新所述节点中需要更新的寄存器。本发明实施例优化了寄存器配置的方法,减少了对CPU资源和寄存器空间的占用。
文档编号G06F15/78GK101339545SQ20081014724
公开日2009年1月7日 申请日期2008年8月22日 优先权日2008年8月22日
发明者孙兴国, 萌 李, 浩 汪, 王晓娟, 简红清, 喆 黄 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1