Pipelingi instruktażowe to technika stosowana przy projektowaniu nowoczesnych mikroprocesorów, mikrokontrolerów i procesorów w celu zwiększenia wydajności ich instrukcji (liczby instrukcji, które mogą być wykonane w jednostce czasu).
Główną ideą jest podział (określany jako "split") przetwarzania instrukcji procesora, zdefiniowanego przez mikrokod instrukcji, na szereg niezależnych kroków mikrooperacji (zwanych również "mikroinstrukcjami", "mikroop" lub "µop"), z pamięcią na końcu każdego kroku. Pozwala to układowi sterującemu procesorów na obsługę instrukcji z szybkością przetwarzania najwolniejszego kroku, która jest znacznie szybsza niż czas potrzebny do przetworzenia instrukcji jako pojedynczego kroku.
Termin "rurociąg" odnosi się do faktu, że każdy z etapów posiada jedną mikrostrukturę (jak kropla wody), a każdy etap jest połączony z innym etapem (analogicznie; podobnie jak w przypadku rurociągów wodnych).
Większość nowoczesnych procesorów jest napędzana przez zegar. Procesor składa się wewnętrznie z logiki i pamięci (klapki). Gdy nadejdzie sygnał z zegara, klapki zapisują swoje nowe wartości, po czym logika potrzebuje czasu na zdekodowanie nowych wartości. Następnie nadchodzi kolejny impuls zegarowy, a klapki zapisują kolejne wartości i tak dalej. Poprzez rozbicie układu logicznego na mniejsze części i wstawienie klapki pomiędzy poszczególne części układu logicznego skraca się czas potrzebny na zdekodowanie wartości do momentu wygenerowania prawidłowych wyjść w zależności od tych wartości. W ten sposób można skrócić okres czasu. Na
przykład rurociąg RISC jest podzielony na pięć etapów za pomocą zestawu klapek pomiędzy poszczególnymi etapami w następujący sposób:
- Aport instruktażowy
- Dekodowanie instrukcji i pobieranie rejestrów
- Wykonać
- Dostęp do pamięci
- Zarejestruj się odpisać
Procesory z orurowaniem składają się wewnętrznie z etapów (modułów), które mogą pół-niezależnie pracować na oddzielnych mikrostrukturach. Każdy etap jest połączony klapkami z kolejnym etapem (jak "łańcuch") tak, że wyjście etapu jest wejściem do kolejnego etapu, aż do momentu wykonania zadania przetwarzania instrukcji. Taka organizacja wewnętrznych modułów procesora skraca całkowity czas przetwarzania instrukcji.
Architektura nie-rurowa nie jest tak wydajna, ponieważ niektóre moduły CPU są bezczynne, podczas gdy inny moduł jest aktywny podczas cyklu instrukcji. Pipelining nie eliminuje całkowicie jałowego czasu pracy procesora w układzie potokowym, ale spowodowanie, że moduły CPU pracują równolegle, zwiększa przepustowość instrukcji.
Mówi się, że rurociąg z instrukcjami jest w pełni orurowany, jeśli może przyjąć nową instrukcję w każdym cyklu zegara. Rurociąg, który nie jest w pełni poprowadzony, ma cykle oczekiwania, które opóźniają jego przebieg.



