119
Procesory rodziny Procesory rodziny Intel Intel Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz pl.wikipedia.org www.intel.com

Procesory rodziny Intel

  • Upload
    lloyd

  • View
    48

  • Download
    0

Embed Size (px)

DESCRIPTION

Bibliografia: Urządzenia techniki komputerowej , K. Wojtuszkiewicz pl.wikipedia.org www.intel.com. Procesory rodziny Intel. Opracował: Andrzej Nowak. Podstawowe własności procesora Pentium. Podstawowe własności procesora Pentium. - PowerPoint PPT Presentation

Citation preview

Page 1: Procesory rodziny  Intel

Procesory rodziny Procesory rodziny IntelIntel

Opracował: Andrzej Nowak

Bibliografia:

Urządzenia techniki

komputerowej, K. Wojtuszkiewicz

pl.wikipedia.org

www.intel.com

Page 2: Procesory rodziny  Intel

Podstawowe własności Podstawowe własności procesora Pentiumprocesora Pentium

Page 3: Procesory rodziny  Intel

Podstawowe własności procesora Pentium

• 64 – bitowa magistrala danych i 32 – bitowa magistrala adresowa.

• Praca w trzech trybach

1. tryb rzeczywisty2. chroniony tryb wirtualny3. tryb wirtualny 8086

Page 4: Procesory rodziny  Intel

Podstawowe własności procesora Pentium

• Sprzętowe mechanizmy ułatwiające projektowanie systemów operacyjnych, wspomagające:

1. pamięć wirtualną 2. pamięć wielozadaniową3. ochronę zasobów

• Architektura superskalarna:1. praca potokowa2. dwa potoki przetwarzania instrukcji

stałoprzecinkowych• Przewidywanie realizacji rozgałęzień

programu

Page 5: Procesory rodziny  Intel

Podstawowe własności procesora Pentium

• Segmentacja i stronicowanie pamięci

• Wewnętrzna jednostka arytmetyki zmiennoprzecinkowej pracująca w trybie potokowym

• Dwie wewnętrzne, rozdzielone pamięci podręczne (cache)

1. pamięć cache dla danych (ang. data cache)2. pamięć cache dla kodu programu (ang. code cache,

instruction cache)

• Możliwości współpracy z pamięcią cache drugiego poziomu

Page 6: Procesory rodziny  Intel

Schemat blokowy Schemat blokowy procesora Pentiumprocesora Pentium

Page 7: Procesory rodziny  Intel

Schemat blokowy procesora Pentium

Data cacheData cache Code cacheCode cache

BIUBIU

MMUMMU StronicowanieData TLB

StronicowanieCode TLB

Układ generacji adresu Prefetcher + BTB

Potok U Potok VPotok U

Dekoder

Kolejka

(64 B)

Kolejka

(64 B)

poziom 1

poziom 2

Rejestry

ALU potoku V

ALU potoku U

NPUUkład sterowania

ROM

CB

AB

DB 64

32

Potok V

Page 8: Procesory rodziny  Intel

Schemat blokowy procesora Pentium - opis

Data cache – blok pamięci przeznaczony do przechowywania danych i wyników działania programu.

Code cache – blok pamięci zawierający kody instrukcji wykonywanego programu

Zastosowanie rozdzielonych pamięci danych i programu umożliwia jednoczesne pobieranie kodu instrukcji i zapis/odczyt danych.

Page 9: Procesory rodziny  Intel

Schemat blokowy procesora Pentium - opis

Prefetcher – (układ wstępnego pobierania instrukcji) ma za zadanie wcześniejsze pobieranie kodów instrukcji programu i umieszczanie ich w kolejce rozkazów.

BTB – bufor rozgałęzień (ang. Branch Target Buffer) jest częścią układu przewidywania realizacji rozgałęzień.

Potok U i V – układy przetwarzające instrukcje potokowo, tzn. w ustalonej kolejności.

Page 10: Procesory rodziny  Intel

Schemat blokowy procesora Pentium - opis

Dekoder – układ dekodowania instrukcji, zawiera dwa dekodery, osobny dla potoku U i osobny dla potoku V. Współpracują one z kolejkami rozkazów wypełnianymi przez układ prefetchera.

Układ generacji adresu – służy do generowania adresu fizycznego zarówno w trybie rzeczywistym, jak i chronionym.

MMU – jednostka zarządzania pamięcią współpracująca z układem generacji adresu w trybie chronionym.

Page 11: Procesory rodziny  Intel

Schemat blokowy procesora Pentium - opis

Układy stronicowania TLB – (ang. Translation

Look-aside Buffer) umożliwiają efektywną obsługę pamięci w trybie stronicowania

Blok wewnętrznego koprocesora arytmetycznego NPU – realizuje wszelkie operacje arytmetyki zmiennoprzecinkowej.

BIU – jednostka sterowania magistralami, zapewniająca komunikację procesora z otoczeniem.

Page 12: Procesory rodziny  Intel

Magistrale zewnętrzne Magistrale zewnętrzne procesora Pentiumprocesora Pentium

Page 13: Procesory rodziny  Intel

Magistrale zewnętrzne procesora Pentium

Procesor ma 64-bitową magistralę danych i 32 bitową magistrale adresową

Magistrale danych można traktować jako zestaw ośmiu ścieżek bajtowych (8 – bitowych). Można nią przesyłać dane 8, 16, 24, 32, i 64-bitowe.

Przesyłanie może następować po dowolnym zestawie ścieżek, pod warunkiem że ścieżki te przylegają do siebie.

Przesyłanie 24 bitowe będzie występować w przypadku przesyłania dwusłowa (słowa 32-bitowego) położonego na granicy czterosłowa.

Page 14: Procesory rodziny  Intel

Magistrale zewnętrzne procesora Pentium

Do magistrali adresowej należą wyprowadzenia A31-A3 oraz BE7#-BE0#.

Wewnątrz procesora generowany jest 32-bitowy adres A31-A0. Na zewnątrz wyprowadzane są jednak tylko bity A31-A3. Wybierają one określone czterosłowy (8-bajtów).

Pozostałe bity adresu oraz wielkość przesyłanej danej decydują o tym, które sygnały BEx# zostaną uaktywnione. Powoduje to uaktywnienie określonych bajtów czterosłowa i przesłanie ich odpowiadającymi im ścieżkami magistrali danych.

Page 15: Procesory rodziny  Intel

Magistrale zewnętrzne procesora Pentium

Page 16: Procesory rodziny  Intel

Magistrale zewnętrzne procesora Pentium

Page 17: Procesory rodziny  Intel

Blok sterowania Blok sterowania magistralami (BIU)magistralami (BIU)

Page 18: Procesory rodziny  Intel

Blok sterowania magistralami (BIU)

W bloku sterowania magistralami możemy wyróżnić następujące układy:

• bufor magistrali danych (transcivery)• układy wejściowe i wyjściowe magistrali

adresowej• bufory zapisu• układy sterowania rodzajem cyklu

magistrali (standardowy lub burst)

Page 19: Procesory rodziny  Intel

Blok sterowania magistralami (BIU)

• sygnały sterowania dostępem do magistral

• układy komunikacji z zewnętrzną pamięcią cache

• sygnały komunikacji z wewnętrzną pamięcią cache

• układy generacji i kontroli parzystości

Page 20: Procesory rodziny  Intel

Część wykonawczaCzęść wykonawcza

Page 21: Procesory rodziny  Intel

Część wykonawcza

Część wykonawcza zawiera dwie 32-bitowe jednostki arytmetyczno logiczne i zestaw współpracujących z nią rejestrów.

Tworzą one następujące grupy:

Page 22: Procesory rodziny  Intel
Page 23: Procesory rodziny  Intel

Część wykonawcza

1. Rejestry ogólnego przeznaczenia EAX, EBX, ECX, EDX, EBP, EDI, ESI, ESP. Są to rejestry 32-bitowe, jednak każdy z nich zawiera rejestry AX, BX, CX i DX będące rejestrami 16-bitowymi. Każdy z nich może być z kolei używany jako dwa oddzielne rejestry 8-bitowe. Noszą one wówczas przykładowo oznaczenia AH, AL., BH, BL. Każdy z wymienionych rejestrów może zawierać dane, na których wykonujemy obliczenia (czyli operandy) oraz wyniki obliczeń.

Page 24: Procesory rodziny  Intel

Część wykonawcza

Ponadto poszczególne rejestry pełnią pewne dodatkowe funkcje.

EAX – jest akumulatorem – pośredniczy w wymianie informacji z układami wejścia / wyjścia

EBX (ang. base register) – może być używany jako rejestr bazowy w adresowaniu pośrednim

ECX (ang. Count register) – może pełnić rolę licznika w instrukcji pętli

Page 25: Procesory rodziny  Intel

Część wykonawcza

• Rejestry EBP zwany wskaźnikiem bazy (ang. base pointer) oprócz przechowywania danych i wyników, umożliwia operacje na stosie bez zmiany zawartości rejestru ESP.

Jest to wykorzystywane do przekazywania poprzez stos argumentów do funkcji w języku C czy Pascal

Page 26: Procesory rodziny  Intel

Część wykonawcza

• Rejestry ESI i EDI pełnią dodatkowe funkcje przy operacjach na łańcuchach danych.

Rejestr ESI (ang. source index) zawiera adres źródła,

a EDI (ang. destination index) zawiera adres docelowy dla danych przy operacjach łańcuchowych.

• ESP (ang. stack pointer) jest wskaźnikiem stosu

Page 27: Procesory rodziny  Intel

Część wykonawcza

• FLAGS – rejestr flagowy składający się z flag : stanu, kontrolnych i systemowych

• Rejestry CR0, CR2 – CR4 są rejestrami sterującymi pracą określonych układów procesora (na przykład trybem pracy procesora, sposobem pracy pamięci cache, włączaniem bądź wyłączaniem stronicowania).

Page 28: Procesory rodziny  Intel

Część wykonawcza

• Rejestry DRx są rejestrami uruchomieniowymi (ang. Debug Register). Umieszczone są w nich adresy pułapek oraz ich status.

• Rejestry TRx są rejestrami wspomagającymi testowanie procesora.

Rejestry TR6 i TR7 służą do testowania układu TLB, natomiast rejestry TR3 – TR5 są używane do testowania wewnętrznej pamięci cache.

Page 29: Procesory rodziny  Intel

Część wykonawcza

• Rejestry MCAR i MCTR służą obsłudze błędnych cykli magistrali.

Rejestr MCAR (ang. Machine Check Address Register) zawiera adres nieudanej operacji, zaś rejestr MCTR (ang. Machine Check Type Register) jej typ.

• W skład części wykonawczej wchodzą też dwie jednostki arytmetyczno-logiczne. Podobnie jak potoki, oznaczone są one także literami U i V. Wykonują operacje logiczne oraz stałoprzecinkowe operacje arytmetyczne dla potoków U i V.

Page 30: Procesory rodziny  Intel

Praca procesora Pentium Praca procesora Pentium w trybie rzeczywistymw trybie rzeczywistym

Page 31: Procesory rodziny  Intel

Praca procesora Pentium w trybie rzeczywistym

W trybie rzeczywistym procesor Pentium, podobnie jak wszystkie poprzednie procesory tej rodziny, zachowuje się jak bardzo szybki procesor 8086.

Jedyną różnicą jest obecność fizycznej linii adresowej A20, powodującą brak zawijania się adresu dla tego procesora.

Page 32: Procesory rodziny  Intel

Układ generacji adresu Układ generacji adresu fizycznegofizycznego

Page 33: Procesory rodziny  Intel

Układ generacji adresu fizycznego w trybie rzeczywistym

CS = 1011001001101101

IP = 0100011111110011

CS 0000

IP+

AF

AF = 10110110111011000011

lub heksadecymalnie

B2D6 0

+ 47F 3

B6EC3

Rejestr segmentowy 0000

Adres efektywny

Σ

Adres fizyczny

19 0

jedno zero hex

odpowiada czterem

zerom binarnym

0 0 0 3 15 15

Page 34: Procesory rodziny  Intel

Układ generacji adresu fizycznego w trybie rzeczywistym

Wszystkie rejestry procesorów 8086/88 były 16 bitowe i taką szerokość miała też magistrala danych. Natomiast magistrala adresowa była 20-bitowa. Wymagało to układu, który na podstawie 16-bitowych wartości pozwoliłby wygenerować 20-bitowy adres.

20-bitowy adres fizyczny obliczany jest jako suma dwóch składników:

zawartości jednego z rejestrów segmentowych przemnożonej przez 16 (zawartości do której dopisano 4 zera w zapisie binarnym) oraz tak zwanego adresu efektywnego wynikającego z aktualnie wykonywanego fragmentu rozkazu i używanego trybu adresowania.

Page 35: Procesory rodziny  Intel

Zestaw rejestrów segmentowych:

• CS – rejestr segmentu programu

• DS – rejestr segmentu danych

• SS – rejestr segmentu stosu

• ES, GS, FS – rejestry dodatkowych segmentów danych.

Page 36: Procesory rodziny  Intel

Układ generacji adresu fizycznego w trybie rzeczywistym

Każdy program może mieć cztery rodzaje segmentów. Segmenty te mogą być rozłączne lub mogą się częściowo, lub całkowicie pokrywać

Interpretacja takiego sposobu generowania adresu fizycznego jest prosta. (patrz rysunek)

Page 37: Procesory rodziny  Intel

Interpretacja adresowania pamięci w trybie rzeczywistym

1 MB1 MB64 kB

Pamięć

Adres 00000h

FFFFFh

adresowana komórka pamięci

okno, przez które widziana jest pamięć

Początek segmentu

(zawartość rejestru segmentowego * 16)

przesunięcie (adres efektywny)

Page 38: Procesory rodziny  Intel

Układ generacji adresu fizycznego w trybie rzeczywistym

Zawartość rejestru segmentowego przemnożona przez 16 podaje nam adres początkowy danego segmentu w pamięci. Od tego początku odsuwamy się o ilość komórek podaną w adresie efektywnym.

Ponieważ adres efektywny jest liczbą 16-bitową, maksymalna odległość odczytywanej komórki od początku segmentu wynosi 65536 B (bitów) – 64 KB. Pamięć jest więc widziana przez procesor poprzez okno wielkości 64 KB. Okno to można przesuwać, przeładowując rejestry segmentowe, jednakże ze skokiem nie mniejszym niż 16 B.

Page 39: Procesory rodziny  Intel

Układ generacji adresu fizycznego w trybie rzeczywistym

W ramach ustalonego okna komórkę, na której zostanie wykonana operacja, wybieramy przy pomocy adresu efektywnego.

Wynikiem sumowania dwóch podanych wartości jest liczba 20-bitowa (bo do 16-bitowej wartości w rejestrze segmentowym dopisujemy 4 zera)

Page 40: Procesory rodziny  Intel

Układ generacji adresu fizycznego w trybie rzeczywistym

Z metody generacji adresu fizycznego wynika też sposób podawania adresu określany jako segment (przesunięcie),stosowany w wielu programach.

Adres fizyczny podajemy jako dwie liczby, które należy zsumować zgodnie z regułą tworzenia adresu fizycznego.

Sposób ten wprowadza pewną niejednoznaczność, ponieważ ten sam adres można zapisać na wiele sposobów.

Page 41: Procesory rodziny  Intel

Układ generacji adresu fizycznego w trybie rzeczywistym

Niejednoznaczność ta nie prowadzi do problemów, gdyż po pierwsze otrzymywany adres fizyczny jest w każdym przypadku taki sam, a w realnych sytuacjach w adresie segment (przesunięcie) podajemy zwykle rzeczywistą zawartość rejestru segmentowego, co jednoznacznie określa także przesunięcie.

Page 42: Procesory rodziny  Intel

Układ generacji adresu fizycznego w trybie rzeczywistym

Do rejestrów segmentowych mogą być ładowane dowolne wartości, co pozwala na różnorodne ustawienie segmentów względem siebie.

Page 43: Procesory rodziny  Intel

Przykładowe rozmieszczenie segmentów w pamięci

Segment danych

Segment stosu

i dodatkowy

00000

2A000

41FF0

4FFF0nałożenie się

adresów

CS=2A00h

DS=41FFh

SS=4FFFh

ES=4FFFh

Adres

Segment programu

Page 44: Procesory rodziny  Intel

Układ generacji adresu fizycznego w trybie rzeczywistym

O tym który segmentowy zostanie użyty do obliczenia adresu fizycznego, decydują określone reguły:

Nazwa rejestruNazwa rejestru Domyślny rejestr segmentowyDomyślny rejestr segmentowy

IP zawsze CS

SP zawsze SS

BPBP SS

pozostałe rejestrypozostałe rejestry DS

DI dla operacji łańcuchowych ES

Page 45: Procesory rodziny  Intel

Praca procesora w trybie Praca procesora w trybie chronionymchronionym

Page 46: Procesory rodziny  Intel

Chroniony tryb wirtualny (ang. protected virtual mode).

W trybie tym procesor wykorzystuje swoje pełne możliwości. Używa 32 bitów adresu, co pozwala zaadresować 4 GB fizycznej pamięci.

Ponadto dostępne są sprzętowe mechanizmy wspomagające obsługę pamięci wirtualnej, pracy wielozadaniowej i ochrony zasobów.

W trybie chronionym możliwe jest też użycie mechanizmu stronicowania przy adresowaniu pamięci.

Page 47: Procesory rodziny  Intel

Praca procesora Pentium w trybie chronionym pozwala na efektywne stosowanie (implementację) przez systemy operacyjne mechanizmów pamięci wirtualnej.

Page 48: Procesory rodziny  Intel

Logiczny model Logiczny model procesoraprocesora

Page 49: Procesory rodziny  Intel

Logiczny model procesora

1. RISC - pochodzi od (ang. Reduced Instruction Set Computing) – opisuje procesor zaprojektowany w taki sposób, że wykorzystywana jest zredukowana liczba instrukcji.RISC nie ma tak naprawdę zredukowanej listy instrukcji, ponieważ dzisiejsze procesory są bardzo złożone technologicznie.

Page 50: Procesory rodziny  Intel

Cechy procesorów RISC

• architektura odczytaj i zapisz

• w wysokim stopniu regularne instrukcje, które w łatwy sposób mogą przechodzić przez kanał

• wiele rejestrów

• rejestry, szyna danych i szyna adresowa o szerokości co najmniej 32 bitów (lub więcej)

Page 51: Procesory rodziny  Intel

Logiczny model procesora

2. CISC - pochodzi od (ang. Complex Instruction Set

Computing) – opisuje komputer zaprojektowany w taki sposób, że wykorzystywana jest ciągle wzrastająca liczba instrukcji i coraz większa złożoność.

CISC – dotyczy raczej starszych komputerów.

Page 52: Procesory rodziny  Intel

Co jest lepsze, RISC czy CISC?

Z naukowego punktu widzenia odpowiedź jest prosta.

Prawie każda główna architektura CPU opiera się na RISC, ale procesory rodziny 80x86 nie opierają się tylko na RISC i są zdecydowanie tańsze.

Systemy CISC mają pewne zalety techniczne – ponieważ mogą łączyć wiele instrukcji w jedną, czego nie potrafią systemy RISC.

Page 53: Procesory rodziny  Intel

Czy Pentium jest procesorem RISC czy CISC?

W procesorze Pentium część instrukcji może być wykonywana równolegle w dwóch dostępnych kanałach.

Tak więc można sądzić, że Pentium jest najlepsze zarówno w stosunku do procesorów RISC, jak i CISC.

Jest to prawda, ale liczba rejestrów dostępnych na Pentium w znacznym stopniu ogranicza rozwój oprogramowania.

Page 54: Procesory rodziny  Intel

Restart procesora Restart procesora PentiumPentium

Page 55: Procesory rodziny  Intel

Restart procesora Pentium

Jednym z wejść magistrali sterującej mikroprocesora Pentium jest wejście RESET.

Aktywny sygnał na tym wejściu powoduje wpisanie wartości początkowych do określonych rejestrów procesora i rozpoczęcie wykonywania programu od określonego, zawsze tego samego miejsca pamięci.

Page 56: Procesory rodziny  Intel

Restart procesora PentiumRestart procesora Pentium

Restart procesora Pentium powoduje wpisanie do rejestrów wartości początkowych podanych w tabeli; Nazwa rejestru Wartość początkowa

EFLAGS 0000 0002h

EIP 0000 FFF0h

CS F000h

CR0 6000 0010h

EDX 0000 05xxh

DR6 FFFF 0FF0h

DR7 0000 0400hcache danych i kodu nieważne

Page 57: Procesory rodziny  Intel

Restart procesora PentiumRestart procesora Pentium

Do pozostałych rejestrów wpisywane są wartości zerowe

(CR2, CR3, CR4, SS, DS., ES, GS, FS, EAX, EBX, ECX, ESI, EDI, EBP, ESP, DR 0-DR 3, TR12)

lub ich stan jest niezdefiniowany.

Page 58: Procesory rodziny  Intel

Restart procesora PentiumRestart procesora Pentium

Z wartości wpisanych do rejestru CR0 wynika, Z wartości wpisanych do rejestru CR0 wynika, że procesor Pentium rozpoczyna pracę w że procesor Pentium rozpoczyna pracę w trybie rzeczywistym.trybie rzeczywistym.

Jedną z bardzo ważnych konsekwencji Jedną z bardzo ważnych konsekwencji takiego ustalenia wartości początkowych takiego ustalenia wartości początkowych wpisywanych do rejestrów jest adres wpisywanych do rejestrów jest adres miejsca w pamięci, z którego mikroprocesor miejsca w pamięci, z którego mikroprocesor pobierze pierwszą instrukcję do wykonania pobierze pierwszą instrukcję do wykonania ( czyli miejsca, od którego rozpocznie ( czyli miejsca, od którego rozpocznie pracę).pracę).

Page 59: Procesory rodziny  Intel

Restart procesora PentiumOprócz wejścia RESET procesor Pentium

posiada wejście oznaczone jako INIT.

Wejście to zapewnia kompatybilność procesora Pentium z procesorem 80286.

Wejście to umożliwia częściowy restart, który pozostawia nie zmienione wartości w obydwu wewnętrznych pamięciach cache, buforach zapisu BIU, rejestrach NPU. Nie są zmienione także wartości bitów CD i NW w rejestrze CR0, decydujące o stanie pamięci cache.

Page 60: Procesory rodziny  Intel

Praca potokowaPraca potokowa

Page 61: Procesory rodziny  Intel

Praca potokowa

W procesorze Pentium instrukcje wykonywane są potokowo.

Praca potokowa (ang. pipelining), jest rozwinięciem koncepcji preftchingu. Polega ona na równoległym wykonywaniu kilku faz realizacji rozkazu.

Page 62: Procesory rodziny  Intel

Praca potokowa

W procesorze Pentium instrukcje realizowane są w pięciu fazach.

• pobranie kodu instrukcji – faza F

wczytywany jest z pamięci kod instrukcji.

• pierwszy etap dekodowania instrukcji – D1

ustalany jest rodzaj operacji oraz tryb adresowania

Page 63: Procesory rodziny  Intel

Praca potokowa

• drugi etap dekodowania instrukcji – D2

obliczany jest adres efektywny argumentów, ewentualnie przygotowywane są argumenty natychmiastowe

• wykonanie – E

realizowany jest (jeśli jest konieczny) dostęp do pamięci i wykonywana jest żądana operacja

• zapis do rejestrów – W

rezultaty operacji zapisywane są w określonym rejestrze (jeżeli wymaga tego instrukcja).

Page 64: Procesory rodziny  Intel

Technologia SL i Technologia SL i sterowanie poborem sterowanie poborem

mocy (SM)mocy (SM)

Page 65: Procesory rodziny  Intel

Technologia SL i sterowanie poborem mocy (SM)

Technologia SL została wprowadzona w procesorach 80386 przeznaczonych do pracy w komputerach typu notebok.

Jej rozwiązania stosowane są obecnie we wszystkich procesorach rodziny 80x86.

Page 66: Procesory rodziny  Intel

Technologia SL Technologia SL - mechanizmy- mechanizmy

Page 67: Procesory rodziny  Intel

Technologia SL - mechanizmy

• system zarządzania poborem mocy – SMM (ang. System Management Mode)

• wstrzymanie zegara procesora (sygnał STPCLK#)

• Auto-HALT – automatyczne przejście procesora w stan niskiego poboru mocy po wykonaniu rozkazu HALT.

Page 68: Procesory rodziny  Intel

Technologia SL Technologia SL – stany pracy– stany pracy

Page 69: Procesory rodziny  Intel

Technologia SL – stany pracy

• wstrzymanie zegara rdzenia procesora (ang. Stop Grant State) – następuje pod wpływem sygnału STPCLK#. Powoduje to częściowe obniżenie poboru mocy przez procesor. Wewnętrzny zegar procesora jest włączany po przejściu sygnału STPCLK# w stan nieaktywny.

Page 70: Procesory rodziny  Intel

Technologia SL – stany pracy

• wstrzymanie zegara zewnętrznego procesora (ang. Stop Clock State) – następuje, gdy procesor znajduje się w stanie wstrzymania zegara wewnętrznego. W stanie wyłączenia zegara zewnętrznego pobór mocy jest najniższy.

• Auto-HALT – powoduje automatyczne wstrzymanie zegara wewnętrznego po wykonaniu rozkazu HALT.

Page 71: Procesory rodziny  Intel

Pamięć wirtualna Pamięć wirtualna procesoraprocesora

Page 72: Procesory rodziny  Intel

• Hierarchia pamięci

• Mechanizm działania pamięci wirtualnej

• Pamięć wirtualna w procesorze Pentium

• Mechanizmy wspomagania pracy wielozadaniowej i ochrony zasobów

• Stronicowanie

• Pamięć podręczna (cache)

Page 73: Procesory rodziny  Intel

Hierarchia pamięciHierarchia pamięci

Page 74: Procesory rodziny  Intel

W systemie mikroprocesorowym występuje kilka rodzajów pamięci.

Główny podział to:

• pamięć masowa PM

• pamięć półprzewodnikowa PP

Page 75: Procesory rodziny  Intel

Pamięć masowa PM – wszelkiego rodzaju pamięci na nośnikach magnetycznych:

- dyski twarde

- dyski elastyczne

Pamięć półprzewodnikowa PP - wszelkiego rodzaju pamięci do zapisu i odczytu dynamicznego i statycznego oraz pamięci typu ROM.

Page 76: Procesory rodziny  Intel

Struktura hierarchiczna pamięci uwzględnia następujące czynniki:

• pojemność

• koszt jednego bitu

• czas dostępu

Page 77: Procesory rodziny  Intel

Mechanizm działania Mechanizm działania pamięci wirtualnejpamięci wirtualnej

Page 78: Procesory rodziny  Intel

Mechanizm pamięci wirtualnej pozwala traktować programom pamięć masowa jako przedłużenie pamięci operacyjnej

Page 79: Procesory rodziny  Intel

Mechanizmy działania pamięci wirtualnej

• Program żąda dostępu do określonej informacji – podaje adres wirtualny

• Sprawdzana jest obecność poszukiwanej informacji w pamięci operacyjnej. (Informacja o obecności konkretnych bloków w pamięci operacyjnej przechowywana jest w specjalnej tablicy)

• W przypadku braku poszukiwanej informacji jest ona wczytywana z dysku, a odpowiednie pozycje w tablicach obsługujących pamięć wirtualną są modyfikowane

Page 80: Procesory rodziny  Intel

Mechanizmy działania pamięci wirtualnej

• Obliczany jest adres fizyczny miejsca przechowywania informacji w pamięci operacyjnej, czyli dokonywana jest translacja adresu wirtualnego na fizyczny.

(Translacji tej dokonuje się także przy użyciu odpowiedniej tablicy).

• Poszukiwana informacja jest dostępna dla procesora, co zamyka cykl działania pamięci wirtualnej.

Page 81: Procesory rodziny  Intel

Mechanizmy działania tablicy deskryptorów

Page 82: Procesory rodziny  Intel

Mechanizmy działania tablicy deskryptorów

• Utworzenie tablicy deskryptorów• Ilość pozycji w tablicy deskryptorów musi być

równa ilości bloków w pamięci masowej (na jakie został podzielony program)

• Każdy deskryptor składa się z dwóch części: bitu obecności bloku i adresu bazowego (podaje w którym

miejscu pamięci operacyjnej został umieszczony dany blok)

Page 83: Procesory rodziny  Intel

0

0

0

0

0

1

0

1

000

001

010

011

100

101

110

111

020

3

7

PAO

1 MB

1 MBNr deskryptora

Tablica

deskryptorów

1FFFFFh

100000h

0FFFFFh

000000h

Adresy pamięciAdres wirtualny 7F0000h

adres bazowy 100000h

przesunięcie + F0000h

adres fizyczny 1F0000h

Przykładowa zawartość tablicy deskryptorów

Page 84: Procesory rodziny  Intel

Pamięć wirtualna w Pamięć wirtualna w procesorze Pentiumprocesorze Pentium

Page 85: Procesory rodziny  Intel

• W procesorze Pentium w trybie chronionym zmienia się interpretacja zawartości rejestrów segmentowych

• Zawartość odpowiedniego rejestru segmentowego jest selektorem wybierającym odpowiednią pozycję w tablicy deskryptorów.

Page 86: Procesory rodziny  Intel

Układ dokonujący translacji adresu logicznego na adres fizyczny

48-bitowy adres wirtualnyRejestr segmentowy Adres efektywny15 0 31 310 0

Selektor Przesunięcie Adres bazowy segmentu

Ʃ

Pamięć

Deskryptor segmentu

Tablica deskryptorów

Operand

32-bitowy adres fizyczny

Procesor

Page 87: Procesory rodziny  Intel

Układ dokonujący translacji adresu logicznego na adres fizyczny - działanie

• Adres fizyczny obliczany jest jako suma adresu bazowego z odpowiedniej pozycji tablicy deskryptorów i wartości adresu fizycznego.

• Umieszczony zostaje w pamięci MMU (niedostępnej programowo) – w celu przyśpieszenia dostępu do deskryptorów.

Page 88: Procesory rodziny  Intel

Co zawiera deskryptor segmentów

• Deskryptory segmentów zawierają takie informacje jak:

a. wielkość segmentu

b. adres bazowy

c. wymagany poziom uprzywilejowania

d. pewne atrybuty (np.. bit obecności)

Page 89: Procesory rodziny  Intel

Mechanizmy Mechanizmy wspomagania pracy wspomagania pracy

wielozadaniowej i wielozadaniowej i ochrony zasobówochrony zasobów

Page 90: Procesory rodziny  Intel

Praca wielozadaniowa w systemie jednoprocesorowym polega na przełączaniu zadań - procesor wykonuje pewne zadanie do:

momentu upływu określonego czasu przydzielonego zadaniu

momentu, w którym brak chwilowo informacji

momentu żądania przez użytkownika zmiany zadania

Page 91: Procesory rodziny  Intel

W sytuacji wykonywania kilku zadań jednocześnie istnieje konieczność kontrolowania dostępu poszczególnych zadań do informacji, jak i innych zasobów systemu.

Nie można dopuścić, by jeden program zapisywał swoje dane w obszarze pamięci przydzielonej innemu programowi.

Page 92: Procesory rodziny  Intel

StronicowanieStronicowanie

Page 93: Procesory rodziny  Intel

W procesorze Pentium pracującym w trybie wirtualnym, oprócz mechanizmu segmentacji dostępny jest też mechanizm stronicowania - polega na używaniu ciągłego adresu liniowego, podczas gdy adresy fizyczne pamięci mogą stanowić obszar nieciągły.

Page 94: Procesory rodziny  Intel

Poszukiwana informacja

Generacja adresu w trybie stronicowania

31

Strony pamięci

Pozycja w katalogu stron Pozycja w tablicy stron

Katalog stron

(zawiera adresy tablic stron)

Tabele stron

(zawiera adresy stron w pamięci )

adres tablicy strony

adres strony w pamięci

adres strony w pamięci

adres strony w pamięci

22 21 12 11 0

Wybiera tabelę stron

Pozycja na stronie

Adres liniowy z jednostki segmentacji

Page 95: Procesory rodziny  Intel

Translacja adresu liniowego na fizyczny

• 10-bitowa części adresu liniowego wybiera jedną z 1024 pozycji w katalogu stron (page directory)

• Zawartość wybranej pozycji w katalogu stron wskazuje na jedną z 1024 tabel stron

• Bity adresu liniowego wybierają jedną z 1024 pozycji w wybranej tabeli stron

• Wybrana pozycja w tabeli stron podaje adres początkowy 4 - kilobajtowej strony, w której znajduje się poszukiwana informacja

Page 96: Procesory rodziny  Intel

Translacja adresu liniowego na fizyczny

Posługiwanie się przy translacji adresu liniowego na fizyczny wyłącznie danymi z pamięci typu – katalogi i tabela stron prowadziłoby do znacznego zmniejszenia szybkości działania systemu. W tym celu wykorzystuje się pamięć podręczną typu cache – przechowującą zawartość 32 ostatnio używanych tablic stron

Page 97: Procesory rodziny  Intel

Pamięć podręczna Pamięć podręczna (cache)(cache)

•L 1

•L 2

Page 98: Procesory rodziny  Intel

Pamięć podręczna Pamięć podręczna (cache)(cache)

L1L1

Page 99: Procesory rodziny  Intel

a. pamięć sytemu składa się z relatywnie dużej pamięci operacyjnej (rzędu kilkudziesięciu do kilkuset MB) –zbudowanej z pamięci dynamicznych

b. oraz z mniejszej (kilka do kilkuset KB) pamięci cache – zbudowanej z pamięci statycznych

Koncepcja pamięci podręcznej procesora

Page 100: Procesory rodziny  Intel

Wady pamięci dynamicznych z punktu widzenia procesora

a. zbyt wolne dla szybkich współczesnych procesorów

b. wymagają stanów oczekiwania

Wynika to z zarówno z dużej częstotliwości zegara taktującego, jak i występującej w procesorze Pentium pracy dwupotokowej.

Page 101: Procesory rodziny  Intel

Pamięci statyczne (cache)

Zalety:

Są szybsze od pamięci dynamicznych

Wady:

• Pobierają stosunkowo dużo energii

• Są zdecydowanie droższe

• Są układami o niższym stopniu scalenia

Page 102: Procesory rodziny  Intel

Pamięci statyczne (cache)

Trafienie :

Sterownik pamięci cache sprawdza czy poszukiwana informacja znajduje się w pamięci cache, jeżeli tak to operacja jest wykonywana w pamięci cache, bez stanów oczekiwania

Page 103: Procesory rodziny  Intel

Pamięci statyczne (cache)

Chybienie

Jeśli sterownik pamięci cache stwierdzi brak informacji w pamięci cache, to następuje dostęp do pamięci operacyjnej z koniecznymi stanami oczekiwania

Page 104: Procesory rodziny  Intel

Architektura systemu z pamięcią cache

a. Look - through

b. Look - aside

Page 105: Procesory rodziny  Intel

Architektura Look - through

Zarządca magistral

Mikroprocesor

Cache

PAO

Zarządca magistral

Page 106: Procesory rodziny  Intel

Architektura Look - through

W architekturze tej pamięć cache, połączona magistralą lokalną z procesorem, oddziela go od reszty sytemu, w przypadku trafienia – główna magistrala systemu nie jest w ogóle używana

Page 107: Procesory rodziny  Intel

Architektura Look - aside

Mikroprocesor

PAO

Cache

Zarządca magistral

Zarządca magistral

Page 108: Procesory rodziny  Intel

Architektura Look - aside

W architekturze tej procesor nie jest odizolowany od reszty układów przez cache. Dostęp do pamięci powoduje rozpoczęcie normalnego cyklu magistrali.

• trafienie – cykl zawieszany – operacja na pamięci cache

• chybienie – wykonywany jest normalny cykl magistrali

Page 109: Procesory rodziny  Intel

Elementy sytemu Elementy sytemu pamięci cachepamięci cache

Page 110: Procesory rodziny  Intel

Elementy sytemu pamięci cache

• Bank danych (pamięć danych)

- przechowuje i umożliwia zapis i odczyt informacji

• Katalog pamięci cache (TAG – RAM)

- sprawdza, czy poszukiwana informacja znajduje się w pamięci cache

• Sterownik pamięci cache

- steruje procesem sprawdzania – czy informacja znajduje się w pamięci cache oraz organizuje współprace pamięci cache z systemem

Page 111: Procesory rodziny  Intel

Organizacja pamięci Organizacja pamięci cachecache

Page 112: Procesory rodziny  Intel

Organizacja pamięci cache

W celu zapewnienia możliwości szybkiego sprawdzenia, czy komórka pamięci na której ma być wykonana operacja, jest odwzorowana w pamięci cache – bank danych i katalog, tworzą jednoblokową pamięć asocjacyjną (One-way Set-associative lub Direct-mapped) .

W takiej organizacji pamięć cache stanowi jeden blok podzielony na zestawy

Page 113: Procesory rodziny  Intel

Przykład organizacji pamięci cache

Dane 4

Katalog cache

(TAG-RAM) Bank cache

Rn - n-ty odczyt

Dane 3

Dane 2

Dane 1

Dane 2

Zestaw 5

Zestaw 4

Zestaw 3

Zestaw 2

Zestaw 1

Dane 1

Dane 3

Strona 0 (strona 2)

Strona 0

Strona 1

Zestaw 5

Zestaw 4

Zestaw 3

Zestaw 2

Zestaw 1

Zestaw 5

Zestaw 4

Zestaw 3

Zestaw 2

Zestaw 1

Zestaw 5

Zestaw 4

Zestaw 3

Zestaw 2

Zestaw 1

04

03

01

02

Strona 2

Strona 1

Strona 0

Page 114: Procesory rodziny  Intel

Pamięć zewnętrzna Pamięć zewnętrzna cache drugiego cache drugiego

poziomupoziomu

L2L2

Page 115: Procesory rodziny  Intel

Pamięć zewnętrzna cache drugiego poziomu – L2

Jest to zewnętrzna (dodatkowa) pamięć procesora. Wyraźny efekt stosowania tej pamięci widać wówczas, jeśli jej pojemność jest znacząco większa od pojemności pamięci L1.

Informacja znajdująca się w pamięci L1 znajduje się jednocześnie w pamięci L2.

Page 116: Procesory rodziny  Intel

Pamięć zewnętrzna cache drugiego poziomu w systemie z procesorem 80486

Procesor 80486

PAO

Zarządca magistral

Zarządca magistral

CACHE 2- go poziomu (L2)zewnętrzna

Układy logiczne

NCA

magistrala lokalna

Sygnały sterujące

BIU

CACHE 1- go poziomu (L1)zewnętrzna

BUI

Page 117: Procesory rodziny  Intel

Pamięć cache w Pamięć cache w procesorze Pentiumprocesorze Pentium

Page 118: Procesory rodziny  Intel

Pamięć cache w procesorze PentiumW procesorach Pentium możliwe jest stosowanie

zarówno wewnętrznej, jak i zewnętrznej pamięci cache.

Każda z pamięci zawiera 8 KB pojemności.

Jedna przeznaczona jest do przechowywania kodów instrukcji (Code-cache)

Druga przechowuje dane i wyniki przetwarzania informacji (Data-cache)

Page 119: Procesory rodziny  Intel

Pamięć cache w procesorze Pentium

Urządzenie na płycie głównej

Urządzenie na płycie głównej

PENTIUM

Sterowniki pamięci cache 2 - go poziomu (L2)

Cache2-go poziomu

(SDRAM)

DwuportowysterownikpamięciDRAM

PAO

(DRAM)

Gniazda magistrali rozszerzającej