Студопедия — Тема: Фаза переривання основного циклу
Студопедия Главная Случайная страница Обратная связь

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

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






Якщо в комп'ютері мається механізм роботи з перериваннями, можна так організувати обчислювальний процес, що процесор не буде простоювати під час виконання операцій вводу-виводу. Розглянемо потік керування, представлений на діаграмі мал. 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; просмотров: 613. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

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

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

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

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