Professional Documents
Culture Documents
Primer 1.
Program u Matlab-u pokazuje razliku izmedju proteklog i procesorskog vremena na
primeru sortiranja 10000 članova nasumično generisanog niza.
clear all;
clc;
%CPU time
tic;
for i=1:n-1
for j=i+1:n
if c(i)>c(j)
temp=c(i);
c(i)=c(j);
c(j)=temp;
end;
end;
end;
CPU_time=toc
Clock cycle time predstavlja vreme trajanja jednog taktnog impulsa i ono je obrnuto
proporcionalno frekvenciji na kojoj radi procesor. Povecanje frekvencije rada procesora
ograniceno je tehnologijom izrade na silicijumskog cipu.
Tokom dugog niza godina radna frekvencija unutar procesora se povecavala, dok se
smanjivala rezolucija tehnologije iste.
Poslednjih godina zaustavljen je rast frekvencije procesora na 3GHz.
Dva kljucna problema koja su zaustavila dalje poboljsanje brzine procesora su:
1. teorijska frekvencija na kojoj mogu raditi poluprovodnicke je 5Ghz i zagrevanje
usled velike radne frekvencije i velikog broja tranzistora u procesoru. GaAs –
50Ghz ima niz prednosti ali je tehnologija izrade komplikovanija.
CPUTime=Clock_cycle_Time*CPI*Instruction_count
CPI=
L(i ) P (i ) 5 * 025 5 * 015 5 * 0.4 3 * 0.15 6 * 0.03 4.75taktova / isntrukciji
PIPELINING
Kod arhitekture starijih procesora instrukcije su izvrsavane jedna za drugom i izvrsenje
naredne instrukcije pocinjalo je tek kada se zavrsi prethodna instrukcija. Pretpostavimo
da svaku instrukciju mozemo podeliti na 5 faza .
Ako svaka faza instrukcije traje 1 taktni interval ( pretpostavka) onda ce za izvrsenje
jedne isntrukcije biti potrebno 5 taktnih intervala, a za izvrsenje 5 isntrukcija bice nam
potrebno 25 taktnih intervala.
Instrukcija i
IF ID MEM EX WB
Instrukcija i+1
IF ID MEM EX WB
Instrukcija i+2
IF ID MEM EX WB
Vreme t
Instrukcija i
IF ID MEM EX WB
Instrukcija i+1
IF ID MEM EX WB
Instrukcija i+2
IF ID MEM EX WB
Instrukcija i+3
IF ID MEM EX WB
Instrukcija i+4
IF ID MEM EX WB
Vreme t
Instrukcija
Instrukcija i
IF ID MEM EX WB
Instrukcija i+1
IF ID MEM EX WB
Instrukcija i+2
IF ID MEM EX WB
Instrukcija i+2
IF ID MEM EX WB
Instrukcija i+3
IF ID MEM EX WB
Instrukcija i+3
IF ID MEM EX WB
b=a;
c=a;
d=a;
m=n;
%Buble sort - najsporiji algoritam;
t1=cputime;
sorted=false;
while sorted ~=true
sorted=true;
m=m-1;
for i=1:m
if b(i,1) > b (i+1,1)
temp=b(i,1);
b(i,1)=b(i+1,1);
b(i+1,1)=temp;
sorted=false;
end;
end;
end;
t1=cputime-t1
%Quick sort
t2=cputime;
for i=1:n-1
for j=i+1:n
if c(i)>c(j)
temp=c(i);
c(i)=c(j);
c(j)=temp;
end;
end;
end;
t2=cputime-t2
OUTPUT
t1 =
9.3125
t2 =
3.3750
t3 =
0.0156
>>
Parametri performansi procesora
CPUTime=Clock_cycle_Time*CPI*Instruction_count
MIPS=1/(Clock_Cycle_Time*CPI*106)
Ovaj parametar nije bas najpouzdaniji pokazatelj performansi jednog procesora jer
njegove vrednosti zavise od primenjenog programa za testiranje, tj od tipa koriscenih
instrukcija. Koristi se kod RISC procesora.
Mnozenje matrica
X=A/B = A*B-1
clear all;
clc;
clf;
i=1;
for n=100:100:2000
clear A;
clear B;
A=randn(n,n);
B=randn(n,1);
tic;
x=A\B;
t=toc;
n;
mflops(i)=(2/3*n^3+2*n^2)/(t*1.e6);
i=i+1;
end;
plot(mflops)
900
800
700
600
500
400
300
200
100
0 2 4 6 8 10 12 14 16 18 20
Operativna
CPU Keš memorija memorija
SRAM DRAM
Vremenom javio se veliki jaz medju brzine rada procesora i operativne memorije pa je
procesor morao da ceka relativno sporu operativnu memoriju kako bi mu isporucila
trazene podatke.
Pristup podatku koji je pronadjen u keš memoriji naziva se pogodak odnosno HIT , a
pristup podatku koji nije u keš memoriji je promašaj MISS.
Stopa pogodaka predstavlja procentualno izražen broj pogodaka u odnosu na ukupan broj
pristupa.
h=hit/(hit+miss)
Zadatak. Procesor poseduje dvostepenu keš memoriju čije vreme pristupa iznosi
L1: tl1=30ns uz verovatnoću da se u njoj nalazi podatak od hl1=60% ,L2: tl2=90ns
hl2=90% ,i operativnu memoriju sa vremenom pristupa od 500ns. OM : top=500ns.
Odrediti prosečno vreme pristupa memorijskom sistemu.
m=1-h
tp=hl1*tl1+1-hl1)*hl2*tl2+(1-hl1)(1-hl2)*top
tp=0.6*30+0.4*0.9*90+0.4*0.1*500=18+32.4+20=70.4ns
(1-hl1)=ml1
(1-hl2)=ml2
Cm=2nm
2.Vreme pristupa
Tc=(Tr+Tu)/2
4.Velicina memorijske lokacije m predstavlja broj bitova koji se u toku jedne operacije
mogu upisati ili procitati iz operativne memorije
Dekoder
Memorijska
kolone
celija
OE – output enable
CS – chip select
R/W – Read/Write’
- 133MHz
- 64 bitna magistrala
- 1 bit/taktu
B=64*133 / 8bita=1064MB/s
2’ DDR ( Double Data Rate Ram)
-133Mhz ( 266Mhz)
-64 bita
- 2 bita po taktu
B=64*266/8=2128MB/s
3’ DDR2
- 533Mhz
- 64 bita
- 4 bita po taktu
B=4256 MB/s
b. virtuelne tehnike
i. Dinamičko straničenje
ii. Dinamički segmenti
iii. Demand Page Segmentation
Glabalno iskorišćenje memorije
0 10 20 30 40 50 60 70 80 90 100 %
Dinamicka segmentacija 90 %
Hardverska greska predstavlja trajan fizicki kvar grupe memorijskih celija koje se ne
mogu koristiti za pouzdano skladistenje podataka. One su prouzrokovane greskama u
proizvodnji ili eksremnim uticajima iz okoline ( elektricno ili mehanicko ostecenje ili
greske u prozvodnji ili slicno). ONE SE NE MOGU ISPRAVITI.
Privremena greska je slucajan ne destruktivan dogadjaj koji menja sadrzaj jedne ili vise
memorijskih celija bez njihovog ostecenja. One su prouzrokovane usled problema sa
napajanjem elekticnom energijom i usled dejstva visoko energetskihj cestica ( ALFA
cestice).
10110011 | 1
Ecc kodovi (Error Corection Code)
Signal greske
Ispis podataka
korektor
m
Upis podataka m k
f
k Memorija k Poredjenje
f
Prilikom upisa podatka u memoriju izvodi se proracun nad n bita podatka koji je opisan
funkcijom f kako bi se proizveo kod duzine k bitova. U memoriji se skladisti i kod i
podaci. Prilikom citanja podataka iz memorije kod se koristi kako bi se otkrile i spravile
eventualne greske. Na osnovu n bita procitanog podatka formira se skup od n bitova koda
koji se poredi sa kodom uskladistenim u memoriji. Rezultat ovog poredjenja moze biti:
1. Nije detektovana greska i podatak se moze proslediti u izlazni buffer.
2. Otkrivena je greska koja se moze korigovati , osteceni podatak i kod za
ispravljanje greske se prosledjuju korektoru koji u izlazni buffer upisuje
ispravljen(ispravan) podatak.
3. Otkrivena je greska koja se ne moze ispraviti i prosledjuje se signal greske.