【技术实现步骤摘要】
【国外来华专利技术】以扰乱时序的模式进行的软件向后兼容性测试本申请要求2015年11月02日提交的共同转让的美国非临时申请号14/930,408的优先权权益,所述申请的全部内容以引用的方式并入本文。
本公开的各方面涉及在计算机系统上执行计算机应用程序。具体地说,本公开的各方面涉及一种为针对计算机系统的较旧版本所设计的应用程序/标题提供向后兼容性的系统或方法。
技术介绍
现代计算机系统经常针对不同计算任务使用若干不同处理器。例如,除若干中央处理单元(CPU)之外,现代计算机还可具有专用于图形管线中的某些计算任务的图形处理单元(GPU),或专用于针对音频的数字信号处理的单元,所有这些单元潜在地是加速处理单元(APU)的一部分,所述APU也可包含其他单元。使用可在APU内部或在外部位于计算机的母板上的总线将这些处理器连接到各种类型的存储器。通常针对诸如视频游戏控制台或智能手机(“旧版装置”)的计算机系统创建一组应用程序,并且当发布计算机系统的变体或更先进版本(“新装置”)时,希望旧版装置的应用程序在新装置上完美地运行,而不需要考虑到新装置的属性而进行的重新编译或任何修改。如新装置的硬件体系结构、固件和操作系统中所包含,新装置的这个方面经常被称为“向后兼容性”。向后兼容性经常通过二进制兼容性来实现,其中新装置能够执行针对旧版装置创建的程序。然而,当这种装置类别的实时行为对于它们的操作很重要时,如就视频游戏控制台或智能手机而言,新装置的操作速度的显著差别可能使其不能相对于旧版装置向后兼容。如果新装置具有比旧版装置低的性能,那么阻止向后兼容性的问题可能出现;如果新装置具有更高的性能或与旧 ...
【技术保护点】
1.一种装置,其包括:一个或多个处理器;存储器,其耦合到所述一个或多个处理器;以及操作系统(OS),其存储在所述存储器中,被配置来在所述一个或多个处理器中的至少一个子集上运行,其中所述操作系统被配置来选择性地以正常模式或时序测试模式运行,其中在所述时序测试模式下,所述装置被配置来在用所述一个或多个处理器运行应用程序时,扰乱所述一个或多个处理器上发生的处理的时序,并且在所述装置正在所述时序测试模式下运行时测试所述应用程序的错误。
【技术特征摘要】
【国外来华专利技术】2015.11.02 US 14/930,4081.一种装置,其包括:一个或多个处理器;存储器,其耦合到所述一个或多个处理器;以及操作系统(OS),其存储在所述存储器中,被配置来在所述一个或多个处理器中的至少一个子集上运行,其中所述操作系统被配置来选择性地以正常模式或时序测试模式运行,其中在所述时序测试模式下,所述装置被配置来在用所述一个或多个处理器运行应用程序时,扰乱所述一个或多个处理器上发生的处理的时序,并且在所述装置正在所述时序测试模式下运行时测试所述应用程序的错误。2.如权利要求1所述的装置,其中在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过实时修改所述装置的一个或多个硬件设置来扰乱所述一个或多个处理器上发生的处理的时序。3.如权利要求1所述的装置,其中在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过以扰乱时序的方式向所述装置的一个或多个硬件组件发送命令来扰乱所述一个或多个处理器上发生的处理的时序。4.如权利要求1所述的装置,其中所述一个或多个处理器包括一个或多个中央处理器单元(CPU)核心,其中在所述时序测试模式下,所述一个或多个CPU核心的至少一个子集被配置来以与所述一个或多个CPU核心在正常模式下的标准操作频率不同的一个或多个频率操作。5.如权利要求4所述的装置,其中所述一个或多个CPU核心的所述至少一个子集被配置一次来以与所述一个或多个CPU核心在正常模式下的标准操作频率不同的一个或多个频率操作。6.如权利要求4所述的装置,其中,在所述时序测试模式下,所述OS修改所述一个或多个CPU核心的所述至少一个子集中的特定CPU核心的操作频率。7.如权利要求4所述的装置,其中在所述时序测试模式下,所述一个或多个CPU核心的所述至少一个子集被配置来以相同频率操作。8.如权利要求4所述的装置,其中在所述时序测试模式下,所述一个或多个CPU核心的所述至少一个子集被配置来以不同频率操作。9.如权利要求4所述的装置,其中在所述时序测试模式下,所述一个或多个CPU核心的所述至少一个子集中的一个或多个给定CPU核心被配置来以一个频率操作,而所述一个或多个CPU核心的所述至少一个子集中的一个或多个其他CPU核心被配置来以另一频率操作。10.如权利要求4所述的装置,其中所述一个或多个CPU核心的所述至少一个子集中的所述CPU核心中的一个或多个被配置来以比所述一个或多个CPU核心在正常模式下的标准操作频率高的一个或多个频率操作。11.如权利要求4所述的装置,其中所述一个或多个CPU核心的所述至少一个子集中的所述CPU核心中的一个或多个被配置来以比所述一个或多个CPU核心在正常模式下的标准操作频率低的一个或多个频率操作。12.如权利要求1所述的装置,其还包括耦合到所述一个或多个处理器的一个或多个高速缓存,其中在所述时序测试模式下,所述一个或多个高速缓存的至少一个子集被配置来以与所述一个或多个高速缓存在正常模式下的标准操作频率不同的一个或多个频率操作。13.如权利要求12所述的装置,其中所述一个或多个高速缓存的所述至少一个子集被配置一次来以与所述一个或多个高速缓存在正常模式下的标准操作频率不同的一个或多个频率操作。14.如权利要求12所述的装置,其中,在所述时序测试模式下,所述OS修改所述一个或多个高速缓存的所述至少一个子集中的高速缓存的操作频率。15.如权利要求12所述的装置,其中在所述时序测试模式下,所述一个或多个高速缓存的所述至少一个子集被配置来以相同频率操作。16.如权利要求12所述的装置,其中在所述时序测试模式下,所述一个或多个高速缓存的所述至少一个子集被配置来以不同频率操作。17.如权利要求12所述的装置,其中在所述时序测试模式下,所述一个或多个高速缓存的所述至少一个子集中的至少一个高速缓存被配置来以一个频率操作,而所述一个或多个高速缓存的所述至少一个子集中的一个或多个其他高速缓存被配置来以另一频率操作。18.如权利要求12所述的装置,其中所述一个或多个高速缓存的所述至少一个子集中的所述高速缓存中的一个或多个被配置来以比所述一个或多个高速缓存在正常模式下的标准操作频率高的一个或多个频率操作。19.如权利要求12所述的装置,其中所述一个或多个高速缓存的所述至少一个子集中的所述高速缓存中的一个或多个被配置来以比所述一个或多个高速缓存在正常模式下的标准操作频率低的一个或多个频率操作。20.如权利要求1所述的装置,其还包括耦合到所述一个或多个处理器的一个或多个高速缓存,其中在所述时序测试模式下,所述一个或多个高速缓存的至少一个子集被配置来以与所述一个或多个高速缓存在正常模式下的可用方式计数不同的可用方式计数操作。21.如权利要求1所述的装置,其还包括耦合到所述一个或多个处理器的一个或多个高速缓存,其中在所述时序测试模式下,所述一个或多个高速缓存的至少一个子集被配置来以与所述一个或多个高速缓存在正常模式下的可用组计数不同的可用组计数操作。22.如权利要求1所述的装置,其还包括耦合到所述一个或多个处理器的一个或多个高速缓存,其中被配置来在正常模式下作为内含式高速缓存操作的所述一个或多个高速缓存的至少一个子集被重新配置来在所述时序测试模式下作为独占式高速缓存操作。23.如权利要求1所述的装置,其还包括耦合到所述一个或多个处理器的一个或多个高速缓存,其中被配置来在正常模式下作为内含式高速缓存操作的所述一个或多个高速缓存的至少一个子集被重新配置来在所述时序测试模式下作为独占式高速缓存操作。24.如权利要求1所述的装置,其还包括耦合到所述一个或多个处理器的一个或多个高速缓存,其中所述一个或多个高速缓存的至少一个子集的在正常模式下基于虚拟地址的高速缓存和高速缓存查找行为被改变成在所述时序测试模式下基于虚拟地址的高速缓存和高速缓存查找行为。25.如权利要求1所述的装置,其还包括耦合到所述一个或多个处理器的一个或多个指令高速缓存,其中所述一个或多个指令高速缓存的至少一个子集的在正常模式下被启用的预提取功能在所述时序测试模式下被禁用。26.如权利要求1所述的装置,其中在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过运行干扰所述应用程序的一个或多个程序来扰乱所述一个或多个处理器上发生的处理的时序。27.如权利要求22所述的装置,其中所述一个或多个程序从所述应用程序夺取资源。28.如权利要求22所述的装置,其中所述一个或多个程序暂停所述应用程序。29.如权利要求22所述的装置,其中所述一个或多个程序与所述应用程序竞争资源。30.如权利要求1所述的装置,其中在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过以扰乱时序的方式更改所述操作系统的功能来扰乱所述一个或多个处理器上发生的处理的时序。31.如权利要求1所述的装置,其中所述一个或多个处理器包括中央处理单元(CPU),其中,在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过减少可用于运行所述应用程序的所述CPU的资源来扰乱所述一个或多个处理器上发生的处理的时序。32.如权利要求31所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小队列的大小。33.如权利要求32所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小存储队列的大小。34.如权利要求32所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小加载队列的大小。35.如权利要求32所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小调度队列的大小。36.如权利要求32所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小停用队列的大小。37.如权利要求31所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小高速缓存的大小。38.如权利要求37所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小1级指令高速缓存的大小。39.如权利要求37所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小1级数据高速缓存的大小。40.如权利要求37所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小更高级别高速缓存的大小。41.如权利要求31所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小表后备缓冲器(TLB)的大小。42.如权利要求41所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小指令转换后备缓冲器(ITLB)的大小。43.如权利要求41所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小数据转换后备缓冲器(DTLB)的大小。44.如权利要求31所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小一个或多个指令管的执行速率。45.如权利要求31所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小一个或多个特定指令的执行速率。46.如权利要求31所述的装置,其中减少可用于运行所述应用程序的所述CPU的资源包括减小由所述CPU执行的所有指令的执行速率。47.如权利要求31所述的装置,其中所述CPU包括算术逻辑单元(ALU),其中减少可用于运行所述应用程序的所述CPU的资源包括减小由所述ALU执行的一个或多个特定指令的执行速率。48.如权利要求31所述的装置,其中所述CPU包括算术逻辑单元(ALU),其中减少可用于运行所述应用程序的所述CPU的资源包括减小由所述ALU执行的所有指令的执行速率。49.如权利要求31所述的装置,其中所述CPU包括地址生成单元(AGU),其中减少可用于运行所述应用程序的所述CPU的资源包括减小由所述AGU执行的一个或多个特定指令的执行速率。50.如权利要求31所述的装置,其中所述CPU包括地址生成单元(AGU),其中减少可用于运行所述应用程序的所述CPU的资源包括减小由所述AGU执行的所有指令的执行速率。51.如权利要求31所述的装置,其中所述CPU包括单指令多数据(SIMD)单元,其中减少可用于运行所述应用程序的所述CPU的资源包括减小由所述SIMD单元执行的一个或多个特定指令的执行速率。52.如权利要求31所述的装置,其中所述CPU包括单指令多数据(SIMD)单元,其中减少可用于运行所述应用程序的所述CPU的资源包括减小由所述SIMD单元执行的所有指令的执行速率。53.如权利要求31所述的装置,其中所述CPU包括一个或多个处理器核心,其中减小可用于运行所述应用程序的所述CPU的资源包括先占所述一个或多个处理器核心的一个或多个个别处理器核心。54.如权利要求1所述的装置,其中,在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过暂停一个或多个应用程序线程来扰乱所述一个或多个处理器上发生的处理的时序。55.如权利要求1所述的装置,其中,在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过暂停多个应用程序线程来扰乱所述一个或多个处理器上发生的处理的时序。56.如权利要求1所述的装置,其中,在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过暂停所有应用程序线程来扰乱所述一个或多个处理器上发生的处理的时序。57.如权利要求1所述的装置,其中,在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过随机地对一个或多个应用程序线程的暂停进行时序的选择来扰乱所述一个或多个处理器上发生的处理的时序。58.如权利要求1所述的装置,其中,在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过有条理地对一个或多个应用程序线程的暂停进行时序的选择来扰乱所述一个或多个处理器上发生的处理的时序。59.如权利要求1所述的装置,其中,在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过延迟在使用所述OS的功能时引入的时序来扰乱所述一个或多个处理器上发生的处理的时序。60.如权利要求1所述的装置,其中,在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过加速在使用所述OS的功能时引入的时序来扰乱所述一个或多个处理器上发生的处理的时序。61.如权利要求1所述的装置,其中,在所述时序测试模式下,所述装置被配置来在所述一个或多个处理器上运行应用程序时,通过改变在使用所述OS的功能时引入的时序来扰乱所述一个或多个处理器上发生的处理的时序。62.如权利要求1所述的装置,其中,在时序测试模式下,当所述OS执行所述应用程序所请求的处理时,由所述OS所花费的时间和所述OS用于执行所述处理的所述一个或多个处理器中的特定处理器与在正常模式下的操作期间由所述OS所花费的时间和用于执行所述处理的所述特定处理器不同。63.如权利要求1所述的装置,其中,在时序测试模式下,当所述OS与来自所述应用程序的请求无关地执行处理时,由所述OS所花费的时间和所述OS用于执行所述处理的所述一个或多个处理器中的特定处理器与在正常模式下由所述OS所花费的时间和用于执行所述处理的所述特定处理器不同。64.如权利要求1所述的装置,其中所述一个或多个处理器包括中央处理单元(CPU),并且其中在所述时序测试模式下,所述装置被配置来在用所述一个或多个处理器运行应用程序时,通过回写或使所述CPU的一个或多个高速缓存和/或转换后备缓冲器无效来扰乱所述一个或多个处理器上发生的处理的时序。65.如权利要求1所述的装置,其中所述一个或多个处理器包括中央处理单元(CPU),并且其中在所述时序测试模式下,所述装置被配置来在用所述一个或多个处理器运行应用程序时,通过回写所述CPU的一个或多个高速缓存来扰乱所述一个或多个处理器上发生的处理的时序。66.如权利要求1所述的装置,其中所述一个或多个处理器包括中央处理单元(CPU),并且其中在所述时序测试模式下,所述装置被配置来在用所述一个或多个处理器运行应用程序时,通过使所述CPU的一个或多个高速缓存无效来扰乱所述一个或多个处理器上发生的处理的时序。67.如权利要求1所述的装置,其中所述一个或多个处理器包括中央处理单元(CPU),并且其中在所述时序测试模式下,所述装置被配置来在用所述一个或多个处理器运行应用程序时,通过回写所述CPU的一个或多个转换后备缓冲器来扰乱所述一个或多个处理器上发生的处理的时序。68.如权利要求1所述的装置,其中所述一个或多个处理器包括中央处理单元(CPU),并且其中在所述时序测试模式下,所述装置被配置来在用所述一个或多个处理器运行应用程序时,通过使所述CPU的一个或多个转换后备缓冲器无效来扰乱所述一个或多个处理器上发生的处理的时序。69.如权利要求1所述的装置,其中所述一个或多个处理器包括中央处理单元(CPU),并且其中在所述时序测试模式下,所述装置被配置来在用所述一个或多个处理器运行应用程序时,通过回写所述CPU的一个或多个指令转换后备缓冲器(ITLB)来扰乱所述一个或多个处理器上发生的处理的时序。70.如权利要求1所述的装置,其中所述一个或多个处理器包括中央处理单元(CPU),并且其中在所述时序测试模式下,所述装置被配置来在用所述一个或多个处理器运行应用程序时...
【专利技术属性】
技术研发人员:ME塞尔尼,D辛普森,
申请(专利权)人:索尼互动娱乐有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。