Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałŁucja Urbaniak Został zmieniony 8 lat temu
1
Technologie w mikroprocesorach
2
Wykonywanie rozkazów
3
Prefetching
4
Idea przetwarzania potokowego (z ang. pipelining) Zauważmy, że niektóre czynności składające się na wykonanie pojedynczego rozkazu są wykonywane przez niezależne obwody w procesorze. Najprościej byłoby każdy rozkaz wykonać po kolei, ale wtedy tracimy mnóstwo czasu (na zdjęciu powyżej podpisane jako Serialism). Można przecież wcześniej zerknąć na to, co będziemy robić później, i się do tego przygotować. Zróbmy tak, żeby każdy element procesora pracował nieustannie. Poukładajmy te wszystkie konieczne czynności obok siebie, a znacznie skrócimy czas! Nazywa się to pipelining. IF - Pobieranie rozkazu ID - dekodowanie rozkazu OF - Pobieranie argumentów E - wykonanie rozkazu S - Zapisywanie wyniku
5
Produkcja procesora Procesory wytwarzane są z krzemowych wafli
6
Wielordzeniowość Procesor wielordzeniowy (ang. Multi-core processor) – rodzaj procesora CPU posiadający więcej niż jeden rdzeń fizyczny. Technologia ta ma na celu zwiększenie wydajności procesora, zmniejszenie zużycia energii i bardziej efektywnego jednoczesnego przetwarzania wielu zadań.. Procesory wielordzeniowe mają zwielokrotnioną, w zależności od liczby rdzeni, pamięć podręczną.
7
Wielordzeniowość
8
Menadżer zadań obrazuje obciążenie wszystkich rdzeni jakie posiada procesor. Powyższy przykład ukazuje 8-rdzeniowy procesor Wielordzeniowość
9
Procesor czterordzeniowy firmy Intel składa się w rzeczywistości z dwóch układów dwurdzeniowych zamkniętych we wspólnej obudowie. Wielordzeniowość
14
Wielowątkowość Jeśli ze względu na opóźnienia w komunikacji między procesorem a pamięcią, pojedyncze zadanie nie będzie w stanie całkowicie wykorzystać zasobów procesora, jednoczesne przetworzenie wielu zadań trwałoby krócej niż wykonanie ich sekwencyjne. Innymi słowy, wielowątkowość oznacza możliwość uruchomienia więcej niż jednego ciągu instrukcji (wątku) w tym samym czasie. W tym celu procesor powinien mieć więcej niż jeden licznik i zbiór programowalnych rejestrów. Powielenie tych zasobów jest dużo mniej kosztowne niż wymiana całej jednostki obliczeniowej. Wielowątkowości przynosi korzyści w sytuacji, w której procesor musiałby długo czekać na instrukcje. Czas oczekiwania rośnie wraz ze wzrostem częstotliwości rdzenia i zależy także od technologii oraz sposobu zarządzania pamięcią przez daną aplikację. Systemy, w których szybkości procesora i pamięci są dobrze dopasowane, tzn. nie występuje spadek wydajności spowodowany opóźnieniami w komunikacji między nimi, w ogóle nie zyskają na wielowątkowości.
15
Wielowątkowość
16
Hyper –Threading (HT) APIC (z ang. Advanced Programmable Interrupt Controller) – kontroler przerwań W HT w obrębie jednego fizycznego procesora tworzone są dwa procesory logiczne. Dla procesorów wielordzeniowych podwaja się liczba procesorów logicznych.
17
Hyper threading Hiperwątkowość (Hyper-Threading) – twórca Pentium 4 HT Intel, zapoczątkował tą technologie, która rozdziela zadania dla jednego procesora na dwie jednostki logiczne. Czyli dwa niezależne wątki jakie mogą zostać wykonane, mogą korzystać z tej samej jednostki wykonawczej procesora. Wzrost wydajności takiego procesora mierzy się do 30%. Czas wykonywania procesów jest znacznie krótszy. Teraz dodatkowo mamy nie jeden a cztery rdzenie w procesorze, dając razem osiem wirtualnych jednostek wykonawczych.
18
Hyper threading
19
Turbo boost Nie zawsze potrzebne są aż cztery rdzenie. Np. wykonując tylko jedną rzecz w danej aplikacji, chcielibyśmy w pełni wykorzystać moc procesora. Taką możliwość daje nam technologia Intela Turbo Boost. 1 aktywny rdzeń, to procesor automatycznie zwiększa taktowanie tego rdzenia, 2 aktywne rdzenie, taktowanie wzrasta ale w mniejszym stopniu 4 aktywne rdzenie, CPU nadal zwiększa taktowanie, ale już o wiele mniej. Ograniczenia są nałożone poprzez TDP (ang. Thermal Design Power) – moc wydzielanego ciepła, która musi być odebrana z jednostki centralnej. Ponieważ moc jaką procesor wydziela jest porównywalna do jego mocy, którą pobiera. AMD wymyślił podobną technologię pod nazwą Dynamic Performance Boost.
20
Tryby pracy procesora tryb rzeczywisty (oprogramowanie 16-bitowe), tryb chroniony (oprogramowanie 32-bitowe), tryb wirtualny (oprogramowanie 16-bitowe uruchamiane na platformie 32-bitowej).
22
Tryb rzeczywisty Oryginalny komputer IBM PC był wyposażony w procesor 8086, który przy użyciu 16-bitowych rejestrów wewnętrznych potrafił wykonywać instrukcje 16-bitowe oraz za pośrednictwem 20 linii adresowych współpracować z pamięcią o pojemności maksymalnej 1MB. Oprogramowanie, w które był wyposażony oryginalny IBM PC został o stworzone z myślą o współpracy z procesorem 8086, dlatego też wykorzystywało zestaw instrukcji 16-bitowych i 1-megabajtowy model pamięci. Następne procesory, takie jak 286, nadal mogły wykonywać te same 16-bitowe instrukcje co procesor 8086, ale już znacznie szybciej. Inaczej mówiąc, procesor 286 był w pełni z nim kompatybilny, dlatego też można było na nim uruchamiać wszystkie programy 16-bitowe co w przypadku procesora 8086, ale oczywiście działały one o wiele szybciej. Tryb wykonywania przez procesory 8086 i 286 instrukcji 16-bitowych został określony terminem trybu rzeczywistego (ang. real mode). Wszystkie programy pracujące w trybie rzeczywistym mogą korzystać tylko z instrukcji 16-bitowych i współpracować z 20-bitową architekturą pamięci (1 MB). Tego typu oprogramowanie z reguły jest jednozadaniowe, co oznacza, że jednocześnie może być uruchomiony tylko jeden program. Ponadto nie ma wbudowanej żadnego ochrony zapobiegającej wykorzystaniu przez program obszaru pamięci już przydzielonego innemu programowi lub systemowi operacyjnemu. Jeśli zatem uruchomiono więcej niż jeden program, dowolny z nich może spowodować zawieszenie całego systemu.
23
Tryb chroniony Pierwszym procesorem 32-bitowym przeznaczonym dla komputerów PC i wprowadzonym do sprzedaży był układ 386. Procesor ten mógł wykonywać zupełnie nowy zestaw instrukcji 32-itowych. Aby w pełni wykorzystać taką możliwość, konieczne było stworzenie odpowiedniego 32-bitowego systemu operacyjnego i aplikacji. Nowy, 32-bitowy tryb pracy procesora został określony terminem trybu chronionego (ang. protected mode). Nazwa wywodzi się stąd, że programy działające w tym trybie otrzymują własny obszar pamięci, przez co nie dochodzi między nimi do konfliktów. Tego typu ochrona sprawia, że system jest o wiele bardziej stabilny, ponieważ programy zawierające błąd nie mogą w prosty sposób zaszkodzić innym programom lub systemowi operacyjnemu. Poza tym program, który się zawiesił, może być usunięty z pamięci bez szkody dla reszty systemu. Jest to zatem tryb pracy mikroprocesorów serii x86 wprowadzony w mikroprocesorze Intel 80286. Tryb chroniony umożliwia adresowanie pamięci w większym zakresie niż 1 MB (tryb rzeczywisty), wprowadza wiele nowych udogodnień wspierających wielozadaniowość, takich jak: sprzętowa ochrona pamięci (układ MMU), wsparcie przełączania kontekstu procesora i wiele innych. Większość nowoczesnych systemów operacyjnych wykorzystuje procesory serii x86 właśnie w trybie chronionym. Tryb chroniony został wprowadzony do mikroprocesora Intel 80286 wraz z trybem rzeczywistym (ang. real mode) dla zachowania zgodności z poprzednimi mikroprocesorami rodziny x86.
24
Tryb wirtualny Tryb wirtualny (Virtual 8086) — to specjalny tryb pracy procesorów o architekturze IA-32, dostępny w trybie chronionym, który umożliwia uruchamianie programów przeznaczonych dla trybu rzeczywistego. W trybie wirtualnym symulowane jest działanie analogiczne dla procesora Intel 8086 tzn. otrzymuje dostęp do 1 MB pamięci i rejestrów procesora i może wykonywać te rozkazy, które mają sens w takim otoczeniu. Tryb ten bywa nazywany wirtualnym trybem rzeczywistym. Jednak w odróżnieniu od "prawdziwego" trybu rzeczywistego, wszelki dostęp do portów procesora jest sankcjonowany przez system operacyjny pracujący w trybie chronionym. W trybie wirtualnym procesor wykorzystuje swoje pełne możliwości. Używa 24 bitów adresu, co pozwala zaadresować 16 MB fizycznej pamięci. Ponadto dostępne są sprzętowe mechanizmy wspomagające obsługę pamięci wirtualnej, pracy wielozadaniowej i ochrony zasobów. Po uruchomieniu w systemie Windows sesji DOS jest wykorzystywany tryb wirtualny. Jeśli aplikacja napisana dla systemu DOS zostanie uruchomiona w trybie wirtualnym, będzie miała do dyspozycji tylko 640 kB. Takie ograniczenie wynika stąd, że w przypadku 16-bitowego środowiska pracy jest dostępny tylko 1 MB pamięci RAM, z czego 384 kB jest zarezerwowane dla samego oknie sesji DOS.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.