×

Broadcasting messages between execution slices for issued instructions indicating when execution results are ready

  • US 10,445,100 B2
  • Filed: 06/09/2016
  • Issued: 10/15/2019
  • Est. Priority Date: 06/09/2016
  • Status: Active Grant
First Claim
Patent Images

1. A method for transmitting data between execution slices of a multi-slice processor, the method comprising:

  • receiving, by an execution slice, a broadcast message originating from a source execution slice, the broadcast message comprising an instruction tag (ITAG) for a producer instruction, a latency, and a source identifier;

    determining that an issue queue in the execution slice comprises an ITAG for a consumer instruction, wherein the consumer instruction depends on result data from the producer instruction;

    calculating a cycle countdown using the latency and the source identifier, including;

    obtaining a cycle distance between the execution slice and a location identified by the source identifier, the location corresponding to an address of the source execution slice, wherein obtaining the cycle distance comprises dividing a physical distance between the execution slice and the source execution slice by a distance that the result data is able to traverse each cycle, wherein the cycle distance is a non-zero number of cycles required for the result data to travel from the location identified by the source identifier to the execution slice; and

    combining the cycle distance and the latency to obtain the cycle countdown;

    determining that the cycle countdown has expired; and

    in response to determining that the cycle countdown has expired, reading the result data from the producer instruction.

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