减少存内处理操作中的时延的制作方法

摘要: 背景技术:1、本说明书总体上涉及用于执行计算的存储器装置。2、现代计算系统通常包含各种各样的计算处理单元,每个计算处理单元提供不同的计算能力和权衡取舍。有效地执...
减少存内处理操作中的时延的制作方法

背景技术:

1、本说明书总体上涉及用于执行计算的存储器装置。

2、现代计算系统通常包含各种各样的计算处理单元,每个计算处理单元提供不同的计算能力和权衡取舍。有效地执行给定的计算作业通常涉及将计算解析为有意义的子任务或工作负载,这些子任务或工作负载被映射到计算系统的可用处理器核心。可以基于诸如处理器能力、性能和功率的适用性标准对计算进行解析和映射。通常,这种将计算的部分分配给适当的处理器资源的总体过程被称为异构计算。

3、计算系统的至少一个处理器核心可以是知识产权块(“ip块”),该ip块针对不同的多媒体工作负载执行计算操作的相应部分。示例用例可以涉及处理分别由移动装置上的相机或麦克风捕获的图像或语音数据。该soc可以使用异构计算操作来处理从图像数据、语音数据或两者中得出的输入样本。异构计算操作中的示例步骤可以包括使用提供存内处理或计算能力的存储器装置来处理与输入样本相关联的数据。

技术实现思路

1、本说明书描述了用于在用于内存受限型计算工作负载的存内处理器架构(简称“pim架构”)中存储数据的硬件和软件技术。pim架构定义了存储器装置的一个或多个pim块,并且每个pim块包括计算元件,诸如处理器单元、模式寄存器和一个或多个算术逻辑单元(alu)。例如,pim块可以包括协作以形成一个或多个pim计算元件的分立的处理器、处理器单元、寄存器装置、缓冲器等。

2、用于在pim架构中存储数据的先前设计方法要求在向动态随机存取存储器dram或pim寄存器装置中的存储器阵列写入数据之前打开“虚拟”页面。一旦写入操作完成后,就必须关闭虚拟页面。在将向pim寄存器装置写入数据的场景中,由于无需访问dram页面,因此打开和关闭虚拟页面的步骤是不必要的。与这些先前方法相比,本说明书的技术消除了在向pim寄存器装置写入数据时打开和关闭虚拟页面的不必要步骤。此外,如果写入的数据的大小低于阈值,则可以通过在pim架构的命令总线中传输待写入的数据来进一步提高处理效率。

3、可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。在向pim寄存器装置写入数据时,去除打开和关闭虚拟页面的不必要步骤,可以大幅降低写入时延。这些技术还可以减少跨共享相同命令总线和数据总线的pim存储器裸片秩执行写入操作时的切换时延。在要写入的数据小到足以通过命令总线发送的场景中,这些技术可以同时向两个秩广播相同的写入命令,从而消除切换时延。降低写入时延可提高主机装置的整体处理效率。

4、在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据描述、附图和权利要求,该主题的其他特征、方面和优点将变得显而易见。

1.一种系统,包括:

2.如权利要求1所述的系统,进一步包括完整命令协议,所述完整命令协议包括用于打开所述一个或多个存储器阵列的一部分的第一命令,并且

3.如权利要求2所述的系统,其中所述完整命令协议包括用于关闭所述一个或多个存储器阵列的一部分的第二命令,并且

4.如权利要求1至3中任一项所述的系统,其中所述精简命令协议包括修改后的写入命令,所述修改后的写入命令指示所述主机装置正在将数据存储在所述集成计算元件的所述内部存储装置中。

5.如权利要求1至4中任一项所述的系统,其中所述主机装置被配置为使用所述pim子系统的所述一个或多个存储器阵列作为主存储器。

6.如权利要求2至3中任一项所述的系统,其中所述主机装置被配置为使用命令接口向所述pim子系统发送命令。

7.如权利要求6所述的系统,其中所述系统被配置为针对所述完整命令协议和所述精简命令协议使用所述命令接口。

8.如权利要求1至7中任一项所述的系统,其中所述主机装置被配置为将所述精简命令协议与打开所述一个或多个存储器阵列的一部分进行读取的操作重叠。

9.如权利要求8所述的系统,其中所述主机装置被配置为将向所述内部存储装置写入与打开所述一个或多个存储器阵列的所述一部分的所述操作重叠。

10.如权利要求8至9中任一项所述的系统,其中所述精简命令协议和向所述内部存储装置写入所占用的时钟周期比打开所述一个或多个存储器阵列的所述一部分进行读取所占用的时钟周期更少。

11.如权利要求9至10中任一项所述的系统,其中所述pim子系统是多秩子系统,并且其中所述主机装置被配置为执行操作,所述操作包括:

12.如权利要求11所述的系统,其中所述第一精简命令协议和所述第二精简命令协议至少部分地重叠。

13.如权利要求11至12中任一项所述的系统,其中所述第二精简命令协议与向所述第一秩的所述第一内部存储装置写入所述第一数据至少部分地重叠。

14.如权利要求11至13中任一项所述的系统,其中所述系统被配置为在打开所述一个或多个存储器阵列的所述一部分进行读取的操作已经完成之前,完成向所述第二内部存储装置写入所述第二数据。

15.一种由存内处理pim子系统执行的方法,所述pim子系统包括一个或多个存储器阵列和具有内部存储装置的一个或多个集成计算元件,所述方法包括:

16.如权利要求15所述的方法,进一步包括完整命令协议,所述完整命令协议包括用于打开所述一个或多个存储器阵列的一部分的第一命令,并且

17.如权利要求16所述的方法,其中所述完整命令协议包括用于关闭所述一个或多个存储器阵列的一部分的第二命令,并且

18.如权利要求15至17中任一项所述的方法,其中所述精简命令协议包括修改后的写入命令,所述修改后的写入命令指示所述主机装置正在将数据存储在所述集成计算元件的所述内部存储装置中。

19.如权利要求15至18中任一项所述的方法,其中所述主机装置被配置为使用所述pim子系统的所述一个或多个存储器阵列作为主存储器。

20.如权利要求16至17中任一项所述的方法,其中所述主机装置被配置为使用命令接口向所述pim子系统发送命令。

21.如权利要求20所述的方法,其中所述命令接口用于所述完整命令协议和所述精简命令协议。

22.如权利要求15至21中任一项所述的方法,其中所述主机装置被配置为将所述精简命令协议与打开所述一个或多个存储器阵列的一部分进行读取的操作重叠。

23.如权利要求22所述的方法,其中所述主机装置被配置为将向所述内部存储装置写入与打开所述一个或多个存储器阵列的所述一部分的所述操作重叠。

24.如权利要求22至23中任一项所述的方法,其中所述精简命令协议和向所述内部存储装置写入所占用的时钟周期比打开所述一个或多个存储器阵列的所述一部分进行读取所占用的时钟周期更少。

25.如权利要求23至24中任一项所述的方法,其中所述pim子系统是多秩子系统,并且其中所述主机装置被配置为执行操作,所述操作包括:

26.如权利要求25所述的方法,其中所述第一精简命令协议和所述第二精简命令协议至少部分地重叠。

27.如权利要求25至26中任一项所述的方法,其中所述第二精简命令协议与向所述第一秩的所述第一内部存储装置写入所述第一数据至少部分地重叠。

28.如权利要求25至27中任一项所述的方法,其中在打开所述一个或多个存储器阵列的所述一部分进行读取的操作已经完成之前,完成向所述第二内部存储装置写入所述第二数据。

29.一种或多种非暂时性计算机存储介质,所述非暂时性计算机存储介质编码有计算机程序指令,所述计算机程序指令在由一个或多个计算机执行时使所述一个或多个计算机执行操作,所述操作包括:

30.如权利要求29所述的介质,进一步包括完整命令协议,所述完整命令协议包括用于打开所述一个或多个存储器阵列的一部分的第一命令,并且

31.如权利要求30所述的介质,其中所述完整命令协议包括用于关闭所述一个或多个存储器阵列的一部分的第二命令,并且

32.如权利要求29至31中任一项所述的介质,其中所述精简命令协议包括修改后的写入命令,所述修改后的写入命令指示所述主机装置正在将数据存储在所述集成计算元件的所述内部存储装置中。

33.如权利要求29至32中任一项所述的介质,其中所述主机装置被配置为使用所述pim子系统的所述一个或多个存储器阵列作为主存储器。

34.如权利要求30至31中任一项所述的介质,其中所述主机装置被配置为使用命令接口向所述pim子系统发送命令。

35.如权利要求34所述的介质,其中所述命令接口用于所述完整命令协议和所述精简命令协议。

36.如权利要求29至35中任一项所述的介质,其中所述主机装置被配置为将所述精简命令协议与打开所述一个或多个存储器阵列的一部分进行读取的操作重叠。

37.如权利要求36所述的介质,其中所述主机装置被配置为将向所述内部存储装置写入与打开所述一个或多个存储器阵列的所述一部分的所述操作重叠。

38.如权利要求36至37中任一项所述的介质,其中所述精简命令协议和向所述内部存储装置写入所占用的时钟周期比打开所述一个或多个存储器阵列的所述一部分进行读取所占用的时钟周期更少。

39.如权利要求37至38中任一项所述的介质,其中所述pim子系统是多秩子系统,并且其中所述主机装置被配置为执行操作,所述操作包括:

40.如权利要求39所述的介质,其中所述第一精简命令协议和所述第二精简命令协议至少部分地重叠。

41.如权利要求39至40中任一项所述的介质,其中所述第二精简命令协议与向所述第一秩的所述第一内部存储装置写入所述第一数据至少部分地重叠。

42.如权利要求39至41中任一项所述的介质,其中在打开所述一个或多个存储器阵列的所述一部分进行读取的操作已经完成之前,完成向所述第二内部存储装置写入所述第二数据。

43.一种系统,包括:

44.如权利要求43所述的系统,其中所述主机装置被配置为当所述数据的大小低于阈值时,使用所述命令接口发送数据以用于存储在所述内部存储装置中。

45.如权利要求44所述的系统,其中所述主机装置被配置为当所述数据的所述大小等于或高于所述阈值时,使用所述数据接口发送数据以用于存储在所述内部存储装置中。

46.如权利要求43至45中任一项所述的系统,其中所述pim子系统是多秩系统,并且

47.如权利要求46所述的系统,其中所述主机装置被配置为通过所述数据接口串行地向所述多秩系统的所述秩发送数据。

48.一种由存内处理pim子系统执行的方法,所述pim子系统包括一个或多个存储器阵列和具有内部存储装置的一个或多个集成计算元件,所述方法包括:

49.如权利要求48所述的方法,其中所述主机装置被配置为当所述数据的大小低于阈值时,使用所述命令接口发送数据以用于存储在所述内部存储装置中。

50.如权利要求49所述的方法,其中所述主机装置被配置为当所述数据的所述大小等于或高于所述阈值时,使用所述数据接口发送数据以用于存储在所述内部存储装置中。

51.如权利要求48至50中任一项所述的方法,其中所述pim子系统是多秩系统,并且其中所述系统被配置为通过所述命令接口至少部分并行地向所述多秩系统的所有秩发送数据。

52.如权利要求51所述的方法,其中所述主机装置被配置为通过所述数据接口串行地向所述多秩系统的所述秩发送数据。

53.一种或多种非暂时性计算机存储介质,所述非暂时性计算机存储介质编码有计算机程序指令,所述计算机程序指令在由一个或多个计算机执行时使所述一个或多个计算机执行操作,所述操作包括:

54.如权利要求53所述的介质,其中所述主机装置被配置为当所述数据的大小低于阈值时,使用所述命令接口发送数据以用于存储在所述内部存储装置中。

55.如权利要求54所述的介质,其中所述主机装置被配置为当所述数据的所述大小等于或高于所述阈值时,使用所述数据接口发送数据以用于存储在所述内部存储装置中。

56.如权利要求53至55中任一项所述的介质,其中所述pim子系统是多秩系统,并且

57.如权利要求56所述的介质,其中所述主机装置被配置为通过所述数据接口串行地向所述多秩系统的所述秩发送数据。