Үзулердің сыныптарға ерекшеленуі
Мазмұны.
Кіріспе
1.Негізгі бөлім.
1.1 Үзу және оның ерекшелiктері.
1.1.2 Жасырылатын тұйықталулар.
1.1.3 Жасырылмайтын тұйықталулар (NMI-Non-Maskable Interrrupt)
1.1.4 Үзулерді өңдеу.
2.Үзулер жүйесiн ұйымдастырудың негiзгi қағидалары.
2.1 Үзулердің сыныптарға ерекшеленуі.
2.1.2 Үзу тәртiбін iске асыру.
2.1.2.1 IBM PC Atдегі аппаратты үзіліс көздері.
3.PICтiң Жүйелiк контроллерiнiң үзулер жүйесiндегі аппараттық
құралдары(Programmable Interrupt Controller ).
4. 8259A-шы контроллердiң негiзiнде үзулердi өңдеу.
4.1 8259А үзіліс контроллерінін структурасы.
4.2 Үзіліс контроллерінің каскадты қосылысы.
5. APICтiң үзулерiндегі контроллер (Advanced Programmable Interrupt Controller
)
5.1 Орнатылған APIC тің үзіліс көздері.
5.2 Локальді вектор таблицасы.
6. Жадқа тiкелей енуiнің тәртiбі.
7. Plug and Play ресурстарды бөлу.
Қорытынды.
Әдебиеттiң тiзiмi.
Кіріспе
Процессордағы атқарылатын бағдарламадағы INT n-шi команда үзулердi кестедегi n
ның векторын яғни қызмет көрсететін бағдарламаны орындата алады. Қазiргi
бағдарламалар жад және үзу бағдарламасының өзгертiлген мекенжайларымен операция
жасайды.Басқару жүйесi үшiн әдетте жалғыз құралы бар бағдарламадан шығатын
есiктер қызмет көрсетедi.Мысалы программалық үзулер басқару жүйесiнiң
сервистерiне INT $21 қолданылаалады - DOSтыңсервистерi, INT $80 -
Linuxтiңсервистерi ), құрылымдардың драйверлерiнiң функцияларына INT $33 –
тышқанның драйверi ) немесе (INT $10 - видео - BIOS, DPMIнiң сервисi - DPMI -
сервис ), INT $67 – EMSтың сервисi) арнайы сервистерге. N ның нөмiрiмен INT-шi
программалық үзудiң ерекше жағдайымен INT 3-шi үзу, немесе тоқтауды үзу болып
табылады. Бағдарламаға, қолданушы команданың мәндерін енгiзу жолымен
программаны дұрыстауды аспап тоқтауды нүкте орнатуға мүмкiншiлiгi болады.
Тоқтатылулар - бұл ерекшелiк шақырған командаларды тура анықтауға мүмкiндiк
бермеген ерекшелiк. Тоқтатылулар өрескел қателер туралы қатынас үшiн
қолданылады, сондай аппаратты қате, жүйелiк кестелердегi терiс мәндерi
Бағдарламадан ағымдағы бағдарламасына қайтаруды мекенжай ерекшелiк шақыратын
командаға әрдайым көрсетуге өңдейтiн қалған жағдайлар. Барлық болуы мүмкiн
үзулер (256 әртүрлi үзулер және ерекшелiктерге дейiн) арнайы кестелерге
апарады. Әрбiр үзуге немесе ерекшелiк кестеде үзудi вектор.Беделді - бұл (үзу
өңделетiн векторлық бағдарламаның мекенжайын табуға мүмкiндiк бередi) тиiстi
бағдарламаға қызмет көрсетудi нұсқағыш.
1946 жылы алғаш пайда болған ЭЕМ-дер электрондық
шамдар негізінде жүмыс істейтін, үлкен залдарда орналасқан,
көлемді электрондық жабдықтар болатын. Бірак 1948 жылдың
өзінде-ақ электрондық шамдар шағын электрондық аспаптармен
- транзисторлармен алмастырылып, компьютерлердің бұрынғы
жүмыс өнімділігі сақталынғанмен, көлемі жүз есеге дейін
төмендеді.
Негізгі бөлім
1. Үзу және оның ерекшелiктері.
Сыртқы құрылымдардағы сұрау салулары өңделу үшiн қателер немесе ерекше
жағдайлар туралы хабарламаны ағымдағы бағдарламаның орындауын үзүге және әсері
кейбiр қажеттi ахуалді iске асыруға керек.Үзу және оның ерекшелiктерінің
айырмашылығы.Үзулер және ерекшелiктердiң арасындағы айырмашылықтар: үзу сыртқы
құрылымдардан сұрау салуды өңдеу үшiн арналған , командалар орындаудың жанында
пайда болатын қателiктердi өңдеу үшiн ерекшеленеді. Сонымен бiрге программалық
үзулер ерекшелiктерге жатады. n INTi командасы арқылы кез келген нөмірмен үзу
ақылы 0 мен 255пен аралығындағы хабарды орындауға болады. Нөмiрлер 0...31
ерекшелiктер үшiн Intel фирмасымен кейiнге сақтаған. Мысалы, үзулер
шығарылған жабдықтары, ағымдағы команданың орындауынан кейiн орындалады және
(ағымдағы процесспен байланыспағандары) қандай болса да сыртқы асинхрондық
оқиғалар, перненi басу нәтижесiнде болады. Үзу өңдеуiнiң программасы
сияқтығаннан кейiн үзудi қызмет көрсету, үзiлген бағдарламаның орындауын
бiтiредi кейiн үзуде болған командаға бiрден шығатын командадан созылады.
Ерекшелiктер қате, қақпан немесе (бағдарламаның орындауын мезгiлсiз тоқтату)
тоқтатылулар сияқты классификациялайды. Ерекшелiктеріне қарай оқиғалардың үш
түрі болады: бағдарламаның (INT0 - асыра толтыру, BOUNDi - массивтың
шекараларының тексеруi) тап қалған нүктелерiндегi нақтылы шарттары тексеруге
мүмкiндiк беретiн ерекшелiктер. Шығарылатын бағдарламалар; машина бақылауының
операциялардың бақылауының процессiнде чиптың iшi және (процессор үшiн әдiл
Pentium 4) процессордың шинасында транзакция пайда болатын ерекшелiктерi;
бiлдiрiлген (қорғаудың ережелерi, парақтың жоқтығы нөл, бұзушылыққа бөлу тағы
сол сияқтылар) программадағы қателiктiң процессорлары.
Қателер - бұл қателерi барлық команданың орындауына дейiн мәлiм болып
орындалатын ерекшелiк. Мысалы, қате процессор бетi немесе жедел жадтарда
болмайтын сегментке сiлтейтiнде виртуалды жадтың жүйесiнде пайда болады.
Басқару жүйесi беттi немесе дисктен сегменттi таңдайды және оны жедел жадында
салып қояды, кейiн процессор не команданы орындайды.
Қақпандар - бұл (шығарылған әсерді жөндемеу) ерекшелiк шақыратын команданың
орындауынан кейiн дереу хабарлайтын ерекшелiк.
Тоқтатылулар - бұл ерекшелiк шақырған командаларды тура анықтауға мүмкiндiк
бермейтін ерекшелiк. Тоқтатылулар өрескел қателер туралы қатынас үшiн
қолданылады, сондай-ақ, аппараттық қателер, жүйелiк кестелердегi терiс мәндер.
Бағдарламадан ағымдағы бағдарламасына қайтаруда ерекшелiк , әрдайым шақырылған
команданың мекенжайын көрсетеді. Барлық болуы мүмкiн үзулер (256 әр түрлi
үзулер және ерекшелiктерге дейiн) арнайы кестелерде орналасады. Әр бiр үзу
ерекше кестеде үзудi вектор бола алды.
Беделді-бұл (үзу өңделетiн векторлық бағдарламаның мекен жайын табуға мүмкiндiк
бередi) қызмет көрсетуде тиiстi бағдарламаға нұсқағыш.
Программалық үзулер.
Процессордағы атқарылатын бағдарламадағы INT n-шi команда үзуi кестедегi n ның
векторын яғни қызмет көрсететін бағдарламаны орындата алады. Қазiргi
бағдарламалар жад және үзу бағдарламасының өзгертiлген мекенжайларымен операция
жасайды.Басқару жүйесi үшiн әдетте жалғыз құралы бар бағдарламадан шығатын
есiктер қызмет көрсетедi.Мысалы программалық үзулер басқару жүйесiнiң
сервистерiне INT $21 қолданылаалады – DOS тың сервистерi, INT $80 – Linuxтiң
сервистерi ), құрылымдардың драйверлерiнiң функцияларына INT $33 – тышқанның
драйверi ) немесе (INT $10 - видео - BIOS, DPMIнiң сервисi - DPMI - сервис ),
INT $67 – EMSтың сервисi) арнайы сервистерге. N ның нөмiрiмен INT-шi
программалық үзудiң ерекше жағдайымен INT 3-шi үзу, немесе тоқтауды үзу болып
табылады. Бағдарламаға қолданушы команданың мәндерін енгiзу жолымен программаны
дұрыстауды және тоқтатушыды нүкте орнатуға мүмкiншiлiгi болады.
- Талқылаудың жанында қолданылатын программалық үзудi тағы бiр түр деп атайды.
Жасырылатын тұйықталулар.
Жасырылатын тұйықталулар –аппаратурадағы асинхрондық сыртқы ескертпе
дабылдарына жауаптың жұртқа белгiлi әдiсi. Мұндай үзу рұқсат етiліле немесе
тыйым салына алады. Аппаратты үзулердi байрақтың битi осындайда рұқсат етiлген
( 1 орнатылған) жол ашады. Процессор ағымдағы команданың орындалуы шешіледі,
тек содан кейiн ғана жасырылатын тұйықталу қызмет көрсетедi. Ол үзу векторды
оқып отырады. Мәлiметтер аппаратты шинаға орнатылады және үзу өңдеуiнiң
программасының мекен жайын анықтайды. Регистр күйіндегі үзулер байрақтың
қызметінде лақтырып тастай алады. Бұл бiрiншi үзу қызмет көрсеткен уақытта
қосымша үзуді сақтап қалуға мүмкiндiк бередi. Егер үзуге байрақ орнатылса,
ағымдағы үзудi, бағдарламаның үзуiн және басқа үзудi өңдеуге болады, яғни
қабаттасқан үзулердi өңдеуге рұқсат етiледi.
Үзулердiң басымдылығы.
Ағымдағы команданың орындалуы тек қана үзу сұрауға айналып таныла алады.
Үзулер осы жағдайда басымдылыққа (деңгейге )сәйкес қызмет көрсетедi. Мысалы,
тап қалған команда мейлi "Отсутствует\ сегмент" талқылауда жүйелiк үзу және
оның ерекшелiгiн шақырады.Сонымен бiрге, процессор "Отсутствует\ сегмент" (11
) ның ерекшелiгiне бастапқыда жауап қайтарады 11-шi ерекшелiктiң өңдеуiн
бағдарлама iске қосады. 11-шi ерекшелiктiң өңдеуiн содан соң бағдарлама
талқылауды үзу өңдеуiнiң программасымен бөлiп жiбередi, ерекшелiктiң
өңдеушiсiне 11 басқаруды талқылаудан кейiн жаңадан тапсырылады. Қолдануы
жүйелiк техниканың үзулердiң басымдылықтары ерекше өңдеуді,яғни өзменшiктi
талқылауға мүмкiндiк бередi.
Жасырылмайтын тұйықталулар (NMI-Non-Maskable Interrrupt)
Жасырылмайтын тұйықталулар- үзулердiң өте биiк деңгейде қызмет көрсетуін
қамтамасыз етедi. (NMI ) жасырылмайтын үзулердiң таралған мысалдарының бiрi
қоректенудiң бас-сирағы бойынша үзу қызмет көрсете алады. Жасырылмайтын
тұйықталулар процедуралары процессорға қызмет көрсету уақытында (NMI немесе
INT-шi сұрау салу) басқа үзулер қызмет көрсетпейдi және (IRET) үзуден қайтару
командасын орындамайды. Үзулердi бiтеудi байрақ жасырылмайтын тұйықталуды
орындауды басында бекiтiледi. Егер (NMI ) сұрау салуда уақытында
жасырылмайтын тұйықталуды ағымдағы жасырылмайтын тұйықталудың өңдеудi
бағдарламадан бiрiншi қайтару командасынан кейiн оны өңдеу үшiн сақтайды.
Үзулердi өңдеу.
Қашан үзулер келесi әсерлерде болады. Бiрiншiден, байрақтардың ағымдағы
команданың мекенжайы және регистрi үзiлген бағдарламаны қайта бастауға
мүмкiндiк берген стекте сақталынады. Содан , үзулердi кестедегi тиiстi үзулердi
өңдеушi программаның бастапқы адресiмен анықталатын вектор бойынша элементтi
анықтайды. Өңдеудi бағдарлама орындалады. Содан кейін (IRET ) үзу өңдеуiнiң
программалары арқылы қайтару командасынан бұрынғы процессордың күйi қалпына
келедi және (сақталған стекте мекенжайы бойынша) қайтаруды мекенжай бойынша
бағдарламаның орындауы жаңадан басталады.
2. Үзулер жүйесiн ұйымдастырудың негiзгi қағидалары.
Үзулердi келесi сыныптарға ерекшелеуге болады:
Өзi процессор болып жататын оқиға шақырылған үзулер .
Компьютердiң жүйелiк құрылымдарындағы оқиға анықталатын жүйелiк үзулер.
Атқарылатын бағдарламадағы BIOSтiң жүйеге қарап пайда болатын үзулер.
Бiр процессор жұмысты басқа үзудi бағдарламаның өңдеуiн ұйымдастыра бөлетiнде
мультипроцессор жүйелерiндегi процессордың аралық үзулерi.
Үзу тәртiбін iске асыру үшін келесi адымдар қолданылады:
үзудi көздiң теңестiрілуi;
Бөлінетiн бағдарламаның ағымдағы күйiн сақтау;
Үзулердiң тыйым қойылған үзу көзiнен ажырату;
Үзу өңдеуiнiң программасының орындауы;
Есептеулердi үзiлген бағдарламаның күйiн қалпына келтiру және жалғасы.
Бағдарламалар мен құрылымдардың әсерлесуi үшiн бiрнеше әдiстер ескерiледi:
(DOS, API Windows үзулер тағы сол сияқтылар) басқару жүйесiнiң функциялары
шақырулардың арқасында;
(BIOS )енгiз-шығарудың негiздi жүйесiнiң функциялары шақырулардың арқасында;
Қарапайым бір ядролы процессор тек бір процесті жүзеге асырады, жүзеге асатын
программаның көмегімен бір инструкцияны басқаруды келесі инструкцияға жібереді.
Тізбекте және программаны шақыруда ауысулар болуы мүмкін, бірақ барлық
программаның толық орындалуы программаны шығарушыға байланысты.
Енді келесі жағдайды қарастырайық, осы процесті орындағанда
асинхронды(орындалатын процеспен байланысты емес) жағдайға тап боламыз, ол
компьютерге де реакциясын береді.Клавиатурадағы клавишты басу жағдайын
қарастырайық. Клавиатурадаға қандай да клавишты басқанда (жібергенде) оған
жасылған кодқа тиесілі ол өз жұмысын атқарады (скан-кодты клавиша). Системалы
платада орналасқан клавиатураның контроллері бұл кодты өзінің ішкі регистріне
қабылдайды және екі жол арқылы сигнал береді: дайындық флагын қондырады (бит
регистрлі жағдайда, ол белгіленген адрестік порт бойынша процессор арқылы
оқылады) және үзіліс кезіндегі сигналды генерациялайды (IRQ1 сигналы). Бұл
сигнал кіріс сигналының үзілісінде келеді.Үзіліс контроллері шақырылған
сигналды формировать етеді, ол процессордың максимумды кірісінде келеді. Егер
процессордың жалған үзілістері орындалса, онда ол контроллерден үзіліс
векторынын өзіне тән шығарылымнын номерін қажет етеді. Клавиатурадағы сигнал 9
векторына сәйкес келеді. Вектордағы ақпаратты алған соң, процессор келесі
процестің орындалатын тәртібін стек адресінде сақтайды және үзіліс процесінің
процедурасының шақырылымын орындайды, оның адресі үзіліс векторының
кестесіндегі 9- шы элементінде. Шақырылған процедура клавиатурадағы
контроллерден скан- кодты есептейді (жауабына регистрлі жағдайдағы дайын битті
жөнелтеді), кодты алу үшін керекті шараларды жүзеге асырады. Үзіліс процедурасы
әдейі шағырылған инструкциямен бітеді, ол арқылы басқарылым тоқтатылған
процеске келеді. Тоқтатылым көп есептелетін системалардағы басқа да
есептеулерге көшуде қолданылады.Мысалы, екі процессор бар деп есептейік, олар
бір уақытта жүзеге асады деп алайық (негізінде бір уақытта фон-неймдык
процессор оны жүзеге асыра алмайды). Бір процесті жіберейік, біраз уақыт
өткеннен кейін үзіліс аппараты бойынша жұмысы процессордың сол уақыттағы
жадысында сақталады және келесі басқа процесті жібереді. Біраз уақыттан соң
келесі үзілістер бойынша: екінші жағдайдағы процесті сақтау, процессордың
регистріне бірінші процесті енгізу және оны жүзеге ары- қарай асыру. Бұл
процесті орындау аралығы екі программада толық орындалғаннан кейын қайталау
керек, ол орындаушыға бір уақыттылық иллюзияны келтіреді. Бұл кезде
процессордағы ресурстар пропорциялы уақыт кванты бойынша бөлінген есептер
бойынша бөлінеді. Қолданушыға мұндай процедура ұнау үшін процессорда жеткілікті
мықты болуы керек.
Процестер бір- біріне кедергі тидірмес үшін, алдын ала критикалық әдістерді
қолдану керек. Қазіргі кездегі операциялықи жүйелер қорғаныш процессорлы
режимды қолданады, ол әдістер аппараттық деңгейде болады.Программа компьютердің
системасы арқылы жадыдағы кеністікпен байланыса алғаннан кейін және енгізу-
шығару порттары, сонымен қоса аппараттық үзіліс арқылы, онда осы үш ресурсты
қорғау керек. Ең қиын қорғанышты жады алады. Операциялық система әр процессорге
жады кеңістігін береді- сегменттер- әр түрлі әдістермен қолжетімді. Бір сегмент
түрімен тек мәліметтерді оқуға ғана болады, басқалармен жазуға да болады.
Программалық кодқа арнайы сегменттер беріледі, инструкциялар тек солардан ғана
алынып жасала алады. Басқа есептерге ауысу процестегі таймерлік сигнал арқылы
жүзеге асады, олар паралельді жұмыс атқарады.Сондықтан программистке қосымша
программаны жасаған оған көпмағыналы жұмысқа аландамау керек. Оған виртуалды
машина келеді, ол жеке процесті ғана атқарады. Көп есептемелі операциялық
система виртуалды машинамен жұмыс атқарғанда көп қажеттілікті қажет етеді, ол
тек процессордың уақытын қадағалау ғана емес, сонымен қоса жады, сақтау әдісін,
енгізу- шығару және коммуникационды, яғни барлық компьютерлі ресурстарды. Оған
арнайы өнімдер көмектеседі, x86 процессорында белгіленген жәнеде жаңадан
жасалынған өнімдерде. Сонымен қоса қазіргі кездегі процессорлар көппроцессорлы
системалар үшін арнайы интерфейстік әдістер қолданады. Интерфейс процессорге
4- ке жуық системаларды қоса алады, ол кезде бір атты шығарылымдар бірігеді.
Біріктіру мақсаты боп SMP (SymmetricMulti-Processing) симметриалы
мультипроцессорды қолдану немесе FRC (FunctionalRedundancyChecking)
функционалды системаларды құрастыру болады.
3. PICтiң Жүйелiк контроллерiнiң үзулер жүйесiндегі аппараттық
құралдары(Programmable Interrupt Controller ).
Қазіргі кездегі IBM дербес компьютерлеріндегі үзіліс системалары қалай
орналасқанын қарастырайық. Қазіргі заманғы процессор көппроцессорлы
системалармен жұмыс істеуде қолданылады және үзіліс әдісі бірқатар өзгертулер
пайда болды. Бастапқы уақытта PIC (ProgrammableInterruptController)
системалы контроллер қолданылса, онда Pentium процессорынан бастап APIC
(AdvancedProgrammableInterruptCont roller) осы контроллер қолданылады. APIC -
IO APIC бұл контроллердің жартысы чипсетте орналасады, ол есептеуіш
системадағы жұмысты жүргізеді және де PIC контроллеріндегі қосымша
функцияның жұмысын да. Ол алдынғы есептеулермен де байланысын үзбейді.
Қазіргі заманға сай үзілімнің жұмысын білу үшін 8259А контроллерге негізделген
үзілімді қарастыру керек.
4. 8259A контроллерге негізделген үзілімді жөндеу.
PIC 8259A үзілімді программалы контроллер өз алдында құрылғы болып табылады
программалы маскленген кезде 8 деңгейлі шақырылымды жүзеге асырады және
үзілімнің ретін өзгеріске ұшырата алады. Каскадты қосылымда деңгей саны 64 рет
үзілімге ұшырайды. Қайтадан қалпына келтіру және жөндеу екі команда бойынша
жүзеге асады: (ICW) инициализацияланған командалар және (OCW) операцияларды
басқару командасы. 1- ші суретте үзіліс контроллерінін схемасы көрсетілген.
Үзіліс контроллер келесі блоктарды құрайды:
RGI - IRQx үзілісінін шақырылым регистрі.
PRB – шешім қабылдау; ол шақырылымдарға негізделген схема және ең жоғарғысын
таңдайды.
ISR – қолданушы үзілім регистрі; үзіліс контроллерін қарайтын үзіліс
шақырылымын сақтайды.
RGM – үзілісті маскировать ететін регистр; бір немесе бірнеше сызықтық
үзілісерге шақыруды реттейді.
BD – мәліметтер буфері; системалы шиналы мәліметтер үшін.
RWCU – жазу\ оқу басқару; микропроцессордан басқару сигналдарын қабылдайды және
үзіліс контроллерінін функционалды режимін береді.
CMP - буфер-компараторлы каскад схемасы; системаға бірнеше контроллерді енгізу
үшін қолданады.
CU – басқару схемасы; үзіліс сигналдарын реттейді және үш байтты программаны
CALL мәліметтер шинасына шығару үшін жоспарлайды.
ші сурет. 8259А үзіліс контроллерінін структурасы.
8259A бір контроллер 8 бастапқы үзілістерді қадағалай алады және IBM PC ХT
компьтерлеріне жеткілікті. IBM PC ХT системаларында екі контроллердің каскадты
байланысуын қажет етеді (2- ші сурет), оның біреуі жүргізуші болады, екіншісі-
қосалқы. 8259A#1( master) жүргізуші контроллері 0, 1, 3–7 шақырылымдарды
қадағалайды; оның шығысы үзіліс процессорынын енгізуіне байланысады. 8259A#1
екі контроллеріне кіріс қосалқы котроллер қосылған 8259A#2 (slave),
8–15шақырылымды қадағалайды. Ол кезде салымдар да орналасадыз, 8–15
шақырылымдары арасын 1 және 3 котроллерді жүргізушілер қосылады, ол өсу реті
бойынша өзгереді. Мысал ретінде, IRQ тізбегіне 0- дік системалы таймер
қосылған, IRQ тізбегіне 1 - клавиатурасы, IRQ тізбегіне 8 – сағатты нақты
уақыжәне т.б. Бұндай каскадты қосылым 15 құрылғыларға шақырым жасауға мүмкіндік
береді. ( дәл мезеттегі программаның үзілісі).
ші сурет. Үзіліс контроллерінің каскадты қосылысы.
Қазіргі кездегі системалы жоспарда үзіліс контроллерінің функциясы чипсетте
негізделеді, ол 8259А контроллнріне қарағанда басқа да басқару түрлерін жүргізе
алады. Контроллердің инициализация процедурасы күнделіктіден айырмашылығы
болады, онымен POST жұмыс істейді, ол системалы платанын мүмкіндіктерін
санайды. Алайда операцияны жүргізгенде үзіліс режимін реализациялау программасы
8259A- мен сақталады. Үзіліс кезінде тек бір ғана шақырылым жүзеге асырылады,
үзіліс контроллері схемада белгіленеді. Негізгі режимде- толық режимде
келтіріледі.
Циклді режимде айналмалы ережелер қолданылады. Ақырғы көрсетілген сұранысқа
кіші приоритет, келесіге дөңгелек бойынша- жоғарғы, ол басқа құрылғылармен
жұмыс істеуін қадағалайды.
5. APICтiң үзулерiндегі контроллер (Advanced Programmable Interrupt Controller
)
APICпен ... жалғасы
Кіріспе
1.Негізгі бөлім.
1.1 Үзу және оның ерекшелiктері.
1.1.2 Жасырылатын тұйықталулар.
1.1.3 Жасырылмайтын тұйықталулар (NMI-Non-Maskable Interrrupt)
1.1.4 Үзулерді өңдеу.
2.Үзулер жүйесiн ұйымдастырудың негiзгi қағидалары.
2.1 Үзулердің сыныптарға ерекшеленуі.
2.1.2 Үзу тәртiбін iске асыру.
2.1.2.1 IBM PC Atдегі аппаратты үзіліс көздері.
3.PICтiң Жүйелiк контроллерiнiң үзулер жүйесiндегі аппараттық
құралдары(Programmable Interrupt Controller ).
4. 8259A-шы контроллердiң негiзiнде үзулердi өңдеу.
4.1 8259А үзіліс контроллерінін структурасы.
4.2 Үзіліс контроллерінің каскадты қосылысы.
5. APICтiң үзулерiндегі контроллер (Advanced Programmable Interrupt Controller
)
5.1 Орнатылған APIC тің үзіліс көздері.
5.2 Локальді вектор таблицасы.
6. Жадқа тiкелей енуiнің тәртiбі.
7. Plug and Play ресурстарды бөлу.
Қорытынды.
Әдебиеттiң тiзiмi.
Кіріспе
Процессордағы атқарылатын бағдарламадағы INT n-шi команда үзулердi кестедегi n
ның векторын яғни қызмет көрсететін бағдарламаны орындата алады. Қазiргi
бағдарламалар жад және үзу бағдарламасының өзгертiлген мекенжайларымен операция
жасайды.Басқару жүйесi үшiн әдетте жалғыз құралы бар бағдарламадан шығатын
есiктер қызмет көрсетедi.Мысалы программалық үзулер басқару жүйесiнiң
сервистерiне INT $21 қолданылаалады - DOSтыңсервистерi, INT $80 -
Linuxтiңсервистерi ), құрылымдардың драйверлерiнiң функцияларына INT $33 –
тышқанның драйверi ) немесе (INT $10 - видео - BIOS, DPMIнiң сервисi - DPMI -
сервис ), INT $67 – EMSтың сервисi) арнайы сервистерге. N ның нөмiрiмен INT-шi
программалық үзудiң ерекше жағдайымен INT 3-шi үзу, немесе тоқтауды үзу болып
табылады. Бағдарламаға, қолданушы команданың мәндерін енгiзу жолымен
программаны дұрыстауды аспап тоқтауды нүкте орнатуға мүмкiншiлiгi болады.
Тоқтатылулар - бұл ерекшелiк шақырған командаларды тура анықтауға мүмкiндiк
бермеген ерекшелiк. Тоқтатылулар өрескел қателер туралы қатынас үшiн
қолданылады, сондай аппаратты қате, жүйелiк кестелердегi терiс мәндерi
Бағдарламадан ағымдағы бағдарламасына қайтаруды мекенжай ерекшелiк шақыратын
командаға әрдайым көрсетуге өңдейтiн қалған жағдайлар. Барлық болуы мүмкiн
үзулер (256 әртүрлi үзулер және ерекшелiктерге дейiн) арнайы кестелерге
апарады. Әрбiр үзуге немесе ерекшелiк кестеде үзудi вектор.Беделді - бұл (үзу
өңделетiн векторлық бағдарламаның мекенжайын табуға мүмкiндiк бередi) тиiстi
бағдарламаға қызмет көрсетудi нұсқағыш.
1946 жылы алғаш пайда болған ЭЕМ-дер электрондық
шамдар негізінде жүмыс істейтін, үлкен залдарда орналасқан,
көлемді электрондық жабдықтар болатын. Бірак 1948 жылдың
өзінде-ақ электрондық шамдар шағын электрондық аспаптармен
- транзисторлармен алмастырылып, компьютерлердің бұрынғы
жүмыс өнімділігі сақталынғанмен, көлемі жүз есеге дейін
төмендеді.
Негізгі бөлім
1. Үзу және оның ерекшелiктері.
Сыртқы құрылымдардағы сұрау салулары өңделу үшiн қателер немесе ерекше
жағдайлар туралы хабарламаны ағымдағы бағдарламаның орындауын үзүге және әсері
кейбiр қажеттi ахуалді iске асыруға керек.Үзу және оның ерекшелiктерінің
айырмашылығы.Үзулер және ерекшелiктердiң арасындағы айырмашылықтар: үзу сыртқы
құрылымдардан сұрау салуды өңдеу үшiн арналған , командалар орындаудың жанында
пайда болатын қателiктердi өңдеу үшiн ерекшеленеді. Сонымен бiрге программалық
үзулер ерекшелiктерге жатады. n INTi командасы арқылы кез келген нөмірмен үзу
ақылы 0 мен 255пен аралығындағы хабарды орындауға болады. Нөмiрлер 0...31
ерекшелiктер үшiн Intel фирмасымен кейiнге сақтаған. Мысалы, үзулер
шығарылған жабдықтары, ағымдағы команданың орындауынан кейiн орындалады және
(ағымдағы процесспен байланыспағандары) қандай болса да сыртқы асинхрондық
оқиғалар, перненi басу нәтижесiнде болады. Үзу өңдеуiнiң программасы
сияқтығаннан кейiн үзудi қызмет көрсету, үзiлген бағдарламаның орындауын
бiтiредi кейiн үзуде болған командаға бiрден шығатын командадан созылады.
Ерекшелiктер қате, қақпан немесе (бағдарламаның орындауын мезгiлсiз тоқтату)
тоқтатылулар сияқты классификациялайды. Ерекшелiктеріне қарай оқиғалардың үш
түрі болады: бағдарламаның (INT0 - асыра толтыру, BOUNDi - массивтың
шекараларының тексеруi) тап қалған нүктелерiндегi нақтылы шарттары тексеруге
мүмкiндiк беретiн ерекшелiктер. Шығарылатын бағдарламалар; машина бақылауының
операциялардың бақылауының процессiнде чиптың iшi және (процессор үшiн әдiл
Pentium 4) процессордың шинасында транзакция пайда болатын ерекшелiктерi;
бiлдiрiлген (қорғаудың ережелерi, парақтың жоқтығы нөл, бұзушылыққа бөлу тағы
сол сияқтылар) программадағы қателiктiң процессорлары.
Қателер - бұл қателерi барлық команданың орындауына дейiн мәлiм болып
орындалатын ерекшелiк. Мысалы, қате процессор бетi немесе жедел жадтарда
болмайтын сегментке сiлтейтiнде виртуалды жадтың жүйесiнде пайда болады.
Басқару жүйесi беттi немесе дисктен сегменттi таңдайды және оны жедел жадында
салып қояды, кейiн процессор не команданы орындайды.
Қақпандар - бұл (шығарылған әсерді жөндемеу) ерекшелiк шақыратын команданың
орындауынан кейiн дереу хабарлайтын ерекшелiк.
Тоқтатылулар - бұл ерекшелiк шақырған командаларды тура анықтауға мүмкiндiк
бермейтін ерекшелiк. Тоқтатылулар өрескел қателер туралы қатынас үшiн
қолданылады, сондай-ақ, аппараттық қателер, жүйелiк кестелердегi терiс мәндер.
Бағдарламадан ағымдағы бағдарламасына қайтаруда ерекшелiк , әрдайым шақырылған
команданың мекенжайын көрсетеді. Барлық болуы мүмкiн үзулер (256 әр түрлi
үзулер және ерекшелiктерге дейiн) арнайы кестелерде орналасады. Әр бiр үзу
ерекше кестеде үзудi вектор бола алды.
Беделді-бұл (үзу өңделетiн векторлық бағдарламаның мекен жайын табуға мүмкiндiк
бередi) қызмет көрсетуде тиiстi бағдарламаға нұсқағыш.
Программалық үзулер.
Процессордағы атқарылатын бағдарламадағы INT n-шi команда үзуi кестедегi n ның
векторын яғни қызмет көрсететін бағдарламаны орындата алады. Қазiргi
бағдарламалар жад және үзу бағдарламасының өзгертiлген мекенжайларымен операция
жасайды.Басқару жүйесi үшiн әдетте жалғыз құралы бар бағдарламадан шығатын
есiктер қызмет көрсетедi.Мысалы программалық үзулер басқару жүйесiнiң
сервистерiне INT $21 қолданылаалады – DOS тың сервистерi, INT $80 – Linuxтiң
сервистерi ), құрылымдардың драйверлерiнiң функцияларына INT $33 – тышқанның
драйверi ) немесе (INT $10 - видео - BIOS, DPMIнiң сервисi - DPMI - сервис ),
INT $67 – EMSтың сервисi) арнайы сервистерге. N ның нөмiрiмен INT-шi
программалық үзудiң ерекше жағдайымен INT 3-шi үзу, немесе тоқтауды үзу болып
табылады. Бағдарламаға қолданушы команданың мәндерін енгiзу жолымен программаны
дұрыстауды және тоқтатушыды нүкте орнатуға мүмкiншiлiгi болады.
- Талқылаудың жанында қолданылатын программалық үзудi тағы бiр түр деп атайды.
Жасырылатын тұйықталулар.
Жасырылатын тұйықталулар –аппаратурадағы асинхрондық сыртқы ескертпе
дабылдарына жауаптың жұртқа белгiлi әдiсi. Мұндай үзу рұқсат етiліле немесе
тыйым салына алады. Аппаратты үзулердi байрақтың битi осындайда рұқсат етiлген
( 1 орнатылған) жол ашады. Процессор ағымдағы команданың орындалуы шешіледі,
тек содан кейiн ғана жасырылатын тұйықталу қызмет көрсетедi. Ол үзу векторды
оқып отырады. Мәлiметтер аппаратты шинаға орнатылады және үзу өңдеуiнiң
программасының мекен жайын анықтайды. Регистр күйіндегі үзулер байрақтың
қызметінде лақтырып тастай алады. Бұл бiрiншi үзу қызмет көрсеткен уақытта
қосымша үзуді сақтап қалуға мүмкiндiк бередi. Егер үзуге байрақ орнатылса,
ағымдағы үзудi, бағдарламаның үзуiн және басқа үзудi өңдеуге болады, яғни
қабаттасқан үзулердi өңдеуге рұқсат етiледi.
Үзулердiң басымдылығы.
Ағымдағы команданың орындалуы тек қана үзу сұрауға айналып таныла алады.
Үзулер осы жағдайда басымдылыққа (деңгейге )сәйкес қызмет көрсетедi. Мысалы,
тап қалған команда мейлi "Отсутствует\ сегмент" талқылауда жүйелiк үзу және
оның ерекшелiгiн шақырады.Сонымен бiрге, процессор "Отсутствует\ сегмент" (11
) ның ерекшелiгiне бастапқыда жауап қайтарады 11-шi ерекшелiктiң өңдеуiн
бағдарлама iске қосады. 11-шi ерекшелiктiң өңдеуiн содан соң бағдарлама
талқылауды үзу өңдеуiнiң программасымен бөлiп жiбередi, ерекшелiктiң
өңдеушiсiне 11 басқаруды талқылаудан кейiн жаңадан тапсырылады. Қолдануы
жүйелiк техниканың үзулердiң басымдылықтары ерекше өңдеуді,яғни өзменшiктi
талқылауға мүмкiндiк бередi.
Жасырылмайтын тұйықталулар (NMI-Non-Maskable Interrrupt)
Жасырылмайтын тұйықталулар- үзулердiң өте биiк деңгейде қызмет көрсетуін
қамтамасыз етедi. (NMI ) жасырылмайтын үзулердiң таралған мысалдарының бiрi
қоректенудiң бас-сирағы бойынша үзу қызмет көрсете алады. Жасырылмайтын
тұйықталулар процедуралары процессорға қызмет көрсету уақытында (NMI немесе
INT-шi сұрау салу) басқа үзулер қызмет көрсетпейдi және (IRET) үзуден қайтару
командасын орындамайды. Үзулердi бiтеудi байрақ жасырылмайтын тұйықталуды
орындауды басында бекiтiледi. Егер (NMI ) сұрау салуда уақытында
жасырылмайтын тұйықталуды ағымдағы жасырылмайтын тұйықталудың өңдеудi
бағдарламадан бiрiншi қайтару командасынан кейiн оны өңдеу үшiн сақтайды.
Үзулердi өңдеу.
Қашан үзулер келесi әсерлерде болады. Бiрiншiден, байрақтардың ағымдағы
команданың мекенжайы және регистрi үзiлген бағдарламаны қайта бастауға
мүмкiндiк берген стекте сақталынады. Содан , үзулердi кестедегi тиiстi үзулердi
өңдеушi программаның бастапқы адресiмен анықталатын вектор бойынша элементтi
анықтайды. Өңдеудi бағдарлама орындалады. Содан кейін (IRET ) үзу өңдеуiнiң
программалары арқылы қайтару командасынан бұрынғы процессордың күйi қалпына
келедi және (сақталған стекте мекенжайы бойынша) қайтаруды мекенжай бойынша
бағдарламаның орындауы жаңадан басталады.
2. Үзулер жүйесiн ұйымдастырудың негiзгi қағидалары.
Үзулердi келесi сыныптарға ерекшелеуге болады:
Өзi процессор болып жататын оқиға шақырылған үзулер .
Компьютердiң жүйелiк құрылымдарындағы оқиға анықталатын жүйелiк үзулер.
Атқарылатын бағдарламадағы BIOSтiң жүйеге қарап пайда болатын үзулер.
Бiр процессор жұмысты басқа үзудi бағдарламаның өңдеуiн ұйымдастыра бөлетiнде
мультипроцессор жүйелерiндегi процессордың аралық үзулерi.
Үзу тәртiбін iске асыру үшін келесi адымдар қолданылады:
үзудi көздiң теңестiрілуi;
Бөлінетiн бағдарламаның ағымдағы күйiн сақтау;
Үзулердiң тыйым қойылған үзу көзiнен ажырату;
Үзу өңдеуiнiң программасының орындауы;
Есептеулердi үзiлген бағдарламаның күйiн қалпына келтiру және жалғасы.
Бағдарламалар мен құрылымдардың әсерлесуi үшiн бiрнеше әдiстер ескерiледi:
(DOS, API Windows үзулер тағы сол сияқтылар) басқару жүйесiнiң функциялары
шақырулардың арқасында;
(BIOS )енгiз-шығарудың негiздi жүйесiнiң функциялары шақырулардың арқасында;
Қарапайым бір ядролы процессор тек бір процесті жүзеге асырады, жүзеге асатын
программаның көмегімен бір инструкцияны басқаруды келесі инструкцияға жібереді.
Тізбекте және программаны шақыруда ауысулар болуы мүмкін, бірақ барлық
программаның толық орындалуы программаны шығарушыға байланысты.
Енді келесі жағдайды қарастырайық, осы процесті орындағанда
асинхронды(орындалатын процеспен байланысты емес) жағдайға тап боламыз, ол
компьютерге де реакциясын береді.Клавиатурадағы клавишты басу жағдайын
қарастырайық. Клавиатурадаға қандай да клавишты басқанда (жібергенде) оған
жасылған кодқа тиесілі ол өз жұмысын атқарады (скан-кодты клавиша). Системалы
платада орналасқан клавиатураның контроллері бұл кодты өзінің ішкі регистріне
қабылдайды және екі жол арқылы сигнал береді: дайындық флагын қондырады (бит
регистрлі жағдайда, ол белгіленген адрестік порт бойынша процессор арқылы
оқылады) және үзіліс кезіндегі сигналды генерациялайды (IRQ1 сигналы). Бұл
сигнал кіріс сигналының үзілісінде келеді.Үзіліс контроллері шақырылған
сигналды формировать етеді, ол процессордың максимумды кірісінде келеді. Егер
процессордың жалған үзілістері орындалса, онда ол контроллерден үзіліс
векторынын өзіне тән шығарылымнын номерін қажет етеді. Клавиатурадағы сигнал 9
векторына сәйкес келеді. Вектордағы ақпаратты алған соң, процессор келесі
процестің орындалатын тәртібін стек адресінде сақтайды және үзіліс процесінің
процедурасының шақырылымын орындайды, оның адресі үзіліс векторының
кестесіндегі 9- шы элементінде. Шақырылған процедура клавиатурадағы
контроллерден скан- кодты есептейді (жауабына регистрлі жағдайдағы дайын битті
жөнелтеді), кодты алу үшін керекті шараларды жүзеге асырады. Үзіліс процедурасы
әдейі шағырылған инструкциямен бітеді, ол арқылы басқарылым тоқтатылған
процеске келеді. Тоқтатылым көп есептелетін системалардағы басқа да
есептеулерге көшуде қолданылады.Мысалы, екі процессор бар деп есептейік, олар
бір уақытта жүзеге асады деп алайық (негізінде бір уақытта фон-неймдык
процессор оны жүзеге асыра алмайды). Бір процесті жіберейік, біраз уақыт
өткеннен кейін үзіліс аппараты бойынша жұмысы процессордың сол уақыттағы
жадысында сақталады және келесі басқа процесті жібереді. Біраз уақыттан соң
келесі үзілістер бойынша: екінші жағдайдағы процесті сақтау, процессордың
регистріне бірінші процесті енгізу және оны жүзеге ары- қарай асыру. Бұл
процесті орындау аралығы екі программада толық орындалғаннан кейын қайталау
керек, ол орындаушыға бір уақыттылық иллюзияны келтіреді. Бұл кезде
процессордағы ресурстар пропорциялы уақыт кванты бойынша бөлінген есептер
бойынша бөлінеді. Қолданушыға мұндай процедура ұнау үшін процессорда жеткілікті
мықты болуы керек.
Процестер бір- біріне кедергі тидірмес үшін, алдын ала критикалық әдістерді
қолдану керек. Қазіргі кездегі операциялықи жүйелер қорғаныш процессорлы
режимды қолданады, ол әдістер аппараттық деңгейде болады.Программа компьютердің
системасы арқылы жадыдағы кеністікпен байланыса алғаннан кейін және енгізу-
шығару порттары, сонымен қоса аппараттық үзіліс арқылы, онда осы үш ресурсты
қорғау керек. Ең қиын қорғанышты жады алады. Операциялық система әр процессорге
жады кеңістігін береді- сегменттер- әр түрлі әдістермен қолжетімді. Бір сегмент
түрімен тек мәліметтерді оқуға ғана болады, басқалармен жазуға да болады.
Программалық кодқа арнайы сегменттер беріледі, инструкциялар тек солардан ғана
алынып жасала алады. Басқа есептерге ауысу процестегі таймерлік сигнал арқылы
жүзеге асады, олар паралельді жұмыс атқарады.Сондықтан программистке қосымша
программаны жасаған оған көпмағыналы жұмысқа аландамау керек. Оған виртуалды
машина келеді, ол жеке процесті ғана атқарады. Көп есептемелі операциялық
система виртуалды машинамен жұмыс атқарғанда көп қажеттілікті қажет етеді, ол
тек процессордың уақытын қадағалау ғана емес, сонымен қоса жады, сақтау әдісін,
енгізу- шығару және коммуникационды, яғни барлық компьютерлі ресурстарды. Оған
арнайы өнімдер көмектеседі, x86 процессорында белгіленген жәнеде жаңадан
жасалынған өнімдерде. Сонымен қоса қазіргі кездегі процессорлар көппроцессорлы
системалар үшін арнайы интерфейстік әдістер қолданады. Интерфейс процессорге
4- ке жуық системаларды қоса алады, ол кезде бір атты шығарылымдар бірігеді.
Біріктіру мақсаты боп SMP (SymmetricMulti-Processing) симметриалы
мультипроцессорды қолдану немесе FRC (FunctionalRedundancyChecking)
функционалды системаларды құрастыру болады.
3. PICтiң Жүйелiк контроллерiнiң үзулер жүйесiндегі аппараттық
құралдары(Programmable Interrupt Controller ).
Қазіргі кездегі IBM дербес компьютерлеріндегі үзіліс системалары қалай
орналасқанын қарастырайық. Қазіргі заманғы процессор көппроцессорлы
системалармен жұмыс істеуде қолданылады және үзіліс әдісі бірқатар өзгертулер
пайда болды. Бастапқы уақытта PIC (ProgrammableInterruptController)
системалы контроллер қолданылса, онда Pentium процессорынан бастап APIC
(AdvancedProgrammableInterruptCont roller) осы контроллер қолданылады. APIC -
IO APIC бұл контроллердің жартысы чипсетте орналасады, ол есептеуіш
системадағы жұмысты жүргізеді және де PIC контроллеріндегі қосымша
функцияның жұмысын да. Ол алдынғы есептеулермен де байланысын үзбейді.
Қазіргі заманға сай үзілімнің жұмысын білу үшін 8259А контроллерге негізделген
үзілімді қарастыру керек.
4. 8259A контроллерге негізделген үзілімді жөндеу.
PIC 8259A үзілімді программалы контроллер өз алдында құрылғы болып табылады
программалы маскленген кезде 8 деңгейлі шақырылымды жүзеге асырады және
үзілімнің ретін өзгеріске ұшырата алады. Каскадты қосылымда деңгей саны 64 рет
үзілімге ұшырайды. Қайтадан қалпына келтіру және жөндеу екі команда бойынша
жүзеге асады: (ICW) инициализацияланған командалар және (OCW) операцияларды
басқару командасы. 1- ші суретте үзіліс контроллерінін схемасы көрсетілген.
Үзіліс контроллер келесі блоктарды құрайды:
RGI - IRQx үзілісінін шақырылым регистрі.
PRB – шешім қабылдау; ол шақырылымдарға негізделген схема және ең жоғарғысын
таңдайды.
ISR – қолданушы үзілім регистрі; үзіліс контроллерін қарайтын үзіліс
шақырылымын сақтайды.
RGM – үзілісті маскировать ететін регистр; бір немесе бірнеше сызықтық
үзілісерге шақыруды реттейді.
BD – мәліметтер буфері; системалы шиналы мәліметтер үшін.
RWCU – жазу\ оқу басқару; микропроцессордан басқару сигналдарын қабылдайды және
үзіліс контроллерінін функционалды режимін береді.
CMP - буфер-компараторлы каскад схемасы; системаға бірнеше контроллерді енгізу
үшін қолданады.
CU – басқару схемасы; үзіліс сигналдарын реттейді және үш байтты программаны
CALL мәліметтер шинасына шығару үшін жоспарлайды.
ші сурет. 8259А үзіліс контроллерінін структурасы.
8259A бір контроллер 8 бастапқы үзілістерді қадағалай алады және IBM PC ХT
компьтерлеріне жеткілікті. IBM PC ХT системаларында екі контроллердің каскадты
байланысуын қажет етеді (2- ші сурет), оның біреуі жүргізуші болады, екіншісі-
қосалқы. 8259A#1( master) жүргізуші контроллері 0, 1, 3–7 шақырылымдарды
қадағалайды; оның шығысы үзіліс процессорынын енгізуіне байланысады. 8259A#1
екі контроллеріне кіріс қосалқы котроллер қосылған 8259A#2 (slave),
8–15шақырылымды қадағалайды. Ол кезде салымдар да орналасадыз, 8–15
шақырылымдары арасын 1 және 3 котроллерді жүргізушілер қосылады, ол өсу реті
бойынша өзгереді. Мысал ретінде, IRQ тізбегіне 0- дік системалы таймер
қосылған, IRQ тізбегіне 1 - клавиатурасы, IRQ тізбегіне 8 – сағатты нақты
уақыжәне т.б. Бұндай каскадты қосылым 15 құрылғыларға шақырым жасауға мүмкіндік
береді. ( дәл мезеттегі программаның үзілісі).
ші сурет. Үзіліс контроллерінің каскадты қосылысы.
Қазіргі кездегі системалы жоспарда үзіліс контроллерінің функциясы чипсетте
негізделеді, ол 8259А контроллнріне қарағанда басқа да басқару түрлерін жүргізе
алады. Контроллердің инициализация процедурасы күнделіктіден айырмашылығы
болады, онымен POST жұмыс істейді, ол системалы платанын мүмкіндіктерін
санайды. Алайда операцияны жүргізгенде үзіліс режимін реализациялау программасы
8259A- мен сақталады. Үзіліс кезінде тек бір ғана шақырылым жүзеге асырылады,
үзіліс контроллері схемада белгіленеді. Негізгі режимде- толық режимде
келтіріледі.
Циклді режимде айналмалы ережелер қолданылады. Ақырғы көрсетілген сұранысқа
кіші приоритет, келесіге дөңгелек бойынша- жоғарғы, ол басқа құрылғылармен
жұмыс істеуін қадағалайды.
5. APICтiң үзулерiндегі контроллер (Advanced Programmable Interrupt Controller
)
APICпен ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz