一种基于NPU的指令数据读取方法、装置及相关设备与流程

文档序号:36969991发布日期:2024-02-07 13:19阅读:21来源:国知局
一种基于NPU的指令数据读取方法、装置及相关设备与流程

本技术涉及计算机,尤其涉及一种基于npu的指令数据读取方法、装置及相关设备。


背景技术:

1、程序存储器(program)是一种计算系统中常设的静态随机存储器sram,其上存储的计算系统运行的系列包处理指令,供指令流水线读取并执行对应的程序,其常设置在多核计算系统中用于解决对存储的处理指令进行读取的冲突。例如:上述多核计算系统可以为:由程序存储器和网络处理器(neural processor unit,npu)组成的计算系统,其中,网络处理器中包含多个用于根据指令数据执行预设处理操作的指令处理引擎。

2、目前行业内使用的程序存储器的技术实施方案中,程序存储器通常是一块大内存存储单元,其上存储系统运行的多个指令,并同时服务多个程序处理引擎的取指需求。其中,每个程序处理引擎配有一个独立的指令缓存区,指令缓存区会从程序存储器预读取部分指令,提供给取指单元进行取指执行。

3、基于这种存储器进行指令基于npu的指令数据读取,在遇到系统的多个程序处理引擎同时产生程序读取指令请求时,容易发生取指冲突,进而产生较大延时,因此会降低取指效率。为此,如何提供一种低延时且工作状态效率稳定的存储器数据取指方案,就成了行业内亟需解决的技术问题。


技术实现思路

1、有鉴于此,本技术实施例提供一种基于npu的指令数据读取方法、装置及相关设备,以至少部分解决上述问题。

2、第一方面,本技术实施例提供一种基于npu的指令数据读取方法,应用于与网络处理器配套使用的程序存储器,所述程序存储器中包含多个存储单元,所述存储单元用于存储指令数据;所述网络处理器中包含多个指令处理引擎;所述方法包括:

3、接收指令处理引擎发送的指令读取请求,所述指令读取请求中包含待请求的目标指令的标识信息;

4、根据所述标识信息,从所述多个存储单元中确定存储有所述目标指令的目标存储单元;

5、从所述目标存储单元读取所述目标指令,并将所述目标指令返回所述指令处理引擎,以使所述指令处理引擎基于所述目标指令执行预设处理操作。

6、可选地,在本技术实施例的一种实施例中,所述程序存储器还包含:调度单元;

7、所述接收指令处理引擎发送的指令读取请求,包括:

8、通过所述调度单元,接收指令处理引擎发送的指令读取请求;

9、所述从所述目标存储单元读取所述目标指令,并将所述目标指令返回所述指令处理引擎,以使所述指令处理引擎基于所述目标指令执行预设处理操作,包括:

10、通过所述调度单元,判断当前是否存在包含取指冲突的多个冲突请求;

11、若存在包含取指冲突的多个冲突请求,通过所述调度单元确定所述多个冲突请求的取指优先级;

12、根据所述取指优先级,依次对所述目标存储单元中的目标指令进行读取,并将所述目标指令处理引擎返回所述指令处理引擎;

13、若存在包含取指冲突的多个冲突请求,通过所述调度单元确定所述多个冲突请求的取指优先级;

14、根据所述取指优先级,依次对所述目标存储单元中的目标指令进行读取,并将所述目标指令处理引擎返回所述指令处理引擎。

15、可选地,在本技术实施例的一种实施例中,所述多个指令存储单元在所述程序存储器中的数据位宽参数一致。

16、可选地,在本技术实施例的一种实施例中,所述方法还包括:所述程序存储器中包含的多个存储单元的总数量大于或者等于所述网络处理器中包含的多个指令处理引擎的总数量。

17、可选地,在本技术实施例的一种实施例中,至少一个程序的指令数据在所述多个指令存储单元中按照预设的顺序依次排列。

18、第二方面,本技术实施例还提供另一种基于npu的指令数据读取方法,应用于与程序存储器配套使用的网络处理器,所述网络处理器中包含多个指令处理引擎;所述程序存储器中包含多个存储单元,所述存储单元用于存储指令数据;所述方法包括:

19、通过指令处理引擎向所述程序存储器发送指令读取请求,以使所述程序存储器根据所述标识信息,从所述多个存储单元中确定存储有所述目标指令的目标存储单元,并从所述目标存储单元读取所述目标指令;所述指令读取请求中包含待请求的目标指令的标识信息;

20、接收所述程序存储器返回的目标指令,并基于所述目标指令执行预设处理操作。

21、第三方面,基于对应本技术实施例第一方面所述的基于npu的指令数据读取方法,本技术还提供一种基于npu的指令数据读取装置,应用于与网络处理器配套使用的程序存储器,所述程序存储器中包含多个存储单元,所述存储单元用于存储指令数据;所述网络处理器中包含多个指令处理引擎;所述装置包括:

22、接收模块,用于接收指令处理引擎发送的指令读取请求,所述指令读取请求中包含待请求的目标指令的标识信息;

23、确定模块,用于根据所述标识信息,从所述多个存储单元中确定存储有所述目标指令的目标存储单元;

24、反馈模块,用于从所述目标存储单元读取所述目标指令,并将所述目标指令返回所述指令处理引擎,以使所述指令处理引擎基于所述目标指令执行预设处理操作。

25、第四方面,基于本技术实施例第二方面所述的另一种基于npu的指令数据读取方法,本技术还提供另一种基于npu的指令数据读取装置,应用于与程序存储器配套使用的网络处理器,所述网络处理器中包含多个指令处理引擎;所述程序存储器中包含多个存储单元,所述存储单元用于存储指令数据;所述方法包括:

26、取指模块,用于通过指令处理引擎向所述程序存储器发送指令读取请求,以使所述程序存储器根据所述标识信息,从所述多个存储单元中确定存储有所述目标指令的目标存储单元,并从所述目标存储单元读取所述目标指令;所述指令读取请求中包含待请求的目标指令的标识信息;

27、执行模块,用于接收所述程序存储器返回的目标指令,并基于所述目标指令执行预设处理操作

28、第五方面,本技术实施例还提供一种程序存储器,所述程序存储器中包含多个存储单元,所述存储单元用于存储指令数据,所述程序存储器用于执行如本技术第一方面所述的基于npu的指令数据读取方法。

29、第六方面,本技术实施例还提供一种网络处理器,所述网络处理器中包含多个指令处理引擎,所述网络处理器用于执行本技术第二方面所述的任意一种基于npu的指令数据读取方法。

30、本技术提供了一种基于npu的指令数据读取方法、装置及相关设备,应用于与网络处理器配套使用的程序存储器,其中,程序存储器中包含多个存储单元,存储单元用于存储指令数据,网络处理器中包含多个指令处理引擎;所述方法包括:接收指令处理引擎发送的指令读取请求,所述指令读取请求中包含待请求的目标指令的标识信息;根据所述标识信息,从所述多个存储单元中确定存储有所述目标指令的目标存储单元;从所述目标存储单元读取所述目标指令,并将所述目标指令返回所述指令处理引擎,以使所述指令处理引擎基于所述目标指令执行预设处理操作,这种通过多个指令处理引擎对多个存储单元进行多活访问的数据读取方法,有效的降低了因数据读取请求占用程序存储器的数据访问端口导致可能引起的取指冲突情况的发生,减少甚至避免了核间访问冲突,提高了对程序指令数据的读取效率,降低了程序的响应延时。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1