Magistrala (računarstvo)

S Vikipedije, slobodne enciklopedije

Magistrala ili sabirnica je podsistem koji prenosi podatke ili napajanje između komponenata unutar računara ili između računara, kontrolisan softverom poznatim pod imenom drajver. Za razliku od tačka-tačka povezivanja, magistrala može povezati nekoliko perifernih uređaja preko istog skupa žica. Svaka magistrala definiše svoj skup veza prema uređajima.

Kod starijih računara magistrale su bile doslovno paralelne električne veze, ali danas se termin paralelna magistrala koristi za bilo koje uređenje koje obezbeđuje istu funkcionalnost kao paralelna magistrala. Moderni računari mogu koristiti i paralelnu i serijsku vezu.

Prva generacija[uredi | uredi izvor]

Kod starijih računara magistrale su bile gomila žica povezanih sa memorijom i perifernim uređajima. Skoro uvek je postojala jedna magistrala za memoriju i jedna za periferne uređaje i njima se pristupalo pomoću posebnih instrukcija, drugačijeg tajminga i protokola.

Prva komplikacija ovakve realizacije je bila obrada prekida. Da bi se izvršila ulazno-izlazna operacija program je morao čekati da periferija postane spremna. Ovo je bilo očigledno gubljenje vremena za programe koji izvršavaju druge poslove. Takođe, ukoliko program pokuša da nastavi te druge poslove, možda će mu trebati mnogo više vremena da ponovo proveri da li je uređaj spreman i može rezultirati gubljenjem podataka. Zato su projektanti omogućili da periferija prekida procesor. Ti prekidi su morali da budu poređani po prioritetima zato što procesor može da obrađuje samo jedan prekid u datom vremenu, a neki uređaji su više zavisni od vremena od drugih.

Kasnije su računari počeli da dele memoriju između nekoliko procesora. Na njima je takođe pristup magistrali trebalo da bude organizovan. Klasičan, prost način organizacije prekida je ulančavanje.

DEC (Digital Equipment Corporation) je zaključio da je postojanje dve magistrale suvišno i skupo za masovnu proizvodnju malih računara i pridružio perifernu magistralu memorijskoj. Tako su periferije postale memorijske lokacije. U to vreme ovo je bio vrlo hrabar potez.

Kod mikroračunara sistem magistrala bio je pasivna ploča povezana sa pinovima procesora. Memorija i ostali uređaji su dodavani na ovu ploču i koristili iste adresne i data pinove kao i sam procesor. U nekim slučajevima (npr. lični računar) instrukcije još uvek generišu signale koji mogu biti iskorišćeni za implementaciju stvarne ulazno-izlane magistrale. U mnogim mikrokontrolerima i danas ne postoji ulazno-izlazna magistrala. Komunikacija je kontrolisana od strane procesora, koji čita i piše podatke sa uređaja kao da su oni memorijski blokovi u ciklusima koje generiše takt procesora. Uređaji traže opsluživanje signalizirajući na druge pinove procesora, obično korišćene za neke oblike prekida.

Na primer, disk kontroler signalizuje procesoru da su novi podaci spremni za čitanje, i u tom trenutku procesor će da pomeri podatke tako što će pročitati memoriju koja odgovara tom disku. Skoro svi računari tog doba su radili na ovom principu, počevši od S-100 magistrale (IEEE-696), koja je bila sastavni deo Altair 8800 (1975) i nastavljajući se kroz IBM PC u osamdesetim godinama 20. veka. Ovi prosti sistemi magistrala su imali ozbiljnu manu. Sva periferija je morala da radi na istoj brzini i deli isti takt. Povećavanje brzine procesora nije bila prosta stvar, zato što se samim tim povećava i brzina svih ostalih uređaja. Ovo često vodi u nezgodnu situaciju gde vrlo brz procesor mora da se uspori da bi mogao da komunicira sa ostalim uređajima. Iako prihvatljiv za računare specijalne namene, ovaj problem nije dugo tolerisan za lične računare.

Drugi problem je što je procesor potreban sa sve operacije, tako da ako je on zauzet drugim zadacima, prava propustljivost (brzina) magistrale se smanjuje dramatično. Ovakvi sistemi magistrala su teški za podešavanje kada su sastavljeni od opreme dostupne u radnjama. Primera radi, svaki dodati uređaj zahteva mnogo džampera da bi se postavile memorijske adrese, ulazno-izlazne adrese, prioriteti i broj prekida.

Druga generacija[uredi | uredi izvor]

Druga generacija magistrala, kao Nu magistrala (NuBus), rešava neke od ovih problema. Ona je podelila računar na dva „sveta“, procesor i memoriju na jednu stranu i razne uređaje na drugu, sa kontrolerom između njih. Ovo je omogućilo da procesor poveća brzinu bez uticaja na magistralu. Takođe, drastično je smanjena potreba za korišćenje procesora prilikom pomeranja podataka, tako da su sada uređaji mogli da komuniciraju međusobno bez ometanja procesora. Ovo vodi do boljih performansi sistema, ali zahteva od perifernih uređaja da budu više kompleksni. Problem brzine često se rešava proširivanjem magistrale, pomerajući se sa 8-bitne paralelne magistrale u prvoj generaciji na 16-bitne ili 32-bitne u drugoj, isto kao i dodavanjem softverskih paketa (poznatih kao Plug-n-Play) da podrže ili zamene džampere.

Međutim, ovaj noviji sistem je nasledio neke osobine od svojih ranijh rođaka. Zapravo svi uređaji na magistrali su morali da komuniciraju na istoj brzini. Pošto je procesor bio izlovan, bio je u mogućnosti da poveća brzinu zajedno sa memorijom, ali to povećanje je bilo brže nego povećanje brzine magistrale sa kojom su komunicirali. Rezultat je mnogo manja brzina magistrale nego što moderni sistemi zahtevaju, i procesor je postao „gladan“ za podacima. Praktično, čest slučaj ovoga problema su grafičke kartice. One nadmašuju čak i nove PCI sisteme pa su stoga računari počeli sadržavati AGP sisteme samo da bi njih obsluživali. Do 2004. AGP je nadjačan modernim grafičkim karticama i počeo se zamenjivati novim PCI Express sistemima.

Povećanje broja perifernih uređaja dovelo je do upotrebe njihovih sopstvenih magistrala. Kada su disk drajvovi prvi put predstavljeni, oni su dodavani računaru preko kartica konektovanih na magistralu, pa zato računari imaju toliko mnogo slotova na magistrali. Međutim, kroz 1980e i 1990e, novi sistemi kao SCSI i IDE su predstavljeni kao rešenje ovog problema, ostavljajući mnoge slotove praznim. U današnje vreme na tipičnom računaru postoje oko pet različitih magistrala koje podržavaju mnoge uređaje. Raslojavanje je zatim postalo popularno. Koncept lokalna magistrala je postao suprotan od koncepta spoljašnja magistrala. Ranije razmatran kao sistem magistrala dizajniran za korišćenje od strane unutrašnjih uređaja (npr grafička kartica), a kasnije kao magistrala dizajnirana za dodavanje eksternih uređaja (npr. skener). Treba dodati da lokalna znači veću blizinu procesoru od ISA magistrale. IDE je eksterna magistrala, iako se skoro uvek nalazi unutar računara.

Treća generacija[uredi | uredi izvor]

Treća generacija magistrala tek dolazi na tržište i uključuje HyperTransport i InfiniBand magistrale. One sadrže osobine koje im omogućuju da rade na vrlo visokim brzinama kako bi podržale memoriju i grafičke kartice, ali takođe podržavaju sporije brzine za komunikaciju sa sporim uređajima kao što su diskovi. Takođe teže da budu veoma fleksibilne u smislu fizičkih povezivanja, omogućujući da budu korišćene kao unutrašnje magistrale, kao i za međusobno povezivanje različitih računara.

Ovo dovodi do teških problema u slučaju opsluživanja različitih zahteva, tako da se pristupa softverskom rešavanju problema. Generalno, treća generacija magistrala teži da liči više na mrežu nego na originalnu zamisao magistrale, s razvijenijim protokolom nego današnji sistemi, dok omogućuju da više uređaja korisi istu magistralu odjednom.

Spoljašnje veze[uredi | uredi izvor]