Execution Unit
Procesor
Najogólniej mówiąc procesor dzieli się na jednostkę wykonawczą EU (ang. Execution Unit) oraz jednostkę sterującą(ang. Control Unit). Poniżej zamieszczony został schemat budowy procesora. Oto i on:
Jednostka wykonawcza:
Rejestry - rejestry procesora (ang. registers). Wyjaśnienia poniżej
ALU razem z FPU - ten pierwszy układ to jednostka arytmetyczno-logiczna (ang. Arythmetic-logical Unit). Mogłeś sobie zdawać pytanie: "Jak procesor dodaje do siebie dwie liczby ?". To tutaj właśnie odbywają się wszystkie operacje matematyczne i logiczne. O ile ALU operuje jedynie na liczbach całkowitych o tyle FPU (ang. Floating Point Unit) zwany koprocesorem działa na liczbach zmiennoprzecinkowych. FPU ma swoje specjalne rozkazy poprzedzone literą "F" a także specyficzną budowę swoich własnych rejestrów, o czym dowiemy się później.
Rejestry procesora
Tak naprawdę sam procesor nie wykonuje działań bezpośrednio na pamięci - byłoby to dość czasochłonne. Dlatego procesor dysponuje pewną określoną liczbą pamięci, przeznaczoną specjalnie dla niego. Ta pamięć to m.in. rejestry. To właśnie w nich przechowywane są dane, na których procesor wykona pewne działania np. w następnym rozkazie. Liczba rejestrów i ich przeznaczenie zależy od architektury procesora, lecz wśród nich możemy wyróżnić:
-rejestry ogólnego przeznaczenia
-rejestry kontrolne
-rejestry segmentowe
-rejestry wskaźnikowe
-rejestry indeksowe
Należy pamiętać, że nie wszystkie rejestry są dostępne dla programistów. Niektóre jak na przykład rejestr PC ( ang. Program Counter), zwany potocznie licznikiem instrukcji czy rejestr wskaźnika instrukcji są sterowane i modyfikowane przez procesor. Nikt oprócz niego nie ma do tych elementów dostępu. Rejestry segmentowe służą do adresowania danych fragmentów pamięci operacyjnej, zaś indeksowe służą pomocą przy operacjach na ciągach bitów, bajtów, wszelkiej maści tablic etc. Jeśli nie będziesz pisał systemu operacyjnego, to raczej nie będziesz musiał korzystać z rejestrów kontrolnych - zwykle są one niedostępne dla procesów, działających w przestrzeni użytkownika, a ich użycie powoduje awaryjne zakończenie programu. Zatem, aby wykonać omówione wcześniej dodawanie procesor musi:
1) skopiować liczbę z pamięci do rejestru
2) skopiować drugą liczbę z pamięci do drugiego rejestru
3) dodać obie liczby do siebie
4) przenieść wynik obliczeń do któregoś z rejestrów
5) skopiować wynik z rejestru do pamięci
Jednostka arytmetyczno-logiczna (ALU) to jedna z głównych części procesora, prowadząca proste operacje na liczbach całkowitych.
ALU jest układem cyfrowym, służącym do wykonywania operacji arytmetycznych (takich jak dodawanie, odejmowanie itp.) oraz operacji logicznych (np. Ex-Or) pomiędzy dwiema liczbami. ALU jest podstawowym blokiem centralnej jednostki obliczeniowej komputera.
Typowe ALU ma dwa wejścia odpowiadające parze argumentów i jedno wyjście na wynik. Operacje jakie prowadzi to:
-operacje logiczne AND, OR, NOT, XOR
-dodawanie,
-często też, odejmowanie, negacja liczby, dodawanie z przeniesieniem,
zwiększanie/zmniejszanie o 1
-przesunięcia bitowe o stałą liczbę bitów, czasem też o zmienną liczbę
-dość często mnożenie i czasem dzielenie/modulo
Jednostka zmiennoprzecinkowa (FPU) to układ scalony wspomagający procesor w obliczeniach zmiennoprzecinkowych. W większości współczesnych konstrukcji, koprocesor arytmetyczny, a także jednostki obsługujące bardziej skomplikowane obliczenia (np. instrukcje wektorowe) są zintegrowane z procesorem w jednym układzie.
Notatka:
Temat: Jednostka wykonawcza - EU
1) Zespół wykonawczy EU zawiera blok arytmetyczno - logiczny ALU wraz z rejestrem znaczników FR, blok rejestrów ogólnego przeznaczenia i blok sterowania. Blok ALU dołączony jest do magistrali wewnętrznej mikroprocesora, z której pobiera argumenty operacji, a także wysyłany jest na nią wynik operacji. Ponadto może się na tej magistrali pojawić zawartość rejestru znaczników.
2)Podział rejestrów ze względu na przeznaczenie :
-rejestry ogólnego przeznaczenia
-rejestry kontrolne
-rejestry segmentowe
-rejestry wskaźnikowe
-rejestry indeksowe
3)Jednostka arytmetyczno-logiczna (ALU) to jedna z głównych części procesora, prowadząca proste operacje na liczbach całkowitych.
4) Jednostka zmiennoprzecinkowa (FPU) to układ scalony wspomagający procesor w obliczeniach zmiennoprzecinkowych. W większości współczesnych konstrukcji, koprocesor arytmetyczny, a także jednostki obsługujące bardziej skomplikowane obliczenia (np. instrukcje wektorowe) są zintegrowane z procesorem w jednym układzie.