Магистрала (рачунарство)

Из Википедије, слободне енциклопедије

У рачунарској архитектури, магистрала или сабирница је подсистем који преноси податке или напајање између компонената унутар рачунара или између рачунара, контролисан софтвером познатим под именом драјвер. За разлику од тачка-тачка повезивања, магистрала може повезати неколико периферних уређаја преко истог скупа жица. Свака магистрала дефинише свој скуп веза према уређајима.

Код старијих рачунара магистрале су биле дословно паралелне електричне везе, али данас се термин паралелна магистрала користи за било које уређење које обезбеђење исту функционалност као паралелна магистрала. Модерни рачунари могу користити и паралелну и серијску везу.

Прва генерација[уреди]

Код старијих рачунара магистрале су биле гомила жица повезаних са меморијом и периферним уређајима. Скоро увек је постојала једна магистрала за меморију и једна за периферне уређаје и њима се приступало помоћу посебних инструкција, другачијег тајминга и протокола.

Прва компликација овакве реализације је била обрада прекида. Да би се извршила улазно-излазна операција програм је морао чекати да периферија постане спремна. Ово је било очигледно губљење времена за програме који извршавају друге послове. Такође, уколико програм покуша да настави те друге послове, можда ће му требати много више времена да поново провери да ли је уређај спреман и може резултовати губљењем података. Зато су пројектанти омогућили да периферија прекида процесор. Ти прекиди су морали да буду поређани по приоритетима зато што процесор може да обрађује само један прекид у датом времену, а неки уређаји су више зависни од времена од других.

Касније су рачунари почели да деле меморију између неколико процесора. На њима је такође приступ магистрали требао да буде организован. Класичан, прост начин организације прекида је уланчавање.

DEC (Digital Equipment Corporation) је закључио да је постојање две магистрале сувишно и скупо за масовну производњу малих рачунара и придружио периферну магистралу меморијској. Тако су периферије постале меморијске локације. У то време ово је био врло храбар потез.

Код микрорачунара систем магистрала био је пасивна плоча повезана са пиновима процесора. Меморија и остали уређаји су додавани на ову плочу и користили исте адресне и дата пинове као и сам процесор. У неким случајевима (нпр. лични рачунар) инструкције још увек генеришу сигнале који могу бити искоришћени за имплементацију стварне улазно-излане магистрале. У многим микроконтролерима и данас не постоји улазно-излазна магистрала. Комуникација је контролисана од стране процесора, који чита и пише податке са уређаја као да су они меморијски блокови у циклусима које генерише такт процесора. Уређаји траже опслуживање сигнализирајући на друге пинове процесора, обично коришћене за неке облике прекида.

На пример, диск контролер сигнализује процесору да су нови подаци спремни за читање, и у том тренутку процесор ће да помери податке тако што ће прочитати меморију која одговара том диску. Скоро сви рачунари тог доба су радили на овом принципу, почевши од S-100 магистрале (ИЕЕЕ-696), која је била саставни део Altair 8800 (1975) и настављајући се кроз IBM PC у осамдесетим годинама 20. века. Ови прости системи магистрала су имали озбиљну ману. Сва периферија је морала да ради на истој брзини и дели исти такт. Повећавање брзине процесора није била проста ствар, зато што се самим тим повећава и брзина свих осталих уређаја. Ово често води у незгодну ситуацију где врло брз процесор мора да се успори да би могао да комуницира са осталим уређајима. Иако прихватљив за рачунаре специјалне намене, овај проблем није дуго толерисан за личне рачунаре.

Други проблем је што је процесор потребан са све операције, тако да ако је он заузет другим задацима, права пропустљивост (брзина) магистрале се смањује драматично. Овакви системи магистрала су тешки за подешавање када су састављени од опреме доступне у радњама. Примера ради, сваки додати уређај захтева много џампера да би се поставиле меморијске адресе, улазно-излазне адресе, приоритети и број прекида.

Друга генерација[уреди]

Друга генерација магистрала, као Nu магистрала (NuBus), решава неке од ових проблема. Она је поделила рачунар на два „света“, процесор и меморију на једну страну и разне уређаје на другу, са контролером између њих. Ово је омогућило да процесор повећа брзину без утицаја на магистралу. Такође, драстично је смањена потреба за коришћење процесора приликом померања података, тако да су сада уређаји могли да комуницирају међусобно без ометања процесора. Ово води до бољих перформанси система, али захтева од периферних уређаја да буду више комплексни. Проблем брзине често се решава проширивањем магистрале, померајући се са 8-битне паралелне магистрале у првој генерацији на 16-битне или 32-битне у другој, исто као и додавањем софтверских пакета (познатих као Plug-n-Play) да подрже или замене џампере.

Међутим, овај новији систем је наследио неке особине од својих ранијх рођака. Заправо сви уређаји на магистрали су морали да комуницирају на истој брзини. Пошто је процесор био излован, био је у могућности да повећа брзину заједно са меморијом, али то повећање је било брже него повећање брзине магистрале са којом су комуницирали. Резултат је много мања брзина магистрале него што модерни системи захтевају, и процесор је постао „гладан“ за подацима. Практично, чест случај овога проблема су графичке картице. Оне надмашују чак и нове PCI системе па су стога рачунари почели садржавати AGP системе само да би њих обслуживали. До 2004. AGP је надјачан модерним графичким картицама и почео се замењивати новим PCI Express системима.

Повећање броја периферних уређаја довело је до употребе њихових сопствених магистрала. Када су диск драјвови први пут представљени, они су додавани рачунару преко картица конектованих на магистралу, па зато рачунари имају толико много слотова на магистрали. Међутим, кроз 1980е и 1990е, нови системи као SCSI и IDE су представљени као решење овог проблема, остављајући многе слотове празним. У данашње време на типичном рачунару постоје око пет различитих магистрала које подржавају многе уређаје. Раслојавање је затим постало популарно. Концепт локална магистрала је постао супротан од концепта спољашња магистрала. Раније разматран као систем магистрала дизајниран за коришћење од стране унутрашњих уређаја (нпр графичка картица), а касније као магистрала дизајнирана за додавање екстерних уређаја (нпр. скенер). Треба додати да локална значи већу близину процесору од ISA магистрале. IDE је екстерна магистрала, иако се скоро увек налази унутар рачунара.

Трећа генерација[уреди]

Трећа генерација магистрала тек долази на тржиште и укључује HyperTransport и InfiniBand магистрале. Оне садрже особине које им омогућују да раде на врло високим брзинама како би подржале меморију и графичке картице, али такође подржавају спорије брзине за комуникацију са спорим уређајима као што су дискови. Такође теже да буду веома флексибилне у смислу физичких повезивања, омогућујући да буду коришћене као унутрашње магистрале, као и за међусобно повезивање различитих рачунара.

Ово доводи до тешких проблема у случају опслуживања различитих захтева, тако да се приступа софтверском решавању проблема. Генерално, трећа генерација магистрала тежи да личи више на мрежу него на оригиналну замисао магистрале, с развијенијим протоколом него данашњи системи, док омогућују да више уређаја кориси исту магистралу одједном.

Спољашње везе[уреди]