用于缓存控制的方法、计算设备和电子设备与流程

文档序号:34238395发布日期:2023-05-24 23:50阅读:24来源:国知局
用于缓存控制的方法、计算设备和电子设备与流程

下面的描述涉及用于缓存控制的方法和设备。


背景技术:

1、一级缓存(或l1缓存)可被分类为指令缓存和数据缓存。基于执行的应用的特性,数据缓存可具有比指令缓存大的负载,或者指令缓存可具有比数据缓存大的负载。


技术实现思路

1、提供本
技术实现要素:
以简化的形式介绍在下面的具体实施方式中进一步描述的构思的选择。本发明内容不意在确定要求保护的主题的关键特征或必要特征,也不意在用于帮助确定要求保护的主题的范围。

2、在一个总体方面,一种处理器实现的方法包括:从主机装置接收用于控制缓存区的控制信息;基于接收的控制信息来生成缓存配置;基于生成的缓存配置来确定处理器中的存储器中的第一缓存区和第二缓存区;将存储在处理器的外部存储器中的一个或多个指令缓存到第一缓存区,并且将存储在外部存储器中的数据缓存到第二缓存区;以及基于缓存的所述一个或多个指令和缓存的数据来处理线程。

3、控制信息可包括:由主机装置中的编译器确定的并且与所述线程相关的指令大小和数据大小,其中,生成缓存配置的步骤包括:基于指令大小选择第一缓存大小,并且基于数据大小选择第二缓存大小;以及基于选择的第一缓存大小和选择的第二缓存大小来生成缓存配置。

4、选择第一缓存区和选择第二缓存区的步骤可包括:基于选择的第一缓存大小和选择的第二缓存大小来选择第一缓存区和选择第二缓存区。

5、所述方法可包括:基于处理所述线程的结果生成缓存性能配置文件;基于生成的缓存性能配置文件修改生成的缓存配置;以及将修改后的缓存配置应用于第一缓存区和第二缓存区。

6、生成的缓存配置可包括:表示第一缓存区的大小的第一缓存大小和表示第二缓存区的大小的第二缓存大小,其中,修改生成的缓存配置的步骤可包括:修改第一缓存大小并修改第二缓存大小,使得由于第一缓存区的缓存未命中而导致的第一停顿的总数和由于第二缓存区的缓存未命中而导致的第二停顿的总数被平衡。

7、修改第一缓存大小并修改第二缓存大小的步骤可包括:响应于第一停顿的总数大于第二停顿的总数,增大第一缓存大小并减小第二缓存大小;以及响应于第二停顿的总数大于第一停顿的总数,增大第二缓存大小并减小第一缓存大小。

8、所述方法可包括:基于处理所述线程的结果生成缓存性能配置文件;响应于所述线程之后的每个线程被处理以及生成的缓存性能配置文件中的每个,基于生成的缓存性能配置文件来确定第一缓存区的大小与第二缓存区的大小之间的最佳比率;以及将确定的最佳比率应用于第一缓存区和第二缓存区。

9、所述接收的步骤包括:从主机装置接收由主机装置中的神经网络模型从给定的输入推断的指令大小和数据大小。

10、所述存储器可包括静态随机存取存储器(sram),第一缓存区与指令缓存对应,并且第二缓存区与数据缓存对应。并且选择第一缓存区和第二缓存区的步骤包括:确定第一缓存区和第二缓存区的表示大小。

11、在一个总体方面,一种处理器实现的方法包括:基于针对存储器中的第一缓存区和第二缓存区的第一缓存性能配置文件来确定缓存配置;基于确定的缓存配置来调整第一缓存区和第二缓存区;将一个或多个指令缓存到调整后的第一缓存区,并将数据缓存到调整后的第二缓存区;以及基于缓存的所述一个或多个指令和缓存的数据来处理线程。

12、所述方法可包括:基于处理所述线程的结果来生成与第一缓存性能配置文件不同的第二缓存性能配置文件;基于第二缓存性能配置文件修改确定的缓存配置;以及将修改后的缓存配置应用于第一缓存区和第二缓存区。

13、修改确定的缓存配置的步骤可包括:修改调整后的第一缓存区的大小和调整后的第二缓存区的大小,使得由于第一缓存区的缓存未命中而导致的第一停顿的总数和由于第二缓存区的缓存未命中而导致的第二停顿的总数被平衡。

14、所述方法可包括:基于生成的与从主机接收的控制信息对应的缓存配置文件来选择第一缓存区和第二缓存区。

15、在一个总体方面,一种计算设备包括:存储器;缓存控制器,被配置为:从主机装置接收用于控制缓存区的控制信息,基于控制信息生成缓存配置,以及基于生成的缓存配置确定所述存储器中的第一缓存区和第二缓存区;获取器,被配置为:获取缓存在第一缓存区中的一个或多个指令,并且对获取的所述一个或多个指令进行解码;以及第一电路,被配置为:对第二缓存区中的缓存的数据执行操作,并且基于解码后的所述一个或多个指令来处理线程。

16、控制信息可包括:由主机装置中的编译器确定的并且与所述线程相关的指令大小和数据大小,其中,缓存控制器被配置为:基于指令大小来确定第一缓存大小,并且基于数据大小来确定第二缓存大小,以及基于确定的第一缓存大小和确定的第二缓存大小来生成缓存配置。

17、缓存控制器可被配置为:基于选择的第一缓存大小和选择的第二缓存大小来选择第一缓存区和选择第二缓存区。

18、所述设备可包括:分析器,被配置为:基于处理所述线程的结果来生成缓存性能配置文件,其中,缓存控制器被配置为:基于生成的缓存性能配置文件修改生成的缓存配置,并且将修改后的缓存配置应用于第一缓存区和第二缓存区。

19、生成的缓存配置可包括:表示第一缓存区的大小的第一缓存大小和表示第二缓存区的大小的第二缓存大小,其中,缓存控制器可被配置为:修改第一缓存大小和第二缓存大小,使得由于第一缓存区的缓存未命中而导致的第一停顿的总数和由于第二缓存区的缓存未命中而导致的第二停顿的总数被平衡。

20、缓存控制器可被配置为:响应于第一停顿的总数大于第二停顿的总数,增大第一缓存大小并且减小第二缓存大小,以及响应于第二停顿的总数大于第一停顿的总数,增大第二缓存大小并减小第一缓存大小。

21、缓存控制器可被配置为:响应于所述线程之后的每个线程被处理以及生成的缓存性能配置文件中的每个,基于生成的缓存性能配置文件来确定第一缓存区的大小与第二缓存区的大小之间的最佳比率,以及将确定的最佳比率应用于第一缓存区和第二缓存区。

22、缓存控制器可被配置为:从主机装置接收由主机装置中的神经网络模型从给定的输入推断的指令大小和数据大小。

23、所述存储器可包括静态随机存取存储器(sram),第一缓存区与指令缓存对应,并且第二缓存区与数据缓存对应。

24、在一个总体方面,一种电子设备包括:多个处理器,其中,所述多个处理器中的每个被配置为:从主机装置接收用于控制缓存区的控制信息,基于控制信息来生成缓存配置,基于生成的缓存配置来确定每个处理器中的存储器中的第一缓存区和第二缓存区,将一个或多个指令缓存到第一缓存区并且将数据缓存到第二缓存区,以及基于缓存的所述一个或多个指令和缓存的数据来处理线程。

25、所述多个处理器中的每个可被配置为:基于处理所述线程的结果来生成缓存性能配置文件,使用生成的缓存性能配置文件中的每个修改生成的缓存配置中的每个,以及将修改后的缓存配置中的每个应用于第一缓存区和第二缓存区。

26、在一个总体方面,一种电子设备包括:多个处理器;第一控制器,被配置为:基于从主机装置接收的控制信息生成各个缓存配置以控制缓存,并且将各个缓存配置中的每个发送给所述多个处理器中的每个的不同处理器,其中,所述多个处理器各自被配置为:基于接收的缓存配置中的每个来选择每个处理器中的存储器中的第一缓存区和第二缓存区,将一个或多个指令缓存到第一缓存区并且将数据缓存到第二缓存区,并且基于缓存的所述一个或多个指令和缓存的数据来处理各个线程。

27、根据以下具体实施方式、附图和权利要求,其他特征和方面将是清楚的。

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