Architektura Komputerów/Wykład 7: Działanie potokowej jednostki wykonawczej

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

...


...


...


Potok R3000 składa się z pięciu stopni.

Stopień IF pobiera instrukcje z hierarchii pamięci instrukcji (zewnętrznej w stosunku do procesora).

Stopień RD odczytuje zawartości rejestrów źródłowych z zestawu rejestrów procesora.

Stopień ALU wykonuje operację arytmetyczną i ew. skok.

Stopień MEM dokonuje wymiany danych z hierarchią pamięci danych.

Stopień WB zapisuje wynik operacji arytmetycznej lub daną odczytaną z pamięci do rejestru.


...


Diagram ilustruje wykonanie instrukcji przez potok procesora MIPS R3000. W każdym cyklu procesor rozpoczyna wykonanie nowej instrukcji i kończy wykonanie wcześniejszej instrukcji.

W każdym cyklu w potoku przebywa 5 instrukcji w różnych fazach wykonania.


Podczas wykonania przedstawionej sekwencji instrukcji w potoku, druga instrukcja, znajdując się w stopniu RD odczytuje zawartość rejestru, który pierwsza instrukcja zaktualizuje w stopniu WB, a więc w trzy cykle później.

Podczas wykonania programu użytkowego może się zdarzyć, że wykonanie strumienia instrukcji zostanie przerwane, a następnie podjęte na nowo po jakimś czasie. W międzyczasie procesor będzie wykonywał inne sekwencje instrukcji, należące do procedur systemowych lub innego procesu użytkownika. W takiej sytuacji. przed przełączeniem kontekstu procesor zakończy wykonanie instrukcji pierwszej, nie rozpoczynając wykonania drugiej (a właściwie anulując efekty jej wykonania).

Po powrocie do przerwanego procesu rozpocznie się wykonanie go od drugiej instrukcji. W takiej sytuacji druga instrukcja pobierze z rejestru wynik zapisany przez pierwszą instrukcję.


...


...


...


...


...


...


...


...


...


...


...


...


...


...


...


...


...


...


...


...


...


...


...


...