会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 31. 发明授权
    • Disambiguation in dynamic binary translation
    • 消除动态二进制翻译
    • US07752613B2
    • 2010-07-06
    • US11634399
    • 2006-12-05
    • Bolei GuoYoufeng Wu
    • Bolei GuoYoufeng Wu
    • G06F9/45
    • G06F9/45516G06F8/433
    • A method and apparatus for disambiguating in a dynamic binary translator is described. The method comprises selecting a code segment for load-store memory disambiguation based at least in part on a measure of likelihood of frequency of execution of the code segment; heuristically identifying one or more ambiguous memory dependencies in the code segment for disambiguation by runtime checks; based at least in part on inspecting instructions in the code segment, and using a pointer analysis of the code segment to identify all other ambiguous memory dependencies that can be removed by the runtime checks.
    • 描述了用于在动态二进制转换器中消除歧义的方法和装置。 该方法包括至少部分地基于代码段的执行频率的可能性的度量来选择用于加载存储器消除歧义的代码段; 启发式地通过运行时检查来识别代码段中的一个或多个不明确的存储器依赖关系以消除歧义; 至少部分地基于代码段中的检查指令,并使用代码段的指针分析来识别运行时检查可以移除的所有其他模糊的存储器依赖性。
    • 34. 发明申请
    • Compressing
    • 在动态二进制翻译环境中压缩“温暖”代码
    • US20070079296A1
    • 2007-04-05
    • US11240551
    • 2005-09-30
    • Zhiyuan LiYoufeng Wu
    • Zhiyuan LiYoufeng Wu
    • G06F9/45
    • G06F9/45516
    • Selected regions of native instructions translated in a DBT environment from non-native instructions are compressed based on the independent compression of different fields of selected instructions using compression tables to reduce a length of selected fields. The regions of compressed instructions are stored and de-compressed into the native instructions during subsequent execution using de-compression tables. Specifically, for native instructions of a selected region, selected types of opcodes and/or operands may be compressed independently. The types may be selected by profiling the opcodes using benchmark programs and creating an opcode conversion table prior to compression, and scanning of the operands and creating an operand conversion table during compression of the opcodes.
    • 基于使用压缩表的所选指令的不同字段的独立压缩来压缩来自非本地指令的DBT环境中的本地指令的所选区域被压缩以减少所选字段的长度。 压缩指令的区域在后续执行期间使用解压缩表存储和解压缩为本地指令。 具体地,对于所选区域的本地指令,可以独立压缩所选择的操作码类型和/或操作数。 可以通过使用基准程序对操作码进行分析来选择类型,并在压缩之前创建操作码转换表,扫描操作数并在压缩操作码期间创建操作数转换表。
    • 36. 发明授权
    • Run-ahead program execution with value prediction
    • 带有价值预测的预测程序执行
    • US07188234B2
    • 2007-03-06
    • US10017793
    • 2001-12-12
    • Youfeng WuTin-Fook Ngai
    • Youfeng WuTin-Fook Ngai
    • G06F9/312
    • G06F9/383G06F9/3832G06F9/3842G06F9/3861
    • A data processing apparatus, a computer, an article including a machine-accessible medium, and a method of processing data are disclosed. The data processing apparatus may include a pair of pipelines sharing an instruction cache, data cache, and a branch predictor with the second pipeline running ahead of the first pipeline using a data value prediction module. The pipelines may be included in one or more processors and coupled to a memory to form a computer. The method includes executing a plurality of instructions using the pipeline pair, such that when a cache miss is encountered by the second pipeline during execution of a LOAD instruction, the data value prediction module supplies a predicted load value in lieu of a cached value, enabling continued execution of the plurality of instructions by the second pipeline without waiting for the return of the cached value.
    • 公开了一种数据处理装置,计算机,包括机器可访问介质的物品和处理数据的方法。 数据处理装置可以包括使用数据值预测模块,共享指令高速缓存,数据高速缓存和分支预测器的一对管线,其中第二管线在第一管线之前运行。 管线可以包括在一个或多个处理器中并且耦合到存储器以形成计算机。 该方法包括使用流水线对来执行多个指令,使得当在执行LOAD指令期间由第二流水线遇到高速缓存未命中时,数据值预测模块提供代替缓存值的预测负载值,使能 通过第二管道继续执行多个指令,而不等待返回缓存的值。
    • 38. 发明授权
    • Software set-value profiling and code reuse
    • 软件设置值分析和代码重用
    • US07100155B1
    • 2006-08-29
    • US09522510
    • 2000-03-10
    • Youfeng Wu
    • Youfeng Wu
    • G06F9/45G06F9/44
    • G06F8/443
    • An apparatus and method for profiling candidate reuse regions and candidate load instructions aids in the selection of computation reuse regions and computation reuse instructions with good reuse qualities. Registers holding input values for candidate reuse regions are sampled periodically when the candidate reuse region is encountered. The register contents are combined into set-values. When a relatively small number of set-values account for a large percentage of occurrences, the candidate reuse region may be a good computation reuse region. Load instructions are profiled for the location accessed and the value loaded. The location and value are combined into location-values. The relative occurrence frequency of location-values can be used to evaluate load instructions as candidate instructions for reuse.
    • 用于分析候选重用区域和候选加载指令的装置和方法有助于选择具有良好重用质量的计算重用区域和计算重用指令。 当候选重用区域被遇到时,周期性地对候选重用区域保持输入值的寄存器进行采样。 寄存器内容被组合成设定值。 当相对较少数量的设定值占很大比例时,候选重用区域可能是一个很好的计算重用区域。 为访问的位置和加载的值分配加载指令。 位置和值被组合成位置值。 位置值的相对出现频率可用于评估加载指令作为重用的候选指令。
    • 40. 发明授权
    • Optimizing compiler with static prediction of branch probability, branch
frequency and function frequency
    • 优化编译器与分支概率,分支频率和功能频率的静态预测
    • US5655122A
    • 1997-08-05
    • US417219
    • 1995-04-05
    • Youfeng Wu
    • Youfeng Wu
    • G06F9/45
    • G06F8/445G06F8/4441
    • A compiler and method for optimizing a program based on branch probabilities, branch frequencies and function frequencies. A number of algorithms executed by the compiler determine statically from the program code the probabilities that branches with the program are taken and how often the branches are taken. With this information, the compiler arranges the object code in memory to improve execution of the program. The frequency of functions within the code may be determined from the branch probability and branch frequency information. The compiler uses the function frequency information to arrange the functions in a desirable order, such as storing function pairs with the highest global call frequencies on the same memory page. This minimizes the number of calls to functions that are stored on disk and thus improves the speed of execution of the program.
    • 一种基于分支概率,分支频率和功能频率优化程序的编译器和方法。 由编译器执行的许多算法从程序代码中静态地确定采用程序分支的概率以及分支采用的频率。 使用这些信息,编译器将目标代码安排在内存中,以改善程序的执行。 代码内的功能频率可以根据分支概率和分支频率信息来确定。 编译器使用功能频率信息以期望的顺序排列功能,例如在同一存储器页面上存储具有最高全局呼叫频率的功能对。 这最小化了对存储在磁盘上的函数的调用次数,从而提高了程序的执行速度。