Non-transitory computer-readable medium, analysis device, and analysis method

    公开(公告)号:US11714650B2

    公开(公告)日:2023-08-01

    申请号:US17709486

    申请日:2022-03-31

    Abstract: The present disclosure relates to a non-transitory computer-readable recording medium storing an analysis program that causes a computer to execute a process. The process includes sampling an instruction address of one of instructions included in a program during execution of the program, identifying a first function that includes the sampled instruction address in an address range, rewriting mark information associated with the identified first function, identifying first information corresponding to the instruction address of the first function among a plurality of first information based on the rewritten mark information, identifying second information corresponding to the instruction address of the first function among a plurality of second information based on the rewritten mark information, storing the first information and the second information in a memory, and analyzing performance of the program based on the first information and the second information stored in the memory.

    Predecode repair cache for instructions that cross an instruction cache line
    4.
    发明授权
    Predecode repair cache for instructions that cross an instruction cache line 有权
    Predecode修复缓存,用于跨越指令高速缓存行的指令

    公开(公告)号:US08898437B2

    公开(公告)日:2014-11-25

    申请号:US11934108

    申请日:2007-11-02

    CPC classification number: G06F9/30152 G06F9/3816 G06F9/382

    Abstract: A predecode repair cache is described in a processor capable of fetching and executing variable length instructions having instructions of at least two lengths which may be mixed in a program. An instruction cache is operable to store in an instruction cache line instructions having at least a first length and a second length, the second length longer than the first length. A predecoder is operable to predecode instructions fetched from the instruction cache that have invalid predecode information to form repaired predecode information. A predecode repair cache is operable to store the repaired predecode information associated with instructions of the second length that span across two cache lines in the instruction cache. Methods for filling the predecode repair cache and for executing an instruction that spans across two cache lines are also described.

    Abstract translation: 在能够获取和执行具有至少两个长度的指令的可变长度指令的处理器中描述了预代码修复高速缓存,其可以在程序中混合。 指令高速缓存用于存储指令高速缓存行指令,该指令具有至少第一长度和第二长度,第二长度长于第一长度。 预解码器可用于对具有无效预解码信息的指令高速缓存取出的指令进行预解码,以形成修复的预解码信息。 预解码修复高速缓存可操作用于存储与跨越指令高速缓存中的两个高速缓存行的第二长度的指令相关联的修复的预解码信息。 还描述了用于填充预解码修复高速缓存和用于执行跨越两个高速缓存行的指令的方法。

    Early release of cache data with start/end marks when instructions are only partially present
    6.
    发明授权
    Early release of cache data with start/end marks when instructions are only partially present 有权
    当指令仅部分存在时,可以及时发布具有开始/结束标记的缓存数据

    公开(公告)号:US08335910B2

    公开(公告)日:2012-12-18

    申请号:US12572024

    申请日:2009-10-01

    Abstract: An apparatus extracts instructions from a stream of undifferentiated instruction bytes in a microprocessor having an instruction set architecture in which the instructions are variable length. Decoders generate an associated start/end mark for each instruction byte of a line from a first queue of entries each storing a line of instruction bytes. A second queue has entries each storing a line received from the first queue along with the associated start/end marks. Control logic detects a condition where the length of an instruction whose initial portion within a first line in the first queue is yet undeterminable because the instruction's remainder resides in a second line yet to be loaded into the first queue from the instruction cache; loads the first line and corresponding start/end marks into the second queue and refrains from shifting the first line out of the first queue, in response to detecting the condition; and extracts instructions from the first line in the second queue based on the corresponding start/end marks. The instructions exclude the yet undeterminable length instruction.

    Abstract translation: 一种装置在具有其中指令是可变长度的指令集架构的微处理器中从未分化指令字节流中提取指令。 解码器从存储指令字节行的第一个条目队列生成一行的每个指令字节的相关起始/终止标记。 第二队列具有各自存储从第一队列接收的线以及相关联的开始/结束标记的条目。 控制逻辑检测其中在第一队列中的第一行内的初始部分尚未确定的指令的长度的条件,因为指令的余数驻留在尚未从指令高速缓存加载到第一队列中的第二行; 响应于检测到所述条件,将所述第一行和对应的开始/结束标记加载到所述第二队列中并且避免将所述第一行移出所述第一队列; 并基于相应的开始/结束标记从第二队列中的第一行提取指令。 该指令排除了尚未确定的长度指令。

    ODD AND EVEN START BIT VECTORS
    7.
    发明申请
    ODD AND EVEN START BIT VECTORS 有权
    ODD,甚至启动码向量

    公开(公告)号:US20120144168A1

    公开(公告)日:2012-06-07

    申请号:US12962113

    申请日:2010-12-07

    CPC classification number: G06F9/30152 G06F9/382

    Abstract: A method and apparatus is presented for identifying instructions in a stream of information by preprocessing the stream of information, creating a vector of instructions and breaking the vector of instructions into two or more vectors for picking the identified instructions at a high frequency.

    Abstract translation: 提供了一种用于通过预处理信息流来识别信息流中的指令的方法和装置,创建指令向量并将指令向量分解成两个或更多个向量,用于以高频率挑选所识别的指令。

    Techniques for Storing Instructions and Related Information in a Memory Hierarchy
    9.
    发明申请
    Techniques for Storing Instructions and Related Information in a Memory Hierarchy 有权
    在内存层次结构中存储指令和相关信息的技术

    公开(公告)号:US20080256338A1

    公开(公告)日:2008-10-16

    申请号:US11735567

    申请日:2007-04-16

    Inventor: David Neal Suggs

    Abstract: A memory subsystem includes a first memory, a second memory, a first compressor, and a first decompressor. The first memory is configured to store instruction bytes of a fetch window and to store first predecode information and first branch information that characterizes the instruction bytes of the fetch window. The second memory is configured to store the instruction bytes of the fetch window upon eviction of the instruction bytes from the first memory and to store combined predecode/branch information that also characterizes the instruction bytes of the fetch window. The first compressor is configured to compress the first predecode information and the first branch information into the combined predecode/branch information. The first decompressor is configured to decode at least some of the instruction bytes stored in the second memory to convert the combined predecode/branch information into second predecode information, which corresponds to an uncompressed version of the first predecode information, for storage in the third memory.

    Abstract translation: 存储器子系统包括第一存储器,第二存储器,第一压缩器和第一解压缩器。 第一存储器被配置为存储取出窗口的指令字节,并且存储表征提取窗口的指令字节的第一预解码信息和第一分支信息。 第二存储器被配置为在从第一存储器消除指令字节并存储也表征获取窗口的指令字节的组合预解码/转移信息时,存储取指示窗口的指令字节。 第一压缩器被配置为将第一预解码信息和第一分支信息压缩成组合的预解码/分支信息。 第一解压缩器被配置为对存储在第二存储器中的至少一些指令字节进行解码,以将组合的预解码/转移信息转换成对应于第一预解码信息的未压缩版本的第二预解码信息,以存储在第三存储器中 。

    Pre-decode error handling via branch correction
    10.
    发明授权
    Pre-decode error handling via branch correction 有权
    通过分支校正预解码错误处理

    公开(公告)号:US07415638B2

    公开(公告)日:2008-08-19

    申请号:US10995858

    申请日:2004-11-22

    CPC classification number: G06F9/3861 G06F9/30152 G06F9/3017 G06F9/382

    Abstract: In a pipelined processor where instructions are pre-decoded prior to being stored in a cache, an incorrectly pre-decoded instruction is detected during execution in the pipeline. The corresponding instruction is invalidated in the cache, and the instruction is forced to evaluate as a branch instruction. In particular, the branch instruction is evaluated as “mispredicted not taken” with a branch target address of the incorrectly pre-decoded instruction's address. This, with the invalidated cache line, causes the incorrectly pre-decoded instruction to be re-fetched from memory with a precise address. The re-fetched instruction is then correctly pre-decoded, written to the cache, and executed.

    Abstract translation: 在流水线处理器中,在将存储在高速缓存中的指令进行预解码之前,在流水线执行期间检测到未正确预解码的指令。 相应的指令在缓存中无效,并且强制将该指令作为分支指令进行求值。 特别地,分支指令被评估为未被错误地预解码的指令的地址的分支目标地址“未被采用”。 这使得无效的高速缓存行导致错误地预解码的指令从具有精确地址的存储器重新获取。 然后重新获取的指令被正确预解码,写入高速缓存并执行。

Patent Agency Ranking