You are on page 1of 22

Glava1

Uvod

Sadraj

Uvod 1.1. Multiprogramski sistemi........................... 1.2 a) Racionala multiprogramskih sistema. 1. !) "ardverske inovacije koje su omogu#ile M$S. 1.% v) &ernel multiprogramskog sistema.. 1.' 1.2. &onkurentni programi.. 1.1( a) $rimeri konkurentnih programa... 1.1( !) )storijat konkurentnog programiranja. 1.1% 1. . "ardverska okruenja.. 1.1* a) +l,nn-ova klasi.ikacija... 1.1/ !) M)M0 ma1ine. 1.12 v) 3ipi4ne organi5acije multiprocesora... 1.1'

2.

&67&UR87376 $R6GR9M)R97:8

1.1. Multiprogramski sistemi


Uniprogramski sistemi
;Ra4unarski) sistem koji u jednom trenutku moe da i5vr1ava samo jedan korisni4ki program.

Multiprogramski sistemi
;Ra4unarski) sistem koji moe simultano da i5vr1ava vi1e korisni4kih programa. &orisni4ki programi su po pravilu ne5avisni< a koriste 5ajedni4ke resurse ;procesor;e)< memorije< )=6 ure>aje< datoteke< !i!lioteke< ...).

Ra4unarski sistem
)ntegracija hardverskog i so.tverskog okruenja.

"ardversko okruenje
)ntegracija ra4unarskih jedinica? procesor;i) [@$U]< memorijski !lokovi< )=6 ure>aji i sprene komponente.

So.tversko okruenje ;6perativni Sistem)


)ntegracija sistemskih programa? eg5ekutiv ;monitor< supervaj5or)< procesor komunikacionog je5ika< linkeri< je5i4ki prevodioci< di!ageri ;de!ugger)< editori i usluni programi ;Utilit, so.tAare).

1. Uvod

a)

Racionala multiprogramskih sistema

Bolje kori1#enje sistemskih resursa.

)=6

@$U

9 gotov

B gotov

)=6

@$U

9 got ov &orisnik 9 &orisnik B 7eiskori1tena jedinica

B got ov

;)=6 - @$U)

Slika 1. Racionala multiprogramskih sistema

(.

&67&UR87376 $R6GR9M)R97:8

Cremenska podela procesora i5me>u vi1e ;interaktivnih) korisnika.

CR8M8 38RM)79D9 @$U9 @$UB @$U@ t t

9 gotov Cremenski interval dodele procesora ($rocessor 3ime Slice)

B gotov

@ gotov

9 B @ 9 B@ 9 B @ 9 B9 B

@ gotov

B gotov

9 gotov

&orisnik &orisnik &orisnik

9 B @ )nteraktivni korisnici

Slika 2. Cremenska podela procesora i5me>u vi1e ;interaktivnih) korisnika Sistemi sa vremenskom podelom procesora ;3)M8 S"9R)7G SES38MS). Strategija podele vremena procesora? R6U70-R6B)7< sa stati4kim prioritetima i sa dinami4kim prioritetima.

1. Uvod

%.

!) "ardverske inovacije multiprogramske sisteme


)=6 procesori ;kontroleri< kanali).

koje

su

omogu#ile

M8M6R):9 ;6$8R93)C79) M

S39R3)6 @ $ S 1 U )738R9$3 ;)=6 5avr1en) )=6 )=6 procesor

)=6 ure>aj 0 1-*F mS

Slika . Multiprogramski sistemi Uop1teni o!lik instrukcije 5a )=6? Primer 1.


S39R3)0 ;did< op< sts< B)

Arite ;did<.) B read ;did<.) B


;adr< n!)

Slika (. 6p1ti o!lik instrukcije )=6 procesora gde je? did? - ;traka< disk< 1tampa4< terminal< kartica< ...) identi.ikacija )=6 ure>aja. op - ;ula5< i5la5< kontrola) kod operacije. sts - ;prenosGuspe1noG5avr1en< potre!naGintervencija< otka5< krajGdatoteke< krajGmedijuma< ...)

*.

&67&UR87376 $R6GR9M)R97:8

i5la5ni status-kHd. B:array [1..N] of char(N=1, 80, 132, 256, 612, ...) )=6 !a.er. 7ared!a S39R3)6 signali5ira )=6 procesoru da moe da 5apo4ne )=6 operaciju i !lokira proces ;9 B) koji ju je i5dao. Sada @$U moe da se dodeli nekom drugom procesu< a )=6 procesor asinhrono ;ne5avisno do @$U) radi na i5vr1enju )=6 operacije. &ada se )=6 operacija ;uspe1no ili neuspe1no) 5avr1i< )=6 procesor I1aljeI interapt u @$U. 6perativni sistem tada 5na da moe ponovo da aktivira proces koji je traio )=6 ;B 9).6!ja1njenje ? 9 o5na4ava proces u stanju i5vr1avanja;aktivan proces)<a B proces koji je !lokiran;suspendovan proces).)=6 je skra#enica 5a ula5no-i5la5nu operaciju.

)738R9$3
9lgoritam rada procesora !e5 interapta?

pc := pco; psw := pswo;

Broja4 instrukcija . Status procesora.

repeat w := M [pc]; pc := pc + 1; INST (w, pc, psw, M); until stop;

startovanje programa

Ca>enje instrukcije i5 memorije. )nkrementiranje !roja4a instrukcija. )nterpreatacija instrukcije ;i5vr1enje programa u mikro-kodu).

9lgoritam rada procesora sa interaptom ;primitivna=upro1#ena ver5ija) pc := pco; psw := pswo; ic := 0; ie := true; Broja4 instrukcija. Status procesora. U po4etku nema interapta. )nterapt omogu#en .

startovanje programa

1. Uvod

/.

repeat w := M [pc]; Ca>enje instrukcije i5 memorije. pc := pc + 1; )nkrementiranje !roja4a instrukcija. INST (w, pc, psw, M, ic); if ic > 0 and ie then ; 9ko je nastao interapt i ako je interapt do5voljen. begin ie := false; ... tada 5a!rani dalje interapte. push (pc); Japamti pc i psA ;preko steka). push (psw); psw := ivec [ic].psw; 7apuni psA i pc vrednostima i5 interapt vektora ;ivec). pc := ivec [ic].pc; end until stop 6!ja1njenje ? $SK-$rocessor Status Kord je pose!an registar ;registar stanja) unutar @$U-a koji 4uva stanja ;statuse)< tj.in.ormacije o stanjima odre>enih registara po poslednjoj i5vr1enoj operaciji. Svaki !it registra postavlja se ne5avisno i registruje odre>enu situaciju nastalu posle i5vr1enja nared!e. 7a primer $SK sadri slede#e !itove? -sadraj akumulatora nula;J-!it) -sadraj akumulatora negativan ;7-!it) -sadraj akumulatora po5itivan ;$-!it) -postoji prenos;$-!it) -postoji prekora4enje ;C-!it) $ored navedenih sadraja< u nekim ra4unarima u $SK registru postoje i polja 4ije se vrednosti postavljaju posle operacija pore>enja sadraja odre>enih registara procesora. $@-$rogam @ounter ili !roja4 nared!i je tako>e pose!an registar koji sadri adresu slede#e nared!e koja tre!a da se i5vr1i u programu.

2.

&67&UR87376 $R6GR9M)R97:8

)nterapt je hardverski mehani5am koji nas ;programere) oslo!a>a od o!ave5e da posle svake ma1inske isntrukcije ;so.tverski) ispitujemeo da li je nastao uslov 5a prekid rada procesora ;5avr1enja programa) i prela5 na i5vr1enje drugog programa ;interapt procedure).

$rocedura interapt ;)738RRU$3 "970D8R)


iproc; $repi1i registre ;one koji se menjaju) ........................................ napuni registre. )nterapt procedura je odra>ena. 6mogu#i dalje interapte. 7apuni psA i pc vrednostima koje je procesor imao u trenutku interapta.

RET

ic := 0; ie := true; pop (psw); pop (pc);

gde je? pc

Registar !roja4a instrukcija ;$rogram @ounter). Psw Status procesora ;$rocessor Status Kord). W Registar instrukcije ;)nstruction Register). M : array [1 .. N] of word - 6perativna memeorija ;u kojoj se nala5e program i podaci). ic : (1, 2, ..., M) - &od vrste interapta ;)nterapt @ondition). ie : boolean - )ndikator do5vole interapta? ;ie ?L true - interpat do5voljen i ie ?L .alse - interpat 5a!ranjen)M ivec : array [1 .. M] of record - )nterapt vektor). psw : word; pc : word end

6!ja1njenje? $o 5avr1etku interapt procedure $SK registar se puni vrednostima koje su upisane na stak;predhodni sadraj $SK-a) u momentu kada je nastao interapt.

1. Uvod

'.

)R83 od )738R9$3 R83UR7 o5na4ava povratnu proceduru koja se odvija po 5avr1enoj interapt proceduri.

v) &ernel multiprogramskog sistema


0eo eg5ekutiva 4iji je 5adatak da vr1i raspodelu vremena procesora i5me>u korisnikovih i sistemskih procesa. 6n stvara ilu5iju da svaki proces ima svoj privatni procesor ;@$U) Ivirtuelni procesorI. 6!ja1njenje? 8g5ekutiv ;monitor< supervi5or) je deo 6S-a< sistemski program

$R6@8S

$R6@8S

$R6@8S

trap ;SC@) N startio O S93 R89D76G CR8M879 )nterapt )nterapt

&8R78D

)=6

Slika %. &ernel mulitprogramskog sistema $R6@8S L "9R0C8RS&) &6738&S3 P S6+3C8RS&) &6738&S3 P 90R8S7) $R6S36R

Status procesa

1F.

&67&UR87376 $R6GR9M)R97:8

U adresnom prostoru procesa nala5i se? 1) stek procesa i 2) i5vr1ni kHd ;image). 6!ja1njenje? 7a steku procesa 4uvaju se povratne adrese procesa posle interapta< kao i adrese povratka i5 podprograma ;ako proces koristi podprograme). $roces ima tri osnovna stanja? aktivno ;RU77)G)< spremno ;R890E) i !lokirano ;BD6@&80< K9)3)7G). Svakom procesu odgovara jedan proces deskriptor. Svi proces deskriptori su grupisani ;ulan4ani) u po jednu od procesnih lista. &ernel odrava slede#e procesne liste?

Dista aktivnih procesa ;9) 9ko sistem ima jedan procesor< ova lista ima samo jedan 4lan - proces deskriptor aktivnog procesa. Diste spremnih procesa ;R) Svakom nivou prioriteta procesa odgovara po jedna lista spremnih procesa. Diste !lokiranih procesa ;Bi) Svakom )=6 ure>aju< ili nekom drugom ra5logu 5a !lokiranje procesa odgovara po jedna lista !lokiranih procesa.

1. Uvod

11.

$R6@8S6R 08S&R)$36R ;$0) "9R0C8RS&) &6738S3 S6+3C8RS&) &6738S3

{
{
kod

-6p1ti registri -$oka5iva4 steka -Broja4 instrukcija -Status procesora -Bi5nis registri

;gr) ;sp) ;pc) ;ps) ;BR1<BR2)

-)denti.ikacija procesaM -3eku#e stanje procesaM -3eku#i prioritetM -9dministrativni podaci procesa

BR1 $@

$R6@8S 1 $R6@8S 2 $R6@8S kod

kod

...
S$ BR2

$R6S36R &6R)S7)&6C)" $R6@8S9

stek

stek

stek S)S38MS&) $R6S36R

$R6@8S 08S&R)$36R) S)S38MS&) $R6@8S) )738R9$3 S38&

Slika *. 3ipi4an i5gled adresnog prostora mulitprogramskog sistema 6!ja1njenje ? 7a gornjoj slici i1ra.iran prostor je pra5an prostor 5a varija!le datih procesa.

12.

&67&UR87376 $R6GR9M)R97:8

9
$

$0

$0

$0

$0

$-1

$0

B1

$0

$0

$0

$0

B2

Bn J9GD9CD:9 $R6@8S7)" D)S3) " 3

$0 $6Q839& D)S38 &R9: D)S38

$0

$0

Slika /. $rocesne liste koje odrava kernel 8lementarne operacije kernela? Blokiranje procesa ;9 Bi) 1. prepisivanje svih registara procesora u proces deskriptor aktivnog procesa< 2. stavljanje proces deskriptora aktivnog procesa u listu Bi ;na kraj) i . dekrementiranje steka 5a dve re4i ;pc< psA).
6!ja1njenje? adrese na steku rastu od vrha prema dnu< 5ato stoji dekrementiranje ; tj. stek raste od vi1ih ka niim adresama ).

1. Uvod

1 .

$rijempcija procesa ;9 R) 1. prepisivanje svih registara procesora u proces deskriptor aktivnog procesa< 2. stavljanje proces deskriptora aktivnog procesa u listu R;p) ;na kraj) i . dekrementiranje steka 5a dve re4i ;pc< psA). 0e!lokiranje procesa ;Bi R) 1. va>enje proces deskriptora i5 liste Bi ;sa po4etka) i 2. stavljanje proces deskriptora u listu R;p) ;na kraj). 9ktiviranje procesa ;R 9) 1. odre>ivanje najvi1eg prioriteta p 5a koji lista R;p) nije pra5na 2. va>enje proces deskriptora i5 liste R;p) ;sa po4etka)< . stavljanje proces deskriptora u listu 9< (. punjenje svih registara ;osim pc i psA) procesora sadrajem i5 proces deskritptora< %. stavljanje vrednosti pc i psA i5 proces deskriptora na stek ;push;pc)M push ;psA)) i *. povratak i5 interapta.

8lementarne operacije kernela vr1e se u reimu 5a!rane interapta.

Glavne ;interapt) procedure kernela


Reakcija na interapt sata? 9B prijempcija aktivnog procesa kome je isteklo vreme i R9 aktiviranje novog procesa ;spremni proces sa najvi1im prioritetom? R6U70-R6B)7) Reakcija na 3R9$ S39R3)6? 9 Bd !lokiranje aktivnog procesa koji je traio )=6 ;ure>aj d) i R9 aktiviranje spremnog procesa sa najvi1im prioritetom. Reakcija na interapt )=6 ure>aja? 9B prijempcija aktivnog procesa< Bd R de!lokiranje procesa 5a koji je 5avr1en )=6 ;na ure>aju d) i R9 aktiviranje spremnog procesa sa najvi1im prioritetom. 6vo su elementarne procedure kernela u jednom multiprogramskom sistemu.

1(.

&67&UR87376 $R6GR9M)R97:8

Ja podr1ku komunikacije i sinhroni5acije procesa tre!a dodati nove procedure ;odeljak 2. ).

1.2. &onkurentni programi


&onkurentno programiranje?
pisanje konkurentnih programa

&onkurentni programi?
Skup kooperativnih sekvencijalnih programa ;procesa) koji se i5vr1avaju simultano na ra4unarskom sistemu i koji rade na jednom 5ajedni4kom 5adatku ;jedan IkorisnikI). 6!ja1njenje ? simultano ;paralelno). $rocesi konkurentnog programa koriste 5ajedni4ke resurse ra4unarskog sistema i me>uso!no i5menjuju podatke i signale. Ja i5vr1enje konkurentnih programa nije neophodan multiprogramski sistem. Minimalni uslov je kernel koji pored glavnih procedura ;1.1F) ima i dopunske procedure koje podravaju komunikaciju i sinhroni5aciju procesa ;primitive kernela).

a) $rimeri konkurentnih programa

)n.ormacioni sistemi sa vi1e interaktivnih korisnika. ;npr? re5ervacije karata) Sistemi 5a upravljanje procesima u realnom vremenu. ;npr? rad u termoelektrani) Sistemi 5a upravljanje ro!otima i manipulatorima. Simulatori i trenaeri kod kojih se simuliraju sistemi sa vi1e simultanih aktivnosti. ;npr? simulator sistema pilotske ka!ine) 6perativni sistemi ra4unara koji su predvi>eni 5a rad u realnom vremenu. 6perativni sistemi multiprogramskih sistema ;multiprogramski operativni sistemi). $rimer 5a konkurentni program je operativni sistem K)706KS 73.

1. Uvod

1%.

!) )storijat konkurentnog programiranja


1'%%-1'*F. $eriod hardverskih i5a5ova? velike operativne memorije< asinhroni peri.erali i interapt. 1'*F-1'*%. $eriod so.tverske kri5e? multiprogramski operativni sistemi ;postaju sve kompleksniji i sve nepou5daniji)< MUD3)@S - 2FF 4ovek-godina< 6S *F - %FFF 4ovek-godina ;1FFF gre1aka po reli5u). po4inje traganje 5a so.tverskim konceptima koji !i omogu#ili da se sloeni monolitni operativni sistemi podele u manje asinhrone module sa vremenski ne5avisnim pona1anjem. 1'*%-1'/%. $eriod konceptualnih inovacija? koncept procesa< 1'*2. 8.0ijkstra? I@ooperating SeRuential $rocessesI< I3he structure o. the Multiprograming S,stemI< kriti4ni region< sema.ori< hijerarhijsko struktuiranje< 1'/ . $.Brinch-"ansen? I6perating S,stems 6.S. $rinciplesI< 1'/(. @.9.R."oare? IMonitor? 9n 6perating S,stem Structuring @onceptI< koncept monitora< 1'/%. $eriod vi1enivojskih je5ika 5a konkurentno programiranje. 1'/%. $.Brinch-"ansen? I@oncurent $ascalI. 1'//. 7.Kirth? IModulaI. 1'/2. @.9.R."oare? I@S$I. 1'2F. $.Brinch-"ansen? I80)S67I. 1'22. 7.Kirth? IModula 2I.

1*.

&67&UR87376 $R6GR9M)R97:8

1. . "ardverska okruenja
a) +l,nn-ova klasi.ikacija ra4unara S)S0 - ma1ine
Single )nstruction Stream - Single 0ata Stream. 6!rada je slede#a ? podaci se u5imaju seriski ;podatak po podatak)<a i instrukcije tako>e jedna po jedna< te se tako i i5vr1avaju ;jedna instr. po jednom podatku).

S)M0 - ma1ine
Single )nstruction Stream - Multiple 0ata Stream ;9RR9E procesori< )DD)9@ )C). 6!rada je slede#a? podaci se u5imaju u grupi< a njih 5ajedno o!ra>uje jedna instrukcija. )nstrukcije se u5imaju jedna po jedna ;jedna instr. na grupu podataka). Recimo< )738D $873)UM procesor sa MMS mogu#nostima radi na ovaj na4in< 1to dovodi do u!r5anja u gra.i4ki orjentisanim aplikacijama i 5a!avnom so.tveru ;igre).

M)S0 - ma1ine
;Multiple )nstruction Stream - Single 0ata Stream). 6!rada je slede#a? ova vrsta ra4unara moe da i5vr1i vi1e instrukcija paralelno nad jednim podatkom ;vi1eprocesorski sistemi< pipeline ma1ine).

M)M0 - ma1ine
;Multiple )nstruction Stream - Multiple 0ata Stream). 6!rada je slede#a ? ra4unari koji rade paralelno na vi1e instrukcija i podataka ;vi1eprocesorski sistemi< lokalne ra4unarske mree). Ci1eprocesorski sistem se sastoji od vi1e procesora koji i5vr1avaju ra5li4ite programe ili ra5li4ite segmente istog programa istovremeno. Glavnu memoriju o!i4no dele svi procesori. U 5avisnosti da li procesor moe direktno da pristupi memoriskoj lokaciji ili ne ra5likujemo dva tipa vi1eprocesorskih sistema ? 4vrsto spregnuti i la!avo spregnuti .

1. Uvod

1/.

!) M)M0 ma1ine MUD3)$R6@8S6R)


Ra4unarski sistemi sa vi1e procesora koji komuniciraju preko 5ajedni4ke memorije. -Ci1eprocesorski sistemi sa 5ajedni4kim adresnim prostorom. -:ako spregnuti sistemi ;3ightl, @oupled S,stems). 6!ja1njenje? kod jako spregnutih svi procesori dele isti memoriski adresni prostor i svi procesori mogu direktno pristupiti glo!alnoj glavnoj memoriji. Qvrsto spregnuti sistemi mogu koristiti glavnu memoriju 5a me>uprocesorsku komunikaciju i sinhroni5aciju. 0eljena memorija je o!i4no podeljena na nekoliko modula kojima istovremeno mogu pristupati ra5li4iti procesori. Memoriski suko! ;memor, contention) se javlja kada dva ili vi1e procesora istovremeno poku1aju da pristupe istom memoriskom modulu.3ada #e !iti ispunjen 5ahtev samo jednog procesora. Jahtevi ostalih procesora mogu !iti stavljeni na listu 4ekanja.

;D6&9D78) R9QU79RS&8 MR8T8


Ra4unarski sistemi sa vi1e procesora koji rade isklju4ivo na lokalnim memorijama< a komuniciraju isklju4ivo preko )=6 kanala. Ci1eprocesorski sistemi sa ra5dvojenim adresnim prostorima. Sla!o spregnuti sistemi ;Doosel, @oupled S,stems). Sistemi sa distri!uiranom memorijom. 6!ja1njenje ? Glavna memorija kod sla!o spregnutih sistema je i5deljena i pridruena procesorima. Svaki procesor ima vlastiti adresni prostor. Stoga procesor ne moe direktno pristupiti memoriji dodeljenoj drugom procesoru. 6vi sistemi 5a me>uprocesorsku komunikaciju i sinhroni5aciju mogu korisiti samo prosle>ivanje poruka.

12.

&67&UR87376 $R6GR9M)R97:8

v) 3ipi4ne organi5acije multiprocesora


6rgani5acija ra4unarskog sistema
topologija me>uso!nog pove5ivanja njegovih .unkcionalnih jedinica. ;na4in pove5ivanja @$U-a sa memorijom i )=6 ure>ajima) 9rhitektura ra4unarskog sistema algoritmi implementirani u njegovim .unkcionalnim jedinicama ;npr. skup ma1inskih instrukcija< itd.). Ce5a preko 5ajedni4ke magistrale - 3ime-Shared ;@ommon) BUS

@$U

@$U

@$U

)=6

)=6

)=6

J9:807)Q&9 M8M6R):9 GD9C79 M9G)S3R9D9 ;GM)

)=6 &673R6D9

S$R8G9 S9 GM

S$R8G9 S9 GM

D6&9D78 M9G)S3R9D8 M @$U M @$U

)=6 &673R6D9

)=6 &673R6D9

Slika 2. Ce5a preko 5ajedni4ke magistrale

1. Uvod

1'.

6!ja1njenje? Jajedni4ki BUS se koristi od strane vi1e .unkcionalnih jedinica multiprocesorskog sistema i to u deljenom vremenu. 3ipi4an takav ra4unarski sistem je $0$-11. Jajedni4ki BUS je 5ajedni4ki i 5a adrese i 5a podatke. U jednom vremenskom intervalu samo jedan par ure>aja moe da odvija komunikaciju ;npr @$U sa nekim od )=6 ure>aja< a tada M8M6R):9 ne moe da komunicira sa )=6 i o!rnuto).3o predstavlja manu organi5acije multiprocesorskog sistema organi5ovanog oko 5ajedni4kog !usa ;kada se 5au5me !us od strane nekog svi ostali 4ekaju na BUS). &onceptualno ovo je najjednostavnija arhitektura vi1eprocesorskog sistema. Daka je 5a implementiranje i relativno je.tina. 0eljena memorija tako>e predstavlja i5vor suko!a ;memor, contention). J!og ograni4enog propusnog opsega magistrale ova arhitektura moe podrati samo ograni4en !roj procesora. 6vaj pro!lem mogu#e je preva5i#i kori1#enjem vi1estrukih magistrala. U sistemu sa 7 magistrala moe se istovremeno odvijati 7 prenosa podataka i5medju procesora i memorija ili nekih drugih ure>aja. Ce5a preko prekida4ke mree - @ross!ar SAitch MatriU)

Slika '. Ce5a preko prekida4ke mree 6!ja1njenje ? 6vde je ostvarena mogu#nost vi1e kanala 5a istovremeno preklapanje. $rekida4ka mrea ili matrica omogu#ava ve5u i5me>u jedinica sistema. 7a svakoj ta4ki ukr1tanja ove mrene strukture postoji prekida4. Mrea omogu#uje ekslu5ivnu ve5u i5me>u !ilo kojeg para ure>aja sistema. Svi procesori u sistemu mogu istovremeno pristupiti ostalim jedinicama ;mem. modulima i ure>ajima)

2F.

&67&UR87376 $R6GR9M)R97:8

pod uslovom da svaki procesor pristupa ra5li4itom ure>aju. 6vde suko! moe da se javi samo na nivou memoriskog modula. 6vi sistemi mogu !iti nepogodni 5!og kvadratnog rasta !roja prekida4a u odnosu na veli4inu sistema ;n U n) ako postoji n procesora i n ure>aja ;mem. moduli P i=o ure>aji). 3ipi4an predstavnik ove arhitekture je SG) ;Silicon Graphics )ndigo) .amilija ra4unara i5u5etnih gra.i4kih per.ormansi. Ce5a preko multiport-memorija
@$U @$U

M
2 2

M
2

M
2

C)V8S3RU&8 M9G)S3R9D8

)=6

)=6

Slika 1F. Ce5a preko multiport memorija +unkcija prekidanja i ar!itrae je distri!uirana po memorijama. 6!ja1njenje ? &od multiport memorija postoji mogu#nost istovremenog pristupa od strane ra5li4itih ure>aja ;npr ? @$U i )=6). 0akle< ovde je do5voljeno 4itanje i pisanje sa vi1e strana. 7pr. u slu4aju gra.i4kih kartica 5a personalne ra4unare< u gra.i4ki memorijski modul na gra.i4koj kartici @$U upisuje podatke o slici< a to sa druge strane is4itava )=6 ure>aj ;gra.i4ki kontroler). 3e is4itane podatke i5 gra.i4ke memorije gra.i4ki kontoler koristi da !i kasnije prika5ao sliku na ekranu monitora. 0anas se ovaj pristup koristi kod nanovijih gra.i4kih kartica s tim da @$U postoji i na samoj kartici.

1. Uvod

21.

7apredne arhitekture?
Ci1enivojska spojna mrea Ci1enivjoska spojna mrea je kompromis i5me>u !us-a i cross-!ar mree. 6na do5voljava istovremeno ve5e i5me>u nekoliko parova procesor-memorija. 3ipi4na vi1enivjoska spojna mrea sastoji se od nekoliko nivoa prekida4a. Svaki nivo sadri jednak !roj mrenih prekida4a iste veli4ine ;npr. 2U2 ili (U(). )5la5i prekida4a jednog nivoa su spojeni sa ula5ima prekida4a narednig nivoa. Ce5e su i5vedene na taj na4in da !ilo koji ula5 moe !iti spojen sa !ilo kojim i5la5om mree ;pode1avanjem prekida4a na svakom nivou). 6visno o tome koliko ve5a moe !iti uspostavljeno i5me>u susednih nivoa postoje !rojni tipovi mrea. $utanja i5me>u procesora i memorijskog modula je 5adata !inarnim stringom i5vedenim i5 !inarne adrese prosesora i memorijskog modula. Bit na i-om mestu stringa odre>uje na koji i5la5 #e ula5ni podatak !iti prosle>en na i-on stepenu mree. N N vi1enivojska mrea pove5uje N procesora sa N memorijskih modula. 9ko je N = 2 K < sastoja#e se od k = log 2 N nivoa sa 2U2 ;2 ula5a i 2 i5la5a) prekida4ima< sa ukupno N / 2 prekida4a na svakom nivou. 3ako vi1enivojska mrea dimen5ija N N 5ahteva samo N / 2 log 2 N prekida4a u uspored!i sa N N prekida4a kod cross!ar arhitekture.
$rimer? slika prika5uje 2U2 6mega vi1enivojsku spojnu mreu koja je konstruisana od 2U2 prekida4a. $ostoji jedinstvena putanja i5me>u svakog para procesor-memorija. U ovom slu4aju putanja kro5 mreu je potpuno odre>ena adresom odredi1nog memorijskog modula. 9ko je i-ti !it odredi1ne adrese F ula5 i-og nivoa #e !iti prosle>en na gornji i5la5. 9ko je i-ti !it odredi1ne adrese 1 ula5 #e !iti prosle>en na donji i5la5. 7pr. svaki procesor moe pristupiti modulu M2 ;sa adresom 111) jednostavno pove5uju#i ula5 svakog stepena sa niim i5la5om.

Suko! se moe pojaviti u prekida4kom stepenu 4ak i kad dva procesora poku1avaju da pristupe ra5li4itim memorijskim modulima. 7pr. $2 poku1ava da pristupi M1 istovremeno kada i $* pristupa M(. U slu4aju suko!a u prekida4kom stepenu samo jedan 5ahtev prola5i dok drugi propada tako da njegov procesor mora ponovo da poku1a.

22.

&67&UR87376 $R6GR9M)R97:8

3ra#enje propusnog opsega mree moe se i5!e#i postavljanjem !a.era u svakom prekida4u< tako da se kon.liktni 5ahtevi ne od!acuju ve# prosle>uju sa malim 5aka1njenjem. "ipercu!e arhitektura Ci1eprocesorske arhitekture na !a5i hiperkocke su 5na4ajne kod sistema sa velikim !rojem procesora. U n-to stepenoj hiperkocki 2 n 4vorova su ure>eni u n-dimen5ionalnu kocku gdje je svaki 4vor pove5an sa n drugih 4vorova. Svakom od 2 n 4vorova hiperkocke dodeljena je jedinstvena n-!itna adresa tako da se adresa susednih 4vorova ra5likuje u samo 1 !itnoj po5iciji. 3ako se 4vorovi u i-dimen5ionalnoj okolini nekog 4vora ra5likuju od adrese tog 4vora samo u i-om !itu ;vidi sliku). Maksimalna udaljenost !ilo koja dva 4vora u hiperkocki je n. Stoga ka1njenja u propagaciji podataka u hiperkocki rastu logaritamski sa pove#anjim !roja 4vorova pa su takve arhitekture visoko skala!ilne. Generalno< prenos podataka od jednog procesora ka drugom ide preko nekoliko drugih procesora. Stoga se hiperkocka arhitekture ve#inom koriste 5a pohrani-prosledi me>uprocesorsku komnikaciju u la!avo spregnutim vi1eprocesorskim sistemima.

-0 hiperkocka