Wybrane zagadnienia elektroniki współczesnej y pracy, Marika Kuczyńska Fizyka Techniczna IV rok 20-03-2013, AGH
prezentacji y pracy 1 2 y pracy 3 4 5 6 Jednostka wykonawcza, instrukcje (Marika)
Rodzina procesorów x86 y pracy Rodzina procesorów firmy Intel, zapoczątkowana przez 16-bitowy procesor 8086, wywodzący się z 8-bitowego 8085. Nazwa wywodzi się od nazw pierwszych modeli, których numery kończyły się na 86. Procesor 8086 zaproponował segmentację, dzięki czemu 16 bitowy rejestr mógł przechowywać wskaźnik do segmentu 64kBajtowego. Pierwszymi w rodzinie 32-bitowymi procesorami było Intel386 i Intel486. Dla kolejnych zrezygnowano z nazewnictwa zawierającego x86.
y pracy y pracy W architekturze IA-32 adresowania fizycznego Quasi-tryb Virtual-8086 zarządzania systemem Dodatkowo w architekturze IA-64 IA-32e 64-bitowy zgodności
y pracy y pracy Przejścia między trybami W trybie adresowania fizycznego - po każdym resecie Flaga PE - między trybem m a adresów fizycznych Flaga VM - między trybem Virtual-8086 a m Bit LME (w rejestrze MSR IE32 EFER) - między trybem m a IA-32e
zarządzania systemem y pracy, który z zamierzenia używany jest tylko przez firmware systemowe. Środowisko procesora, które pracuje niezależnie od systemu operacyjnego i innych aplikacji. Z każdego innego trybu, po otrzymaniu informacji o przerwaniu. System Management Interrupt - SMI Powrót zawsze do trybu sprzed przerwania. Zadania Return from System Management - RSM Power management (np. przejście w stan wstrzymania, hibernacji) Kontrola sprzętu systemowego
Modele a tryb działania Trzy modele : model płaski, model segmentowy, model adresów fizycznych y pracy Tabela: Modele a tryb działania (dla procesora 64-bitowego) Virtual-8086 adresów fizycznych zarządzania systemem zgodności 64-bitowy model każdy model model adresów fizycznych model adresów fizycznych osobna przestrzeń adresowa System Management RAM (podobna do modeli adresów fizycznych) jak trybie m procesora 32-bitowego wyłączona segmentacja, płaska, 64-bitowa, liniowa przestrzeń adresowa
Modele y pracy Model płaski Pamięć to jedna, ciągła przestrzeń adresowa (Adres w tej przestrzeni nazywamy adresem liniowym). Model segmentowy Pamięć to grupa niezależnych przestrzeni adresowych zwanych segmentami. Model adresów fizycznych Liniowa przestrzeń składająca się z macierzy segmentów.
y pracy 16 bitowe rejestry służą do obliczenia adresu fizycznego komórki są wykorzystywane do adresowania operacyjnej, dzielonej na segmenty logiczne identyfikowane przy pomocy adresów przechowywanych w rejestrach segmentowych
y pracy wskazują na początek lokacji danego segmentu. CS register Wskazuje na segment, gdzie znajduje się aktualnie wykonywany kod DS, ES, FS, GS registers Początek aktualnie używanego segmentu danych dla programu. SS register Początek aktualnie używanego segmentu stosu.
w segmentowym modelu y pracy
w płaskim modelu y pracy
Generacja adresu liniowego y pracy Każdy adres logiczny składa się z 16 bitowego wskaźnika (identyfikującego segment, w którym szukany bajt się znajduje) i 32(64) bitowego offsetu (uściślającego lokację bajtu w segmencie). Wskaźnik Wprowadzenie wartości do rejestru segmentowego i pozwolenie procesorowi na odwoływanie się do niego Offset (adres efektywny) Wprowadzeny wprost lub obliczony korzystając z otrzymanych wartości: przesunięcia (stała wartość, 8-,16-,32-bitowa), bazy (zawartość rejestru ogólnego przeznaczenia), indeksu (j/w), czynnika skalującego (wartości 2,4,8 mnożącej indeks).
y pracy Proces tłumaczenia liniowych adresów na adresy fizyczne. W procesorach Intel-64 używane są trzy metody stronicowania 1 32-bitowe 2 PAE 3 IA-32e To, jakiego rodzaju stronicowanie jest użyte, określone jest przez flagi w rejestrach kontrolnych CR0 i CR4.
Hierarchiczność stronicowania y pracy Adres liniowy jest podzielony na porcje: Page frame - fizyczny adres regionu Page offset - dokładny adres miejsca w rejonie Każde odwołanie w strukturze stron wskazuje na adres w innej strukturze stron lub strony w (mapuje stronę). Strony są 4kBajtowe, albo 2-4MBajtowe
32-bitowe Używane w trybie m y pracy Zawartość rejestru CR3 słuzy do lokalizacji pierwszej struktury stronicującej oraz określa, czy szukane są strony 4kB czy 4MB.
PAE Używane w trybie m y pracy Zawartość rejestru CR3 wskazuje na 32-bajtowy rejestr PDPTE - Page-Directory-Pointer-Table Entry, zawiera wskaźniki do pierwszej struktury stron oraz wybiera wielkość strony, ale określa również, jaki typ danych może być we wskazywanych stronach.
32e y pracy Korzysta z adresów 64-bitowych, więc jako jedyne może byc używane w trybie IE-32e Zawartość rejestru CR3 wskazuje na pierwszą strukturę - tabelę PML4, w zależności od flag, jedno z nich określa typ danych które mogą być zapisane w tej stronie, określa też rozmiar stron: 4kBajtowe 2MBajtowe, 1GBajtowe
y pracy Mechanizm ograniczający dostęp do segmentów lub stron, bazujący na uprzywilejowanych poziomach: Sprawdzenia limitu typu poziomu uprzywilejowania Pogwałcenia warunków skutkują wygenerowaniem wyjątku
Przerwania i wyjątki y pracy Zdarzenia, które sygnalizują, że istnieje stan w systemie, który potrzebuje uwagi procesora Przerwania Dzieją się przypadkowo podczas pracy sygnału, zwykle oznaczają sygnały od sprzętu (rządanie obsługi urządzenia peryferyjnego) Wyjątki Pojawiają się, gdy procesor wykrywa błąd podczas przeprowadzania polecenia (np. dzielenia przez zero) Faults (np. odwołania się do nieistniejących segmentów) Traps (breakpointy) Aborts (duże problemy hardwareowe) Istnieje możliwość maskowania przerwań/, których nie chcemy obsłużyć
przerwań/ y pracy przerwań/ przypomina instrukcję CALL 1 Odbierany jest wektor przerwania, zawierający numer zdarzenia 2 Interrupt Description Table wiąże wektor z procedurą jego obsługi 3 Wykonywana jest procedura obsługi przerwania/wyjątku. 4 Program rozpoczyna sie od następnej instrukcji
Priorytet przerwań/ y pracy Tabela: Priorytet przerwań/ zachodzących w tym samym czasie 1 Reset sprzętowy i Machine Checks 2 Pułapka podczas zmiany zadania 3 Interwencje pochodzenia sprzętowego (np STOPCLK) 4 Pułapki na wcześniej wykonanych instrukcjach 5 Niemaskowalne przerwania 6 Maskowalne przerwania sprzętowe 7 Code breakpoint fault 8 Faults powstałe przy pobieraniu instrukcji 9 Faults powstałe przy tłumaczeniu instrukcji 10 Faults powstałe przy wykonywaniu instrukcji
Przykład - Segment Not Present y pracy Klasa wyjątku Fault Opis nie wskazują na żaden segment. Zachowany kod błędu Kod błędu przekazany fladze IDT Zapisana kolejka zadań W kolejce zadań znajduje się instrukcja, która spowodowała wyjątek. Zmiana statusu programu Po nadaniu wartości do segmentu wznowienie programu
Przykład - Machine-Check Exception y pracy Klasa wyjątku Abort Opis Procesor odnalazł błąd w samym sobie, lub w szynie przenoszącej informacje. Zachowany kod błędu Brak, Informacje o błedach zapewnione przez MSR. Zapisana kolejka zadań Kolejka zadań zostaje wyzerowana. Zmiana statusu programu Program zostaje zakończony.
y pracy Dziękuję za uwagę