一种异构结构系统包处理的方法技术方案

技术编号:34787133 阅读:24 留言:0更新日期:2022-09-03 19:49
本发明专利技术涉及包处理方法技术领域,具体涉及一种异构结构系统包处理的方法,该方法包括:在读取命令包返回之后,将返回的命令包加入到重排序缓存单元的命令队列中,重排序缓存单元对命令包进行解析,在命令包为派发包时,将派发包中携带的进程对象的虚拟地址发送给预取调度模块;预取调度模块获取进程对象;重排序缓存单元将获取的进程对象加入重排序缓存单元的进程对象队列中,通知微处理器命令包已经准备就绪;微处理器解析命令包,在命令包为派发包时解析相应的进程对象,进而完成相应任务的派发和执行,解决了目前微处理器在解析到派发包时还需要等待翻译进程对象的物理地址以及读取进程对象的漫长时间的问题,提高了微处理器的运行效率。理器的运行效率。理器的运行效率。

【技术实现步骤摘要】
一种异构结构系统包处理的方法


[0001]本专利技术涉及包处理
,具体涉及一种异构结构系统包处理的方法。

技术介绍

[0002]在HSA异构系统协议定义了AQL(Architected Queuing Language结构化包),AQL包被CPU放在环状命令包队列(RING BUFFER)中,该环状命令包队列在系统主内存或者设备内存中实际存储命令包队列,AQL包有多种包格式的包,其中派发包(kernel dispatch)是CPU通知设备执行进程任务的命令包,每个派发包都有进程对象的虚拟地址,而实际的进程对象存储在系统主内存或者设备内存中,进程对象中包括进程命令执行的起始地址、开始执行的偏移地址、硬件资源配置等进程执行时所必须的配置参数。
[0003]在HSA异构系统中,中央处理器CPU负责控制,包括任务分派和复杂的控制处理;若干个异步设备根据CPU命令执行计算;命令控制单元负责CPU命令的接收和切分,向执行单元下发命令;具体的,命令控制单元中硬件处理模块在获取命令包之后通知微处理器,微处理器在解析到命令包为派发包时,根据派发包携带的进程对象的虚拟地址获取进程对象,获取到进程对象之后给工作组派发单元配置寄存器,工作组派发单元将进程分为多个工作组后下发给空闲的计算执行单元,计算执行单元根据寄存器读取相应的进程指令和数据后执行进程指令。
[0004]对于传统的包处理方法,命令控制单元中的微处理器需要先获取并解析命令包,若是派发包,则需要读取进程对象,而在读取进程对象时需要进行虚拟地址翻译和获取进程对象,其中虚拟地址翻译需要经过多级虚拟地址转换单元的缓存、获取进程对象需要通过多级缓存读取设备内存甚至CPU侧系统主内存,耗时非常长,特别是如果虚拟地址转物理地址过程中出现多次缓存匹配不上需要向CPU侧的物理地址管理单元寻址时所需要的时间就更长,因此地址翻译的过程占用了微处理器的一定时间;而且在得到进程对象的物理地址之后,需要从设备内存或者系统主内存中获取进程对象,也会耗费大量的时间;由于微处理器需要等待当前的包处理完毕之后才能处理下一个包,从获取命令包开始微处理器被进程对象的物理地址翻译和读取进程对象的过程大量占用,在得到进程对象之前微处理器只能等待,导致微处理器有大量的空闲等待的时间,进而导致微处理器的处理效率低。

技术实现思路

[0005]为了解决上述技术问题,本专利技术的目的在于提供一种异构结构系统包处理的方法,所采用的技术方案具体如下:一种异构结构系统包处理的方法,应用于异步设备的命令控制单元,所述命令控制单元包括微处理器和硬件处理模块,所述硬件处理模块包括预取调度模块、地址转换单元、重排序缓存单元和工作组派发单元,该方法包括以下步骤:在读取命令包返回之后,将返回的命令包加入到重排序缓存单元的命令队列中,重排序缓存单元对命令包进行解析,在命令包为派发包时,则将派发包中所携带的进程对象的虚拟地址发送给预取调度模块;
预取调度模块将进程对象的虚拟地址发送给地址转换单元获取进程对象的物理地址,并向设备的多级缓存单元发起进程对象读取命令;重排序缓存单元将多级缓存返回的进程对象加入重排序缓存单元的进程对象队列中,通知微处理器命令包已经准备就绪;所述微处理器解析命令包,在命令包为派发包时解析相应的进程对象,其中每个进程包括若干个工作组;微处理器给工作组派发单元配置寄存器,工作组派发单元将进程分为多个工作组后下发给空闲的计算执行单元,计算执行单元根据寄存器读取相应的进程指令和数据后执行进程指令。
[0006]本专利技术实施例具有如下有益效果:本专利技术实施例通过在微处理器解析包之前,提前预取命令包以及派发包对应的进程对象,并将命令包加入命令队列,将进程对象加入相应的进程对象队列中,在微处理器解析到派发包的同时能够获取到相应的进程对象,进而完成相应任务的派发和执行,进而解决了现有技术中微处理器在解析到派发包时还需要等待翻译进程对象的物理地址以及根据该物理地址读取进程对象的漫长时间的问题,提高了微处理器的运行效率。
附图说明
[0007]为了更清楚地说明本专利技术实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0008]图1为异构结构系统的结构框图;图2为本专利技术实施例提供的一种基于异构结构系统的包处理方法的步骤流程图;图3为本专利技术实施例提供的一种基于异构结构系统的包处理方法的方法流程图;图4为传统的包处理过程的示意图;图5为本专利技术实施例所提供的包处理过程的示意图;图6为本专利技术实施例中包和进程对象的读取流程示意图。
具体实施方式
[0009]为了更进一步阐述本专利技术为达成预定专利技术目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本专利技术提出的一种基于异构结构系统的包处理方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一个或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
[0010]除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。
[0011]下面结合附图具体的说明本专利技术所提供的一种基于异构结构系统的包处理方法的具体方案。
[0012]请参阅图1,其示出了本专利技术实施例应用的异构结构系统的结构,异构结构系统包括两大部分:中央处理器和若干个异步设备。其中,中央处理器(CPU)负责控制,用于任务的分派和复杂的控制处理;异步设备根据CPU的命令执行计算。
[0013]其中,中央处理器包括CPU系统主内存和地址管理单元。CPU发起的程序可能会被拆解为上万个命令队列,若干个命令队列存储于CPU主内存或者设备内存中,其中每个命令队列是由若干个包组成的包队列,这些命令队列被映射到若干个异步设备的命令控制单元中的某个队列组的某个命令队列上。地址管理单元负责最终的物理地址的管理和解释。
[0014]其中,每个异步设备包括命令控制单元、若干个并行计算执行单元、虚拟地址转换二级缓存、多级缓存、PCIE接口、片内高宽带内存和资源分配模块(图中未示出)。命令控制单元负责命令的接收和切分,向并行计算执行单元下发命令;并行计算执行单元用于执行相应的任务;虚拟地址二级缓存用作虚拟地址一级缓存和CPU侧的地址管理单元之间的数据临时交换的缓存;多级缓存为数据读取通道的缓存;片内高宽内存为当前异步设备侧的内存,也称为设备内存;PCIE接口是一种高速串行计算机扩展总线标准,中央处理器和异步设备之间通过PCIE接口通信。
[0015]其中,命令控制单元包括若干个微处理器和硬件处理模块,微处理器是软件编程实现的功能模块,硬件处理模块是由硬件电路构成。硬件处理模块包括预取调度模块、虚拟地址转换一级缓存、读取模块、若干个工作组派发单元和存储命令队列组的重排本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异构结构系统包处理的方法,应用于异步设备的命令控制单元,所述命令控制单元包括微处理器和硬件处理模块,所述硬件处理模块包括预取调度模块、地址转换单元、重排序缓存单元和工作组派发单元,其特征在于,该方法包括以下步骤:在读取命令包返回之后,将返回的命令包加入到重排序缓存单元的命令队列中,重排序缓存单元对命令包进行解析,在命令包为派发包时,则将派发包中所携带的进程对象的虚拟地址发送给预取调度模块;预取调度模块将进程对象的虚拟地址发送给地址转换单元获取进程对象的物理地址,并向设备的多级缓存单元发起获取进程对象读取命令;重排序缓存单元将多级缓存返回的进程对象加入重排序缓存单元的进程对象队列中,通知微处理器命令包已经准备就绪;所述微处理器解析命令包,在命令包为派发包时解析相应的进程对象,其中每个进程包括若干个工作组;微处理器给工作组派发单元配置寄存器,工作组派发单元将进程分为多个工作组后下发给空闲的计算执行单元,由计算执行单元根据寄存器读取相应的进程指令和数据后执行进程指令。2.根据权利要求1所述的一种异构结构系统包处理的方法,其特征在于,所述微处理器按照自然顺序读取所述命令队列中的命令包,在命令包为派发包时按照自然顺序读取进程对象队列中的进程对象。3.根据权利要求1所述的一种异构结构系统包处理的方法,其特征在于,所述进程对象队列中的进程对象的排列顺序与命令队列中派发包的排列顺序相同。4.根据权利要求1所述的一种异构结构系统包处理的方法,其特征在于,所述进程对象队列和所述命令队列遵循先入先出原则。5.根据权利要求1所述的一种...

【专利技术属性】
技术研发人员:曾臻
申请(专利权)人:沐曦集成电路上海有限公司
类型:发明
国别省市:

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

1