本发明专利技术公开了一种数据访问方法及设备,属于计算机领域。所述方法包括:在每个时钟周期,当检测到多个HAC通过与所述多个HAC分别连接的HAC-IF发送的数据访问请求时,基于多个数据访问请求的优先级,接收优先级最高的数据访问请求;基于接收的数据访问请求的类型,将所述接收的数据访问请求存储在LMI的数据队列中;基于所述LMI的数据队列中的目标数据访问请求携带的数据量、所述目标数据访问请求携带的起始地址和SOC数据总线的最大数据量,对SOC的存储资源进行数据访问。本发明专利技术通过LMI对HAC发送的数据访问请求进行仲裁、拆分以及协议转化,节省了拆分逻辑和协议转化逻辑的重复资源,并且SOC数据总线只需为LMI提供访问接口,减少了SOC数据总线的访问接口的数量。
【技术实现步骤摘要】
本专利技术涉及计算机领域,特别涉及一种数据访问方法及设备。
技术介绍
随着芯片复杂度的不断增加,单个芯片内HAC(英文:Hardware Accelerator ;中文:硬件加速器)的数量越来越多,且HAC对SOC (英文!System On Chip ;中文:片上系统)的存储资源进行数据访问是HAC执行业务过程中比不可少的环节。目前,HAC对SOC的存储资源进行数据访问的具体过程可以为:如图1所示,每个HAC分别连接一个HAC-1F(英文:Hardware Accelerator Interface ;中文:硬件加速器接口),当每个HAC接收到数据访问请求时,该HAC将该数据访问请求发送给与其连接的HAC-1F,该HAC-1F基于指定数据量和该数据访问请求携带的数据量,在每个时钟周期,从该数据访问请求中拆分出一个子数据访问请求,子数据访问请求携带的子数据量小于或等于指定数据量。其中,指定数据量小于或等于SOC数据总线要求的最大数据量。之后,该HAC-1F将该子数据访问请求进行协议转化,得到数据访问命令,使该数据访问命令满足SOC数据总线的协议。该HAC-1F将该数据访问命令发送给SOC数据总线,当SOC数据总线检测到多个HAC-1F发送的数据访问命令时,基于每个HAC-1F接收的数据访问请求的优先级,接收优先级最高的数据访问请求拆分后的数据访问命令,并基于该数据访问命令,对SOC的存储资源进行数据访问。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:SOC数据总线为每个HAC-1F均提供一个访问接口,当HAC的数量增加时,SOC数据总线需要提供的访问接口也会增加;并且在每个HAC-1F内均需布置相同的拆分数据访问请求的逻辑和协议转化的逻辑,资源浪费较多。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种数据访问方法及设备。所述技术方案如下:第一方面,提供了一种数据访问方法,所述方法包括:在每个时钟周期,当检测到多个硬件加速器HAC通过与所述多个HAC分别连接的硬件加速器接口 HAC-1F发送的数据访问请求时,基于多个数据访问请求的优先级,接收优先级最高的数据访问请求;基于接收的数据访问请求的类型,将所述接收的数据访问请求存储在逻辑主接口LMI的数据队列中;基于所述LMI的数据队列中的目标数据访问请求携带的数据量、所述目标数据访问请求携带的起始地址和片上系统SOC数据总线的最大数据量,对SOC的存储资源进行数据访问。结合第一方面,在上述第一方面的第一种可能的实现方式中,所述基于接收的数据访问请求的类型,将所述接收的数据访问请求存储在逻辑主接口 LMI的数据队列中,包括:如果接收的数据访问请求的类型为数据写请求,则将所述接收的数据访问请求存储在LMI的第一数据队列中最后一个数据访问请求之后,所述第一数据队列用于存储数据写请求;如果接收的数据访问请求的类型为数据读请求,则将所述接收的数据访问请求存储在所述LMI的第二数据队列中最后一个数据访问请求之后,所述第二数据队列用于存储数据读请求。结合第一方面,在上述第一方面的第二种可能的实现方式中,所述基于所述LMI的数据队列中的目标数据访问请求携带的数据量、所述目标数据访问请求携带的起始地址和片上系统SOC数据总线的最大数据量,对SOC的存储资源进行数据访问,包括:从LMI的第一数据队列中,获取目标数据写请求,以及从所述LMI的第二数据队列中,获取目标数据读请求;基于所述目标数据写请求携带的第一数据量、所述目标数据写请求携带的第一起始地址和SOC数据总线的最大数据量,将所述目标数据写请求的写数据写入SOC的存储资源中;基于所述目标数据读请求携带的第二数据量、所述目标数据读请求携带的第二起始地址和所述SOC数据总线的最大数据量,从所述SOC的存储资源中读取所述目标数据读请求的读数据。结合第一方面的第二种可能的实现方式,在上述第一方面的第三种可能的实现方式中,所述基于所述目标数据写请求携带的第一数据量、所述目标数据写请求携带的第一起始地址和SOC数据总线的最大数据量,将所述目标数据写请求的写数据写入SOC的存储资源中,包括:基于所述目标数据写请求携带的第一数据量、所述目标数据写请求携带的第一起始地址和芯片数据总线的位宽,从目标HAC中获取写数据,并对获取写数据的次数进行统计,得到第一次数,所述目标HAC为发送所述目标数据写请求的HAC ;当所述第一次数达到第一指定次数时,从所述目标HAC中获取所述第一指定次数的下一次写数据的过程中,基于所述第一数据量、所述第一起始地址和所述SOC数据总线的最大数据量,从所述目标数据写请求中拆分出一个子数据写请求,并将所述子数据写请求进行协议转化,得到数据写命令,所述数据写命令携带第一子数据量和第一子起始地址;当所述第一次数达到第二指定次数时,从所述目标HAC中获取所述第二指定次数的下一次写数据的过程中,将所述数据写命令发送给所述SOC数据总线,并将所述第一次数清零,重新统计第一次数,返回上一步骤,直至将所述目标数据写请求拆分完毕;当接收到所述SOC数据总线返回的数据写响应时,将多次从所述目标HAC中获取所述数据写命令的写数据,逐次发送给所述SOC数据总线,使所述SOC数据总线按照所述第一子数据量和所述第一子起始地址,将接收的写数据写入SOC的存储资源中。结合第一方面的第二种可能的实现方式,在上述第一方面的第四种可能的实现方式中,所述基于所述目标数据写请求携带的第一数据量、所述目标数据写请求携带的第一起始地址和SOC数据总线的最大数据量,将所述目标数据写请求的写数据写入SOC的存储资源中,包括:基于所述目标数据写请求携带的第一数据量、所述目标数据写请求携带的第一起始地址和芯片数据总线的位宽,从目标HAC中获取写数据,并对获取写数据的次数进行统计,得到第一次数,所述目标HAC为发送所述目标数据写请求的HAC ;当所述第一次数达到第一指定次数时,从所述目标HAC中获取所述第一指定次数的下一次写数据的过程中,基于所述第一数据量、所述第一起始地址和所述SOC数据总线的最大数据量,从所述目标数据写请求中拆分出一个子数据写请求,将所述子数据写请求进行协议转化,得到数据写命令,返回本步骤,直至将所述目标数据写请求拆分完毕;将所述数据写命令发送给所述SOC数据总线,所述数据写命令携带第一子数据量和第一子起始地址;当接收到所述SOC数据总线返回的数据写响应时,将多次从所述目标HAC中获取的写数据,逐次发送给所述SOC数据总线,使所述SOC数据总线按照所述第一子数据量和所述第一子起始地址,将接收的写数据写入SOC的存储资源中。结合第一方面的第三种可能的实现方式或者第一方面的第四种可能的实现方式,在上述第一方面的第五种可能的实现方式中,所述基于所述目标数据写请求携带的第一数据量、所述目标数据写请求携带的第一起始地址和芯片数据总线的位宽,从目标HAC中获取写数据,并对获取写数据的次数进行统计,得到第一次数,包括:基于所述目标数据写请求携带的第一数据量、所述目标数据写请求携带的第一起始地址和芯片数据总线的位宽,计算从目标HAC中获取写数据的获取次数,所述芯片数据总线为与所述LMI连接的数据总线;基于所述获取次数,向所述本文档来自技高网...
【技术保护点】
一种数据访问方法,其特征在于,所述方法包括:在每个时钟周期,当检测到多个硬件加速器HAC通过与所述多个HAC分别连接的硬件加速器接口HAC‑IF发送的数据访问请求时,基于多个数据访问请求的优先级,接收优先级最高的数据访问请求;基于接收的数据访问请求的类型,将所述接收的数据访问请求存储在逻辑主接口LMI的数据队列中;基于所述LMI的数据队列中的目标数据访问请求携带的数据量、所述目标数据访问请求携带的起始地址和片上系统SOC数据总线的最大数据量,对SOC的存储资源进行数据访问。
【技术特征摘要】
【专利技术属性】
技术研发人员:覃婕,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。