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

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

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





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




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


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


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

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