CN117806709A - 系统级芯片的性能优化方法、装置、设备和存储介质 - Google Patents
系统级芯片的性能优化方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN117806709A CN117806709A CN202410224517.2A CN202410224517A CN117806709A CN 117806709 A CN117806709 A CN 117806709A CN 202410224517 A CN202410224517 A CN 202410224517A CN 117806709 A CN117806709 A CN 117806709A
- Authority
- CN
- China
- Prior art keywords
- control block
- dynamic field
- target
- template
- control
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000005457 optimization Methods 0.000 title claims abstract description 41
- 238000004458 analytical method Methods 0.000 claims description 55
- 230000001133 acceleration Effects 0.000 claims description 53
- 230000015654 memory Effects 0.000 claims description 50
- 238000004590 computer program Methods 0.000 claims description 45
- 238000013507 mapping Methods 0.000 claims description 42
- 238000010276 construction Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 9
- 230000003993 interaction Effects 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
- Devices For Executing Special Programs (AREA)
Abstract
本申请涉及一种系统级芯片的性能优化方法、装置、设备和存储介质,所属领域为集成芯片性能优化技术领域,所述方法包括:响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。本申请可以减少控制块中需要动态修改的参数数量,解决了CPU参数填写的性能瓶颈,降低了软硬件交互的时延,提高了软硬件交互效率。
Description
技术领域
本申请涉及集成芯片性能优化技术领域,特别是涉及一种系统级芯片的性能优化方法、装置、设备和存储介质。
背景技术
针对某领域定制的专用处理芯片中集成了各种加速处理引擎,每个引擎能够完成一种或多种加速任务,通常引擎需要一组参数来描述任务信息,称为控制块,对于复杂的任务,往往需要多个加速引擎协同处理,就需要为每个加速引擎都创建控制块,多个控制块组合在一起称为控制页,要完成某个特定的任务需要为这个任务生成控制页,一般一个控制页中需要包含大量的参数,这些参数都需要由CPU(Central Processing Unit,中央处理器)进行填写,这样CPU填写参数就成为了整个芯片的性能瓶颈,通常控制页都存放在内存中,这些内存需要由CPU进行修改,然后再由加速引擎读取,这个过程中涉及到了软硬件交互,一般对于软硬件交互的内存访问可以采用两种方法,一是需要软硬件交互的内存不开Cache(高速缓冲存储器),CPU直接修改内存,然后由硬件读取,优点是不存在Cache一致性问题,缺点是CPU访问内存的延迟很大;二是需要软硬件交互的内存开Cache,CPU修改完数据后需要执行Cache刷新指令,然后再由硬件读取,优点是CPU访问Cache的延时很小,但是刷新Cache同样需要一段时间,这两种方法都无法解决软硬件交互过程中的延时问题,那么软硬件交互也成为了重要的性能瓶颈。
因此,亟需提出一种能提高软硬件交互效率的系统级芯片的性能优化方法、装置、设备和存储介质。
发明内容
基于此,有必要针对上述技术问题,提供一种能提高软硬件交互效率的系统级芯片的性能优化方法、装置、设备和存储介质。
一方面,提供一种系统级芯片的性能优化方法,所述方法包括:
响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;
基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;
基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。
可选的,所述响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景包括:
接收所述主机发出的操作指令;
利用解析器对所述操作指令进行解析,确定所述操作指令对应的控制指令;
基于所述控制指令,确定所述操作指令对应的任务场景。
可选的,所述基于所述控制指令,确定所述操作指令对应的任务场景包括:
获取所述控制指令对应的功能属性;
基于所述功能属性和预设的二维映射表,确定所述功能属性对应的目标任务场景,所述二维映射表包括至少一个控制指令功能属性和任务场景的映射关系;
将所述目标任务场景确定为所述操作指令对应的任务场景。
可选的,所述控制块模板库至少包括:控制块模板表,所述控制块模板表的构建方法包括:
基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块模板表,所述目标控制块模板表包括至少一个第一控制块;
基于目标参数的第一相关信息,生成目标控制块模板;
将多个所述目标控制块模板写入所述目标控制块模板表中对应的第一控制块,生成所述控制块模板表。
可选的,所述第一相关信息至少包括目标参数的比特位和位宽,基于目标参数的第一相关信息,生成目标控制块模板包括:
基于所述目标参数的比特位与对应位宽的第二映射关系,生成目标模板值;
将多个所述目标模板值写入初始控制块模板,生成所述目标控制块模板。
可选的,所述控制块模板库至少还包括:控制块动态字段位置信息表,所述控制块动态字段位置信息表的构建方法包括:
基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块动态字段位置信息表,所述目标控制块动态字段位置信息表包括至少一个第二控制块,所述第二控制块与第一控制块一一对应;
基于所述第二控制块的第二相关信息,生成控制块动态字段位置信息单元;
将多个所述控制块动态字段位置信息单元写入所述目标控制块动态字段位置信息表中对应的第二控制块,生成所述控制块动态字段位置信息表。
可选的,所述第二控制块的相关信息至少包括第二控制块的实际大小值、动态字段个数和动态字段位置信息,所述动态字段位置信息至少包括:动态字段所占的位宽、位偏移、双字偏移,基于所述第二控制块的相关信息,生成控制块动态字段位置信息单元包括:
将所述第二控制块的实际大小值和动态字段个数写入所述控制块动态字段位置信息单元的第一行中,将每个所述动态字段位置信息写入除所述第一行的其余对应行中,以生成所述控制块动态字段位置信息单元。
可选的,所述控制块模板库至少还包括:控制块动态字段值表,所述控制块动态字段值表的构建方法包括:
将控制块位置信息和控制块模板编号写入初始控制块动态字段值单元的第一行中,将控制块动态字段的值写入除所述第一行的其余对应行中,生成目标控制块动态字段值单元;
将多个所述目标控制块动态字段值单元写入初始控制块动态字段值表中,生成所述控制块动态字段值表。
可选的,所述控制块模板库包括第一存储区和第二存储区,所述方法还包括:
将控制块动态字段值表存储于所述第一存储区,将控制块模板表和控制块动态字段位置信息表存储于所述第二存储区,所述第一存储区设置于高速缓冲存储器上。
可选的,基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息包括:
基于所述任务场景,通过高速缓冲存储器一致性接口从高速缓冲存储器中获取目标控制块动态字段值表,以及从第二存储区获取控制块动态字段位置信息表;
利用控制页生成引擎对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果;
根据所述解析结果,确定所述目标控制块模板信息。
可选的,基于所述控制页生成引擎,生成控制页的过程包括:
对目标控制块动态字段值表和控制块动态字段位置信息表进行解析,得到解析结果;
根据所述解析结果,生成控制块;
基于所述控制块,组合生成控制页。
可选的,所述利用控制页生成引擎对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果包括:
对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果,所述解析结果至少包括控制块位置、控制块模板编号、控制块大小和动态字段个数。
可选的,根据所述解析结果,确定所述目标控制块模板信息包括:
根据所述控制块位置、控制块模板编号、控制块大小和动态字段个数,确定所述目标控制块模板信息。
可选的,基于所述目标控制块模板信息和动态参数值,生成控制页包括:
基于控制块大小值,将目标控制块模板实际数据读取到控制页生成引擎的内部缓存中;
基于控制块动态字段个数,依次从控制块动态字段位置单元和控制块动态字段值单元中读取控制块动态字段位置信息和值;
基于所述读取控制块动态字段位置信息和值,修改所述内部缓存中的目标控制块模板信息,生成所述控制块。
可选的,所述方法还包括:
基于所述控制块位置信息,将多个控制块读取到目标控制页中的对应位置,组合生成所述控制页。
可选的,基于所述控制页响应所述主机发出的操作指令包括:
将所述控制页分发至目标加速引擎,基于所述目标加速引擎,完成任务处理,以响应所述主机发出的操作指令。
可选的,所述方法还包括:
基于任务场景对应控制指令的功能属性以及加速引擎的功能属性,确定所述控制页所对应的目标加速引擎。
另一方面,提供了一种系统级芯片的性能优化装置,所述装置包括:
任务场景获取模块,用于在检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;
模板信息确定模块,用于基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;
操作指令响应模块,用于基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;
基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;
基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;
基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;
基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。
上述系统级芯片的性能优化方法、装置、设备和存储介质,所述方法包括:响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化,本申请可以减少控制块中需要动态修改的参数数量,解决了CPU参数填写的性能瓶颈,降低了软硬件交互的时延,提高了软硬件交互效率。
附图说明
图1为一个实施例中系统级芯片的性能优化方法的应用环境图;
图2为一个实施例中系统级芯片的性能优化方法的流程示意图;
图3为一个实施例中系统级芯片的性能优化方法的另一流程示意图;
图4为一个实施例中系统级芯片的性能优化方法的控制块模板表示意图;
图5为一个实施例中系统级芯片的性能优化方法的控制块动态字段位置信息表示意图;
图6为一个实施例中系统级芯片的性能优化方法的控制块动态字段位置信息单元示意图;
图7为一个实施例中系统级芯片的性能优化方法的控制块动态字段值表示意图;
图8为一个实施例中系统级芯片的性能优化方法的控制块动态字段值单元示意图;
图9为一个实施例中系统级芯片的性能优化装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,在本申请的描述中,除非上下文明确要求,否则整个说明书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
还应当理解,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
需要注意的是,术语“S1”、“S2”等仅用于步骤的描述目的,并非特别指称次序或顺位的意思,亦非用以限定本申请,其仅仅是为了方便描述本申请的方法,而不能理解为指示步骤的先后顺序。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
对于某些特殊计算领域,通用处理器的处理速度无法满足性能需求,针对某领域定制的专用硬件加速处理器的优势逐渐体现出来,例如专用图像信号处理的ISP(ImageSignal Process, 图像信号处理)芯片、专用RAID(Redundant Arrays of IndependentDisks,磁盘阵列)加速的RAID芯片等,这些专用处理芯片在某些邻域比通用芯片更加高效,往往这些专用处理芯片中集成了各种加速处理引擎,例如在RAID芯片中通常会有读写锁引擎、主机数据接口引擎、内存管理引擎、条带重映射引擎、RAID计算引擎、盘读写引擎等各种加速处理引擎,RAID芯片接受到主机下发的IO(Input Output,输入输出)时,需要填写的控制页中包含:根据IO信息计算读写锁引擎的锁定范围,填写读写锁引擎控制块;计算IO处理需的内存空间,填写内存管理引擎控制块;根据IO信息以及申请到的内存信息填写主机接口引擎的控制块;根据IO在RAID上的分布情况填写条带重映射引擎的控制块;根据IO分布情况以及RAID级别填写RAID计算引擎控制块;最后计算盘的读写地址以及大小填写盘读写引擎的控制块;在RAID芯片中处理一个IO数据时需要填写许多的控制块,每个控制块中又有很多参数需要计算与填写,可以看出这个过程中CPU的参数填写成为了芯片中重要的性能瓶颈,根据背景技术可知,通常控制页都存放在内存中,这些内存需要由CPU进行修改,然后再由加速引擎读取,这个过程中涉及到了软硬件交互,但是现有技术无法解决软硬件交互过程中的延时问题,因此软硬件交互也成为了重要的性能瓶颈。
为解决上述技术问题,本申请提供了一种基于模板的任务参数生成方法,通过构建控制块模板库,以及控制页生成引擎,减少控制块中需要动态修改的参数数量,解决了参数填写的性能瓶颈以及软硬件交互的性能瓶颈。
本申请提供的系统级芯片的性能优化方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与设置于服务器104上的数据处理平台进行通信,其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2-图3所示,提供了一种系统级芯片的性能优化方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S1:响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景。
需要说明的是,系统级芯片(System on Chip,SOC)也为称为片上系统,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容,即SOC芯片在中央处理器(简称为CPU)的基础上扩展音视频等功能和专用接口的超大规模集成电路,SOC使单芯片能够完成完整的系统,在移动计算、边缘计算、物联网等领域应用广泛,如本申请上述的RAID芯片,操作指令即为I/O(Input/Output,输入/输出)请求,如读写请求,可以通过RAID芯片接收主机发出的操作指令。
在一些具体实施方式中,响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景包括:
接收所述主机发出的操作指令;
利用解析器对所述操作指令进行解析,确定所述操作指令对应的控制指令,其中,解析器用于将基本输入输出请求进行解析确定需要执行对应任务的控制指令;
基于所述控制指令,确定所述操作指令对应的任务场景,包括:
获取所述控制指令对应的功能属性,其中,功能属性即为用于执行目标任务所需的控制指令功能,如循环控制指令用于重复执行一段代码,直到满足特定条件为止,跳转指令用于改变程序执行的顺序,将控制传递到程序的其他部分,上述的重复执行、改变执行顺序即为控制指令的功能属性;
基于所述功能属性和预设的二维映射表,确定所述功能属性对应的目标任务场景,所述二维映射表包括至少一个控制指令功能属性和任务场景的映射关系,其中,任务场景可以是数据传输、数据存储等,如DMA数据搬运,根据功能属性可以直接查表获得目标任务场景;
将所述目标任务场景确定为所述操作指令对应的任务场景。
在上述实施方式中,通过对指令进行解析,确定对应的任务场景,用于后续确定控制块模板信息以选择相应的引擎,来完成任务处理,从而提高参数填写的效率。
S2:基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息。
需要说明的是,控制块模板库至少包括:控制块模板表、控制块动态字段位置信息表和控制块动态字段值表,其中,控制块模板表描述了不同的场景的各引擎的控制块默认参数表,其由固件根据业务生成,并存储于缓存存储区,控制块动态字段位置信息表描述了控制块模板中可以根据应用场景动态修改的字段的位置信息,此表与控制块模板表一一对应,并存储于非缓存存储区,控制块动态字段值表描述了处理任务所需的控制块模板中需要动态更新字段的值,目标控制块模板信息指的是模板所需的默认参数信息、可动态修改字段的位置信息以及需要动态更新字段的值。
在一些具体实施方式中,所述控制块模板表的构建方法包括:
如图4所示,基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块模板表,所述目标控制块模板表包括至少一个第一控制块,其中,使用场景即为本实施例所述的任务场景,引擎编号即为加速引擎的编号,第一映射关系即为使用场景编号和引擎编号之间的映射关系,基于该映射关系可以生成多个单元,即多个第一控制块,如使用场景为0-N,引擎编号为0-N,则使用场景0,引擎编号0可以生成的一个单元等,每个单元均包括一个控制块模块;
基于目标参数的第一相关信息,生成目标控制块模板;
将多个所述目标控制块模板写入所述目标控制块模板表中对应的第一控制块,生成所述控制块模板表。
在一些具体实施方式中,所述第一相关信息至少包括目标参数的比特位和位宽,基于目标参数的第一相关信息,生成目标控制块模板包括:
基于所述目标参数的比特位与对应位宽的第二映射关系,生成目标模板值,即为引擎对应场景的默认值,示例性的,如图4所示,一行代表32bit(0-31),即32位数字,每一列表示这32bit中的每一位(0(16字节))-(n-1(16字节)),如果一个单元占了0-5bit即表示这个参数的位宽是6bit的,范围是0~63,其会有一个模板值来表示该参数,如0x0000AABB、0x5500CCDD等;
将多个所述目标模板值写入初始控制块模板,生成所述目标控制块模板。
在一些具体实施方式中,所述控制块动态字段位置信息表的构建方法包括:
如图5所示,基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块动态字段位置信息表,所述目标控制块动态字段位置信息表包括至少一个第二控制块,所述第二控制块与第一控制块一一对应,其中,第一映射关系即为使用场景编号和引擎编号之间的映射关系,基于该映射关系可以生成多个单元,即为第二控制块,该表中每个单元与控制块模板表一一对应,每个单元均包括一个控制块动态字段位置信息单元;
基于所述第二控制块的第二相关信息,生成控制块动态字段位置信息单元;
将多个所述控制块动态字段位置信息单元写入所述目标控制块动态字段位置信息表中对应的第二控制块,生成所述控制块动态字段位置信息表。
在一些具体实施方式中,所述第二控制块的相关信息至少包括第二控制块的实际大小值、动态字段个数和动态字段位置信息,所述动态字段位置信息至少包括:动态字段所占的位宽(bit number)、位偏移(bit offset)、双字偏移(dw offset),基于所述第二控制块的相关信息,生成控制块动态字段位置信息单元包括:
如图6所示,将所述第二控制块的实际大小值和动态字段个数写入所述控制块动态字段位置信息单元的第一行中,即双字0对应的行,双字指的是Double Word,32位字节,将每个所述动态字段位置信息写入除所述第一行的其余对应行中,即双字1-双字(m-1)对应的行,并保留未用到的控制块,以生成所述控制块动态字段位置信息单元,来描述动态字段的位置信息,示例性的,第15个控制块动态字段位置信息单元中的第二个DW(双字)1=0x20083,表示控制块模板15的第二个DW的bit2~4。
在一些具体实施方式中,所述控制块动态字段值表的构建方法包括:
如图7所示,将控制块位置信息和控制块模板编号写入初始控制块动态字段值单元的第一行(即双字0)中,即将行为描述信息写入第一行的单元中,将控制块动态字段的值写入除所述第一行的其余对应行(即双字1-双字(k-1))中,生成目标控制块动态字段值单元,其中,控制块位置信息为控制块在控制页中的位置,控制块模板编号为此单元对应的控制块模板,其余行每行占一个DW,与控制块动态字段位置信息单元的行一一对应,表示的是控制块动态字段位置对应的值,示例性,如图8所示的一个控制块动态字段值单元,控制块动态字段值单元中的第二个DW1=0x03,结合上一个例子中控制块动态字段位置信息单元,表示模板15的第二个DW的bit2~4的值为0x03;
将多个所述目标控制块动态字段值单元写入初始控制块动态字段值表中,生成所述控制块动态字段值表。
在一些具体实施方式中,所述控制块模板库包括第一存储区和第二存储区,所述方法还包括:
如图2所示,将控制块动态字段值表存储于第一存储区,将控制块模板表和控制块动态字段位置信息表存储于第二存储区,所述第一存储区设置于高速缓冲存储器上,其中,高速缓冲存储器指的是CPU Cache,其用于解决CPU与内存间的速度差距,在内存和CPU之间存在的一种高速缓存装置,第一存储区为图中所示的Cache存储区(即缓存存储区),表示该内存空间使用CPU Cache,第二存储区为None Cache存储区(即非缓存存储区),即这个内存区域没有开CPU Cache,上述三个表在系统初始化时填写,在整个系统运行过程中仅由控制页生成引擎读取。
在上述实施方式中,基于建立的控制块模板库的控制块模块信息,来减少控制块中需要动态修改的参数数量,解决了CPU参数填写的性能瓶颈,并通过CPU Cache来存储控制块动态字段值表,以用于在检测到操作指令时,可以从CPU Cache调用相关表,以解决软硬件交互的性能瓶颈。
在一些具体实施方式中,基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息包括:
如图2所示,基于所述任务场景,通过高速缓冲存储器一致性接口从高速缓冲存储器中获取目标控制块动态字段值表,即通过CPU Cache一致性接口从CPU Cache中获取控制块动态字段值表,以及从第二存储区获取控制块动态字段位置信息表;
利用控制页生成引擎对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果,其中,所述控制页生成引擎至少包括解析模块、生成模块和组合模块;
所述解析模块,用于对目标控制块动态字段值表和控制块动态字段位置信息表进行解析,得到解析结果;
所述生成模块,用于根据所述解析结果,生成控制块;
所述组合模块,用于基于所述控制块,组合生成控制页。
根据所述解析结果,确定所述目标控制块模板信息。
在一些具体实施方式中,所述利用控制页生成引擎对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果包括:
利用所述解析模块对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果,所述解析结果至少包括控制块位置、控制块模板编号、控制块大小和动态字段个数;
在一些具体实施方式中,根据所述解析结果,确定所述目标控制块模板信息包括:
根据所述控制块位置、控制块模板编号、控制块大小和动态字段个数,确定所述目标控制块模板信息,即定义控制块位置、控制块模板编号、控制块大小和动态字段个数为目标控制块模板信息。
在一些具体实施方式中,基于所述目标控制块模板信息和动态参数值,生成控制页包括:
基于控制块大小值,将目标控制块模板实际数据读取到控制页生成引擎的内部缓存中;
基于控制块动态字段个数,依次从控制块动态字段位置单元和控制块动态字段值单元中读取控制块动态字段位置信息和值;
基于所述读取控制块动态字段位置信息和值,修改所述内部缓存中的目标控制块模板信息,生成所述控制块;
基于所述解析模块得到的控制块位置信息,将所述生成模块生成的多个控制块读取到目标控制页中的对应位置,组合生成所述控制页。
具体的:
(1)从控制块动态字段值表中获取控制块动态字段值表中的一个单元;
(2)解析单元中的第一个DW获得控制块位置和控制块模板编号;
(3)从None Cache区域中读取控制块模板和动态字段位置信息单元;
(4)解析控制块动态字段位置信息单元第一个DW获得控制块大小和控制块动态字段个数信息;
(5)根据控制块大小信息将控制块模板实际数据拷贝到引擎内部缓存中;
(6)根据控制块动态字段数量信息依次从控制块动态字段位置单元和控制块动态字段值单元读取控制块动态字段位置信息和值,修改缓存中的控制块模板,生成控制块;
(7)按照解析模块获取的模板位置信息将生成模块生成的控制块拷贝到控制页中的指定位置。
在上述实施方式中,基于Cache一致性接口的专用硬件加速模块,称为控制页生成引擎,用于根据构建的控制块模板生成控制块,从而达到基于控制块模板减少控制块中需要动态修改的参数数量,解决了CPU参数填写的性能瓶颈,以及使用基于Cache一致性接口的控制页生成引擎解决CPU和加速引擎硬件交互的性能瓶颈的效果,使用基于控制页生成引擎的模板控制块生成流程简化了多加速引擎芯片的使用门槛,加速了项目开发工作。
S3:基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。
需要说明的是,控制页的生成方法即为上述的通过解析控制块动态字段值表和控制块动态字段位置信息表确定的动态参数值和控制块模板信息生成。
在一些具体实施方式中,基于所述控制页响应所述主机发出的操作指令包括:
将所述控制页分发至目标加速引擎,基于所述目标加速引擎,完成任务处理,以响应所述主机发出的操作指令,其中,目标加速引擎可以包括如图2所示的加速引擎A、加速引擎B和加速引擎C。
其中,目标加速引擎的确定方法为:
基于任务场景对应控制指令的功能属性以及加速引擎的功能属性,确定所述控制页所对应的目标加速引擎;
具体的,根据引擎功能划分引擎的应用场景,将每个应用场景对应的默认参数生成引擎对应的模板,根据分析得到的任务场景,选择处理此任务所需的引擎和引擎应用场景(即选择控制块模板),将填写到控制块模板中,将控制块模板编号以及分析得到的模板对应的动态参数值填写在控制块动态字段值表中,将控制块动态字段值表发送给控制页生成引擎,控制页生成引擎生成控制页,并分发任务给各引擎完成任务处理,示例性的,一个DMA搬运的硬件引擎有10个参数,其中搬运起始地址和搬运数据量是动态的,其他类似搬运模式、超时时间等可以是静态的,那么当根据实际任务情况,修改搬运起始地址和数据量,最后将动态参数和静态模板组合,就可以生成对应的完整的DMA参数。
上述系统级芯片的性能优化方法中,所述方法包括:响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化,本申请基于Cache一致性接口的专用硬件加速模块,称为控制页生成引擎,用于根据构建的控制块模板生成控制块,从而达到基于控制块模板减少控制块中需要动态修改的参数数量,解决了CPU参数填写的性能瓶颈,以及使用基于Cache一致性接口的控制页生成引擎解决CPU和加速引擎硬件交互的性能瓶颈的效果,使用基于控制页生成引擎的模板控制块生成流程简化了多加速引擎芯片的使用门槛,加速了项目开发工作。
应该理解的是,虽然图2-图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种系统级芯片的性能优化装置,包括:任务场景获取模块、模板信息确定模块和操作指令响应模块,其中:
任务场景获取模块,用于在检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;
模板信息确定模块,用于基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;
操作指令响应模块,用于基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。
作为一种较优的实施方式,本发明实施例中,所述任务场景获取模块具体用于:
接收所述主机发出的操作指令;
利用解析器对所述操作指令进行解析,确定所述操作指令对应的控制指令;
基于所述控制指令,确定所述操作指令对应的任务场景。
作为一种较优的实施方式,本发明实施例中,所述任务场景获取模块具体还用于:
获取所述控制指令对应的功能属性;
基于所述功能属性和预设的二维映射表,确定所述功能属性对应的目标任务场景,所述二维映射表包括至少一个控制指令功能属性和任务场景的映射关系;
将所述目标任务场景确定为所述操作指令对应的任务场景。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
定义所述控制块模板库至少包括:控制块模板表,所述控制块模板表的构建方法包括:
基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块模板表,所述目标控制块模板表包括至少一个第一控制块;
基于目标参数的第一相关信息,生成目标控制块模板;
将多个所述目标控制块模板写入所述目标控制块模板表中对应的第一控制块,生成所述控制块模板表。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
定义所述第一相关信息至少包括目标参数的比特位和位宽,基于目标参数的第一相关信息,生成目标控制块模板包括:
基于所述目标参数的比特位与对应位宽的第二映射关系,生成目标模板值;
将多个所述目标模板值写入初始控制块模板,生成所述目标控制块模板。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
定义所述控制块模板库至少还包括:控制块动态字段位置信息表,所述控制块动态字段位置信息表的构建方法包括:
基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块动态字段位置信息表,所述目标控制块动态字段位置信息表包括至少一个第二控制块,所述第二控制块与第一控制块一一对应;
基于所述第二控制块的第二相关信息,生成控制块动态字段位置信息单元;
将多个所述控制块动态字段位置信息单元写入所述目标控制块动态字段位置信息表中对应的第二控制块,生成所述控制块动态字段位置信息表。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
定义所述第二控制块的相关信息至少包括第二控制块的实际大小值、动态字段个数和动态字段位置信息,所述动态字段位置信息至少包括:动态字段所占的位宽、位偏移、双字偏移,基于所述第二控制块的相关信息,生成控制块动态字段位置信息单元包括:
将所述第二控制块的实际大小值和动态字段个数写入所述控制块动态字段位置信息单元的第一行中,将每个所述动态字段位置信息写入除所述第一行的其余对应行中,以生成所述控制块动态字段位置信息单元。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
定义所述控制块模板库至少还包括:控制块动态字段值表,所述控制块动态字段值表的构建方法包括:
将控制块位置信息和控制块模板编号写入初始控制块动态字段值单元的第一行中,将控制块动态字段的值写入除所述第一行的其余对应行中,生成目标控制块动态字段值单元;
将多个所述目标控制块动态字段值单元写入初始控制块动态字段值表中,生成所述控制块动态字段值表。
作为一种较优的实施方式,本发明实施例中,所述装置还包括存储模块,所述存储模块具体用于:
定义所述控制块模板库包括第一存储区和第二存储区;
将控制块动态字段值表存储于所述第一存储区,将控制块模板表和控制块动态字段位置信息表存储于所述第二存储区,所述第一存储区设置于高速缓冲存储器上。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
基于所述任务场景,通过高速缓冲存储器一致性接口从高速缓冲存储器中获取目标控制块动态字段值表,以及从第二存储区获取控制块动态字段位置信息表;
利用控制页生成引擎对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果;
根据所述解析结果,确定所述目标控制块模板信息。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
定义所述控制页生成引擎至少包括解析模块、生成模块和组合模块;
所述解析模块,用于对目标控制块动态字段值表和控制块动态字段位置信息表进行解析,得到解析结果;
所述生成模块,用于根据所述解析结果,生成控制块;
所述组合模块,用于基于所述控制块,组合生成控制页。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
利用所述解析模块对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果,所述解析结果至少包括控制块位置、控制块模板编号、控制块大小和动态字段个数。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
根据所述控制块位置、控制块模板编号、控制块大小和动态字段个数,确定所述目标控制块模板信息。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
基于控制块大小值,将目标控制块模板实际数据读取到控制页生成引擎的内部缓存中;
基于控制块动态字段个数,依次从控制块动态字段位置单元和控制块动态字段值单元中读取控制块动态字段位置信息和值;
基于所述读取控制块动态字段位置信息和值,修改所述内部缓存中的目标控制块模板信息,生成所述控制块。
作为一种较优的实施方式,本发明实施例中,所述模板信息确定模块具体还用于:
基于所述解析模块得到的控制块位置信息,将所述生成模块生成的多个控制块读取到目标控制页中的对应位置,组合生成所述控制页。
作为一种较优的实施方式,本发明实施例中,所述操作指令响应模块具体用于:
将所述控制页分发至目标加速引擎,基于所述目标加速引擎,完成任务处理,以响应所述主机发出的操作指令。
作为一种较优的实施方式,本发明实施例中,所述操作指令响应模块具体还用于:
基于任务场景对应控制指令的功能属性以及加速引擎的功能属性,确定所述控制页所对应的目标加速引擎。
关于系统级芯片的性能优化装置的具体限定可以参见上文中对于系统级芯片的性能优化方法的限定,在此不再赘述。上述系统级芯片的性能优化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种系统级芯片的性能优化方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
S1:响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;
S2:基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;
S3:基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收所述主机发出的操作指令;
利用解析器对所述操作指令进行解析,确定所述操作指令对应的控制指令;
基于所述控制指令,确定所述操作指令对应的任务场景。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取所述控制指令对应的功能属性;
基于所述功能属性和预设的二维映射表,确定所述功能属性对应的目标任务场景,所述二维映射表包括至少一个控制指令功能属性和任务场景的映射关系;
将所述目标任务场景确定为所述操作指令对应的任务场景。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
定义所述控制块模板库至少包括:控制块模板表,所述控制块模板表的构建方法包括:
基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块模板表,所述目标控制块模板表包括至少一个第一控制块;
基于目标参数的第一相关信息,生成目标控制块模板;
将多个所述目标控制块模板写入所述目标控制块模板表中对应的第一控制块,生成所述控制块模板表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
定义所述第一相关信息至少包括目标参数的比特位和位宽,基于目标参数的第一相关信息,生成目标控制块模板包括:
基于所述目标参数的比特位与对应位宽的第二映射关系,生成目标模板值;
将多个所述目标模板值写入初始控制块模板,生成所述目标控制块模板。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
定义所述控制块模板库至少还包括:控制块动态字段位置信息表,所述控制块动态字段位置信息表的构建方法包括:
基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块动态字段位置信息表,所述目标控制块动态字段位置信息表包括至少一个第二控制块,所述第二控制块与第一控制块一一对应;
基于所述第二控制块的第二相关信息,生成控制块动态字段位置信息单元;
将多个所述控制块动态字段位置信息单元写入所述目标控制块动态字段位置信息表中对应的第二控制块,生成所述控制块动态字段位置信息表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
定义所述第二控制块的相关信息至少包括第二控制块的实际大小值、动态字段个数和动态字段位置信息,所述动态字段位置信息至少包括:动态字段所占的位宽、位偏移、双字偏移,基于所述第二控制块的相关信息,生成控制块动态字段位置信息单元包括:
将所述第二控制块的实际大小值和动态字段个数写入所述控制块动态字段位置信息单元的第一行中,将每个所述动态字段位置信息写入除所述第一行的其余对应行中,以生成所述控制块动态字段位置信息单元。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
定义所述控制块模板库至少还包括:控制块动态字段值表,所述控制块动态字段值表的构建方法包括:
将控制块位置信息和控制块模板编号写入初始控制块动态字段值单元的第一行中,将控制块动态字段的值写入除所述第一行的其余对应行中,生成目标控制块动态字段值单元;
将多个所述目标控制块动态字段值单元写入初始控制块动态字段值表中,生成所述控制块动态字段值表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
定义所述控制块模板库包括第一存储区和第二存储区;
将控制块动态字段值表存储于所述第一存储区,将控制块模板表和控制块动态字段位置信息表存储于所述第二存储区,所述第一存储区设置于高速缓冲存储器上。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于所述任务场景,通过高速缓冲存储器一致性接口从高速缓冲存储器中获取目标控制块动态字段值表,以及从第二存储区获取控制块动态字段位置信息表;
利用控制页生成引擎对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果;
根据所述解析结果,确定所述目标控制块模板信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
定义所述控制页生成引擎至少包括解析模块、生成模块和组合模块;
所述解析模块,用于对目标控制块动态字段值表和控制块动态字段位置信息表进行解析,得到解析结果;
所述生成模块,用于根据所述解析结果,生成控制块;
所述组合模块,用于基于所述控制块,组合生成控制页。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
利用所述解析模块对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果,所述解析结果至少包括控制块位置、控制块模板编号、控制块大小和动态字段个数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据所述控制块位置、控制块模板编号、控制块大小和动态字段个数,确定所述目标控制块模板信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于控制块大小值,将目标控制块模板实际数据读取到控制页生成引擎的内部缓存中;
基于控制块动态字段个数,依次从控制块动态字段位置单元和控制块动态字段值单元中读取控制块动态字段位置信息和值;
基于所述读取控制块动态字段位置信息和值,修改所述内部缓存中的目标控制块模板信息,生成所述控制块。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于所述解析模块得到的控制块位置信息,将所述生成模块生成的多个控制块读取到目标控制页中的对应位置,组合生成所述控制页。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将所述控制页分发至目标加速引擎,基于所述目标加速引擎,完成任务处理,以响应所述主机发出的操作指令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于任务场景对应控制指令的功能属性以及加速引擎的功能属性,确定所述控制页所对应的目标加速引擎。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S1:响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;
S2:基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;
S3:基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收所述主机发出的操作指令;
利用解析器对所述操作指令进行解析,确定所述操作指令对应的控制指令;
基于所述控制指令,确定所述操作指令对应的任务场景。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取所述控制指令对应的功能属性;
基于所述功能属性和预设的二维映射表,确定所述功能属性对应的目标任务场景,所述二维映射表包括至少一个控制指令功能属性和任务场景的映射关系;
将所述目标任务场景确定为所述操作指令对应的任务场景。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
定义所述控制块模板库至少包括:控制块模板表,所述控制块模板表的构建方法包括:
基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块模板表,所述目标控制块模板表包括至少一个第一控制块;
基于目标参数的第一相关信息,生成目标控制块模板;
将多个所述目标控制块模板写入所述目标控制块模板表中对应的第一控制块,生成所述控制块模板表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
定义所述第一相关信息至少包括目标参数的比特位和位宽,基于目标参数的第一相关信息,生成目标控制块模板包括:
基于所述目标参数的比特位与对应位宽的第二映射关系,生成目标模板值;
将多个所述目标模板值写入初始控制块模板,生成所述目标控制块模板。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
定义所述控制块模板库至少还包括:控制块动态字段位置信息表,所述控制块动态字段位置信息表的构建方法包括:
基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块动态字段位置信息表,所述目标控制块动态字段位置信息表包括至少一个第二控制块,所述第二控制块与第一控制块一一对应;
基于所述第二控制块的第二相关信息,生成控制块动态字段位置信息单元;
将多个所述控制块动态字段位置信息单元写入所述目标控制块动态字段位置信息表中对应的第二控制块,生成所述控制块动态字段位置信息表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
定义所述第二控制块的相关信息至少包括第二控制块的实际大小值、动态字段个数和动态字段位置信息,所述动态字段位置信息至少包括:动态字段所占的位宽、位偏移、双字偏移,基于所述第二控制块的相关信息,生成控制块动态字段位置信息单元包括:
将所述第二控制块的实际大小值和动态字段个数写入所述控制块动态字段位置信息单元的第一行中,将每个所述动态字段位置信息写入除所述第一行的其余对应行中,以生成所述控制块动态字段位置信息单元。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
定义所述控制块模板库至少还包括:控制块动态字段值表,所述控制块动态字段值表的构建方法包括:
将控制块位置信息和控制块模板编号写入初始控制块动态字段值单元的第一行中,将控制块动态字段的值写入除所述第一行的其余对应行中,生成目标控制块动态字段值单元;
将多个所述目标控制块动态字段值单元写入初始控制块动态字段值表中,生成所述控制块动态字段值表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
定义所述控制块模板库包括第一存储区和第二存储区;
将控制块动态字段值表存储于所述第一存储区,将控制块模板表和控制块动态字段位置信息表存储于所述第二存储区,所述第一存储区设置于高速缓冲存储器上。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于所述任务场景,通过高速缓冲存储器一致性接口从高速缓冲存储器中获取目标控制块动态字段值表,以及从第二存储区获取控制块动态字段位置信息表;
利用控制页生成引擎对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果;
根据所述解析结果,确定所述目标控制块模板信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
定义所述控制页生成引擎至少包括解析模块、生成模块和组合模块;
所述解析模块,用于对目标控制块动态字段值表和控制块动态字段位置信息表进行解析,得到解析结果;
所述生成模块,用于根据所述解析结果,生成控制块;
所述组合模块,用于基于所述控制块,组合生成控制页。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
利用所述解析模块对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果,所述解析结果至少包括控制块位置、控制块模板编号、控制块大小和动态字段个数
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据所述控制块位置、控制块模板编号、控制块大小和动态字段个数,确定所述目标控制块模板信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于控制块大小值,将目标控制块模板实际数据读取到控制页生成引擎的内部缓存中;
基于控制块动态字段个数,依次从控制块动态字段位置单元和控制块动态字段值单元中读取控制块动态字段位置信息和值;
基于所述读取控制块动态字段位置信息和值,修改所述内部缓存中的目标控制块模板信息,生成所述控制块。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于所述解析模块得到的控制块位置信息,将所述生成模块生成的多个控制块读取到目标控制页中的对应位置,组合生成所述控制页。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将所述控制页分发至目标加速引擎,基于所述目标加速引擎,完成任务处理,以响应所述主机发出的操作指令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于任务场景对应控制指令的功能属性以及加速引擎的功能属性,确定所述控制页所对应的目标加速引擎。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (20)
1.一种系统级芯片的性能优化方法,其特征在于,所述方法包括:
响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;
基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;
基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。
2.根据权利要求1所述的系统级芯片的性能优化方法,其特征在于,所述响应于检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景包括:
接收所述主机发出的操作指令;
利用解析器对所述操作指令进行解析,确定所述操作指令对应的控制指令;
基于所述控制指令,确定所述操作指令对应的任务场景。
3.根据权利要求2所述的系统级芯片的性能优化方法,其特征在于,所述基于所述控制指令,确定所述操作指令对应的任务场景包括:
获取所述控制指令对应的功能属性;
基于所述功能属性和预设的二维映射表,确定所述功能属性对应的目标任务场景,所述二维映射表包括至少一个控制指令功能属性和任务场景的映射关系;
将所述目标任务场景确定为所述操作指令对应的任务场景。
4.根据权利要求1所述的系统级芯片的性能优化方法,其特征在于,所述控制块模板库至少包括:控制块模板表,所述控制块模板表的构建方法包括:
基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块模板表,所述目标控制块模板表包括至少一个第一控制块;
基于目标参数的第一相关信息,生成目标控制块模板;
将多个所述目标控制块模板写入所述目标控制块模板表中对应的第一控制块,生成所述控制块模板表。
5.根据权利要求4所述的系统级芯片的性能优化方法,其特征在于,所述第一相关信息至少包括目标参数的比特位和位宽,基于目标参数的第一相关信息,生成目标控制块模板包括:
基于所述目标参数的比特位与对应位宽的第二映射关系,生成目标模板值;
将多个所述目标模板值写入初始控制块模板,生成所述目标控制块模板。
6.根据权利要求1所述的系统级芯片的性能优化方法,其特征在于,所述控制块模板库至少还包括:控制块动态字段位置信息表,所述控制块动态字段位置信息表的构建方法包括:
基于不同任务场景与对应加速引擎的第一映射关系,生成目标控制块动态字段位置信息表,所述目标控制块动态字段位置信息表包括至少一个第二控制块,所述第二控制块与第一控制块一一对应;
基于所述第二控制块的第二相关信息,生成控制块动态字段位置信息单元;
将多个所述控制块动态字段位置信息单元写入所述目标控制块动态字段位置信息表中对应的第二控制块,生成所述控制块动态字段位置信息表。
7.根据权利要求6所述的系统级芯片的性能优化方法,其特征在于,所述第二控制块的相关信息至少包括第二控制块的实际大小值、动态字段个数和动态字段位置信息,所述动态字段位置信息至少包括:动态字段所占的位宽、位偏移、双字偏移,基于所述第二控制块的相关信息,生成控制块动态字段位置信息单元包括:
将所述第二控制块的实际大小值和动态字段个数写入所述控制块动态字段位置信息单元的第一行中,将每个所述动态字段位置信息写入除所述第一行的其余对应行中,以生成所述控制块动态字段位置信息单元。
8.根据权利要求1所述的系统级芯片的性能优化方法,其特征在于,所述控制块模板库至少还包括:控制块动态字段值表,所述控制块动态字段值表的构建方法包括:
将控制块位置信息和控制块模板编号写入初始控制块动态字段值单元的第一行中,将控制块动态字段的值写入除所述第一行的其余对应行中,生成目标控制块动态字段值单元;
将多个所述目标控制块动态字段值单元写入初始控制块动态字段值表中,生成所述控制块动态字段值表。
9.根据权利要求1所述的系统级芯片的性能优化方法,其特征在于,所述控制块模板库包括第一存储区和第二存储区,所述方法还包括:
将控制块动态字段值表存储于所述第一存储区,将控制块模板表和控制块动态字段位置信息表存储于所述第二存储区,所述第一存储区设置于高速缓冲存储器上。
10.根据权利要求1所述的系统级芯片的性能优化方法,其特征在于,基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息包括:
基于所述任务场景,通过高速缓冲存储器一致性接口从高速缓冲存储器中获取目标控制块动态字段值表,以及从第二存储区获取控制块动态字段位置信息表;
利用控制页生成引擎对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果;
根据所述解析结果,确定所述目标控制块模板信息。
11.根据权利要求10所述的系统级芯片的性能优化方法,其特征在于,基于所述控制页生成引擎,生成控制页的过程包括:
对目标控制块动态字段值表和控制块动态字段位置信息表进行解析,得到解析结果;
根据所述解析结果,生成控制块;
基于所述控制块,组合生成控制页。
12.根据权利要求11所述的系统级芯片的性能优化方法,其特征在于,所述利用控制页生成引擎对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果包括:
对所述目标控制块动态字段值表和所述控制块动态字段位置信息表进行解析,得到解析结果,所述解析结果至少包括控制块位置、控制块模板编号、控制块大小和动态字段个数。
13.根据权利要求12所述的系统级芯片的性能优化方法,其特征在于,根据所述解析结果,确定所述目标控制块模板信息包括:
根据所述控制块位置、控制块模板编号、控制块大小和动态字段个数,确定所述目标控制块模板信息。
14.根据权利要求1所述的系统级芯片的性能优化方法,其特征在于,基于所述目标控制块模板信息和动态参数值,生成控制页包括:
基于控制块大小值,将目标控制块模板实际数据读取到控制页生成引擎的内部缓存中;
基于控制块动态字段个数,依次从控制块动态字段位置单元和控制块动态字段值单元中读取控制块动态字段位置信息和值;
基于所述读取控制块动态字段位置信息和值,修改所述内部缓存中的目标控制块模板信息,生成所述控制块。
15.根据权利要求12所述的系统级芯片的性能优化方法,其特征在于,所述方法还包括:
基于所述控制块位置信息,将多个控制块读取到目标控制页中的对应位置,组合生成所述控制页。
16.根据权利要求1所述的系统级芯片的性能优化方法,其特征在于,基于所述控制页响应所述主机发出的操作指令包括:
将所述控制页分发至目标加速引擎,基于所述目标加速引擎,完成任务处理,以响应所述主机发出的操作指令。
17.根据权利要求16所述的系统级芯片的性能优化方法,其特征在于,所述方法还包括:
基于任务场景对应控制指令的功能属性以及加速引擎的功能属性,确定所述控制页所对应的目标加速引擎。
18.一种系统级芯片的性能优化装置,其特征在于,所述装置包括:
任务场景获取模块,用于在检测到主机发出的操作指令时,对所述操作指令进行解析,得到所述操作指令对应的任务场景;
模板信息确定模块,用于基于所述任务场景,提取预构建的控制块模板库中的控制块模板信息,确定处理所述任务场景对应的目标控制块模板信息;
操作指令响应模块,用于基于所述目标控制块模板信息和动态参数值,生成控制页,并基于所述控制页响应所述主机发出的操作指令,实现系统级芯片的性能优化。
19.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至17中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至17中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410224517.2A CN117806709B (zh) | 2024-02-29 | 系统级芯片的性能优化方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410224517.2A CN117806709B (zh) | 2024-02-29 | 系统级芯片的性能优化方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117806709A true CN117806709A (zh) | 2024-04-02 |
CN117806709B CN117806709B (zh) | 2024-06-07 |
Family
ID=
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102577411A (zh) * | 2009-09-22 | 2012-07-11 | 高通股份有限公司 | 使用信令或块创建的增强型块请求流送系统 |
CN103440171A (zh) * | 2013-08-25 | 2013-12-11 | 浙江大学 | 一种构件化硬件实时操作系统的实现方法 |
US20170277640A1 (en) * | 2016-03-22 | 2017-09-28 | Huazhong University Of Science And Technology | Dram/nvm hierarchical heterogeneous memory access method and system with software-hardware cooperative management |
CN110175000A (zh) * | 2019-05-24 | 2019-08-27 | 深圳忆联信息系统有限公司 | 基于固态硬盘的读写性能提升方法、装置和计算机设备 |
CN111651207A (zh) * | 2020-08-06 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 一种神经网络模型运算芯片、方法、装置、设备及介质 |
CN113918101A (zh) * | 2021-12-09 | 2022-01-11 | 苏州浪潮智能科技有限公司 | 一种写数据高速缓存的方法、系统、设备和存储介质 |
CN117421258A (zh) * | 2023-11-30 | 2024-01-19 | 苏州忆联信息系统有限公司 | Ssd数据存储的优化方法、装置、计算机设备及介质 |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102577411A (zh) * | 2009-09-22 | 2012-07-11 | 高通股份有限公司 | 使用信令或块创建的增强型块请求流送系统 |
CN103440171A (zh) * | 2013-08-25 | 2013-12-11 | 浙江大学 | 一种构件化硬件实时操作系统的实现方法 |
US20170277640A1 (en) * | 2016-03-22 | 2017-09-28 | Huazhong University Of Science And Technology | Dram/nvm hierarchical heterogeneous memory access method and system with software-hardware cooperative management |
CN110175000A (zh) * | 2019-05-24 | 2019-08-27 | 深圳忆联信息系统有限公司 | 基于固态硬盘的读写性能提升方法、装置和计算机设备 |
CN111651207A (zh) * | 2020-08-06 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 一种神经网络模型运算芯片、方法、装置、设备及介质 |
CN113918101A (zh) * | 2021-12-09 | 2022-01-11 | 苏州浪潮智能科技有限公司 | 一种写数据高速缓存的方法、系统、设备和存储介质 |
CN117421258A (zh) * | 2023-11-30 | 2024-01-19 | 苏州忆联信息系统有限公司 | Ssd数据存储的优化方法、装置、计算机设备及介质 |
Non-Patent Citations (3)
Title |
---|
FRANCISCO CANDEL ETC.: "Efficient Management of Cache Accesses to Boost GPGPU Memory Subsystem Performance", IEEE TRANSACTIONS ON COMPUTERS, vol. 68, no. 10, 1 October 2019 (2019-10-01), XP011744522, DOI: 10.1109/TC.2019.2907591 * |
洪佳洁: "高性能低功耗片上网络设计中的功耗与延时模型研究", 中国优秀硕士论文电子期刊网, 15 June 2011 (2011-06-15) * |
金晶;浦汉来;凌明;: "基于指令和存储器分析模型的性能分析方法", 电路与系统学报, no. 03, 30 June 2006 (2006-06-30) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI766207B (zh) | 多命名空間的資料存取方法及電腦程式產品 | |
US11455781B2 (en) | Data reading/writing method and system in 3D image processing, storage medium and terminal | |
CN112199040B (zh) | 存储访问方法及智能处理装置 | |
JP7353475B2 (ja) | コンピュータがテンソルデータの計算を実現する方法、装置、媒体及び機器 | |
CN110851383A (zh) | 一种管理存储系统的方法及设备 | |
KR20200060245A (ko) | 데이터 액세스 방법, 장치, 기기 및 저장 매체 | |
CN115237599B (zh) | 一种渲染任务处理方法和装置 | |
CN112306986A (zh) | 分布式文件系统的存储方法、装置、设备及存储介质 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
CN112800291B (zh) | 一种相似账户确定方法、装置、电子设备及存储介质 | |
CN115249057A (zh) | 用于图形节点采样的系统和由计算机实现的方法 | |
CN111444117B (zh) | 存储空间碎片化实现方法、装置、存储介质及电子设备 | |
CN117806709B (zh) | 系统级芯片的性能优化方法、装置、设备和存储介质 | |
CN115934102B (zh) | 通用寄存器动态分配方法、装置、计算机设备和存储介质 | |
CN117806709A (zh) | 系统级芯片的性能优化方法、装置、设备和存储介质 | |
CN113254455B (zh) | 数据库的动态配置方法、装置、计算机设备及存储介质 | |
CN111125809B (zh) | 建筑钢柱生成方法、装置、计算机设备和存储介质 | |
CN114138176A (zh) | Nor Flash的擦除、升级方法及装置、计算机设备和存储介质 | |
CN117312182B (zh) | 基于便签式存储的向量数据分散方法、装置及计算机设备 | |
CN112765116B (zh) | 一种日志存储方法、平台、设备及介质 | |
CN111158609B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN115809956B (zh) | 图形处理器性能分析方法、装置、计算机设备和存储介质 | |
US11429523B2 (en) | Two-way interleaving in a three-rank environment | |
CN111625192B (zh) | 一种元数据对象访问方法、装置、设备以及介质 | |
KR20020022050A (ko) | 공통 어드레스를 이용하여 어플리케이션 프로그램간의데이터 공유 및 어플리케이션 프로그램에 의한 주변기기의 액세스를 용이하게 하는 방법 |
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 |