摘要 |
A method of scheduling computation in a pipelined computation unit 50 having a pipeline with an odd number of stages 57 to produce an intermediate result 65 for use in an iterative process, comprises: identifying a set of one or more instructions 10 that collectively comprise more discrete portions of computation than the odd number of stages in the pipeline and which comprises a single instruction defining multiple discrete portions of computation, each portion requiring multiple iterations through the pipeline; scheduling each of the multiple discrete portions of computation in the single instruction by staggering each of the discrete portions in the pipeline; adding a wait stage 58 in the pipeline; causing each of the multiple discrete portions to pass through the wait stage, so that each of the portions experiences a latency greater than the odd number of stages in the pipeline; and removing the wait stage from the pipeline in order to process further discrete portions of computation less than or equal to the odd number of stages in the pipeline. |