×

Parallelized execution of instruction sequences

  • US 10,296,350 B2
  • Filed: 03/31/2015
  • Issued: 05/21/2019
  • Est. Priority Date: 03/31/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method, comprising:

  • in a processor that processes instructions of program code by a pipeline comprising at least first and second hardware threads, monitoring at least a first occurrence of a sequence of instructions being processed by the processor, and identifying in the first occurrence of the monitored sequence an instruction that is defined as a parallelization point;

    after monitoring the first occurrence, processing one or more of the instructions, including a second occurrence of the sequence that was monitored, by the first hardware thread;

    immediately in response to detecting that a fetch unit in the pipeline has fetched for the first hardware thread a given instruction in the second occurrence of the sequence that was monitored, before any decoding of the fetched given instruction in the pipeline, identifying, based on the monitoring of the first occurrence of that sequence, that the fetched given instruction is defined as a parallelization point; and

    in response to identifying that the fetch unit in the pipeline has fetched the given instruction defined as the parallelization point for the first hardware thread, invoking the second hardware thread to process at least one of the instructions in the sequence that was monitored, which have one or more data dependencies with the instructions processed by the first hardware thread, wherein processing of the instructions by the second hardware thread is performed at least partially in parallel with processing of the instructions by the first hardware thread.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×