Sunteți pe pagina 1din 10

10/17/2014

Arhitektura računara i
operativni sistemi
Dr Dejan Simić, dsimic@fon.rs
Fakultet organizacionih nauka
Univerzitet u Beogradu

10/17/2014 1

AMDAHL’S LAW

10/17/2014 2

1
10/17/2014

Radni takt procesora


sinhroniše sve operacije centralnog
procesora (CPU) i magistrala (BUSs)
mašinski takt meri vreme jedne
operacije
radni takt se koristi za aktiviranje
događaja
one cycle

10/17/2014 3

Radni takt procesora - nastavak


Frequency in Hz Equivalent Frequency in Cycles per second

1 THz 1012 cycles per second

1 GHz 109 cycles per second

1 MHz 106 cycles per second

1 kHz 103 cycles per second

1 Hz 1 cycle per second

one cycle

10/17/2014 4

2
10/17/2014

Vreme taktnog ciklusa


frekvencija f = broj ciklusa/sec
Vreme taktnog ciklusa = 1/frekvencija =1/f

PRIMER:
1 GHz = 1000000000 cycles/second
Vreme taktnog ciklusa = (1/1000000000) sec
= 10-9 sec
= 1 nsec

10/17/2014 5

Ciklus izvršavanja instrukcije


PC program
I-1 I-2 I-3 I-4

memory fetch
op1
read
op2
registers registers
instruction
I-1 register
decode
write

write

flags ALU

execute
(output)

10/17/2014 6

3
10/17/2014

Faze u kojima se koriste podaci

10/17/2014 7

Vreme izvršavanja programa - Primer


Radni takt procesora je 1 THz.
Prosečan broj ciklusa za:
Uzimanje instrukcije = 2 ciklusa,
Uzimanje operanada = 2 ciklusa
Izvršavanje = 4 ciklusa,
Analiza i upisivanje = 0 ciklusa
Broj ciklusa za program od 2000 instrukcija?
U kojim jedinicama se meri vreme potrebno za izvršavanje
programa koji ima 2000 instrukcija?
Rešenje:
1 instrukcija ima 2+2+4 = 8 ciklusa
Broj ciklusa za izvršenje programa = 8 * 2000 = 16000
Vreme izvršavanja programa = (16000/1012) secs = 16 nsecs

10/17/2014 8

4
10/17/2014

Serijsko izvršavanje programa

10/17/2014 9

Paralelno izvršavanje programa

10/17/2014 10

5
10/17/2014

Amdahl’s Law - Formula


f – deo koda koji se može paralelizovati
bez dodatnog opterećenja zbog
raspoređivanja (scheduling overhead)
(1-f) – deo koda koji je prirodno
serijski (sekvencijalno izvršavanje)
T – ukupno vreme izvršavanja datog
programa na jednom procesoru

10/17/2014 11

Amdahl’s Law - Formula


f – deo koda koji se može paralelizovati
bez dodatnog opterećenja zbog
raspoređivanja (scheduling overhead)
(1-f) – deo koda koji je prirodno
serijski (sekvencijalno izvršavanje)
T – ukupno vreme izvršavanja datog
programa na jednom procesoru

10/17/2014 12

6
10/17/2014

Amdahl’s Law - Zaključci


ako je f malo, tada paralelni procesori
imaju mali efekat.
kada N ∞, tada je ubrzanje
ograničeno sa 1/(1 – f), pa povećanjem
broja procesora dobit je sve manja.
1
Speedup =
f
(1 − f ) +
N
10/17/2014 13

Primeri sistema sa primenom


paralelizacije izvršavanja koda
Server može da radi sa više niti ili
zadataka paralelno da bi opslužio
klijente, sve do ograničenja koje je
izraženo brojem procesora.
Proračun nad bazom podataka može da
obuhvati velike količine podataka, što se
može podeliti u više paralelnih
zadataka.

10/17/2014 14

7
10/17/2014

CPU (Execution) Time

Seconds
CPU time =
Program

= Cycles x Seconds
Program Cycle

Instructions x Cycles x Seconds


=
Program Instruction Cycle

10/17/2014 15

CPI (Broj ciklusa po instrukciji)


n

∑ ( CPIi x Ii )
CPI =
i=1

Instruction Count

CPI primer
Instruction Class Frequency CPIi
ALU operations 43% 1
Loads 21% 2
Stores 12% 2
Branches 24% 2

CPI = 0.43 x 1 + 0.21 x 2 + 0.12 x 2 + 0.24 x 2

10/17/2014 16

8
10/17/2014

Faktori koji utiču na procesorsko vreme


(CPU Time)
Seconds Instructions Cycles Seconds
CPU time= Program = Program x Instruction x Cycle

Instructions Cycles Seconds


Program Instruction Cycle
Program ∨
Compiler ∨
ISA ∨ ∨
Organization ∨ ∨
Technology ∨

10/17/2014 17

Performanse
“X je n puta brže od Y” znači:
Execution TimeY
= n
Execution TimeX

“X je n% brže od Y” znači:
Execution TimeY n
= 1+
Execution TimeX 100

“X je n redova veličine brže od Y” znači:


Execution TimeY
Execution TimeX
= 10n

10/17/2014 18

9
10/17/2014

Interakcija sa OS
Većina današnjih OS podržava rad sa više
jezgara procesora (multi-core).

OS komunicira sa svakim jezgrom kao sa


posebnim procesorom.

OS planer (scheduler) thread-ove/procese


mapira na različita jezgra.

10/17/2014 19

Deljena i distribuirana memorija

Deljena memorija Distribuirana memorija

10/17/2014 20

10