System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 验证静态程序代码的存储器访问模式制造技术_技高网

验证静态程序代码的存储器访问模式制造技术

技术编号:42501613 阅读:9 留言:0更新日期:2024-08-22 14:14
一种计算机系统被配置为执行用于验证程序指令流的静态变体的存储器访问模式的操作,所述操作包括随机化第一组输入自变量,基于存储器访问模式生成用于虚拟地址的地址转换列表并将存储器访问存储在第一表中,以及在加速器处理单元上执行程序指令流的静态变体。在执行期间,虚拟地址可以被丢弃并由地址转换列表中提供的地址替换。所述操作可以包括将执行程序指令流的静态变体的每个存储器访问记录并存储在第二表中,并将存储在第二表中的存储器访问模式与存储在第一表中的存储器访问模式进行比较。可以验证或丢弃存储器访问模式。

【技术实现步骤摘要】
【国外来华专利技术】


技术介绍

1、本公开一般涉及数据处理系统,并且具体地,涉及用于验证程序指令流的静态变体的存储器访问模式的计算机系统、计算机程序产品、数据处理系统和计算机实现的方法。

2、当在业务关键系统中运行嵌入式可编程加速器处理单元时,保持在处理单元上运行的代码的有效性和完整性是至关重要的。实现这一点的一种方式是仅允许执行预先验证的静态程序代码模板。

3、然而,当在深度学习算法的领域中运行时,存在需要被提供给算法以适应特定问题的许多输入自变量和变量。这些需要以变量或自变量的形式传递给所述静态程序代码。程序代码可以解释这些变量并更改程序的控制流,而不需要改变其实际静态程序指令流。

4、为了向深度学习算法提供数据,必须从存储器读取数据,并且必须在执行期间和完成程序代码之后将数据写回到存储器。在没有处置转换的专用存储器管理单元的加速器处理单元上,由程序代码执行的存储器访问以线性虚拟地址空间为目标。这样的系统假设能够将由加速器处理单元提供的虚拟地址映射到真实系统存储器地址的外部存储器转换机制的可用性。

5、为了简化该映射机制,需要在程序执行之前计算由在加速器处理单元上运行的代码施加的存储器访问模式。访问模式取决于传递给由程序实现的算法的自变量。

6、这样的系统中的主要挑战是提取和指定由程序代码施加的地址访问模式的问题。这必须针对输入自变量的许多或所有组合来完成。必须使用仅依赖于所述输入变量的进一步的静态或模板化程序代码。


技术实现思路

1、本公开的实施例包括用于验证程序指令流的静态变体的存储器访问模式的计算机系统、计算机程序产品、数据处理系统和计算机实现的方法。

2、根据本公开的计算机系统可以包括随机化单元、程序代码生成器、加速器处理单元、访问记录器单元和存储器。计算机系统可以被配置为执行操作,所述操作包括随机化第一组输入自变量,以及基于主存储器访问模式向所述存储器的平坦存储器空间生成用于虚拟地址的地址转换列表。所述操作可以包括将所述主存储器访问模式存储在所述平坦存储器空间中的第一表中,并且利用代码生成器产生与所述输入自变量无关的程序指令流的静态变体。所述操作可以包括将所述第一组输入自变量传递到所述代码生成器并在所述加速器处理单元上执行所述程序指令流的所述静态变体;所述虚拟地址可以由所述地址转换列表中提供的地址转换替换。所述操作可以包括将执行所述程序指令流的所述静态变体的辅助存储器访问模式记录并存储在所述平坦存储器空间中的第二表中,并将存储在所述第二表中的所述辅助存储器访问模式与存储在所述第一表中的所述主存储器访问模式进行比较。所述操作可以包括如果所述第二表中的所述辅助存储器访问模式与所述第一表中的所述主存储器访问模式匹配,则验证所述主存储器访问模式用于所述一组输入自变量,或者如果所述第二表中的所述辅助存储器访问模式与所述第一表中的所述主存储器访问模式不匹配,则丢弃所述主存储器访问模式。

3、平坦存储器模型可以指存储器寻址范例,其中所述存储器对程序显示为单个连续地址空间。处理单元可以直接且线性地寻址所有可用存储器位置,而不必求助于任何种类的存储器分段或分页方案。

4、在本公开的一些实施例中,可以基于预先记录的地址转换列表来执行存储器地址替换。

5、选择由程序代码实现的到深度学习算法中的随机化输入自变量。利用这些自变量执行所述程序指令流的所述静态变体(其可以对应于与所述深度学习算法一起使用的生产级程序代码)。正在其上执行静态程序代码的加速器单元不支持任何地址转换手段。因此,可以使用预先记录的地址转换列表。对于每次存储器访问,所述虚拟地址可以被忽略并且由所述地址转换列表的地址替换。

6、如果由所述静态程序代码施加的访问模式与已经验证的预先记录的地址列表的访问模式匹配,则可以认为所述静态程序代码和所述访问模式对于给定的一组输入自变量是正确的。因此,所述存储器访问模式可以被验证。

7、本公开提供了若干益处,并且使得能够在人工智能加速领域内有效地测试静态程序代码模板。

8、本公开消除了知道测试环境内的存储器访问模式的需要或模拟测试环境内的所述存储器访问模式的需要。由于所述存储器访问模式在初始运行期间被记录,因此它促进了用于测试的左移,特别是在加速器程序代码的开发阶段期间。测试环境工作量大大减少。该方法通过消除对存储器转换单元或软件的需要而显著简化了测试环境。

9、本公开可能主要对具有扩展安全需求的嵌入式加速器的开发人员有价值。此外,它对于验证工具供应商可能是有价值的。

10、在本公开的一些实施例中,附加地或可替代地,可以通过以下方式来生成所述地址转换列表:将所述第一组输入自变量传递到所述程序代码生成器用于产生针对所述第一组输入自变量定制的程序指令流的动态变体,并在所述加速器处理单元上执行所述程序指令流的所述动态变体;在执行期间,可以停用所有存储器转换机制,并且可以提供平坦存储器空间。所述实施例可以进一步包括将执行所述程序指令流的所述动态变体的存储器访问记录并存储在所述平坦存储器空间中的所述第一表中。

11、所述随机化输入自变量可以被传递到所述程序代码生成器中,以产生针对所述输入自变量定制的所述程序指令流的动态变体。该定制版本不应用作最终产品代码,因为它不是静态的并且可能存在安全问题。它可以用作推进处理步骤并促进更简单的程序代码使用的手段。

12、所生成的动态代码可以在所述加速器处理单元上执行。在执行期间,可以停用系统中的所有存储器转换机制,并且可以提供平坦存储器空间。所有存储器访问、方向和地址可以使用合适的硬件机制(诸如利用访问记录器单元)来记录,并且被存储以供以后使用。

13、在本公开的一些实施例中,附加地或可替代地,可以通过基于所述第一组输入自变量预先计算地址访问模式,来生成所述地址转换列表。

14、在本公开的一些实施例中,可以基于确定性预测来使用存储器地址替换。对于产品代码,一旦所述静态程序代码已经被验证,就可以预测用于一组输入自变量的存储器访问模式,并且可以预先将存储器访问列表加载到访问记录器单元中。在一些实施例中,可以基于所述输入自变量和加载到所述访问记录器单元中用于注入存储器地址的地址转换列表,来预先计算地址模式。

15、在本公开的一些实施例中,附加地或可替代地,所述存储器访问可以包括地址和数据以完全描述所述存储器访问。

16、在本公开的一些实施例中,附加地或可替代地,所述地址转换列表可以被存储在所述访问记录器单元中。从所述访问记录器单元来看,所述地址转换列表可以用于地址转换,例如,在处理的附加部分中或通过所述程序指令流的进一步变体。

17、在本公开的一些实施例中,附加地或可替代地,可以基于所述程序指令流的存储器请求的顺序替换用于存储器访问的地址。在一些实施例中,为了有效地执行所述程序代码,存储器地址的替换可以严格地基于存储器请求的顺序。

18、在本公开的一些实施例中本文档来自技高网...

【技术保护点】

1.一种用于验证存储器访问模式的计算机系统,所述计算机系统包括随机化单元、程序代码生成器、加速器处理单元、访问记录器单元和存储器,其中,所述计算机系统被配置为执行操作,所述操作包括:

2.根据权利要求1所述的计算机系统,其中,生成所述地址转换列表包括:

3.根据权利要求1或2所述的计算机系统,所述操作还包括:

4.根据权利要求1至3中任一项所述的计算机系统,其中:

5.根据权利要求1至4中任一项所述的计算机系统,所述操作还包括:

6.根据权利要求1至5中任一项所述的计算机系统,所述操作还包括:

7.根据权利要求1至6中任一项所述的计算机系统,所述操作还包括:

8.根据权利要求1至7中任一项所述的计算机系统,其中:

9.根据权利要求8所述的计算机系统,其中:

10.根据权利要求1至9中任一项所述的计算机系统,所述操作还包括:

11.根据权利要求10所述的计算机系统,所述操作还包括:

12.一种用于验证计算机系统上的程序指令流的静态变体的存储器访问模式的计算机实现的方法,所述计算机系统至少被配置有随机化单元、程序代码生成器、加速器处理单元、访问记录器单元和存储器,所述方法至少包括:

13.根据权利要求12所述的计算机实现的方法,生成所述地址转换列表包括:

14.根据权利要求12或13所述的计算机实现的方法,所述操作还包括:

15.根据权利要求12至14中任一项所述的计算机实现的方法,其中:

16.根据权利要求12至15中任一项所述的计算机实现的方法,所述操作还包括:

17.根据权利要求12至16中任一项所述的计算机实现的方法,所述操作还包括:

18.根据权利要求12至17中任一项所述的计算机实现的方法,所述操作还包括:

19.根据权利要求12至18中任一项所述的计算机实现的方法,其中:

20.根据权利要求19所述的计算机实现的方法,其中:

21.根据权利要求12至20中任一项所述的计算机实现的方法,还包括:

22.根据权利要求21所述的计算机实现的方法,还包括:

23.一种用于使用系统验证存储器访问模式的计算机程序产品,所述系统包括随机化单元、程序代码生成器、加速器处理单元、访问记录器单元和存储器,所述计算机程序产品包括计算机可读储存介质,所述计算机可读储存介质具有与其一起体现的程序指令,所述程序指令可由所述计算机系统执行以使所述计算机系统执行操作,所述操作包括:

24.一种用于执行数据处理程序的数据处理系统,所述数据处理程序具有用于执行功能的计算机可读程序指令,所述功能包括:

25.根据权利要求24所述的数据处理系统,生成所述地址转换列表包括:

...

【技术特征摘要】
【国外来华专利技术】

1.一种用于验证存储器访问模式的计算机系统,所述计算机系统包括随机化单元、程序代码生成器、加速器处理单元、访问记录器单元和存储器,其中,所述计算机系统被配置为执行操作,所述操作包括:

2.根据权利要求1所述的计算机系统,其中,生成所述地址转换列表包括:

3.根据权利要求1或2所述的计算机系统,所述操作还包括:

4.根据权利要求1至3中任一项所述的计算机系统,其中:

5.根据权利要求1至4中任一项所述的计算机系统,所述操作还包括:

6.根据权利要求1至5中任一项所述的计算机系统,所述操作还包括:

7.根据权利要求1至6中任一项所述的计算机系统,所述操作还包括:

8.根据权利要求1至7中任一项所述的计算机系统,其中:

9.根据权利要求8所述的计算机系统,其中:

10.根据权利要求1至9中任一项所述的计算机系统,所述操作还包括:

11.根据权利要求10所述的计算机系统,所述操作还包括:

12.一种用于验证计算机系统上的程序指令流的静态变体的存储器访问模式的计算机实现的方法,所述计算机系统至少被配置有随机化单元、程序代码生成器、加速器处理单元、访问记录器单元和存储器,所述方法至少包括:

13.根据权利要求12所述的计算机实现的方法,生成所述地址转换列表包括:

14.根据...

【专利技术属性】
技术研发人员:H·霍尔巴赫C·利希特瑙S·魏绍普P·塞西亚
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1