The present invention provides a mechanism for implementing compare speculation in software pipelined loops. A data dependency graph (DDG) is generated for a loop that includes a control compare instruction, a compare instruction and a non-speculative instruction that depends directly or indirectly on the compare instruction. A loop-carried edge between the control compare instruction and the compare instruction is replaced by a loop-carried edge between the control compare instruction and the non-speculative instruction. If the compare instruction is speculated when the loop is modulo-scheduled, any load instruction that depends on the compare is converted to a speculative load, and a loop-carried edge is added between the control compare and a check instruction associated with the speculative load. A loop-independent edge is also added between the check instruction and the non-speculative instruction if the non-speculative instruction also depends on the load.

La actual invención proporciona un mecanismo para poner en ejecucio'n compara la especulación en lazos canalizados software. Un gráfico de la dependencia de los datos (DDG) se genera para un lazo que incluya un control compara la instrucción, una instrucción del comparar y una instrucción no-especulativa que dependa directamente o indirectamente de la instrucción del comparar. Un borde lazo-llevado entre el control compara la instrucción y la instrucción del comparar es substituida por un borde lazo-llevado entre el control compara la instrucción y la instrucción no-especulativa. Si se especula la instrucción del comparar cuando el lazo modulo-programar, cualquier instrucción de la carga que dependa del comparar se convierte a una carga especulativa, y un borde lazo-llevado se agrega entre el control compara y una instrucción del cheque asociada a la carga especulativa. Un borde de loop-independiente también se agrega entre la instrucción del cheque y la instrucción no-especulativa si la instrucción no-especulativa también depende de la carga.

 
Web www.patentalert.com

< Searching for a path through a circuit

< Optimizing dense via arrays of shrunk integrated circuit designs

> Method and apparatus for downloading software into an embedded-system

> Method and system for distributing and maintaining software across a computer network

~ 00083