Систем прекида

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

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

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

%d0%bf%d1%80%d0%b5%d0%ba%d0%b8%d0%b4%d0%b8
Ако се прекид захтева из текућег програма он се назива софтверски прекид и најчешће се користи за позивање команди оперативног система.

Advertisements

One thought on “Систем прекида

  1. Повратни пинг: Управљање улазно–излазним преносом – Рачунари и програмирање

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

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

WordPress.com лого

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

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

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

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

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

Google+ photo

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

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