为了向后兼容性而对应用程序特定的操作参数进行的实时调整制造技术

技术编号:33956814 阅读:19 留言:0更新日期:2022-06-29 23:42
可以优化新系统的性能以运行为遗留系统编写的遗留应用程序。在所述新系统上运行所述遗留应用程序时记录或导出所述遗留应用程序的性能信息。通过分析所述性能信息来确定在所述新系统上运行的所述遗留应用程序的性能特性。所述性能特性包括一个或多个关键性能度量和其他性能信息。当所述遗留应用程序在所述新系统上运行时必须满足所述关键性能度量。所述其他性能信息对于在所述新系统上运行所述遗留应用程序时调整所述新系统的一个或多个操作参数是有用的。调整所述一个或多个操作参数使得满足所述一个或多个关键性能度量。使得满足所述一个或多个关键性能度量。使得满足所述一个或多个关键性能度量。

Real time adjustment of application specific operating parameters for backward compatibility

【技术实现步骤摘要】
为了向后兼容性而对应用程序特定的操作参数进行的实时调整
[0001]本申请是申请号为201780021636.6、申请日为2017年03月23 日、专利技术名称为“为了向后兼容性而对应用程序特定的操作参数进行的实时调整”的专利技术专利申请的分案申请。
[0002]优先权要求
[0003]本申请要求2016年3月30日提交的美国临时专利申请第62/315,345号的权益,所述申请的全部内容以引用的方式并入本文中。本申请还要求2016年3月30日提交的美国临时专利申请第 62/315,315号的权益,所述申请的全部内容以引用的方式并入本文中。本申请还要求2017年3月22日提交的美国专利申请第15/466,769号的权益,所述申请的全部内容以引用的方式并入本文中。本申请要求 2017年3月22日提交的美国专利申请第15/466,759号的权益,所述申请的全部内容以引用的方式并入本文中。


[0004]本公开的方面涉及在计算机系统上执行计算机应用程序。具体地说,本公开的方面涉及对针对计算机系统的较旧版本设计的应用程序 /标题提供向后兼容性的系统或方法。

技术介绍

[0005]当发布新的计算机架构时,为架构的先前版本编写的应用程序需要在新架构上完美地运行。这种能力经常被称作“向后兼容性”。实现向后兼容性涉及在新主机架构上仿真目标遗留装置,使得新架构可以执行为遗留装置编写的程序的指令。计算机架构随时间改变以利用总线、时钟速度、处理器架构、高速缓存、标准等方面的技术进步。当一个计算机架构被较新的架构取代时,较旧的架构变成称作遗留架构的事物。在其开发过程中,为遗留架构编写软件应用程序,诸如网络协议、用户接口、音频处理、装置驱动器、图形处理、消息传递、文字处理器、电子表格、数据库程序、游戏和其他应用程序。即使用户升级到新架构,这类遗留软件对其用户仍具有价值。因此需要能够在新架构上运行遗留软件。
[0006]新装置和遗留装置的硬件组件的性能差异可能导致新装置上发生同步错误,这可能导致遗留应用程序在新装置架构上运行时崩溃或产生不正确的输出。这种性能差异可能例如由新装置与遗留装置之间的硬件架构的差异引起。正是在这种背景下,出现了本公开的方面。
附图说明
[0007]图1A是示出根据本公开的方面导出应用程序特定的操作参数的流程图。
[0008]图1B是示出根据本公开的方面实时地调整应用程序特定的操作参数的流程图。
[0009]图2A是示出根据本公开的方面的可被配置成在向后兼容性模式中操作的中央处理单元(CPU)核心的实例的框图。
[0010]图2B是示出根据本公开的方面的CPU的可能的多核架构的实例的框图。
[0011]图3是根据本公开的方面的具有被配置成在向后兼容性模式中操作的CPU的装置的框图。
[0012]导言
[0013]为了解决因为在新装置上运行遗留应用程序时的硬件行为差异引起的问题,可以调整新硬件以运行遗留应用程序。
[0014]在测试阶段期间,遗留应用程序在遗留装置上运行,其中收集遗留架构和性能信息。性能信息的实例包括每单位时间ALU指令或存储器操作的数目,以及平均并行处理硬件调度单元(例如,波前)占用率或使用寿命。可以通过在遗留装置上运行游戏和应用程序并读取计数器来直接测量性能信息(ALU和存储器操作)。或者,可以从读取这类计数器或其他数据输出导出性能信息以作为测量过程的一部分。作为这种导出的实例,可以从对波前开始和停止的时间的测量来导出平均波前占用率和使用寿命。特定应用程序(例如,特定视频游戏)的组合的性能数据在本文中被称作该应用程序的性能特性。在测试阶段中为应用程序确定的性能特性可以用作在新系统上运行相同应用程序的基线以确保向后兼容性。
[0015]通过调整新装置的操作参数,可以使应用程序在新装置上的性能与该相同应用程序在遗留装置上的性能紧密匹配。操作参数的实例除了其他以外包括新装置的时钟频率、可用通用寄存器(GPR)的数目、指令发射速率等。应用程序可以在新系统上重复地运行,同时调整其操作参数以调整应用程序特定的性能特性。在新系统上进行足够数目的测试之后,可以分析应用程序在新系统上的性能特性如何随着操作参数改变而收敛。可以基于收敛分析创建一组新的操作参数。可以重复这个过程,直到针对新系统上的应用程序最优地设置操作参数为止。为了进一步优化,可以调整新硬件的执行以查看应用程序是否可以在新硬件上更快地运行而不会使其发生故障。
具体实施方式
[0016]应用程序特定的性能特性确定
[0017]图1A示出了用于在测试阶段期间导出应用程序特定的操作参数的方法10,在测试阶段中应用程序在遗留系统上运行。应用程序在遗留系统上运行12,并且对于每个代码块14,记录或导出性能信息16。运行应用程序可以包括例如加载捕获并使其运行而不输入或从头到尾播放特定游戏区域。性能信息包括关键性能度量和其他性能信息。关键性能度量是指当应用程序在新系统上运行时最重要的性能信息的子集。关键性能度量是当应用程序在新硬件上运行时必须满足的性能度量。关键性能度量的实例包括但不限于每秒帧数(例如,在视频密集的应用程序,诸如视频游戏的情况下)和分箱至程序计数器(PC) 范围的每周期指令(IPC)。
[0018]其他性能信息包括但不限于PC块常驻、每单位时间发布的算术逻辑单元(ALU)指令的数目(CPU和GPU)、每单位时间发布的存储器操作的数目(CPU和GPU)、每单位时间的平均并行处理硬件调度单元 (例如,波前、线程束或向量宽度)占用率、平均并行处理硬件调度单元使用寿命、存储器操作的平均等待时间、每单位时间输出到渲染目标的像素计数,以及帧期间有效的总周期(ALU计数是这个的特定实例)。
[0019]性能信息可以包括直接从计数器读取或从这些值和其他信息(诸如程序执行期间
的事件之间的计数时钟周期)导出的值。可以在18处进一步分析性能信息并且可以组合选定性能信息以确定一组性能特性19,接着可以保存或传送所述性能特性20。
[0020]某些性能信息值可以存储在专用处理器寄存器中,所述寄存器记录与应用程序的执行相关的信息。除了其他以外,这些值的实例包括但不限于计数器值(诸如程序计数器和存储器周期的计数器)、算术逻辑单元(ALU)周期,以及像素。程序计数器(PC),在因特尔x86和安腾微处理器中也称作指令指针(IP),并且有时称作指令地址寄存器 (IAR),或指令计数器,是指示计算机在其程序序列中的地方的处理器寄存器。
[0021]如上文所指出,可以间接地导出某些其他性能信息,诸如每单位时间的平均并行处理硬件调度单元(例如,波前、线程束或向量宽度) 占用率、平均并行处理硬件调度单元使用寿命、存储器操作的平均等待时间、每单位时间输出到渲染目标的像素计数。作为实例而不是作为限制,可以通过将初始与最终程序计数器值之间的差除以初始与最终程序计数器值之间的时钟周期的数目来导出每周期指令(IPC)的数目。而且,确定平均并行处理硬件调度单元使用寿命可以涉及本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种优化新系统的性能以运行为遗留系统编写的遗留应用程序的方法,所述方法包括:在所述新系统上运行所述遗留应用程序;确定在所述新系统上运行的所述遗留应用程序的性能特性,所述性能特性包括一个或多个关键性能度量和其他性能信息,其中当所述遗留应用程序在所述新系统上运行时必须满足所述一个或多个关键性能度量并且其中所述其他性能信息对于在所述新系统上运行所述遗留应用程序时调整所述新系统的一个或多个操作参数是有用的;以及调整所述一个或多个操作参数使得满足所述一个或多个关键性能度量。2.如权利要求1所述的方法,其中记录或导出所述性能信息包括在程序执行期间对事件之间的时钟周期进行计数。3.如权利要求1所述的方法,其中记录或导出所述性能信息包括读取存储在一个或多个专用处理器寄存器中的值,所述处理器寄存器记录与所述应用程序的执行相关的信息。4.如权利要求3所述的方法,其中存储在所述一个或多个专用处理器寄存器中的信息包括计数器值。5.如权利要求4所述的方法,其中所述计数器值是程序计数器值。6.如权利要求4所述的方法,其中所述计数器值是用于存储器周期、算术逻辑单元(ALU)周期或像素的计数器的值。7.如权利要求1所述的方法,其中记录或导出所述性能信息包括检测忙碌等待。8.如权利要求1所述的方法,其中所述一个或多个关键性能度量包括每秒帧数。9.如权利要求1所述的方法,其中所述一个或多个关键性能度量包括分箱至程序计数器(PC)范围的每周期指令(IPC)。10.如权利要求1所述的方法,其中间接地导出所述其他性能信息。11.如权利要求9所述的方法,其中间接地导出的所述其他性能信息包括每单位时间的平均并行处理硬件调度单元占用率、平均并行处理硬件调度单元使用寿命、存储器操作的平均等待时间,或每单位时间输出到渲染目标的像素计数。12.如权利要求1所述的方法,其中确定所述遗留应用程序的所述性能特性包括确定哪些性能信息值对于调整所述新系统的操作参数是有用的。13.如权利要求12所述的方法,其中确定哪些性能信息值对于调整所述新系统的操作参数是有用的包括确定关键性能信息值的变化与操作参数的变化之间的一个或多个相关性。14.如权利要求12所述的方法,其中确定哪些性能信息值对于调整所述新系统的操作参数是有用的包括经由多变量分析确定关键性能信息值的变化与操作参数的变化之间的一个或多个相关性。15.如权利要求1所述的方法,其中所述遗留系统和所述新系统是视频游戏系统。16.如权利要求1所述的方法,其中调整所述一个或多个操作参数使得满足所述一个或多个关键性能度量包括将新系统上的通用寄存器(GPR)的数目设置为与遗留系统相同的数目。17.如权利要求1所述的方法,其中调整所述一个或多个操作参数使得满足所述一个或多个关键性能度量包括将遗留算法用于所述新系统的某些操作。
18.如权利要求1所述的方法,其中调整所述一个或多个操作参数使得满足所述一个或多个关键性能度量包括停用所述新系统的一个或多个特征。19.如权利要求1所述的方法,其中调整所述一个或多个操作参数使得满足所述一个或多个关键性能度量包括...

【专利技术属性】
技术研发人员:ME塞尔尼D辛普森
申请(专利权)人:索尼互动娱乐股份有限公司
类型:发明
国别省市:

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

1