Jak działa procesor.pdf

(185 KB) Pobierz
Microsoft Word - Jak dzia³a procesor.doc
Zegar
Jak dzia a procesor
Kupuj c komputer, najwi cej czasu po wi camy na wybór, procesora. Interesuje nas g ównie szybko
jego dzia ania, której bezpo rednim wyznacznikiem jest cz stotliwo zegara wyra ana w hercach (Hz). Procesor
potocznie zwany sercem komputera, tak naprawd jest jego mózgiem. To on w a nie, wykonuj c krok po kroku
ka dy program, w pe ni zarz dza naszym pecetem. Najpopularniejszymi procesorami w domowych pecetach jest
rodzina wywodz ca si z procesora 8086. Nale do niej uk ady nie tylko firmy Intel (8086, 80286, 80386, 80486,
Pentium, Pentium II, Pentium III, Pentium 4, Itanium), lecz równie AMD (K5, K6, Duron, Athlon, Athlon XP) i
jeszcze kilku innych producentów, na przyk ad VIA. Wszystkie one s kompatybilne programowo w dó . Oznacza
to, e nowszy procesor mo e wykonywa instrukcje przewidziane dla poprzednika.
dyrygenta koordynuj cego prac elementów procesora. Wszystkie operacje s synchronizowane
zegarem o okre lonej sta ej cz stotliwo ci. Im cz stotliwo jest wi ksza, tym praca procesora jest wydajniejsza,
gdy mo e on wykona wi cej instrukcji w ci gu jednej sekundy. Nowe procesory maj coraz szybsze zegary,
jednak cz stotliwo ci taktowania nie mo na zwi ksza w niesko czono . Maksymalna jej warto jest
uwarunkowana zastosowan technologi produkcji procesora. Im mniejsze szeroko ci cie ek tworz cych
struktur procesora, tym wi ksza maksymalna cz stotliwo taktowania. Efektem ubocznym zwi kszania
cz stotliwo jest wi ksze zu ycie energii, wydzielanej w postaci ciep a. Cz ciowo mo na temu przeciwdzia a ,
stosuj c technologie umo liwiaj ce zasilanie procesorów ni szym napi ciem.
Pami
podr czna
Modele procesorów ró ni si od siebie tak e ilo ci pami ci podr cznej (ang. cache) wbudowanej w
procesor. Taka pami jest niezb dna, gdy dost p do RAM-u, gdzie zapisane s kod programu i dane, z punktu
widzenia procesora jest zbyt wolny. Pami podr czna jest znacznie szybsza od RAM-u i usprawnia dzia anie
procesora. Idea em by oby, gdyby rozmiar pami ci podr cznej odpowiada wielko ci pami ci RAM. Niestety, takie
rozwi zanie jest skomplikowane i drogie. Dlatego procesory maj od kilkunastu do kilkuset kilobajtów pami ci
podr cznej. Odpowiedni mechanizm zaszyty w procesorze dba o to, eby jej aktualna zawarto odpowiada a
najbardziej potrzebnym fragmentom pami ci RAM. Dzi ki temu w wi kszo ci wypadków procesor odwo uje si do
pami ci podr cznej, zamiast traci czas na odczyt/zapis danych z/do RAM-u.
Ile bitów?
Bardzo cz sto spotykamy si z okre leniem procesor 32-bitowy. Ma ono zwi zek z maksymalnym
rozmiarem danych, na których procesor potrafi wykona elementarne operacje arytmetyczno-logiczne, i rozmiarem
rejestrów ogólnego przeznaczenia. Rejestry te to specjalne struktury w procesorze, które s u do przechowywania
tymczasowych wyników. Rozmiar rejestru okre la si w bitach. Przyk adowo okre lenie rejestr 16-bitowy oznacza,
e mo e on przechowywa liczb , do zapisu której potrzebne jest 16 bitów danych. W wypadku liczb ca kowitych
bez znaku jest to liczba z przedzia u <0,2 16 -1>, czyli od 0 do 65 535 w cznie.
o miu bitów i jest cz ciowo uzale niona od typu procesora (8-, 16-, 32-, 64-bitowy). Od
szeroko ci szyny adresowej zale y mo liwo adresowania maksymalnego rozmiaru
pami ci RAM. Dla szyny 20-
bitowej mo emy maksymalnie adresowa 2 20 bajtów co daje 1 MB RAM, a dla szyny 32-bitowej 4 GB RAM.
Rozmiar rejestrów
Procesor
Rozmiar rejestrów
ogólnego przeznaczenia
8080
8 bitów
8086, 80286
16 bitów
80386, 80486, Pentium, Pentium
Pro, Pentium II, Pentium III,
Pentium 4, K5, K6, Duron, Athlon
32 bity
Itanium, Hammer
64 bity
Najbardziej charakterystycznym parametrem opisuj cym ka dy procesor jest cz stotliwo pracy zegara.
Zegar pe ni rol
W bitach okre la si tak e szeroko
magistrali systemowej, za po rednictwem której procesor porozumiewa si z otoczeniem. To ni przesy ane s
dane z i do pami ci RAM, jak i pozosta ych urz dze . Magistral tworzy szyna danych i szyna adresowa.
Szeroko to liczba bitów, które jednocze nie mog zosta przes ane. W wypadku szyny danych jej szeroko jest
wielokrotno ci
13075623.028.png 13075623.029.png 13075623.030.png 13075623.031.png 13075623.001.png 13075623.002.png 13075623.003.png 13075623.004.png 13075623.005.png 13075623.006.png 13075623.007.png
potrzeba wi cej bitów, aby rozró ni poszczególne komendy, których jest wi cej. Procesor typu RISC
charakteryzuje si zminimalizowanym zbiorem rozkazów
Rozmawiaj c ze znajomymi o procesorach, z pewno ci niejeden raz s yszeli my tajemnicze skróty jak
MMX, RISC czy SSE. Opisuj one pewne cechy procesora zwi zane z jego budow i mo liwo ciami. Procesory
mo emy podzieli na dwa typy CISC (ang. Complex Instruction Set Computer komputer o rozbudowanym
zestawie rozkazów) i RISC (ang. Reduced Instruction Set Computer komputer o zredukowanym zestawie
rozkazów). Procesory CISC to na przyk ad linia urz dze 8086. klasyczny CISC potrafi interpretowa setki
odmiennych rozkazów, które mog mie ró ny rozmiar. Rozkazy procesora CISC s zazwyczaj d u sze ni RISC-a
i zazwyczaj sta d ugo ci instrukcji. Zalet procesorów
typu RISC jest prostsza budowa (musz rozpoznawa mniej instrukcji) i wi ksza pr dko dzia ania. atwiej jest
równie wyposa y je w mo liwo równoleg ego wykonywania kilku rozkazów. Wad jest ma y zbiór instrukcji.
Cz sto jednemu, z o onemu rozkazowi procesora typu CISC odpowiada kilka instrukcji procesora typu RISC.
Nowsze procesory z rodziny x86 (nast pcy 8086) s tylko zewn trznie typu CISC (wykonuj instrukcje procesora
CISC). Tak naprawd w rodku znajduje si procesor RISC. Dzi ki temu zachowuj c zalety procesora CISC
(rozbudowany zestaw instrukcji, kompatybilno z poprzednikami) w prosty sposób zwi kszono wydajno
wspó czesnych procesorów. Wraz z nadej ciem Pentium MMX w wiecie procesorów pojawi o si znacznie wi cej
skrótów
MMX, SSE, 3D Now! Oznaczaj , e producent nauczy dany procesor rozpoznawa dodatkowe
instrukcje. Ma to na celu zwi kszenie jego wydajno ci w specyficznych zastosowaniach i nosi ogóln nazw SIMD
(ang. single-instruction, multiple-data technology
technologia przetwarzania wielu danych za pomoc pojedynczej
instrukcji). Przyspieszenie dzia ania bierze si st d, e w wypadku zastosowa multimedialnych bardzo cz sto
mamy do czynienia z sytuacj , gdy dokonujemy wielokrotnie tych samych operacji, ale na ró nych danych.
Wyposa aj c procesor w dodatkowe rejestry i instrukcje, mo na skróci czas przetwarzania informacji poprzez
jednoczesne wykonywanie takiej samej operacji na wielu danych. Ró ne nazwy (MMX, SSE) oznaczaj ró ne
zestawy instrukcji. Przyrost wydajno ci jest jednak odczuwalny tylko w aplikacjach, które potrafi wykorzysta
nowo powsta e rozszerzenia i korzystaj z nowych instrukcji.
Zestawy dodatkowych instrukcji
Procesor
Rozszerzenia typu SIMD
Intel Pentium MMX
MMX
Intel Pentium II
MMX
Intel Pentium III
MMX, SSE
Intel Pentium 4
MMX, SSE, SSE2
AMD Duron
MMX, 3D Now!, SSE (modele na
j drze Morgan)
AMD Athlon
MMX, 3D Now!
AMD Athlon XP
MMX, 3D Now!, SSE
Jak dzia a procesor?
Prze led my teraz sposób dzia ania procesora. Jako przyk ad pos u my flagowy model Intela Pentium 4.
zastosowano w nim architektur NetBurst. Oznacza to, e przetwarzanie instrukcji nast puje w trzech etapach.
Pocz tkowo instrukcja jest pobierana i rozk adana na tak zwane mikrooperacje. Te s wykonywane przez
specjalne do tego celu przeznaczone jednostki. Ostatni faz przetwarzania jest uporz dkowanie kolejno ci
wyników mikrooperacji. Instrukcje i potrzebne dane s pobierane z pami ci RAM poprzez magistral systemow
do pami ci podr cznej drugiego poziomu. Nast pnie ka da instrukcja jest pobierana i dekodowana poprzez
jednostk Fetach/Decode na jedn lub wi cej mikrooperacji. Mikrooperacje s przechowywane w Execution Trace
Cache. Mikrooperacje wykonywane s przez jednostki wykonawcze. Jednocze nie mo e by przetworzonych kilka
mikrooperacji, przez co procesor pracuje znacznie szybciej. Procesor stara si wykorzystywa swoje zasoby
mo liwie efektywnie i czasami zaburza kolejno wykonania mikrooperacji. Mo e si zdarzy , e wynik operacji,
która wyst puje w programie pó niej, zostanie obliczony wcze niej ni wynik poprzedniej operacji. Dlatego wyniki
musz zosta uporz dkowane przez jednostk Retirement. Gdyby nie zosta y uporz dkowane, wynik dzia ania
programu by by niezgodny z tym, co chcia osi gn programista. Niemal ka dy program w du ej cz ci sk ada si
z fragmentów, które musz by wielokrotnie wykonane. Dlatego ostatnio wykonane instrukcje s przechowywane
w postaci ci gu mikrooperacji Execution Trace Cache. Dzi ki temu istnieje du e prawdopodobie stwo, e
wykonanie jeszcze raz tej samej instrukcji nie b dzie wymaga o ponownego jej pobrania i zdekodowania. Podobna
sytuacja wyst puje w wypadku danych. Najcz ciej wykorzystywane dane s tymczasowo pami tane w pami ci
podr cznej.
Co jest w rodku Pentium 4?
kana komunikacyjny pomi dzy pami ci i urz dzeniami wej cia-
wyj cia a procesorem. Szyna danych ma rozmiar 64 bitów (8 bajtów), szyna adresowa 36 bitów, przestrze
RISC, CISC, MMX
System Bus (magistrala systemowa)
13075623.008.png 13075623.009.png 13075623.010.png 13075623.011.png 13075623.012.png 13075623.013.png 13075623.014.png 13075623.015.png 13075623.016.png 13075623.017.png 13075623.018.png 13075623.019.png 13075623.020.png 13075623.021.png 13075623.022.png
Fetach/Decode jednostka pobierania i dekodowania instrukcji. Jej zadaniem jest pobieranie instrukcji i
dekodowanie ich na tak zwane mikrooperacje (µops).
systemow .
pami podr czna drugiego poziomu wraz z jednostk zarz dzaj c , rozmiar
zale nie od wersji procesora 256 lub 512 kB. Przechowuje dane i kod programu.
bufor ledzenia wykonywania rozkazów, odpowiednik pami ci podr cznej
pierwszego poziomu, s u cej do przechowywania kodu programu w poprzednich generacjach x86. mo e
zapami ta do 12
000 µops. Dzi ki temu, e bufor przechowuje ju zdekodowane instrukcje, w chwili ponownego
wykonania tego samego fragmentu programu nie jest konieczne ponowne t umaczenie instrukcji na µops.
pami mikrokoku
niemodyfikowalna pami
zapisana na etapie produkcji uk adu,
zawiera t umaczenie bardziej skomplikowanych instrukcji na µops.
L1 Cache
pami podr czna pierwszego poziomu o rozmiarze 8 kB, przechowuje jedynie dane.
modu wykonawczy, interpretuje mikrooperacje. Sk ada si z kilku jednostek wykonawczych,
które jednocze nie mog wykonywa kilka µops. W wyniku wykonywania µops w kilku jednostkach prawid owa
kolejno pojawiania si wyników µops mo e zosta zaburzona.
Retirement
modu przywracaj cy prawid ow kolejno wyników mikrooperacji.
BTB (Branch Target Buffet)/ Branch Prediction jednostka przewidywania skoków. Dynamiczny
mechanizm wspomagaj cy przetwarzanie instrukcji warunkowych. Umo liwia procesorowi przewidywanie wyniku
instrukcji skoku warunkowego jeszcze przed jego wykonaniem.
Branch History Update uaktualnienie historii skoków.
System Bus
Kierunek
przesy ania
danych
Bus Unit
L2 Cache + L2 Control Unit
L1 Cache
Fetch/
Deocde
Execution
Trace Cache
Microcode ROM
Execution
out-or-order core
Retirement
Branch History Update
BTB/Branch Prediction
Schemat blokowy zasada dzia ania Pentium 4
L2 Cache + L2 Control Unit
Bus Unit blok odpowiedzialny za poprawn wspó prac wewn trznych mechanizmów procesora z szyn
Execution Trace Cache
Microcode ROM
adresowa 2 36 = 64 GB. Magistrala jest synchronizowana cz stotliwo ci 100 MHz. Okre lenie Quad-Pumped
oznacza, e transfer danych nast puje czterokrotnie podczas jednego cyklu magistrali. Maksymalna
przepustowo magistrali wynosi wi c 8 bajtów x 4 x 100 MHz = 3,2 GB/s.
Execution
13075623.023.png 13075623.024.png 13075623.025.png 13075623.026.png 13075623.027.png
Zgłoś jeśli naruszono regulamin