Управљање улазно–излазним преносом

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

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

За размену података са одређеним улазно-излазним уређајем централни или улазно-излазни процесор поставља адресу уређаја на адресне линије. У сваком модулу интерфејса прикљученом на магистралу постоји декодер адресе који стално надгледа адресне линије. При откривању своје адресе интерфејс активира путеве од магистрале до контролера периферије. При томе су сви периферни уређаји чије адресе не одговарају задатој адреси искључени са магистрале. Истовремено са адресом, централни или улазно–излазни процесор поставља на другу групу линија и функционални код. Селектовани интерфејс декодира овај код и прелази на његово извршење. Функционални код понекад се назива и командна реч или команда и њу извршава интерфејс.

За улазно-излазни пренос података између централног процесора и/или главне меморије и периферних уређаја користи се најчешће један од следећа три начина улазно–излазног преноса:

– програмирани улаз–излаз,
– улаз-излаз управљан прекидом,
– директни приступ меморији.

Програмирани улаз–излаз

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

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

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

Програмирани улаз-излаз

Програмирани улаз-излаз

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

Данашњи РС рачунари користе програмирани улаз–излаз као основу за АТА–2 (EIDE стандард) интерфејса хард дискова. Основу овог преноса података чини режим PIO 4 – програмирани улаз–излаз (енгл. programed input/ output).

Улаз-излаз управљан прекидом

Улаз–излаз управљан прекидом отклања недостатак коришћења испитне петље при програмираном преносу, а одвија се на следећи начин: Централни процесор преноси управљачку информацију контролеру периферног уређаја, а затим се од њега искључује и наставља паралелно да извршава неки други програм. Када периферни уређај заврши захтевану операцију, он шаље процесору захтев за прекид како би га обавестио о извршењу предвиђене радње. Процеcop прихвата прекид и региструје стање периферног уређаја. Овај се поступак може описати на следећи начин:

1) Процесор селектује периферни уређај и одређује његово стање. Ако је уређај слободан, прелази на тачку 2, а ако није, поступа онако како је специфицирано одговарајућим програмом.
2) Процесор сигнализира периферном уређају да пређе на извршење жељене функције и саопштава потребне информације. Тиме уређај прелази у заузето стање.
3) Извршава се предвиђени улазно–излазни пренос.
4) Када се заврши тражени пренос, контролер о томе обавештава централни процесор генерисањем прекидног сигнала.
5) Процесор доводи периферни уређај у слободно стање.

Постоји и варијанта улаза–излаза управљаног прекидом када периферни уређај прекидом само саопштава да је слободан, а на основу тог прекида процесор прелази на програм који онда директно управља улазним или излазним преносом.

О реализацији прекида детаљније сам писала кад смо радили Систем прекида.

Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s