1.2. Құрылғының контроллері.
Енгізу-шығару қүрылғылары механикалық бөліктен және электрондық бөліктен тұрады. Құрылғынын, электрондық құраушысы құрылғы контроллері немесе адаптер деп аталады. Дербес компьютерлерде ол кеңейту слотына қойылған мөрлік тақша түрінде болады. Механикалық құраушы құрылғының өзінде орналасады.
Контроллер жұмысы байттар блогына биттердің тізбектелген ағынын конвертирлеу және қажет болған жағдайда қателіктер коррекциясын орындау болып табылады. Әдетте байтты блок контроллер буферінде биттер кезегімен жиналады. Содан блоктың бақылау қосындысы тексеріледі, егер ол сектор тақырыбында көрсетілгенмен сәйкес келсе, онда блок қатесіз оқылды деп хабарланады, осыдан кейін ол оперативті жадқа көшіріледі.
Монитор контроллері (бейнеадаптер) де, бит-тізбекті құрылғы сияқты жұмыс істейді. Ол кескінді экранға шығаруды талап ететін электронды трубка сәулесін модуляциялау үшін қолданылатын сигналдарды кескіндейтін және қалыптастыратын символдардан тұратын байттарды жадта оқиды. Бейнеадаптер, сондай-ақ электронды сәуленің горизонтальды және вертикальды қайтуын басқаратын сигналдарды қалыптастырады. Егер контроллер болмаса, электронды ұқсас сәулені жылжытуды программист басқарады. Негізінен операциялық жүйе, жолдағы сиволдар немесе пиксельдер саны және экрандағы жолдар саны сияқты аз ғана параметрлерді беру арқылы тек контроллердің жұмысын инициализациялайды, ал экран бойынша электронды сәуленің жылжуын басқару бойынша барлық ауыр жұмысты контроллер орындайды.
1.3. Жадтың адресті кеңістігінде көрсетілген енгізу-шығару.
Әрбір контроллерде бірнеше регистрлер болады, олардың көмегімен орталық процессор контроллермен қарым-қатынас жасай алады. Бұл регистрлерде жазудың көмегі кезінде операциялық жүйе құрылғының деректерді беруін, деректерді қабылдауын, қосылу немесе өшу т.б. керектігін көрсетеді. Осы регистрлерден оқу арқылы операциялық жұйе кұрылғының күйін, мысалы, ол жаңа команданы қабылдауға дайын және т.б. біле алады.
Басқарушы регистрлерден басқа, көптеген құрылғыларда операциялық жүйе деректерді оқи алатын, сондай-ақ оған деректер жаза алатын, деректер буфері болады. Мысалы, пикселдерді экранда бейнелеу үшін деректер оқу мен жазу үшін операциялық және басқа да программаларға қатынай алатын, деректер буфері болып табылатын бейне жадқа орналасады.
Бұл әдістің ерекшелігі:
• бұл схема бойынша енгізу-шығару құрылғысымен байлансыу үшін процессордың арнайы командасы қажет емес. Нәтижесінде, мұндай құрылғымен жұмыс істеген программаны ассемблерде жазылған бағыныңқы программен хабарласпай-ақ С немесе С++ тілінде толығымен жазуға болады;
• жадта енгізу-шығару регистрлерін бейнелеу кезінде пайдаланушы кеңістігін сыртқы құрылғымен хабарластыруға тырысатын пайдаланушы процестерден корғанудың арнайы механизмі қажет болмайды;
• енгізу-шығару регистрлерін жадта бейнелеу кезінде жадқа хабарласатын процессордың әрбір командасы құрылғының басқарушы регистрлерімен де табысты түрде хабарласа алады.
Енгізу-шығару регистрлерін жадта бейнелеудің кемшіліктері бар. Біріншіден, қазіргі заманғы компьютерлердің көбінде жадты бүркемелеу қолданылады. Басқарушы регистрлерді бүркемелеу катастрофаға алып келер еді. Мұндай жағдайды болдырмау үшін, бүркемелуге тандаулы түрде тыйым салуға қабілетті, арнайы аппаратура кажет, мысалы, процесс хабарласатын жадтың бетінің нөмірінен тәуелді. Сонымен, енгізу-шығару регистрлерін жадта бейнелеу аппаратураның және таңдаулы бүркемелеуді басқаруға тура келетін операциялық жүйенің күрделілігін үлғайтады.
Екіншіден, бірлік адресті кеңістік болғанда жадтың барлық модульдары және барлық енгізу-шығару құрылғылары, қайсысына әсер етуді анықтау үшін процессордың жадқа барлық хабарын (қатынауын) зерттеу керек.
Достарыңызбен бөлісу: |