Technologie w mikroprocesorach. Wykonywanie rozkazów.

Slides:



Advertisements
Podobne prezentacje
System operacyjny i sterowniki urządzeń
Advertisements

Tryby adresowania Prawie każda operacja wykonywana przez mikroprocesor wykonywana jest na pewnych argumentach (lub argumencie). Sposoby wskazywania argumentów.
Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
OGÓLNIE O LINUKSIE Co to jest Linux?
Podstawowe składniki funkcjonalne procesora i ich rola.
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Magistrala & mostki PN/PD
Schemat blokowy komputera
Historia i rodzaje procesorów firmy Intel
Systemy operacyjne Bibliografia:
Systemy operacyjne Bibliografia:
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Procesory PENTIUM.
Procesory RISC.
Temat : Części komputera
ZARZĄDZANIE PROCESAMI
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
System operacyjny. System operacyjny Co to jest system operacyjny: jest szczególnym rodzajem programu, którego zadaniem jest koordynowanie pracy.
Wykonał Piotr Jakubowski 1ET
ARCHTEKTURA KOMPUTERA
Wielozadaniowowść systemu operacyjnego Linux
Systemy operacyjne.
Zasada działania komputera
Budowa systemu komputerowego
BUDOWA I DZIAŁANIE SIECI KOMPUTEROWYCH
Elementy składowe komputera
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 4.
Mikroprocesory mgr inż. Sylwia Glińska.
Architektura komputerów
Budowa i rodzaje procesorów.
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Jak wszyscy wiemy, nasz komputer niczym byłby bez procesora, myślę więc, że trzeba tej sprawie poświęcić trochę czasu, a więc zapraszam :) że trzeba tej.
Systemy plików FAT, FAT32, NTFS
Przerwanie ang. interrupt.
Maszyna wirtualna ang. virtual machine, VM.
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
PROCESORY (C) Wiesław Sornat.
Architektura PC.
Spis treści Architektura systemu windows Pamięć wirtualna Plik wymiany
W ą t e k (lekki proces) thread.
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
SPRZET KOMPUTEROWY.
Procesor – charakterystyka elementów systemu. Parametry procesora.
BUDOWA I ZASADA DZIAŁANIA
Procesor, pamięć, przerwania, WE/WY, …
RÓWNOLEGŁOŚĆ I PROSTOPADŁOŚĆ W MOIM OTOCZENIU. Równoległość skrót II – w geometrii relacja między obiektami takimi jak proste, odcinki, półproste.
Pamięć DRAM.
Pamięć RAM Pamięć RAM.
Architektury procesorów rdzeniowych mikrokontrolerów.
Pamięć SRAM.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Oprogramowaniem (software) nazywa się wszystkie informacje w postaci zestawu instrukcji i programów wykonywanych przez komputer oraz zintegrowanych danych.
Rodzaje systemów operacyjnych
Struktura systemu operacyjnego
Analiza porównawcza procesorów Inlet
Systemy operacyjne - Budowa systemu komputerowego i jego zadania
Tryby adresowania i formaty rozkazów mikroprocesora
Mikroprocesory w urządzeniach przenośnych. Rdzenie ARM Architektura ARM (ang. Advanced RISC Machine, architektura procesorów typu RISC. Różne wersje rdzeni.
Schemat blokowy komputera
Podział mikroprocesorów
Format rozkazu Tryby adresowania.
Zapis prezentacji:

Technologie w mikroprocesorach

Wykonywanie rozkazów

Prefetching

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

Produkcja procesora Procesory wytwarzane są z krzemowych wafli

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ą.

Wielordzeniowość

Menadżer zadań obrazuje obciążenie wszystkich rdzeni jakie posiada procesor. Powyższy przykład ukazuje 8-rdzeniowy procesor Wielordzeniowość

Procesor czterordzeniowy firmy Intel składa się w rzeczywistości z dwóch układów dwurdzeniowych zamkniętych we wspólnej obudowie. Wielordzeniowość

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.

Wielowątkowość

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.

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.

Hyper threading

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.

Tryby pracy procesora tryb rzeczywisty (oprogramowanie 16-bitowe), tryb chroniony (oprogramowanie 32-bitowe), tryb wirtualny (oprogramowanie 16-bitowe uruchamiane na platformie 32-bitowej).

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.

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 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 wraz z trybem rzeczywistym (ang. real mode) dla zachowania zgodności z poprzednimi mikroprocesorami rodziny x86.

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.