Software Pipelining ist ein Entwurfsmuster zur Programmierung eines Prozessors mit mehreren Ausführungseinheiten, sodass möglichst viele von ihnen gleichzeitig beschäftigt sind. Das Verfahren dient dazu, die Zeit für eine Berechnung zu verkürzen, indem die Intraprozessorparallelität zur Berechnung genutzt werden kann. Diese sogenannten Befehlsfließbänder werden englisch als „Pipelines“ bezeichnet.[1]