Przetwarzanie potokowe

Przetwarzanie potokowe

przetwarzanie potokowe: sposób sekwencyjnego przetwarzania danych, przyśpieszający pracę komputera. Duża ilość instrukcji ‘nachodzi’ na siebie w trakcie wykonania. Korzysta ono z podobieństw pomiędzy instrukcjami w trakcie wykonania. Każdy fragment przetwarzania potokowego zawiera część instrukcji – fragmenty te nazywamy pipe stages albo pipe segments.

Czas pomiędzy wykonaniem każdego segmentu to jeden cykl procesora.

Przy idealnych warunkach, czas wykonania instrukcji na procesorze z przetwarzaniem potokowym jest równy: czasowi wykonania na procesorze bez przetwarzania/ilości pipe stages.

RISC (ex. MIPS)

Prosta implementacja bez przetwarzania potokowego składa się z pięciu instrukcji:

  1. Instruction fetch cycle (IF)
    pobranie instrukcji

  2. Instruction decode/register fetch cycle (ID)
    instrukcja zostaje odkodowana, przeczytana, (zostaje wykonany test równości na namierzony możliwy cel)

  3. Execution/effective address cycle (EX)
    może nastąpić odwołanie do pamięci, z rejestru do pamięci, z rejestru do immediate

  4. Memory access (MEM)
    load/store – informacja zostaje oczytana lub zapisana w pamięci

  5. Write-back cycle (WB)
    operacje arytmetyczne na rejestrach lub zapisywanie danych w przypadku instrukcji load

Pięcio-krokowy pipeline: każdy cykl zegara staje się jednym krokiem pipeline. Kroki te mogą być wykonywane równolegle. Mimo, iż wykonanie instrukcji zabiera 5 cykli zegara, CPI (cycles per instruction) zmienia się na 1.

Problemy:

Pipeline registers – umieszczone pomiędzy poszczególnymi krokami pipeline, z dopasowanym czasem; gdy osiągną ten czas, są w nich zapisywane ostateczne dane z poprzedniego cyklu (pozwala to na unikniecie problemów przy opóźnieniach).

Przyśpieszenie zyskane od pipeline zależy od długości poszczególnych cykli – nawet jeśli na każdą instrukcję jest przewidywany jeden, rzeczy typu dostęp do pamięci mogą zająć, na przykład, cztery takty; takt zegara jest dopasowany do najwolniejszego zadania.

Konflikty pipeline:

w tym miejscu na wykładzie są wzory których nie chciało mi się przepisywać

Hazard strukturalny

Wykonywanie wielu instrukcji na raz wymaga, aby potokowanie funkcjonalnych części oraz duplikacja źródeł zezwalała na wszystkie możliwe wykonania instrukcji w potoku. Jeśli jakaś kombinacja instrukcji nie może być wykonana ze względu na konflikt źródeł, procesor doświadcza hazardu, i niektóre części operacji nie są w pełny potokowane.

Sytuacja ta może zajść, gdy potrzebujemy dostępu do pamięci, rejestrów albo procesora.

W celu rozwiązana problemu, jedna z instrukcji zostaje zatrzymana do czasu, gdy wymagane źródło jest dostępne. Tego typu pauza jest nazywana „pipeline bubble”.

Nie mogą zajść dwa ‘memory access’ w jednym czasie

Koszty hazardu

Odnośniki do danych zajmują 40% procesu; idealne CPI jest równe 1; cykl zegara dla procesora z hazardem jest 1,5 raza większy niż dla procesora bez hazardu. Ogólnie, procesor bez hazardu jest 1,3 raza szybszy.

Data Hazard

Zachodzi, kiedy w kolejnych instrukcjach są niezbędne dane uzyskane w poprzednich. Np., w pierwszym add R1,R2,R3; w kolejnym mul R4,R1,R5.

Rozwiązanie: forwarding (bypassing albo short-circuiting)

Branch Hazard

W przypadku rozgałęzienia, procedura następująca zostaje odczytana od razu – dopier wtedy, gdy program wyliczy swój przeskok, zostaje ona zatrzymana, a fetch part zostaje zrestartowana, gdy znamy już następnika instrukcji branch.

Redukcja strat

Opóźniony skok (Delayed Branch)

Krok następujący po rozgałęzieniu zostaje wykonany niezależnie od tego, czy skok się dokona, czy nie.

Optymalizacja wykonania pętli:


Wyszukiwarka

Podobne podstrony:
Przetwarzanie potokowe 26.10.06, materiały edukacyjne, SOISK(sys operacyjne i sieci komp )
Potokowe przetwarzanie instrukcji Symulator
przetworniki indukcyjne
Prop aut W9 Ses cyfr Przetworniki fotoelektryczne
Przetworstwo produktow rolniczych
MLEKO I PRZETWORY MLECZNE (2)
Ceny detaliczne i spożycie warzyw i ich przetworów
W10 Przetw A Cmin
W9 Przetw C A
przetworniki II opracowane
Przetwarzanie mleka koziego
dupont przetworstwo tworzyw4
Przetwornica buck id 406722 Nieznany
Materiały nieżelazne Tworzywa sztuczne Przetwórstwo Auto Expert
przetworka spr ostatnie
dupont przetworstwo tworzyw9
Przetwornica el
Przetwarzanie i utrwalanie żywności (2)

więcej podobnych podstron