Budowa i zasada działania komputera 1 dr Artur Bartoszewski
Jednostka arytmetyczno-logiczna 2
Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu podajemy dane. Układ wykonuje na danych określone operacje. Układ zwraca wyniki. Układ cyfrowy to nie to samo co procesor czy nawet ALU. Pojęcie Układu cyfrowego obejmuje każde urządzenie elektroniki, i automatyki spełniające powyższe funkcje. 3
Jednostka arytmetyczno-logiczna 4
Jednostka arytmetyczno-logiczna Najważniejszym elementem procesora jest ALU jednostka arytmetyczno-logiczna (ang. Arithmetic Logic Unit) nazywana też niekiedy arytmometrem. Jest to uniwersalny układ cyfrowy w którym wykonywane są operacje arytmetyczne (dodawanie, odejmowanie, dzielenie, mnożenie) oraz logiczne na dostarczanych do niego liczbach. Dane pobierane są z pamięci operacyjnej lub rejestrów, a o tym, jaka operacja zostanie na nich wykonana decydują sygnały sterujące. 5
Jednostka arytmetyczno-logiczna Zestaw operacji ALU powinien być funkcjonalnie pełny, tzn. taki za pomocą którego jesteśmy w stanie zrealizować dowolny algorytm przetwarzania informacji. Każda lista rozkazów zawiera kilka grup działań występujących w różnych wersjach niemal w każdym komputerze są to: przesłania, działania arytmetyczne, działania logiczne, przesunięcia, sterowanie przebiegiem programu, przesłania wejścia-wyjścia, działania zmiennopozycyjne, działania na argumentach upakowanych. 6
Lista rozkazów 7
Lista rozkazów Każdy rozkaz składa się z kilku pól. Jedno z nich występuje zawsze i nosi nawę pola kodu operacji. Kod ten definiuje funkcję rozkazu, czyli czynności jakie należy wykonać. Pozostałe pola zawierają argumenty operacji. Liczba tych pól zależy od rodzaju operacji, jakiej odpowiada rozkaz. W rozkazach bez argumentów pola dodatkowe nie występują. 8
Lista rozkazów Definicja: Rozkazem nazywamy najprostszą operacje w programowaniu, taką której wykonania program może zażądać od procesora Definicja: Lista rozkazów to pełny zestaw instrukcji maszynowych jakie może wykonać procesor 9
Cykl rozkazowy procesora Cykl rozkazowy procesora obejmuje dwie powtarzające się czynności: 10
Procesor 11
Systemu mikroprocesorowy Zadaniem CPU oprócz przetwarzania informacji jest także sterowanie pracą pozostałych układów systemu. Wszystkie działania i operacje w systemie są sterowane lub zainicjowane przez procesor. Rodzaj tych działań uzależniony jest od ciągu instrukcji dostarczonych do mikroprocesora nazywanych programem. Tak więc, każde działanie wykonane przez system jest wynikiem działania programu lub jego fragmentu. Program musi być przechowywany w pamięci o krótkim czasie dostępu i dostępie swobodnym (pamięć półprzewodnikowa). Pamięci masowa nie nadają się - mają zbyt długi czas dostępu i dostęp sekwencyjny. 12
Schemat blokowy mikroprocesora 13
Schemat blokowy mikroprocesora W procesorze są dwie części różniące się pełnionymi funkcjami BLOK STERUJĄCY ( CU, control unit) BLOK WYKONAWCZY (EU execution unit) 14
Schemat blokowy mikroprocesora Jednostkę arytmetyczno-logiczną wraz z zespołem rejestrów nazywamy blokiem wykonawczym procesora. ALU można wyobrazić sobie, jako zestaw wielu prostych układów elektroniki cyfrowej, z których każdy wykonuje pojedynczą operację arytmetyczną lub logiczną. Sygnały sterujące uaktywniają taką kombinację tych układów, która jest potrzebna w danej chwili, do wykonania aktualnie przetwarzanego rozkazu lub jego części. Zmiana sygnałów sterujących powoduje uaktywnienie nowej kombinacji układów i przełączenie się ALU inna operację. 15
Rejestry procesora dostępne programowo AX Akumulator Zawiera jeden z operandów działania i do niego przekazywany jest wynik BX,CX,DX,EX,HX,LX rejestry robocze (uniwersalne) SP - wskaźnik stosu F - rejestr znaczników PC - licznik rozkazów 16
Schemat blokowy mikroprocesora Przetwarzaniem poleceń programu rozkazów asemblera dla danego procesora na wewnętrzne sygnały sterujące zajmuje się blok sterujący. W jego skład wchodzą: rejestr rozkazów (IR), w którym przechowywany jest kod aktualnie wykonywanego rozkazu; dekoder rozkazów, którego zadaniem jest rozpoznanie pobranego z pamięci operacyjnej rozkazu i wygenerowanie na jego podstawie sekwencji sygnałów sterujących dla ALU oraz pozostałych podzespołów procesora; pamięć ROM zawierająca słownik rozkazów (nie należy mulić z pamięcią ROM umieszczoną na płycie głównej). 17
Schemat blokowy mikroprocesora Zadaniem części sterującej jest pobieranie rozkazów z pamięci, dekodowanie ich, przygotowanie argumentów i generowanie sygnałów sterujących mikrooperacjami w fazie wykonania. Układ sterujący może być zrealizowany na dwa sposoby - jako sterowanie mikroukładowe (hardwired control) lub sterowanie mikroprogramowane (micropwgrammed control). 18
Zasada przetwarzania potokowego Cykl rozkazowy składa się z fazy pobrania i wykonania rozkazu 19
Zasada przetwarzania potokowego (ang. Pipelining) Jeżeli w procesorze wydzielić dwa stanowiska obsługi" - jedno dla pobierania rozkazów, a drugie dla ich wykonywania, wówczas można równocześnie realizować obie fazy cyklu rozkazowego - pobieranie następnego rozkazu odbywa się w czasie, gdy jest wykonywany rozkaz poprzedni. Takie działanie, analogiczne do obróbki na taśmie produkcyjnej, nazywa się przetwarzaniem potokowym. 20
Dwustopniowy potok rozkazów Dzięki temu uzyskuje się dwukrotne skrócenie czasu kończenia kolejnych rozkazów (uzyskiwania wyników), mimo że sumaryczny czas cyklu pozostaje niezmieniony. 21
Zasoby pamięciowe komputera Pamięć CACHE 22
Zasoby pamięciowe komputera System zarządzania pamięcią zapewnia dostęp procesora do tych różnorodnych zasobów w sposób niewidoczny dla programu użytkowego. Zadanie to jest realizowane sprzętowo na poziomie pamięci cache i programowo - przez system operacyjny - na poziomie pamięci wirtualnej. W obu przypadkach obowiązuje ta sama koncepcja: niewielki fragment pamięci wyższego poziomu jest w miarę potrzeby kopiowany do pamięci niższego poziomu, bliższego procesora. 23
Zasoby pamięciowe komputera 24
Poziomy pamięci cache Pamięci podręczne - obecnie w procesorach spotyka się pamięci cache wielopoziomowe: poziom pierwszy (L1), zintegrowany z procesorem, stanowią osobne pamięci rozkazów (l-cache) i danych (D-cache), poziom drugi (L2) zajmuje większa i wolniejsza wspólna pamięć również umieszczona w module procesora, trzeci poziom cache (L3) można dołączyć w osobnym module. 25
Organizacja pamięci CHAHE CPU CACHE L1 CACHE L2 CACHE L3 RAM Granice kości krzemowej procesora 26
Pamięć CACHE CACHE zewnętrzny CACHE wbudowany 27
Procesory wuelordzeniowe 28
Procesory logiczne technologia HT Rejestry Rejestry Aparat wykonawczy (ALU) Pamięć podręczna (CACHE) Magistrala systemowa Pamięć operacyjna (RAM) Hyper-Treading (HT) procesor posiada dwa zestawy rejestrów dzięki czemu emuluje obecność dwóch układów nazywanych procesorami logicznymi WAŻNE: program widzi procesor jako zestaw rejestrów. 29
Procesory fizyczne - rdzenie Rejestry Rejestry Rejestry Rejestry Aparat wykonawczy Aparat wykonawczy Aparat wykonawczy Aparat wykonawczy Pamięć podręczna (CACHE) CACHE CACHE Magistrala systemowa Magistrala systemowa Pamięć operacyjna (RAM) Pamięć operacyjna (RAM) 30
Procesory fizyczne - rdzenie W praktyce spotykam też hybrydę dwu powyższych schematów. W procesorze Intel Core i7 każdy z rdzeni posiada własną pamięć podręczną poziomów L1 i L2, natomiast pamięć poziomu L3 jest wspólna. L2 L2 L2 L2 Źródło: http://nvision.pl/img/art/procesory/intel_core_i7/intel_core_i7-2.jpg 31
Procesory fizyczne rdzenie + HT Rejestry Aparat wykonawczy CACHE L2 Rejestry Rejestry Rejestry CACHE L3 Aparat wykonawczy CACHE L2 Magistrala systemowa Pamięć operacyjna (RAM) W najnowszych procesorach (Core i7) dla każdego z fizycznych rdzeni zastosowano technologię Hyper- Treading. Oznacza to, że każdy rdzeń widziany jest jako dwa procesory logiczne i może robić dwie rzeczy naraz, np. czterordzeniowy procesor Core i7 może wykonywać 8 wątków jednocześnie. 32
Ile rdzeni? 33
Dziękuję za uwagę 34