Procesor, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II


Procesor (CPU - centralna jednostka wykonawcza) to układ scalony, którego działanie polega na wykonywaniu instrukcji programów. Nadzoruje on i synchronizuje prace wszystkich urządzen w komputerze.

Charakterystyczne cechy, które odróżniają procesory od siebie to:

  1. Architektura (CISC lub RISC)

  2. Liczba bitów przetwarzana w jednym takcie

  3. Częstotliwość taktowania podawana w MHz

Wszystkie mikroprocesory zawierają podobne elementy:

  1. Układ sterowania i synchronizacji, który kontroluje pracę procesora i wytwarza sygnały potrzebne do sterowania niektórymi elementami komputera.

  2. Arytmometr, czyli układ, który wykonuje operacje arytmetyczne i logiczne (niektóre procesory mają kilka arytmometrów).

  3. Rejestry, tj. układy pamięci.

  4. Wbudowana pamięć podręczna cache ,która działa podobnie do zewnętrznej pamięci RAM. Zapewnia ona, że procesor nie jest zmuszony czekać na dane potrzebne mu do pracy.

  5. Koprocesor matematyczny, który jest zestawem instrukcji przeznaczonych do obsługi skomplikowanych operacji matematycznych.

  6. Wewnętrzne szyny łączące elementy procesora.

Podstawowymi rejestrami, które znajdują się w każdym mikroprocesorze, są:

  1. Licznik rozkazów - zawiera on adres następnego rozkazu do wykonania.

  2. Rejestr rozkazów - zawiera kod aktualnie wykonywanego rozkazu.

  3. Akumulator, jest używany w czasie wykonywania rozkazów arytmetycznych, logicznych, I/O i in. niektóre procesory mają kilka takich rejestrów.

  4. Rejestr znaczników - zawiera dodatkowe informacje o wyniku operacji arytmetyczno-logicznych, np. "wynik równy zeru".

  5. Schemat blokowy procesora: 0x01 graphic

    OZNACZENIA:

Rejestry: Zarówno jednostka artmetyczno-logiczna jak i układ sterowania musi współpracować z określonym zestawem rejestru. Zawartość pewnej części rejestru może być zmieniona w wyniku wykonania przez procesor określonej instrukcji. Rejestry takie nazywamy rejestrami dostępnymi programowo. W grupie tych rejestrów występują takie typy rejestrów, których odpowiedniki znajdują się praktycznie w każdym mikroprocesorze. Ich pojemność lub ilość może się zmieniać jednak zastosowanie i wykonywane zadania pozostają takie same.
0x08 graphic

Akumulator - jest to rejestr, który zawiera jeden z argumentów wykonywanej operacji i do którego ładowany jest wynik wykonywanej operacji.
Rejestr flagowy - zawiera dodatkowe cechy wyniku wykonywanej operacji, które potrzebne są do podjęcia decyzji o dalszym sposobie przetwarzania informacji. Cechami tymi mogą być: znak wyniku, przekroczenie zakresu, parzysta lub nieparzysta liczba jedynek. Wystąpienie określonej cechy sygnalizowane jest ustawieniem lub wyzerowaniem określonego bitu w rejestrze flagowym. Ustawione bity nazywane są znacznikami lub flagami.
Licznik rozkazów jest jednym z istotniejszych rozkazów dzięki któremu procesor potrafi pobierać kolejne rozkazy do wykonania. Licznik rozkazów - zawiera adresy komórki pamięci w której przechowywany jest kod rozkazu przeznaczony do wykonania jako następny.
Oprócz tego procesor ma kilka (kilkanaście) rejestrów używanych w czasie wykonywania niektórych rozkazów np. wskaźnik stosu służący do adresowania pamięci. Stosem nazywamy wyróżniony obszar pamięci, używany według następujących reguł:

Stos jest wydzielonym miejscem w pamięci w którym obowiązuje zasada: ostatni wchodzi pierwszy wychodzi.

Zegar

Najbardziej charakterystycznym parametrem opisującym każdy procesor jest częstotliwość pracy zegara. Zegar pełni rolę dyrygenta koordynującego pracę elementów procesora. Wszystkie operacje są synchronizowane zegarem o określonej, stałej częstotliwości. Im częstotliwość jest większa, tym praca procesora jest wydajniejsza, gdyż może on wykonać więcej instrukcji w ciągu jednej sekundy. Nowe procesory mają coraz szybsze zegary, jednak częstotliwości taktowania nie można zwiększać w nieskończoność. Maksymalna jej wartość jest uwarunkowana zastosowaną technologią produkcji procesora. Im mniejsze szerokości ścieżek tworzących strukturę procesora, tym większa maksymalna częstotliwość taktowania. Efektem ubocznym zwiększania częstotliwości jest większe zużycie energii, wydzielanej w postaci ciepła. Częściowo można temu przeciwdziałać, stosując technologie umożliwiające zasilanie procesorów niższym napięciem.

 0x01 graphic

  Pamięć podręczna

Modele procesorów różnią się od siebie także ilością pamięci podręcznej (ang. cache) - wbudowanej w procesor. Taka pamięć jest niezbędna. Jest znacznie szybsza od RAM-u i usprawnia działanie procesora.

Procesory mają od kilkunastu do kilkuset kilobajtów pamięci podręcznej.

Ile bitów?

Bardzo często spotykamy się z określeniem - procesor 32-bitowy. Ma ono związek z maksymalnym rozmiarem danych, na których procesor potrafi wykonać elementarne operacje arytmetyczno--logiczne, i rozmiarem rejestrów ogólnego przeznaczenia. Rejestry te to specjalne struktury w procesorze, które służą do przechowywania tymczasowych wyników. Rozmiar rejestru określa się w bitach. W bitach określa się także szerokość magistrali systemowej, za pośrednictwem której procesor porozumiewa się z otoczeniem. To nią przesyłane są dane z i do pamięci RAM, jak i pozostałych urządzeń. Magistralę tworzy szyna danych i szyna adresowa. Od szerokości szyny adresowej zależy możliwość adresowania maksymalnego rozmiaru pamięci RAM.

 0x01 graphic

 RISC, CISC, MMX

Opisują one pewne cechy procesora związane z jego budową i możliwościami. Procesory możemy podzieli na dwa typy CISC (ang. Complex Instruction Set Computer - komputer o rozbudowanym zestawie rozkazów) i RISC (ang. Reduced Instruction Set Computer - komputer o zredukowanym zestawie rozkazów). Klasyczny CISC potrafi interpretować setki odmiennych rozkazów, które mogą mieć różny rozmiar. Rozkazy procesora CISC są zazwyczaj dłuższe niż RISC-a potrzeba więcej bitów, aby rozróżnić poszczególne komendy, których jest więcej. Procesor typu RISC charakteryzuje się zminimalizowanym zbiorem rozkazów i zazwyczaj stałą długością instrukcji. Zaletą procesorów typu RISC jest prostsza budowa  i większa prędkość działania. Łatwiej jest również wyposażyć je w możliwość równoległego wykonywania kilku rozkazów. Wadą jest mały zbiór instrukcji. Często jednemu, złożonemu rozkazowi procesora typu CISC odpowiada kilka instrukcji procesora typu RISC. Nowsze procesory z rodziny x86 są tylko zewnętrznie typu CISC. Tak naprawdę w środku znajduje się procesor RISC. Dzięki temu zachowując zalety procesora CISC w prosty sposób zwiększono wydajność współczesnych procesorów. Wraz z nadejściem Pentium MMX w świecie procesorów pojawiło się znacznie więcej skrótów MMX, SSE, 3D Now! Oznaczają, że producent nauczy dany procesor rozpoznawać dodatkowe instrukcje. Ma to na celu zwiększenie jego wydajności w specyficznych zastosowaniach i nosi ogólną nazw SIMD (ang. single-instruction, multiple-data technology - technologia przetwarzania wielu danych za pomoc pojedynczej instrukcji).

  Jak działa procesor?

Jako przykład posłuży flagowy model Intela Pentium 4.

Zastosowano w nim architekturę NetBurst. Oznacza to, że przetwarzanie instrukcji następuje w trzech etapach. Początkowo instrukcja jest pobierana i rozkładana na tak zwane mikrooperacje. Ostatnią fazą przetwarzania jest uporządkowanie kolejności wyników mikrooperacji. Następnie każda instrukcja jest pobierana i dekodowana poprzez jednostkę Fetach/Decode na jedną lub więcej mikrooperacji. Mikrooperacje są przechowywane w Execution Trace Cache. Mikrooperacje wykonywane są przez jednostki wykonawcze. Jednocześnie może być przetworzonych kilka mikrooperacji, przez co procesor pracuje znacznie szybciej. Procesor stara się wykorzystywać swoje zasoby możliwie efektywnie i czasami zaburza kolejno wykonania mikrooperacji. Może się zdarzyć, że wynik operacji, która występuje w programie później, zostanie obliczony wcześniej ni wynik poprzedniej operacji. Dlatego wyniki muszą zostać uporządkowane przez jednostkę Retirement. Gdyby nie zostały uporządkowane, wynik działania programu byłby niezgodny z tym, co chciał osiągnąć programista. Niemal każdy program w dużej części składa się z fragmentów, które muszą by wielokrotnie wykonane. Dlatego ostatnio wykonane instrukcje s przechowywane w postaci ciągu mikrooperacji Execution Trace Cache. Dzięki temu istnieje duże prawdopodobieństwo, że wykonanie jeszcze raz tej samej instrukcji nie będzie wymagało ponownego jej pobrania i zdekodowania. Podobna sytuacja występuje w wypadku danych. Najczęściej wykorzystywane dane są tymczasowo pamiętane w pamięci podręcznej.

  Co jest w środku Pentium 4?

System Bus (magistrala systemowa) - kanał komunikacyjny pomiędzy pamięcią i urządzeniami wejścia/wyjścia a procesorem. Szyna danych ma rozmiar 64 bitów (8 bajtów), szyna adresowa 36 bitów, przestrzeń adresowa 236 = 64 GB. Magistrala jest synchronizowana częstotliwością 100 MHz.

Bus Unit - blok odpowiedzialny za poprawną współpracę wewnętrznych mechanizmów procesora z szyną systemową.

L2 Cache + L2 Control Unit - pamięć podręczna drugiego poziomu wraz z jednostką zarządzającą , rozmiar zależnie od wersji procesora 256 lub 512 kB.

Fetach/Decode - jednostka pobierania i dekodowania instrukcji. Jej zadaniem jest pobieranie instrukcji i dekodowanie ich na tak zwane mikrooperacje (μops).

Execution Trace Ciche - bufor śledzenia wykonywania rozkazów, odpowiednik pamięci podręcznej pierwszego poziomu.

Microcode ROM - pamięć mikrokoku niemodyfikowalna pamięć zapisana na etapie produkcji układu, zawiera tłumaczenie bardziej skomplikowanych instrukcji na μops.

L1 Cache - pamięć podręczna pierwszego poziomu o rozmiarze 8 kB.

Execution - moduł wykonawczy, interpretuje mikrooperacje. Składa się z kilku jednostek wykonawczych, które jednocześnie mogą wykonywa kilka μops.

Retirement - moduł przywracający prawidłową kolejność wyników mikrooperacji.

BTB (Branch Target Buffet)/ Branch Prediction - jednostka przewidywania skoków.

Branch History Update - uaktualnienie historii skoków.

 0x01 graphic



Wyszukiwarka

Podobne podstrony:
Podstawy architektury komputera, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
Teoria informatyki, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
Dyski twarde-konspekt, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
chipsety i magistrale komputera, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
Dyski twarde-konspekt1, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
Magistrale i sygnały sterujące mikroprocesora, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk,
podkręcanie, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
Pamięci dynamiczne RAM, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
bramki logiczne, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
Rejestry, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
składaniekomputera, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
Budowa komputera, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
Pamięci półprzewodnikowe, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
PODSTAWY DZIAŁANIA UKŁADÓW CYFROWYCH, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr
Pamięci dynamiczne RAM, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
format[1], Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr I
Dyski twarde-woluminy, Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr II
Konsola odzyskiwania systemu, Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr II
instalacja win 2003, Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr II

więcej podobnych podstron