Potokowość: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
Radekk (dyskusja | edycje)
Rozbudowanie
Radekk (dyskusja | edycje)
m Mała poprawka
Linia 11:
W powyższym 5 stopniowym potoku wykonanie jednej instrukcji zabiera co najmniej 5 cykli zegarowych - przejście przez wszystkie stopnie potoku. Jednak ze względu na jednoczesną pracę wszystkich stopni potoku jednocześnie wykonywanych jest 5 rozkazów procesora, każdy w innym stadium wykonania. Oznacza to że taki procesor w każdym cyklu zegara rozpoczyna i kończy wykonanie jednej instrukcji (nie tej samej :-)) i statystycznie wykonuje rozkaz w jednym cyklu zegara. Każdy ze stopni potoku wykonuje mniej pracy w porównaniu do pojedynczej logiki, dzięki czemu może wykonać ją szybciej - z większą częstotliwością - tak więc dodatkowe zwiększenie liczby stopni umożliwia osiągnięcie coraz wyższych częstotliwości pracy. Szczytowym osiągnięciem tej techniki jest procesor [[Intel]] [[Pentium 4]] posiadający aż 22 stopniowy potok i osiągający grubo ponad 3 [[GHz]] zegar. Podstawowym wrogiem techniki potoku są rozkazy skoku powodujące w najgorszym wypadku potrzebę przeczyszczenia całego potoku i wycofania rozkazów które następowały zaraz po instrukcji skoku i rozpoczęcie zapełniania potoku od początku od adresu do którego następował skok. Taki rozkaz skoku może powodować ogromne opóźnienia w wykonywaniu programu - tym większe im większa jest długośc potoku - co dla wspomnianego procesora [[Pentium 4]] oznacza stratę co najmniej kilkudziesięciu cykli zegara. Dodatkowo szacuje się że dla [[ISA (procesory)|modelu programowego]] [[x86]] taki skok występuje co kilkanaście rozkazów.
 
=== Zobacz też: ===
*[[Superskalarność (procesory)]]
*[[ISA (procesory)]]
*[[Wykonywanie spekulatywne (procesory)]]
 
=== Linki zewnętrzne ===
[http://cse.stanford.edu/class/sophomore-college/projects-00/risc/pipelining/ Przykład pipeliningu]