CN117724770A - 一种参数读取方法、装置、设备及存储介质 - Google Patents
一种参数读取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117724770A CN117724770A CN202311785331.6A CN202311785331A CN117724770A CN 117724770 A CN117724770 A CN 117724770A CN 202311785331 A CN202311785331 A CN 202311785331A CN 117724770 A CN117724770 A CN 117724770A
- Authority
- CN
- China
- Prior art keywords
- reading
- parameter
- read
- agent
- register
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004364 calculation method Methods 0.000 claims abstract description 40
- 230000000977 initiatory effect Effects 0.000 claims abstract description 17
- 230000000903 blocking effect Effects 0.000 claims abstract description 15
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 13
- 230000009191 jumping Effects 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 152
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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
- Multi Processors (AREA)
Abstract
本申请公开了一种参数读取方法、装置、设备及存储介质,涉及计算机技术领域。应用于硬件引擎,该方法包括:向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便读参数代理根据配置指令通过轮询仲裁器从存储体中获取与当前工作模式对应的目标参数;当硬件引擎完成与目标参数不相关的项目计算之后,向读参数代理发起参数读取访问请求,并基于参数读取访问请求从预先为读参数代理配置的多级预读取寄存器中读取目标参数;根据目标参数监测当前是否存在与当前工作模式对应的边界标记,并在监测到边界标记后阻塞参数读取访问请求。通过本申请的技术方案,可以有效缩短硬件引擎的读参数时延并能有效优化面积。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种参数读取方法、装置、设备及存储介质。
背景技术
通常一个硬件引擎具有多种工作模式,在不同工作模式下,需要从外部读取不同的参数序列进入引擎内部,直接使用或是在内部参与运算。现有技术中通常使用如图1所示的框架来进行参数读取,硬件引擎通常顺序访问参数存储,一个时钟周期内读回一个参数放置到引擎内部去使用。读取的流程一般如图2所示。通过图1以及图2可以总结出以下缺点:
1.对于相同类型的引擎来说,参数存储模块不能共享;
2.读取参数与内部计算不能并发进行,会增大时延;
3.引擎内部进行参数缓存的相关部分通常使用堆栈的方式进行存储,读取此类存储时通常速率较慢。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种参数读取方法、装置、设备及存储介质,能够利用硬件引擎进行参数读取时有效缩减面积并优化读参数时延、增大读参数吞吐率。其具体方案如下:
第一方面,本申请公开了一种参数读取方法,应用于硬件引擎,包括:
向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数;其中,所述读参数代理在获取所述目标参数的同时,所述硬件引擎并行进行与所述目标参数不相关的项目计算;
当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数;
根据所述目标参数监测当前是否存在与所述当前工作模式对应的边界标记,并在监测到所述边界标记后阻塞所述参数读取访问请求。
可选的,所述向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数,包括:
向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从单端口随机存取存储器中获取与所述当前工作模式对应的目标参数;
其中,所述单端口随机存取存储器为不同的工作模式中的各参数配置了相应的边界标记,并为所述工作模式配置了各自对应的有效标记;当所述有效标记置为有效时,所述读参数代理有权限从单端口随机存取存储器中获取与所述当前工作模式对应的目标参数。
可选的,所述向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数,包括:
向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求确定访问方式类型;
根据所述访问方式类型从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数。
可选的,所述根据所述访问方式类型从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数,包括:
当所述访问方式类型为多参数读取时,从预先为所述读参数代理配置的多级预读取寄存器中按照第一预设读取逻辑读取所述目标参数;其中,所述第一预设读取逻辑为根据读使能信号从所述多级预读取寄存器中的最后一级预读取寄存器逐级向前读取数据的逻辑。
可选的,所述当所述访问方式类型为多参数读取时,从预先为所述读参数代理配置的多级预读取寄存器中按照第一预设读取逻辑读取所述目标参数,包括:
当所述访问方式类型为多参数读取时,判断所述读参数代理中与先入先出栈连接的多级预读取寄存器的所述读使能信号是否全部输出为有效信号;其中,当所述多级预读取寄存器中的存储为非空时向外输出所述有效信号;
当所述多级预读取寄存器的所述读使能信号全部输出为所述有效信号时,从所述多级预读取寄存器中的最后一级预读取寄存器逐级向前读取数据,并将读取数据后的预读取寄存器的读使能信号变更为无效信号;
当所述多级预读取寄存器中的第一级预读取寄存器中的读使能信号变更为所述无效信号后,判断所述先入先出栈中的存储是否为非空;
如果所述先入先出栈中的存储为非空,则将所述先入先出栈中的数据依次存储至所述多级预读取寄存器,并将存储数据后的所述多级预读取寄存器的读使能信号重新输出为所述有效信号,然后触发所述判断所述读参数代理中与先入先出栈连接的多级预读取寄存器的所述读使能信号是否全部输出为有效信号的步骤,直到所述先入先出栈中的存储为空时,得到所述目标参数。
可选的,所述根据所述访问方式类型从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数,包括:
当所述访问方式类型为单参数读取时,从预先为所述读参数代理配置的多级预读取寄存器中按照第二预设读取逻辑读取所述目标参数;其中,所述第二预设读取逻辑为根据读使能信号从所述多级预读取寄存器中的最后一级预读取寄存器读取数据的逻辑。
可选的,所述当所述访问方式类型为单参数读取时,从预先为所述读参数代理配置的多级预读取寄存器中按照第二预设读取逻辑读取所述目标参数,包括:
当所述访问方式类型为单参数读取时,判断所述读参数代理中所述多级预读取寄存器中的最后一级预读取寄存器的所述读使能信号是否输出为有效信号;其中,当所述最后一级预读取寄存器中的存储为非空时向外输出所述有效信号;
如果所述最后一级预读取寄存器的所述读使能信号输出为所述有效信号,则从所述最后一级预读取寄存器中读取数据,然后将所述最后一级预读取寄存器的前级预读取寄存器中的数据重新存储至所述最后一级预读取寄存器;其中,所述前级预读取寄存器中的数据为将所述读参数代理中先入先出栈的数据依次通过第一级预读取寄存器向下一级预读取寄存器刷新的数据;
跳转至所述判断所述读参数代理中所述多级预读取寄存器中的最后一级预读取寄存器的所述读使能信号是否输出为有效信号的步骤,直到所述最后一级预读取寄存器的所述读使能信号输出为无效信号时,得到所述目标参数。
可选的,所述向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数,包括:
向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器,按照第一读取速率从存储体中获取与所述当前工作模式对应的目标参数;
相应的,所述当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数,包括:
当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中按照第二读取速率读取所述目标参数;其中,所述第一读取速率不小于所述第二读取速率。
第二方面,本申请公开了一种参数读取装置,应用于硬件引擎,包括:
模式配置模块,用于向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数;其中,所述读参数代理在获取所述目标参数的同时,所述硬件引擎并行进行与所述目标参数不相关的项目计算;
参数获取模块,用于当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数;
请求阻塞模块,用于根据所述目标参数监测当前是否存在与所述当前工作模式对应的边界标记,并在监测到所述边界标记后阻塞所述参数读取访问请求。
第三方面,本申请公开了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如前所述的参数读取方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如前所述的参数读取方法。
本申请提供了一种参数读取方法,应用于硬件引擎,包括:向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数;其中,所述读参数代理在获取所述目标参数的同时,所述硬件引擎并行进行与所述目标参数不相关的项目计算;当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数;根据所述目标参数监测当前是否存在与所述当前工作模式对应的边界标记,并在监测到所述边界标记后阻塞所述参数读取访问请求。
本申请的有益技术效果为:从效率上来说,设立读参数代理模块将硬件引擎访问存储体的流程优化,可以让读参数代理进行数据搬移,同时硬件引擎在本地进行与参数不相关的项目计算工作,两个流程并行开展;读参数代理的预读取机制可以让自己时刻保持在参数已经返回代理内部的状态,能够有效缩减硬件引擎对读参数代理的访问时延;对于读取速率问题,多级预读取寄存器的个数与系统吞吐率的最大场景相关,能够通过改变预读取寄存器的个数与系统的参数读取速率适配。从面积上来说,为了支持多路访问在读参数代理的前级加入轮询仲裁器,不仅能够保证各个通道访问的公平性,还可以对于多个同类引擎共享一片参数存储体,有效优化面积。
此外,本申请提供的一种参数读取装置、设备及存储介质,与上述参数读取方法对应,效果同上。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种现有引擎参数读取通用框架示意图;
图2为本申请公开的一种现有引擎参数读取流程示意图;
图3为本申请公开的一种参数读取方法流程图;
图4为本申请公开的一种参数存储数据结构示意图;
图5为本申请公开的一种改进后的参数读取方法流程示意图;
图6为本申请公开的一种改进后的参数读取框架示意图;
图7为本申请公开的一种读参数代理的结构框图;
图8为本申请公开的一种具体的参数读取方法流程图;
图9为本申请公开的一种读多个参数的各级存储状态示意图;
图10为本申请公开的一种参数读取方法流程图;
图11为本申请公开的一种读单个参数的各级存储状态示意图;
图12为本申请公开的一种具体的参数读取方法流程图;
图13为本申请公开的一种参数读取装置结构示意图;
图14为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
硬件引擎具有多种工作模式,在不同工作模式下,需要从外部读取不同的参数序列进入引擎内部,直接使用或是在内部参与运算。这个数据格式通常以引擎工作顺序为标准,并规定参数存储侧以这样的顺序去存储。例如对于一个通信信号处理引擎,通常需要进行如下工作:净荷获取→码块分割→编码→加扰→调制→时隙生成。
上述的每个步骤基本都需要参数的获取,需要获取单个参数的:1.净荷获取需要参数源比特长度;2.编码需要参数码块长度;3.加扰需要参数加扰长度;4.调制需要参数调制阶数;5.时隙生成需要参数时隙类型。需要获取多个参数的:码块分割需要明确CRC(Cyclic Redundancy Check,循环冗余校核)长度与码块长度两个参数后,才能正确分割码块,那么对于码块分割而言,就有这种并行读取多个参数的需求。
那么对于上述应用,具有3种工作模式的硬件引擎,在参数存储中需要规定参数必须按照如表一方式存储,才能够保证引擎获取的参数正确性:
表一
引擎通常顺序访问参数存储,一个时钟周期读回一个参数放置到引擎内部去使用。然而,当前引擎对于参数读取具有如下缺点:
1.对于相同类型的引擎来说,参数存储模块不能共享;
2.读取参数与内部计算不能并发进行,会增大时延;
3.引擎内部进行参数缓存的相关部分通常使用堆栈的方式进行存储,读取此类存储时通常速率较慢。
为此,本申请提供了一种参数读取方案,能够对以上缺点进行,使得利用硬件引擎进行参数读取时有效缩减面积并优化读参数时延、增大读参数吞吐率。
本发明实施例公开了一种参数读取方法,参见图3所示,应用于硬件引擎,该方法包括:
步骤S11:向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数;其中,所述读参数代理在获取所述目标参数的同时,所述硬件引擎并行进行与所述目标参数不相关的项目计算。
本申请实施例中,应用于硬件引擎,硬件引擎拥有多种工作模式。由于当前硬件引擎在读取参数时直接向存储体中读取数据,读取参数与内部计算不能并发进行,会增大时延。因此本申请实施例中设立了读参数代理。引擎仅需要负责配置读取的参数条目,读参数代理就可以进行预读取相对应参数。
需要指出的是,存储体里存储着引擎所有工作模式下的参数配置信息。参数通常保存在SPRAM(Single Port RAM,单端口随机存取存储器)中,使用一定的数据格式组织在存储体内。因此,本申请实施例中存储体通常为SPRAM。SPRAM通常只支持一路访问,本申请实施例中为了支持多路访问,在读参数代理的前级加入了轮询仲裁器(Round-Robin),这样不仅能够实现共享参数存储,还能够保证各个通道访问的公平性。
本申请实施例中,读参数代理根据引擎配置的配置指令确定需要获取的与当前工作模式对应的目标参数,自发进行参数预读取,并将一部分读回的参数暂存在模块内部。此时硬件引擎并发进行与参数不相关的项目计算工作,待与参数不相关的项目计算工作完成后,从读参数代理那里去取已经返回的参数,读回本地后在进行相关计算。
需要指出的是,参数存储模块,也即,存储体,带有边界标记和有效标记的数据结构,允许软件进行动态配置。其中,为不同的工作模式中的各参数配置了相应的边界标记,并为所述工作模式配置了各自对应的有效标记。当所述有效标记置为有效时,所述读参数代理有权限从单端口随机存取存储器中获取与所述当前工作模式对应的目标参数。
当软件进行配置时,首先需要将此模式的参数有效标记置位为无效,再进行修改参数。此时,能够保证后级的读参数代理申请读此模式的参数是无法获得授权的。存储体内部存储参数的数据结构可以按照如图4所示的方式存储。其中一种模式的参数中存储着此模式下所有参数的子项,各个子项都拥有自己的边界标记,有效标记一种模式只有一个标记。
步骤S12:当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数。
本申请实施例中,硬件引擎对读参数代理配置完成后,进行与参数不相关的项目计算工作。待与参数不相关的项目计算工作完成后,从读参数代理那里去取已经返回的参数,读回本地后在进行相关计算。
本申请实施例中,为了提高读取速率,在读参数代理中增加N级预读取寄存器。N的个数与系统吞吐率最大场景相关,如果系统读参数速率要求很高,可以适当增加N的个数。
需要指出的是,对于硬件引擎向所述读参数代理发起的参数读取访问请求,通常分为两种访问方式类型。一种为关于多参数的读取,另一种为关于单参数的读取,在后续实施例中将对两种访问方式类型的具体操作过程进行详细介绍。根据所述访问方式类型从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数。
步骤S13:根据所述目标参数监测当前是否存在与所述当前工作模式对应的边界标记,并在监测到所述边界标记后阻塞所述参数读取访问请求。
值得注意的是,因为在存储体中存储着硬件引擎所有工作模式的所有参数。由于读参数代理并不知道需要读取某类参数的大小,因此,为了读参数代理读取方便,需要明确标示出不同模式参数的界限,以便读参数代理只读出此工作模式下应该读出的参数。该界限即为与当前工作模式对应的边界标记,一种工作模式下仅存在唯一对应的有效边界标记,此边界标记也需要跟随参对应存储在存储体中。
本申请实施例中,动作均由引擎侧发起,在读参数代理返回参数的边界标记已经到此工作模式的最后一个参数时,也即,检测到读回的数据出现当前工作模式的边界时,触发引擎的下一工作流程,停止参数读取访问。此时,通过阻塞所述参数读取访问请求,阻塞继续向读参数代理中写数据,保证向引擎传送的参数只有此工作模式下引擎需要的参数。
如图5所示为与本申请实施例对应的改进后的硬件引擎进行参数读取的流程示意图。设立读参数代理模块,引擎仅需要负责配置读取的参数条目,读参数代理模块预读取相对应参数;引擎对读参数代理配置完成后进行与参数不相关的项目计算工作,待与参数不相关的项目计算工作完成后,从读参数代理那里去取已经返回的参数,读回本地后在进行相关计算。如此一来,优化了引擎参数读取流程。
本申请提供了一种参数读取方法,应用于硬件引擎,包括:向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数;其中,所述读参数代理在获取所述目标参数的同时,所述硬件引擎并行进行与所述目标参数不相关的项目计算;当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数;根据所述目标参数监测当前是否存在与所述当前工作模式对应的边界标记,并在监测到所述边界标记后阻塞所述参数读取访问请求。
本申请的有益技术效果为:从效率上来说,设立读参数代理模块将硬件引擎访问存储体的流程优化,可以让读参数代理进行数据搬移,同时硬件引擎在本地进行与参数不相关的项目计算工作,两个流程并行开展;读参数代理的预读取机制可以让自己时刻保持在参数已经返回代理内部的状态,能够有效缩减硬件引擎对读参数代理的访问时延;对于读取速率问题,多级预读取寄存器的个数与系统吞吐率的最大场景相关,能够通过改变预读取寄存器的个数与系统的参数读取速率适配。从面积上来说,为了支持多路访问在读参数代理的前级加入轮询仲裁器,不仅能够保证各个通道访问的公平性,还可以对于多个同类引擎共享一片参数存储体,有效优化面积。
如图6所示为与上述实施例对应的能够有效缩减面积并优化读参数时延、增大读参数吞吐率的硬件参数读取框架示意图。图中包括参数存储、仲裁、读参数代理以及硬件引擎。参数存储模块作为存储体,里面存储着引擎所有工作状态下的参数配置信息;Round-Robin轮询仲裁器为读参数代理提供多通道访问参数存储体的轮询仲裁访问机制;读参数代理根据引擎配置的参数类型自发进行参数预读取,并将一部分读回的参数暂存在模块内部。当引擎从读参数代理中取参数导致读参数代理内部的暂存有空间,同时还未取完所有参数时,继续向参数存储发起读请求将自己填满,直到将所有参数读完。同时读参数代理拥有多个参数输出结果,在后级引擎对参数需求量大的场景,可以同时将多个参数读出以提高系统处理速率。整体来看,读参数代理会发起多次读请求,最终将所有参数通过自己传递给引擎。引擎为拥有多种工作模式的硬件引擎。
进一步的,如图7所示为本申请实施例中示例性提供的一种读参数代理的结构框图。读参数代理内部有一个面积较小的FIFO(First Input First Output,先入先出栈),也就是前文所述的通用方法中所使用的堆栈。FIFO后采用N级预读取寄存器来增加读参数代理模块的并行输出数据个数。在引擎配置工作模式后,如果FIFO非满,读参数代理就会主动从存储体中去读取参数,读取个数只与FIFO中的剩余空间相关。
在一种具体的实施方式中,硬件引擎向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求确定访问方式类型;当所述访问方式类型为多参数读取时,步骤S12具体包括:
从预先为所述读参数代理配置的多级预读取寄存器中按照第一预设读取逻辑读取所述目标参数。
本申请实施例中,引擎在读参数代理输出的数据有效时,进行参数访问。当硬件引擎向读参数代理发起的参数读取访问请求对应的是多参数读取的访问方式类型时,将按照第一预设读取逻辑读取所述目标参数。其中,所述第一预设读取逻辑为根据读使能信号从所述多级预读取寄存器中的最后一级预读取寄存器逐级向前读取数据的逻辑。
具体的,从预先为所述读参数代理配置的多级预读取寄存器中按照第一预设读取逻辑读取所述目标参数时,如图8所示,包括:
步骤S1211:当所述访问方式类型为多参数读取时,判断所述读参数代理中与先入先出栈连接的多级预读取寄存器的所述读使能信号是否全部输出为有效信号。
本申请实施例中,访问方式类型为多参数读取,此时引擎通常有较大参数需求量。例如引擎内有并发操作需要多路参数,可以同时读取多个参数进入内部参与计算。
本申请实施例中,为了保证输出参数至引擎一侧的顺序,读取时必须从第N级的预读取寄存器开始往上级预读取寄存器连续取参数,连续取的个数可通过应用场景定义,最大不大于N。
需要指出的是,在进行多参数读取时,需要与FIFO连接的所有预读取寄存器准备好数据,向外输出有效信号时才能够请求多个参数。同样地,读取完参数后等待下次所有预读取寄存器再次准备好数据,向外输出有效信号时,才可以再次请求多个参数。有效信号的判断是通过判断多级预读取寄存器中的存储是否为非空得到。
步骤S1212:当所述多级预读取寄存器的所述读使能信号全部输出为所述有效信号时,从所述多级预读取寄存器中的最后一级预读取寄存器逐级向前读取数据,并将读取数据后的预读取寄存器的读使能信号变更为无效信号。
如表二所示,为示例性提供的一种当前级预读取寄存器读取上级预读取寄存器的原理:对于当前级的预读取寄存器,是否读取前级存储的读使能信号判断逻辑如下,1代表有效,0代表无效,x代表任意状态:
表二
本申请实施例中,当N级预读取寄存器的读使能信号全部输出为有效信号时,也即,N级预读取寄存器内均有数据非空时,从第N级预读取寄存器开始逐级向前读取数据,第N级预读取寄存器的数据读取完后,其读使能信号变更为无效信号,也即,其中的数据为空了。
步骤S1213:当所述多级预读取寄存器中的第一级预读取寄存器中的读使能信号变更为所述无效信号后,判断所述先入先出栈中的存储是否为非空。
本申请实施例中,当多级预读取寄存器中的数据全部为空时,判断FIFO中的数据是否为空。可以理解的是,在最后一个参数进入读参数代理后,随着引擎取数,FIFO变空后,各级预读取寄存器也会逐渐为空。因此为了应对此种边界情况,有效边界标记也要同步写入FIFO中,用于告知后级存储最后的参数位置,用于正确向外输出数据有效信号。
步骤S1214:如果所述先入先出栈中的存储为非空,则将所述先入先出栈中的数据依次存储至所述多级预读取寄存器,并将存储数据后的所述多级预读取寄存器的读使能信号重新输出为所述有效信号,然后触发所述判断所述读参数代理中与先入先出栈连接的多级预读取寄存器的所述读使能信号是否全部输出为有效信号的步骤,直到所述先入先出栈中的存储为空时,得到所述目标参数。
本申请实施例中,如果还未读取到有效边界标记,证明当前工作模式对应的目标参数还未读取成。那么只要引擎有读取操作,导致读参数代理中有空余位置,读参数代理就会同步发起读存储体的预读取请求,用最快的速度将自己填满。确保引擎在从代理处取参数时,能用最快的速度拿到参数。
本申请实施例中,等待下次所有预读取寄存器再次准备好数据,向外输出有效信号时,才可以再次请求多个参数。可以理解的是,由于参数的边界标记同步通知了硬件引擎,那么当边界标记后,告知读参数代理所有工作已经完成,引擎可以开启后续工作,不用继续读取参数。
如图9所示为读多个参数的各级存储状态变化示意图。其中阴影表示存储为非空。从图中可知,FIFO从存储体中取数据寄存在其连接的多级预读取寄存器中,当多级预读取寄存器全部输出有效信号时,开始向外输出参数。多级预读取寄存器中的数据被读取完后有效信号失效。进一步的,等待下次所有预读取寄存器再次准备好数据,向外输出有效信号时,才可以再次请求多个参数。
在另一种具体的实施方式中,硬件引擎向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求确定访问方式类型;当所述访问方式类型为单参数读取时,步骤S12具体包括:
从预先为所述读参数代理配置的多级预读取寄存器中按照第二预设读取逻辑读取所述目标参数。
本申请实施例中,引擎在读参数代理输出的数据有效时,进行参数访问。当硬件引擎向读参数代理发起的参数读取访问请求对应的是单参数读取的访问方式类型时,将按照第二预设读取逻辑读取所述目标参数。其中,所述第二预设读取逻辑为根据读使能信号从所述多级预读取寄存器中的最后一级预读取寄存器读取数据的逻辑。
具体的,从预先为所述读参数代理配置的多级预读取寄存器中按照第二预设读取逻辑读取所述目标参数,如图10所示包括:
步骤S1221:当所述访问方式类型为单参数读取时,判断所述读参数代理中所述多级预读取寄存器中的最后一级预读取寄存器的所述读使能信号是否输出为有效信号。
本申请实施例中,当引擎需求量较小时,引擎可以只读取一个参数。此时,仅需要判断多级预读取寄存器中最后一级的输出的读使能信号是否有效。其中,当所述最后一级预读取寄存器中的存储为非空时向外输出所述有效信号。可以理解的是,当前访问方式类型下,如果FIFO非空,可以一直保持输出有效。
步骤S1222:如果所述最后一级预读取寄存器的所述读使能信号输出为所述有效信号,则从所述最后一级预读取寄存器中读取数据,然后将所述最后一级预读取寄存器的前级预读取寄存器中的数据重新存储至所述最后一级预读取寄存器。
本申请实施例中,参数必须读取第N级预读取寄存器输出的参数,也即,持续从最后一级预读取寄存器中读取数据,保持前级预读取寄存器的数据刷新至最后一级预读取寄存器。可以理解的是,所述前级预读取寄存器中的数据为将所述读参数代理中先入先出栈的数据依次通过第一级预读取寄存器向下一级预读取寄存器刷新的数据。
可以理解的是,根据表二中的阐述,可以保证最后一级取出一个数,前级每一级寄存器都能感受到这个读操作,逐级向自己的上级去取数,直到最上级的FIFO处。如果入口FIFO可以保证其中一直有数,那么对于每一级的预读取寄存器来说,它在向后级输出数据时,同时从前级取数刷新自己存储的值,这样输出有效信号一直不会失效。
步骤S1223:跳转至所述判断所述读参数代理中所述多级预读取寄存器中的最后一级预读取寄存器的所述读使能信号是否输出为有效信号的步骤,直到所述最后一级预读取寄存器的所述读使能信号输出为无效信号时,得到所述目标参数。
本申请实施例中,当最后一级预读取寄存器的所述读使能信号输出为无效信号时,证明数据已被全部取空,确定目标参数。可见,采取单参数读取最后一级预读取寄存器的方式,能够减少因读取导致的空泡,提升读取参数的吞吐率。如图11所示为读单个参数的各级存储状态示意图,其中阴影表示存储为非空。
需要指出的是,第一种具体的实施方式只是应对偶尔的离散的多参数需求,如果是连续的多参数需求,会导致吞吐率与本实施方式中的吞吐率一致。
综上,提出了读参数代理的两种访问方式:多参数读取及单参数读取。读参数代理中多级流水预读取寄存器及其取参数机制,能够保证在突发多参数需求时,引擎可以并行拿到数据,在单个参数需求时,引擎可以进行连续取参数操作而不用担心空泡。只要在读参数代理的输出有效时,都可以进行两种方式的访问。读参数代理的多通道输出保证了引擎在突发情况下需要较多参数时的访问时延,对于最大需求场景需要N个参数来说,原本从堆栈中取数需要N个时钟周期,使用本方法将时延缩短至1个时钟周期。
值得注意的是,本申请在边界参数到来时,设置了伪有效信号。伪有效信号既可以保证输出正确有效信号,又可以用来区分输出参数是否真的有效。当最后一个参数未进入任意一级预读取寄存器时,所有的存储输出都有效时才能向外输出有效信号;当最后一个参数进入任意一级预读取寄存器时,最后一个参数所在寄存器的前级存储都需要被置为伪有效(此级存储参与逻辑运算的有效信号为1,但是此级存储输出的数据实际无效)。
根据前述实施例中的说明,可以得出结论,当最后一个参数位于预读取寄存器中时,同时输出有效,从最后一个参数所在位置寄存器到最后一级寄存器,中间所有寄存器(含两端)的输出必定为有效值,伪有效的寄存器输出的为无效值。基于上述结论可以允许引擎只要在输出有效时就可以进行多个参数读取,但是当读出的参数包含最后一个参数时,只有最后一个预读取寄存器输出到最后一个参数之间(含两端)的所有参数为有效值,其余输出数据位置无效。
本申请实施例公开了一种具体的参数读取方法,参见图12所示,该方法包括:
步骤S21:向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器,按照第一读取速率从存储体中获取与所述当前工作模式对应的目标参数。
本申请实施例中,参数存储体中存有所有工作模式的所有参数,需要边界标记指示此工作模式下的参数的完结位置。读参数代理在接收到引擎配置后,只要内部FIFO未满,都需要去存储体中读参数,直到边界标记到来后,阻塞后续的写操作。
本申请实施例中,按照第一读取速率从存储体中获取与所述当前工作模式对应的目标参数。
步骤S22:当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中按照第二读取速率读取所述目标参数。
本申请实施例中,引擎将所述读参数代理的工作模式配置完成后,就可以在本地开始不需要参数的计算。不需要参数的计算完成后,引擎根据本地需求去读取读参数代理,将参数读取至本地使用。
可以理解的是,硬件引擎读取参数后,一般由于内部要参与计算会引入计算时延,因此,读的速率一般要小于读参数代理预读取写入FIFO的速率。因此,本申请实施例中,第一读取速率不小于第二读取速率。如此一来,每次引擎去取参数时,都是有数可取的。
需要指出的是,引擎只与读参数代理交互,是否可以取参数只与读参数代理的输出有效信号相关,当读取参数伴随返回边界标记时,认为被读参数已经完全返回引擎内部,可以进行下一步操作。可见,读参数代理的预读取机制,只根据内部剩余可写空间大小发送读取请求,以保证引擎访问读代理的访问时延。
步骤S23:根据所述目标参数监测当前是否存在与所述当前工作模式对应的边界标记,并在监测到所述边界标记后阻塞所述参数读取访问请求。
其中,关于上述步骤S23更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请的有益技术效果为:从效率上来说,设立读参数代理模块将硬件引擎访问存储体的流程优化,可以让读参数代理进行数据搬移,同时硬件引擎在本地进行与参数不相关的项目计算工作,两个流程并行开展;读参数代理的预读取机制可以让自己时刻保持在参数已经返回代理内部的状态,能够有效缩减硬件引擎对读参数代理的访问时延;对于读取速率问题,多级预读取寄存器的个数与系统吞吐率的最大场景相关,能够通过改变预读取寄存器的个数与系统的参数读取速率适配。从面积上来说,为了支持多路访问在读参数代理的前级加入轮询仲裁器,不仅能够保证各个通道访问的公平性,还可以对于多个同类引擎共享一片参数存储体,有效优化面积。
相应的,本申请实施例还公开了一种参数读取装置,参见图13所示,应用于硬件引擎,该装置包括:
模式配置模块11,用于向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数;其中,所述读参数代理在获取所述目标参数的同时,所述硬件引擎并行进行与所述目标参数不相关的项目计算;
参数获取模块12,用于当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数;
请求阻塞模块13,用于根据所述目标参数监测当前是否存在与所述当前工作模式对应的边界标记,并在监测到所述边界标记后阻塞所述参数读取访问请求。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
由此可见,通过本实施例的上述方案,应用于硬件引擎,包括:向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数;其中,所述读参数代理在获取所述目标参数的同时,所述硬件引擎并行进行与所述目标参数不相关的项目计算;当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数;根据所述目标参数监测当前是否存在与所述当前工作模式对应的边界标记,并在监测到所述边界标记后阻塞所述参数读取访问请求。
本申请的有益技术效果为:从效率上来说,设立读参数代理模块将硬件引擎访问存储体的流程优化,可以让读参数代理进行数据搬移,同时硬件引擎在本地进行与参数不相关的项目计算工作,两个流程并行开展;读参数代理的预读取机制可以让自己时刻保持在参数已经返回代理内部的状态,能够有效缩减硬件引擎对读参数代理的访问时延;对于读取速率问题,多级预读取寄存器的个数与系统吞吐率的最大场景相关,能够通过改变预读取寄存器的个数与系统的参数读取速率适配。从面积上来说,为了支持多路访问在读参数代理的前级加入轮询仲裁器,不仅能够保证各个通道访问的公平性,还可以对于多个同类引擎共享一片参数存储体,有效优化面积。
进一步的,本申请实施例还公开了一种电子设备,图14是根据一示例性实施例示出的电子设备20结构图,图中内容不能认为是对本申请的使用范围的任何限制。
图14为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的参数读取方法中的相关步骤。另外,本实施例中的电子设备20具体可以为服务器。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,数据223可以包括各种各样的数据。存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的参数读取方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述参数读取方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的参数读取方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种参数读取方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种参数读取方法,其特征在于,应用于硬件引擎,包括:
向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数;其中,所述读参数代理在获取所述目标参数的同时,所述硬件引擎并行进行与所述目标参数不相关的项目计算;
当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数;
根据所述目标参数监测当前是否存在与所述当前工作模式对应的边界标记,并在监测到所述边界标记后阻塞所述参数读取访问请求。
2.根据权利要求1所述的参数读取方法,其特征在于,所述向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数,包括:
向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从单端口随机存取存储器中获取与所述当前工作模式对应的目标参数;
其中,所述单端口随机存取存储器为不同的工作模式中的各参数配置了相应的边界标记,并为所述工作模式配置了各自对应的有效标记;当所述有效标记置为有效时,所述读参数代理有权限从单端口随机存取存储器中获取与所述当前工作模式对应的目标参数。
3.根据权利要求1所述的参数读取方法,其特征在于,所述向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数,包括:
向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求确定访问方式类型;
根据所述访问方式类型从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数。
4.根据权利要求3所述的参数读取方法,其特征在于,所述根据所述访问方式类型从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数,包括:
当所述访问方式类型为多参数读取时,从预先为所述读参数代理配置的多级预读取寄存器中按照第一预设读取逻辑读取所述目标参数;其中,所述第一预设读取逻辑为根据读使能信号从所述多级预读取寄存器中的最后一级预读取寄存器逐级向前读取数据的逻辑。
5.根据权利要求4所述的参数读取方法,其特征在于,所述当所述访问方式类型为多参数读取时,从预先为所述读参数代理配置的多级预读取寄存器中按照第一预设读取逻辑读取所述目标参数,包括:
当所述访问方式类型为多参数读取时,判断所述读参数代理中与先入先出栈连接的多级预读取寄存器的所述读使能信号是否全部输出为有效信号;其中,当所述多级预读取寄存器中的存储为非空时向外输出所述有效信号;
当所述多级预读取寄存器的所述读使能信号全部输出为所述有效信号时,从所述多级预读取寄存器中的最后一级预读取寄存器逐级向前读取数据,并将读取数据后的预读取寄存器的读使能信号变更为无效信号;
当所述多级预读取寄存器中的第一级预读取寄存器中的读使能信号变更为所述无效信号后,判断所述先入先出栈中的存储是否为非空;
如果所述先入先出栈中的存储为非空,则将所述先入先出栈中的数据依次存储至所述多级预读取寄存器,并将存储数据后的所述多级预读取寄存器的读使能信号重新输出为所述有效信号,然后触发所述判断所述读参数代理中与先入先出栈连接的多级预读取寄存器的所述读使能信号是否全部输出为有效信号的步骤,直到所述先入先出栈中的存储为空时,得到所述目标参数。
6.根据权利要求3所述的参数读取方法,其特征在于,所述根据所述访问方式类型从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数,包括:
当所述访问方式类型为单参数读取时,从预先为所述读参数代理配置的多级预读取寄存器中按照第二预设读取逻辑读取所述目标参数;其中,所述第二预设读取逻辑为根据读使能信号从所述多级预读取寄存器中的最后一级预读取寄存器读取数据的逻辑。
7.根据权利要求6所述的参数读取方法,其特征在于,所述当所述访问方式类型为单参数读取时,从预先为所述读参数代理配置的多级预读取寄存器中按照第二预设读取逻辑读取所述目标参数,包括:
当所述访问方式类型为单参数读取时,判断所述读参数代理中所述多级预读取寄存器中的最后一级预读取寄存器的所述读使能信号是否输出为有效信号;其中,当所述最后一级预读取寄存器中的存储为非空时向外输出所述有效信号;
如果所述最后一级预读取寄存器的所述读使能信号输出为所述有效信号,则从所述最后一级预读取寄存器中读取数据,然后将所述最后一级预读取寄存器的前级预读取寄存器中的数据重新存储至所述最后一级预读取寄存器;其中,所述前级预读取寄存器中的数据为将所述读参数代理中先入先出栈的数据依次通过第一级预读取寄存器向下一级预读取寄存器刷新的数据;
跳转至所述判断所述读参数代理中所述多级预读取寄存器中的最后一级预读取寄存器的所述读使能信号是否输出为有效信号的步骤,直到所述最后一级预读取寄存器的所述读使能信号输出为无效信号时,得到所述目标参数。
8.根据权利要求1至7任一项所述的参数读取方法,其特征在于,所述向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数,包括:
向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器,按照第一读取速率从存储体中获取与所述当前工作模式对应的目标参数;
相应的,所述当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数,包括:
当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中按照第二读取速率读取所述目标参数;其中,所述第一读取速率不小于所述第二读取速率。
9.一种参数读取装置,其特征在于,应用于硬件引擎,包括:
模式配置模块,用于向预先设置的读参数代理发送用于配置当前工作模式的配置指令,以便所述读参数代理根据所述配置指令通过轮询仲裁器从存储体中获取与所述当前工作模式对应的目标参数;其中,所述读参数代理在获取所述目标参数的同时,所述硬件引擎并行进行与所述目标参数不相关的项目计算;
参数获取模块,用于当所述硬件引擎完成与所述目标参数不相关的项目计算之后,向所述读参数代理发起参数读取访问请求,并基于所述参数读取访问请求从预先为所述读参数代理配置的多级预读取寄存器中读取所述目标参数;
请求阻塞模块,用于根据所述目标参数监测当前是否存在与所述当前工作模式对应的边界标记,并在监测到所述边界标记后阻塞所述参数读取访问请求。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至8任一项所述的参数读取方法。
11.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的参数读取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311785331.6A CN117724770A (zh) | 2023-12-22 | 2023-12-22 | 一种参数读取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311785331.6A CN117724770A (zh) | 2023-12-22 | 2023-12-22 | 一种参数读取方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117724770A true CN117724770A (zh) | 2024-03-19 |
Family
ID=90206853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311785331.6A Pending CN117724770A (zh) | 2023-12-22 | 2023-12-22 | 一种参数读取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117724770A (zh) |
-
2023
- 2023-12-22 CN CN202311785331.6A patent/CN117724770A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
US5388247A (en) | History buffer control to reduce unnecessary allocations in a memory stream buffer | |
US8190820B2 (en) | Optimizing concurrent accesses in a directory-based coherency protocol | |
US9009414B2 (en) | Prefetch address hit prediction to reduce memory access latency | |
EP0398639A2 (en) | Serializing system between vector instruction and scalar instruction in data processing system | |
JP4875981B2 (ja) | データ処理システムにおけるプリフェッチ制御 | |
CN113900974B (zh) | 一种存储装置、数据存储方法及相关设备 | |
JP2001290706A (ja) | Tlbキャッシュのためのプリフェッチ | |
CN115481058A (zh) | 内存原子操作指令的执行方法、装置、访问模块及系统 | |
US6085261A (en) | Method and apparatus for burst protocol in a data processing system | |
US20110022802A1 (en) | Controlling data accesses to hierarchical data stores to retain access order | |
US6507894B1 (en) | Information processing apparatus and process | |
US6738837B1 (en) | Digital system with split transaction memory access | |
JP2007500402A (ja) | 周辺装置アクセス保護付きデータ処理システム | |
CN117724770A (zh) | 一种参数读取方法、装置、设备及存储介质 | |
US20030182517A1 (en) | Method and system for buffering multiple requests from multiple devices to a memory | |
US5012410A (en) | Data processor with instruction cache memory | |
US7075546B2 (en) | Intelligent wait methodology | |
US20080250211A1 (en) | Cache control method, cache device, and microcomputer | |
KR100266883B1 (ko) | 데이타 버퍼가 부착된 smp 메모리 제어기에 있어서의 대기시간이 짧은 제1 데이타 억세스 | |
US20070198754A1 (en) | Data transfer buffer control for performance | |
JP4037806B2 (ja) | キャッシュメモリ装置 | |
JPH02110646A (ja) | メモリの先行読出し装置 | |
JPS5899857A (ja) | パイプライン処理方式のアクセス処理装置 | |
JP2851777B2 (ja) | バス制御方法及び情報処理装置 |
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 |