Run-time code parallelization with continuous monitoring of repetitive instruction sequences
    11.
    发明授权
    Run-time code parallelization with continuous monitoring of repetitive instruction sequences 有权
    连续监视重复指令序列的运行时代码并行化

    公开(公告)号:US09348595B1

    公开(公告)日:2016-05-24

    申请号:US14578516

    申请日:2014-12-22

    Abstract: A method includes, in a processor that executes instructions of program code, monitoring instructions of a repetitive sequence of the instructions that traverses a flow-control trace so as to construct a specification of register access by the monitored instructions. Based on the specification, multiple hardware threads are invoked to execute respective segments of the repetitive instruction sequence at least partially in parallel. Monitoring of the instructions continues in at least one of the segments during execution.

    Abstract translation: 一种方法包括在执行程序代码指令的处理器中监视遍历流程控制轨迹的指令的重复序列的指令,以便构建被监视指令的寄存器访问的规范。 基于该规范,调用多个硬件线程来至少部分地并行地执行重复指令序列的相应段。 在执行期间,至少一个段中的指令的监视继续。

    Parallelized execution of instruction sequences

    公开(公告)号:US10296350B2

    公开(公告)日:2019-05-21

    申请号:US14673889

    申请日:2015-03-31

    Abstract: A method which includes, in a processor that processes instructions of program code, processing one or more of the instructions by a first hardware thread. Upon detecting that an instruction defined as a parallelization point has been fetched for the first thread, a second hardware thread is invoked to process at least one of the instructions at least partially in parallel with processing of the instructions by the first hardware thread.

    PARALLELIZED EXECUTION OF INSTRUCTION SEQUENCES
    15.
    发明申请
    PARALLELIZED EXECUTION OF INSTRUCTION SEQUENCES 审中-公开
    指令序列的并行执行

    公开(公告)号:US20160291979A1

    公开(公告)日:2016-10-06

    申请号:US14673889

    申请日:2015-03-31

    CPC classification number: G06F9/3851 G06F9/30065 G06F9/3808 G06F9/3838

    Abstract: A method includes, in a processor that processes instructions of program code, processing one or more of the instructions by a first hardware thread. Upon detecting that an instruction defined as a parallelization point has been fetched for the first thread, a second hardware thread is invoked to process at least one of the instructions at least partially in parallel with processing of the instructions by the first hardware thread.

    Abstract translation: 一种方法包括在处理程序代码指令的处理器中,通过第一硬件线程处理一个或多个指令。 在检测到已经为第一线程获取定义为并行化点的指令时,调用第二硬件线程以至少部分地与第一硬件线程对指令的处理并行地处理指令中的至少一个。

    Multi-thread processor with multi-bank branch-target buffer

    公开(公告)号:US10452400B2

    公开(公告)日:2019-10-22

    申请号:US15904474

    申请日:2018-02-26

    Abstract: A processor includes a pipeline and a multi-bank Branch-Target Buffer (BTB). The pipeline is configured to process program instructions including branch instructions. The multi-bank BTB includes a plurality of BTB banks and is configured to store learned Target Addresses (TAs) of one or more of the branch instructions in the plurality of the BTB banks, to receive from the pipeline simultaneous requests to retrieve respective TAs, and to respond to the requests using the plurality of the BTB banks in the same clock cycle.

    Multi-thread processor with multi-bank branch-target buffer

    公开(公告)号:US20190265977A1

    公开(公告)日:2019-08-29

    申请号:US15904474

    申请日:2018-02-26

    Abstract: A processor includes a pipeline and a multi-bank Branch-Target Buffer (BTB). The pipeline is configured to process program instructions including branch instructions. The multi-bank BTB includes a plurality of BTB banks and is configured to store learned Target Addresses (TAs) of one or more of the branch instructions in the plurality of the BTB banks, to receive from the pipeline simultaneous requests to retrieve respective TAs, and to respond to the requests using the plurality of the BTB banks in the same clock cycle.

    Parallelized execution of instruction sequences based on pre-monitoring

    公开(公告)号:US10296346B2

    公开(公告)日:2019-05-21

    申请号:US14673884

    申请日:2015-03-31

    Abstract: A method which includes, in a processor that processes instructions of program code, processing one or more of the instructions in a first segment of the instructions by a first hardware thread. Upon detecting that an instruction defined as a parallelization point has been fetched for the first thread, a second hardware thread is invoked to process at least one of the instructions in a second segment of the instructions, at least partially in parallel with processing of the instructions of the first segment by the first hardware thread, in accordance with a specification of register access that is indicative of data dependencies between the first and second segments.

    Early termination of segment monitoring in run-time code parallelization

    公开(公告)号:US10180841B2

    公开(公告)日:2019-01-15

    申请号:US15007299

    申请日:2016-01-27

    Abstract: A processor includes a processing pipeline including multiple hardware threads and configured to execute software code instructions that are stored in a memory, along with multiple registers, configured to be read and written to by the processing pipeline during execution of the instructions. A monitoring unit monitors the instructions in the processing pipeline and records respective monitoring tables indicating the registers accessed in processing the instructions in different sequences of the instructions, and parallelizes among the hardware threads of the processor, using the respective monitoring tables, execution of repetitions of at least first sequences of the instructions. The monitoring unit is configured to evaluate a termination criterion based on the monitored instructions while monitoring the processing and recording the respective monitoring tables, and upon meeting the termination criterion, to terminate the monitoring before completion of the recording of the respective monitoring tables for at least second sequences of the instructions.

Patent Agency Ranking