Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Тема: Фаза переривання основного циклу





Якщо в комп'ютері мається механізм роботи з перериваннями, можна так організувати обчислювальний процес, що процесор не буде простоювати під час виконання операцій вводу-виводу. Розглянемо потік керування, представлений на діаграмі мал. 7.3,6. Перший фрагмент програми в цьому випадку виконується так само, як і в попередньому. Далі програма знову викликає підпрограму WRITE, але сама ця підпрограма складається тільки з фрагмента підготовки і власне команди запуску сеансу обміну. Підпрограма завершує свою роботу і повертає керування основній програмі, як тільки відправить на зовнішній пристрій команду запуску сеансу. Сам же пристрій, одержавши необхідні дані і команду, приступає до самостійної роботи, зчитуючи дані з пам'яті і виводячи їх на печатку. Таким чином, операції вводу-виводу й обробки інформації сполучаються.

Коли зовнішній пристрій виявиться готовим до нового сеансу, модуль керування їм (модуль вводу-виводу) посилає сигнал запиту переривання процесора. У відповідь процесор тимчасово припиняє виконання поточної послідовності команд і переходить до виконання підпрограми обробки даного переривання. Після завершення роботи програми обробки переривання, процесор повертається до перерваної роботи. Крапки, у яких виникають такі переривання, відзначені на схемі мал. 7.3,6 зірочкою.

Що стосується користувальницької програми, сам термін "переривання" відноситься до нормального ходу виконання її команд, що переривається. Коли обробка переривання завершується, природна послідовність виконання команд програми відновлюється (мал. 7.4). Отже, користувальницька програма не має потреби в спеціальному коді, що буде зайнятий роботою з перериваннями — усі турботи по припиненню виконання користувальницької програми і поновленню її після завершення обробки переривання беруть на себе процесор і операційна система.

Для того щоб процесор міг відслідковувати сигнали переривання, до складу основного циклу обробки команди вводиться фаза переривання (мал. 7.6). На цій фазі процесор перевіряє, чи не надійшов сигнал запиту переривання. Якщо такий відсутній, процесор завершує поточний цикл і починає фазу витягу чергового циклу — зчитує наступну команду поточної програми.

Якщо ж виявлений сигнал запиту переривання, процесор виконує такі операції.

1. Запам'ятовує інформацію про поточний стан виконуваної програми, адресу наступної команди (вміст PC) і всі дані, що стосуються поточного стану вузлів процесора і можуть вплинути на виконання наступної команди.

2. У лічильник команд записується початкова адреса оброблювача переривання (підпрограми обробки переривання).

На цьому поточний цикл обробки команди завершується, і починається фаза витягу наступного циклу — з пам'яті зчитується перша команда оброблювача переривання. Як правило, оброблювач переривання входить до складу операційної системи. Ця підпрограма визначає причину переривання, що виникло, і виконує відповідні цій події операції. У розглянутому прикладі оброблювач визначає, який канал вводу-виводу згенерував сигнал запиту переривання, і переходить до підпрограми, що передає подальшу порцію даних відповідному зовнішньому пристрою. Коли виконання підпрограми пересилання чергової порції завершиться, процесор може відновити стан перерваної програми і продовжити її виконання.

Зовсім очевидно, що в цьому процесі маються визначені втрати. Зокрема, необхідно виконати додаткову програмну процедуру аналізу джерела переривання і вибрати придатний оброблювач переривання. Але ці витрати ніщо в порівнянні з тривалістю простою процесора в чеканні завершення операції виводу-вводу-виводу, що виконується повільним пристроєм.

Щоб переконатися, наскільки підвищується ефективність роботи процесора при використанні переривань, розглянемо часову діаграму його роботи (мал. 7.7), сформовану на підставі діаграм потоку керування програми, представлених на мал. 7.3,а і 7.3,6. При побудові діаграм, що ви бачите на мал. 7.3,6 і 7.7, передбачалося, що час виконання операції вводу-виводу відносно невеликий — менше, ніж час виконання команд основної програми, необхідних для підготовки наступної порції даних для виводу, тобто за час підготовки нових даних працюючий паралельно зовнішній пристрій встигає вивести всі раніше підготовлені дані.

Але набагато частіше в практиці роботи обчислювальних комплексів зустрічається ситуація, коли час підготовки нової порції даних значно менше, ніж час їхнього виводу, наприклад, на печать. Саме такий випадок відображає діаграма, представлена на мал. 7 .7,б. У процесі виконання користувальницької програми другий виклик підпрограми WRITE відбувається перш, ніж раніше викликана підпрограма WRITE завершить вивід переданої їй порції даних. У результаті користувальницька програма, якщо не прийняти спеціальних мір, може в цій точці "зависнути". Підпрограму WRITE варто викликати після того, як раніше запущений сеанс вводу-виводу завершиться. Тільки тепер можна починати новий сеанс. На мал. 7.8 показана тимчасова діаграма виконання програми, що бідує в подібному тривалому сеансі вводу-виводу, — варіанти без використання переривань і з перериваннями. Як видно, і для таких додатків ефективність роботи процесора підвищується, якщо використовувати переривання.

Діаграма станів процесора в циклі виконання команд при використанні механізму переривань показана на мал. 7.9.

 







Дата добавления: 2015-04-16; просмотров: 638. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия