×

Run-time code parallelization with continuous monitoring of repetitive instruction sequences

  • US 9,348,595 B1
  • Filed: 12/22/2014
  • Issued: 05/24/2016
  • Est. Priority Date: 12/22/2014
  • Status: Expired due to Fees
First Claim
Patent Images

1. A processor, comprising:

  • a processing pipeline comprising multiple hardware threads and configured to execute pre-compiled software code instructions that are stored in a memory;

    multiple registers, configured to be read and written to by the processing pipeline during execution of the instructions; and

    a monitoring unit, which is configured to monitor execution of the instructions by the processing pipeline and to record, while the processing pipeline executes a sequence of the instructions, a first flow control trace traversed by the sequence and a first monitoring table indicating the registers accessed by the processing pipeline in executing the instructions in the sequence according to the first flow control trace, and which is configured to parallelize among the hardware threads of the processor, using the first monitoring table, execution of first repetitions of the sequence in accordance with the first flow control trace,wherein the monitoring unit is configured to detect, while the processing pipeline executes the sequence of the instructions, a second flow control trace traversed by the sequence, different from the first flow control trace, and to record a second monitoring table indicating the registers accessed by the processing pipeline in executing the instructions in the sequence according to the second flow control trace, and is configured to parallelize among the hardware threads of the processor, using the second monitoring table, the execution of second repetitions of the sequence in accordance with the second flow control trace,wherein the first and second monitoring tables comprise, for each register written to by the processing pipeline in executing the instructions in the sequence, a record of the last instruction in the sequence at which the processing pipeline wrote to the register.

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