LEKCJA

Transkrypt

LEKCJA
LEKCJA
TEMAT: Współczesne procesory.
1. Wymagania dla ucznia:
 zna pojęcia: procesor, CPU, ALU,
 potrafi podać typowe rozkazy;
 potrafi omówić uproszczony i rozszerzony schemat mikroprocesora;
 potraf omówić rejestry;
 potrafi omówić etapy pracy oraz cykle procesora
 potrafi wymienić typy obudów mikroprocesora oraz typy gniazda - książka strona 61
 potrafi omówić rodzaje magistrala - książka strona 64
 potrafi omówić rodzaje architektur mikroprocesora – książka strona 67
 potrafi podać parametry wpływające na wydajność procesora – książka strona 68
 potrafi omówić tryby mikroprocesora – książka strona 69
 potrafi wymienić i omówić dodatkowe funkcje mikroprocesora – książka strona 70
 potrafi podać co to jest pamięć cache, rodzaje, parametry – książka strona 71
 potrafi wyjaśnić zagadnienia: procesory 32 i 64 bitowe oraz wielordzeniowe – książka
strona 72
2. Procesor (ang. processor) - urządzenie cyfrowe sekwencyjne potrafiące pobierać dane
z pamięci, interpretować je i wykonywać jako rozkazy. Wykonuje on bardzo szybko
ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych
określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.
Procesor wykonywany jest zwykle jako układ scalony zamknięty w hermetycznej
obudowie posiadającej złocone wyprowadzenia. Złoto jest konieczne, aby zmniejszyć
pojemności pasożytnicze połączeń. Jego sercem jest monokryształ krzemu, na który
naniesiono techniką fotolitografii szereg warstw półprzewodnikowych. Tworzą one
sieć od kilku do kilkudziesięciu milionów tranzystorów. Połączenia wykonane są z
metalu (aluminium, miedź). Ważnym parametrem procesora jest rozmiar elementów
budujących jego strukturę. Im są one mniejsze tym niższe jest zużycie energii,
napięcie pracy oraz wyższa częstotliwość pracy. Współczesne procesory wykonywane
są w technologii pozwalającej na uzyskanie elementów o rozmiarach mniejszych niż
90 nm pracujących z częstotliwością 3,6 GHz. Fabryki procesorów muszą posiadać
pomieszczenia o niezwykłej czystości, co jest bardzo kosztowne.
3. Do typowych rozkazów wykonywanych przez procesor należą:
 kopiowanie danych
- z pamięci do rejestru;
- z rejestru do pamięci;
- z pamięci do pamięci (niektóre procesory);
 działania arytmetyczne
- dodawanie;
- odejmowanie;
- porównywanie dwóch liczb;
- dodawanie i odejmowanie jedności;
- zmiana znaku liczby;
 działania na bitach
- iloczyn logiczny – AND;
- suma logiczna – OR;
- suma modulo 2 (różnica symetryczna) – XOR;
- negacja – NOT;
- przesunięcie bitów w lewo lub prawo;

4.
5.
6.
7.
skoki
- bezwarunkowe;
- warunkowe;
Komputer oprócz procesora głównego (CPU) posiada procesory pomocnicze: obrazu
(GPU), dźwięku, koprocesory arytmetyczne.
Jednostką arytmetyczno-logiczną (ALU ang. Arithmetic-Logic Unit) nazywa się
uniwersalny układ cyfrowy przeznaczony do wykonywania operacji arytmetycznych i
logicznych. Zestaw operacji, które potrafi zrealizować ALU, powinna być
funkcjonalnie pełne (czyli za jego pomocą jesteśmy w stanie zrealizować dowolny
algorytm przetwarzania informacji). Do zestawu operacji wykonywanych przez
jednostkę arytmetycznologiczną należą: dodawanie i odejmowanie algebraiczne,
przesuwanie bitów słowa w prawo i w lewo, porównywanie wartości dwóch słów,
operacje iloczynu i sumy logicznej, negacji i alternatywy wykluczającej. Aby możliwe
było dokonanie wyboru operacji realizowanej w danym momencie przez ALU, musi
ona zawierać zestaw wejść zwanych sterującymi. Jednostka ALU nie ma własnych
układów pamiętających, dlatego musi współpracować z pewnym zestawem rejestrów.
Rejestr który zawiera jeden z argumentów operacji i do którego ładowany jest wynik
wykonywanej operacji, zwany jest akumulatorem. Dodatkowe cechy wyniku
wykonywanej operacji (przeniesienie) są przechowywane w postaci określonych bitów
w rejestrze zwanym flagowym lub znaczników.
Mikroprocesor wraz z układami towarzyszącymi, takimi jak zegar systemowy
i sterownik magistral, tworzy centralną jednostkę przetwarzającą, czyli CPU (ang.
Central Processing Unit).
Uproszczony schemat blokowy mikroprocesora
Zadaniem jednostki wykonawczej EU (ang. execution unit) jest przetwarzanie
informacji, czyli wykonywanie wszelkich operacji arytmetycznych i logicznych.
Rodzaj wykonywanych operacji zależy od wewnętrznych sygnałów sterujących
wytwarzanych przez jednostkę sterującą CU. W skład jednostki wykonawczej
wchodzi jednostka arytmetyczno-logiczna ALU oraz zestaw współpracujących
rejestrów. Informacją wejściową części wykonawczej są dane, wyjściową zaś wyniki.
W skład CU (jednostki sterującej) wchodzą: rejestr rozkazów IR, dekoder rozkazów
i układ sterowania. W rejestrze rozkazów przechowywany jest kod aktualnie
wykonywanego rozkazu. Kody rozkazów pobierane są do rejestru rozkazów
z pamięci. Ciąg rozkazów tworzy program wykonywany przez system. Po pobraniu
z pamięci kod rozkazu jest dekodowany w dekoderze rozkazów, czyli jest określane,
jakiego rozkazu kod znajduje się w dekoderze rozkazów. Na tej podstawie układ
sterowania wytwarza wewnętrzne lub zewnętrzne sygnały sterujące realizujące dany
rozkaz.
Rys. Schemat uproszczony (blokowy) mikroprocesora.
8. Rozszerzony schemat blokowy mikroprocesora
Rys. Rozszerzony schemat blokowy mikroprocesora
Poszczególne bloki oznaczają: BU (Bus Unit) – odpowiada za współpracę procesora
z pamięcią; Prefetch – w celu przyspieszenia pracy procesora podczas fazy wykonania
jednego rozkazu jest już wykonywana faza pobierania następnego rozkazu; IU
(Instruction Unit) – dekoder odtwarzający rozkaz do wykonania przez procesor,
czekające w kolejce; ROM – pamięć wspomagająca dekoder IU, umożliwiająca dostęp
do słownika tłumaczącego przyjmowane kody rozkazowe na sekwencje operacji; EU
(Execution Unit) – układ wykonawczy, do którego są przekazywane rozkodowane
instrukcje; ALU (Arythmetic Lgic Unit) – jednostka wykonująca operacje na liczbach
stałoprzecinkowych; CU (Control Unit) – blok sterujący jednostką ALU; FPU
(Floating Point Unit) – jednostka wykonująca operacje na liczbach
zmiennoprzecinkowych; AU (Addressing Unit) – jednostka adresowa, która obsługuje
m. in. pobieranie argumentów rozkazów; MMU (Memory Management Unit) – moduł
zarządzania realizujący dostęp do pamięci fizycznej żądanej przez CPU.
9. Rejestry
 Akumulator – rejestr który zawiera jeden z operandów (argumentów) wykonywanej
operacji i do którego jest ładowany wynik wykonywanej operacji.
 Rejestr flagowy nazywa się rejestr zawierający dodatkowe cechy wyniku
wykonywanej operacji potrzebne do podjęcia decyzji o dalszym sposobie
przetwarzania informacji. Cechami tymi mogą być przykładowy znak wyniku,
wystąpienie przekroczenia zakresu czy parzystość.
 Licznik rozkazów nazywa się rejestr mikroprocesora zawierający adres komórek
pamięci, w której przechowywany jest kod rozkazu przeznaczonego do wykonani jako
następny. W nowszych mikroprocesorach nosi on nazwę IP - wskaźnik instrukcji (ang.
Instruction Pointer). Czyli po wczytaniu kolejnego rozkazu zawartość licznika rozkazu
powinna zostać zamieniona tak, aby wskazywała kolejny rozkaz przeznaczony do
wczytania do mikroprocesora. Pobranie kodu rozkazu z kolejnej komórki pamięci
powoduje zwiększenie zawartości licznika rozkazu o jeden.
 Wskaźnik stosu jest rodzajem pamięci (buforem) oznaczonej przez LIFO.
Wskaźnikiem stosu nazywa się rejestr zawierający adres ostatniej zapełnionej komórki
stosu (wierzchołkiem stosu). Z definicji stosu wnika, że przy założeniu narastania
stosu w kierunku adresów rosnących każdy zapis na stos zwiększa zawartość
wskaźnika stosu, a każdy odczyt zmniejsza jego zawartość. Dzięki czemu wskaźnik
stosu pokazuje zawsze ostatnią zapełnioną komórkę stosu. Jednym z klasycznych
zastosowań stosu jest zapamiętywanie adresu powrotu do programu wywołującego w
przypadku tak zwanego podprogramu.
 Rejestry robocze (rejestry ogólnego przeznaczenia) (GPR – ang. General Purpose
Registers). Przykładowo rejestry takie mogą przechowywać argumenty
wykonywanych operacji, wyniki czy też adresy tychże w pamięci. Rejestry te mogą
pełnić pewne dodatkowe funkcje przewidziane przez projektanta mikroprocesora np.
licznik wykonywanych pętli.
10. Realizując program, system mikroprocesorowy wykonuje pewne powtarzające się
czynności, polegające na cyklicznym pobieraniu kodów rozkazów z pamięci i
wczytywaniu ich do układu sterowania mikroprocesora, a następnie realizacji rozkazu
którego kod został pobrany. W cyklu możemy wyróżnić dwa etapy: faza pobrania
(fetch), faza wykonania (execution).
Faza pobrania polega na pobraniu kodu rozkazu z komórki pamięci o adresie
przechowywanym w liczniku rozkazów, a następnie na umieszczeniu tego kodu
w rejestrze rozkazów IR znajdujących się w układzie sterowania mikroprocesora. Kod
rozkazu przesyłany jest do mikroprocesora magistralą danych. Następnie zawartość
licznika rozkazu jest modyfikowana tak, aby wskazywała on na kolejny kod rozkazu
przeznaczony do pobrania. Po zakończeniu fazy pobrania następuje faza wykonania.
Faza wykonania polega na zdekodowaniu kodu rozkazu znajdującego się w rejestrze
IR. Po zdekodowaniu kodu rozkazu układ sterowania wytwarza wewnętrzny lub
zewnętrzny sygnał sterujący realizujący dany rozkaz.
11. Cykl rozkazowy następuje po sobie na przemian faza pobrania i faza wykonania. W
celu przyspieszenia pracy systemu stosuje się modyfikację cyklu zwaną
prefetchingiem, czyli wstępnym pobraniem instrukcji. Polega na równoległym
wykonywaniu fazy pobrania następnego rozkazu, jeszcze w trakcie realizacji fazy
wykonania rozkazu poprzedniego.
Rys. Cykle rozkazowe
Realizację prefetchingu wymaga określonej budowy procesora, umożliwiającej
równoległą pracę jednostek CU i EU. Ponadto wstępne pobranie instrukcji jest
ograniczone dostępnością magistrali.