Professional Documents
Culture Documents
Protočnost VMN
Protočnost VMN
TEHNIČKA ŠKOLA
RUĐERA BOŠKOVIĆA ZAGREB
MILAN KORAĆ, dipl.ing., prof.savjetnik
Protočnost (engl. pipelining)
2
Samostalne jedinice
3
Pravila pri rastavljanju zadatka
na podzadatke
Konačan rezultat izvođenja slijeda podzadataka u
protočnoj strukturi mora biti jednak rezultatu
izvođenja cjelovitog zadatka
Ulazi u protočni segment i su izlazi iz prethodnog
protočnog segmenta i - 1
Osim izmjene ulaznih i izlaznih podataka ne
zahtijeva se drugi način međudjelovanja protočnih
segmenata
Vrijeme potrebno pojedinim protočnim segmentima
za izvođenje podzadatka treba biti za sve protočne
segmente približno jednako
4
Protočne strukture u računarskom sustavu
5
Protočna izvedba priručne memorije
6
Protočnost upravljačke jedinice
7
Instrukcijska protočna struktura
8
Protočnost
9
Podrobniji dijagram stanja
instrukcijskog ciklusa
12
Slijed sastavljen od podzadataka
1. Pribavljanje instrukcije
2. Dekodiranje instrukcije
3. Izvršavanje instrukcije, tj. izvođenje operacije
na operandima te
4. Upis rezultata
Ovaj slijed bi oblikovao instrukcijsku protočnu
strukturu sastavljenu od četiri protočna
segmenta
13
Višestruko ponavljaje stanja
14
Instrukcijska protočna struktura
za RISC procesore
17
Ostvarivanje cilja: jedna instrukcija u
jednoj periodi signala vremenskog vođenja
18
Ostvarivanje cilja: jedna instrukcija u
jednoj periodi signala vremenskog vođenja
20
Instrukcijska protočna
struktura za CISC procesore
21
Instrukcijska protočna
struktura za CISC procesore
Negativni utjecaj različitih razina složenosti pojedinih
instrukcija
Pojavljuje se dodatno kašnjenje u njihovom izvođenju
Vrijeme potrebno za izvođenje slijeda instrukcija i1, i2,
i3, i4 u protočnoj strukturi iznosi 36 perioda signala
vremenskog vođenja
Faktor ubrzanja obrade u odnosu na neprotočnu
strukturu je 64/36 = 1.77, što je vrlo daleko od
teorijskog ubrzanja koje bi trebalo biti jednako broju
protočnih segmenata, tj. 5.
22
Hazardi u instrukcijskoj protočnoj
strukturi
23
Superskalarni procesori
24
Osnovna značajka superskalarnih
procesora
Prosječan broj perioda po instrukciji (CPI) manji od jedan
To znači da se tijekom jedne periode signala vremenskog
vođenja izdaje i izvršava veći broj instrukcija
Superskalarni procesor iskorištava implicitni paralelizam
koji je sadržan u slijedno napisanim programima
Slijed instrukcija koje bi se trebale izvršavati sekvencijalno
Superskalarnost zahtijeva od procesora da detektira i iskoristi
skriveni paralelizam na razini instrukcija u programima
Superskalarni procesor mora imati veći broj izvršnih
jedinica od kojih je svaka izvedena kao protočna
Ima veći broj nezavisnih instrukcijskih protočnih struktura
25
Načelna organizacija superskalarnog
procesora
sastoji se od:
jednog zajedničkog protočnog segmenta zaduženog za
istodobno pribavljanje tri instrukcije (jedinice za
pribavljanje instrukcija) i
tri nezavisne instrukcijske protočne strukture
26
Izvođenje slijeda instrukcija u
superskalarnom procesoru
istodobno u svakoj
periodi signala
vremenskog vođenja
iz tri nezavisne
protočne strukture
“izlaze” rezultati
triju instrukcija
27
Načelna organizacija superskalarnog RISC
procesora
28
Izvršne jedinice po skupini
30
Primjer izvršavanja instrukcije
Ograničenja superskalarnih procesora
37
Oblici i razine paralelizma
38
Raspoloživi paralelizam
39
Raspoloživi funkcijski paralelizam
40
Raspoloživi funkcijski paralelizam
41
Razlikujemo četiri razine
raspoloživog funkcijskog paralelizma:
42
Raspoloživi podatkovni paralelizam
43
Paralelizam na razini instrukcija
44
Iskorišteni paralelizam
45
Iskorišteni paralelizam
Paralelizam na razini instrukcija isključivo se
koristi u arhitekturi procesora
Paralelizam na razini dretvi i procesa iskorištava
u arhitekturi, ali i u operacijskom sustavu
Paralelizam na korisničkoj razini koristi se na
razini operacijskog sustava:
višezadaćni rad (engl. multitasking)
višeprogramski rad (engl. multiprogramming)
obrada dodjeljivanjem vremena (engl. time-sharing)
46
Podatkovni se paralelizam može
iskoristiti na dva načina
izravno uporabom arhitekture procesora koje
podržavaju paralelne operacije na
podatkovnim elementima (npr. procesori
SIMD arhitekture, procesori upravljani tokom
podataka (engl. data-flow))
pretvorbom raspoloživog podatkovnog
paralelizma u funkcijski tako da se uporabom
naredbi iz viših programskih jezika označe
paralelno izvodljive operacije na podatkovnim
elementima
47
Paralelizam na razini instrukcija
Jednako značajan za RISC i CISC procesore
Ova razina paralelizma podloga je za izvedbu
superskalarnih procesora
Paralelizam na razini instrukcija je implicitni
paralelizam koji prevodilac ili sklopovlje procesora
mora detektirati u slijednom programu
- statički tijekom prevođenja programa ili
- dinamički tijekom izvođenja samog programa
48
Odnos udjela perioda signala perioda ovisno o
broju instrukcija koje se mogu izvesti paralelno
Paralelizam na razini instrukcija
Djelotvornije iskorištenje paralelizma na razini
instrukcija može se postići uporabom
eksplicitnog ili izravno izraženog paralelizma u
samoj specifikaciji instrukcije ili niza instrukcija
Ovaj pristup u arhitekturi računarskog sustava
poznat je pod nazivom VLIW (Very Long
Instruction Word) arhitektura ili EPIC
(Explicitly Parallel Instruction Computing)
50
VLIW arhitektura
(Very Long Instruction Word)
51
VLIW arhitektura
52
Arhitektura VLIW procesora i format VLIW
instrukcije
53
Paralelizam na razini dretvi i procesa
54
Računalni proces vs. Dretva
Stanje procesa:
Aktivno stanje procesa (engl. Running)
Pripravno stanje procesa (engl. Ready)
Blokirani process (engl. Blocked)
Dijagram stanja procesa
Računalni proces
Vektori
Jednodimenzionalna polja koja se satoje od istovrsnih
elemenata – skalarnog tipa podataka
Svaki element jedinstveno određen pomoću indeksa
Vektorski procesori
Što znači:
oba procesa moraju biti sinkronizirana.
Što znači:
oba procesa moraju biti sinkronizirana.