Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Organizacja i Architektura Komputerów

Podobne prezentacje


Prezentacja na temat: "Organizacja i Architektura Komputerów"— Zapis prezentacji:

1 Organizacja i Architektura Komputerów
Wykład nr 5: Sposoby adresowania Piotr Bilski

2 Skąd potrzeba różnych trybów adresowania?
Przestrzeń pamięci rzeczywistej lub wirtualnej jest zwykle większa od przestrzeni adresowanej przez argument (zbyt mała liczba bitów) Konieczny jest kompromis pomiędzy zakresem adresów i prostotą uzyskiwania adresu

3 Adres rzeczywisty (efektywny) a adres wirtualny
Adres rzeczywisty jest adresem fizycznego miejsca w pamięci Adres wirtualny (efektywny - AE) jest adresem przechowywanym jako argument rozkazu Proces translacji adresu wirtualnego na rzeczywisty jest zależny od organizacji pamięci

4 Konwencja zapisu AE – adres efektywny
R – zawartość pola adresowego w rozkazie odnoszącym się do rejestru A – zawartość pola adresowego w rozkazie (X) – zawartość lokacji X

5 Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy
Rejestrowy pośredni Z przesunięciem Stosowy

6 Tryb natychmiastowy Kod operacji Wartość argumentu Argument jest przechowywany w rozkazie w postaci liczby o reprezentacji U2. Liczba ta nie może być zbyt duża

7 Tryb bezpośredni AE = A 0 3 4 15 Kod operacji Adres argumentu pamięć
Kod operacji Adres argumentu pamięć Argument AE = A

8 Tryb pośredni AE = (A) Możliwe zagnieżdżenia! 0 3 4 15 Kod operacji
Kod operacji Adres informacji o adresie argumentu pamięć AE = (A) Argument Możliwe zagnieżdżenia!

9 Tryb rejestrowy AE = R 0 3 4 15 Kod operacji Nazwa (numer rejestru)
Kod operacji Nazwa (numer rejestru) rejestry Argument AE = R

10 Tryb rejestrowy pośredni
Kod operacji Nazwa (numer) rejestru rejestry pamięć Adres Argument AE = (R)

11 Tryb z przesunięciem AE = (A)+(R) 0 3 4 15 Kod operacji
Kod operacji Nazwa (numer) rejestru Adres argumentu rejestry pamięć Adres Argument AE = (A)+(R)

12 Adresowanie z przesunięciem c.d.
Adresowanie względne (R=PC) Adresowanie z rejestrem podstawowym (wygodne dla pamięci segmentowanej) – AE=R+A Indeksowanie (interpretacja pola rejestru i pola adresowego odwrotna niż w przypadku adresowania z rejestrem podstawowym) – AE=A+R

13 Adresowanie z przesunięciem c.d.
Adresowanie z rejestrem podstawowym Indeksowanie (wykorzystuje dedykowany rejestr indeksowy) Kod operacji Rejestr z adresem argumentu Wartość przesunięcia Kod operacji Rejestr z przesunięciem Adres argumentu

14 Tryb stosowy 0 3 4 15 Kod operacji Adres argumentu stos rejestry
Kod operacji Adres argumentu stos rejestry Rejestr stosu

15 Typy adresów Fizyczny – umiejscowienie adresu w pamięci
Logiczny – umiejscowienie adresu względem początku programu Bazowy – adres początku programu

16 Organizacja pamięci z poziomu systemu operacyjnego
Pamięć stronicowana (model niewidzialny dla programisty) – podzielona jest na małe fragmenty (ramki stron), które przydzielane są fragmentom (stronom) programów Pamięć segmentowana (model dostępny dla programisty) – zapewnia odrębną przestrzeń adresową dla każdego procesu

17 Partycjonowanie z ustalonym rozmiarem
Jest to podział pamięci na fragmenty o ustalonych rozmiarach (stałych lub zmiennych) 16 MB (SO) 16 MB 16 MB (SO) 4 MB 8 MB 16 MB

18 Partycjonowanie z rozmiarem dynamicznym
Jest to podział pamięci na fragmenty o rozmiarach zależnych od zapotrzebowania procesów 16 MB (SO) 48 MB wolne 16 MB (SO) Proces (20 MB) 28 MB wolne 16 MB (SO) Proces (20 MB) Proces 2 (16) MB 12 MB wolne 16 MB (SO) Proces (18 MB) Proces 2 (16) MB 12 MB wolne

19 Stronicowanie Proces A: pamięć pamięć Strona 0 Strona 1 11 Strona 2 11
12 13 14 15 16 17 18 11 12 13 14 15 16 17 18 Strona 0 Strona 1 Tablica stron procesu A: 11 12 15 Wolne ramki: 11 12 15 16 18 Strona 2

20 Adresy fizyczne i logiczne w strukturze stron
pamięć Adres logiczny Adres fizyczny 11 12 13 14 15 16 17 18 Strona 0 1 30 12 30 Strona 1 Tablica stron procesu A: 11 12 15 Strona 2

21 Translation Lookaside Buffer
Pamięć podręczna dla ostatnich translacji adresów w pamięci Bardzo szybka i mała TLB współpracuje z „prawdziwą” pamięcią podręczną Niewłaściwy projekt prowadzi do problemów w systemie (patrz procesory Phenom)!

22 Bufor translacji adresów (TLB)
START TAK Zapis w TLB? Sprawdzanie TLB Aktualizacja TLB NIE Dostęp do tablicy stron Generacja adresu fizycznego NIE Obsługa błędu strony Strona w pamięci? TAK STOP

23 Segmentacja Prostota zarządzania strukturami danych o zmiennej wielkości Możliwość indywidualnego przypisywania praw procesom do poszczególnym segmentom Możliwość użytkowania segmentu przez wiele procesów Adresowanie: numer segmentu + adres względny

24 Przestrzenie adresowe Pentium
Niesegmentowana pamięć niestronicowana (adres wirtualny = adres fizyczny) - sterowniki Niesegmentowana pamięć stronicowana (BSD) Segmentowana pamięć niestronicowana Segmentowana pamięć stronicowana (UNIX System V)

25 Segmentacja w Pentium II
Adres wirtualny Odniesienie do segmentu Adres względny 16 bitów 32 bity 2 bity odniesienia do segmentu przeznaczone na mechanizm ochrony Adres względny pozwala adresować 232 = 4 GB pamięci Całkowita ilość adresowanej pamięci wynosi 216 x 232 = 64 TB Dostęp procesu do segmentu zależny jest od poziomu dostępności (oznaczany cyfrą od 0 – najwyższy do 3 - najniższy)

26 Selektor i deskryptor segmentu
Indeks TI PRV 31 D/B AVL Baza 31-24 GS 19-16 G P DPL S Type Baza 23-16 Baza 15-0 Granica segmentu 15-0

27 Stronicowanie w Pentium II
Istnieje katalog stron o długości 1024 wpisów, dzielący pamięć na tyleż grup stron Każda grupa stron zawiera do 1024 wpisów Każda strona ma rozmiar 4 kB lub 4MB (w zależności od wartości bitu PSE) Tablice stron mogą być przechowywane w pamięci wirtualnej Bufor translacji adresów zawiera do 32 zapisów tablic stron dla określonego katalogu stron

28 Stronicowanie/segmentacja w Pentium II

29 Tryby adresowania Pentium
Pentium posiada sześć rejestrów segmentowych (SR) do przechowywania adresów początkowych segmentów Z rejestrem segmentowym związany jest rejestr deskryptora segmentu (zawiera prawa dostępu do segmentu i jego długość) Dodatkowe rejestry (podstawowy i indeksowy) pomagają budować adres

30 Tryby adresowania Pentium c.d.
Natychmiastowy (Arg = A) Rejestrowy (AL = R) Z przesunięciem (AL = (SR) + A) Z rejestrem podstawowym (AL = (SR) + (B)) Z rejestrem podstawowym z przesunięciem (AL = (SR) + (B) + A) Skalowane indeksowanie z przesunięciem (AL = (SR) + (I) x S + A) Z rejestrem podstawowym z indeksem i przesunięciem (AL = (SR) + (B) + (I) + A) Z rejestrem podstawowym ze skalowanym indeksem i przesunięciem (AL = (SR) + (I) x S + (B) + A) Względny (AL = (PC) + A)

31 Ilustracja trybów adresowania Pentium
Rejestr segmentu Rejestr indeksowy Rejestr bazowy Selektor Pamięć Adres bazowy segmentu Skala Przemieszczenie Adres liniowy Rejestr deskryptora Granica

32 Zarządzanie pamięcią w PowerPC
Implementacja zależna jest od architektury (32- lub 64-bitowej – prostsza lub bardziej złożona segmentacja) Mechanizm translacji adresu bloku stosowany jest jako alternatywa dla mechanizmu stronicowania – pozwala ominąć stronicowanie dla dużych bloków pamięci Posiada 16 rejestrów segmentowych

33 Adres efektywny i rzeczywisty PowerPC
Adres rzeczywisty Segment Strona Selektor bajtu Numer strony rzeczywistej Wyrównanie bajta

34 Tryby adresowania PowerPC
Pośredni (AE = (BR) + D ) Pośredni indeksowany (AE = (BR) +(IR)) Adresowanie rozgałęzień Bezwzględny (AE = I) Względny (AE = (PC) +I) Pośredni (AE = (LR/CR)) Rejestrowy stałopozycyjny (AE = GPR) Natychmiastowy (Arg = I) Rejestrowy zmiennopozycyjny (AE = FPR)

35 Format rozkazów Pentium
0-4 B B B B B B Przedrostki Kod operacji ModR/M SIB Przesunięcie Natychmiastowe Specyfikator adresu

36 Format rozkazów PowerPC
6 b b b b Operacja Opcje/rejestr Opcje/rejestr przeznaczenia źródłowy Wszystkie rozkazy mają długość 32 bitów!


Pobierz ppt "Organizacja i Architektura Komputerów"

Podobne prezentacje


Reklamy Google