Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AK.doc
Скачиваний:
28
Добавлен:
17.03.2016
Размер:
3.6 Mб
Скачать

3.4. Організація мультипрограмного режиму роботи в сучасних комп’ютерах

3.4.1. Форми обслуговування користувачів і види мультипрограмування (мпр)

Щоб досягти максимально можливих обчислень, необхідний паралелізм обчислень. Це пов'язано з реалізацією відразу декількох програм, для яких виділяються певні обчислювальні ресурси (час ЦП, розміри ОП, призначення певних ВнП). Режим одночасного обслуговування декількох програм, для якого не потрібний час завершення одних програм для запуску інших називається режимом мультипрограмування . Протягом певного часу (кванта) реалізується програма, так звана активною, після чого відбувається переривання, і управління передається іншій програмі, яка знаходиться в стані очікування. Такий стан виникає в тих програмах, які були перервані у зв'язку з очікуванням завершення роботи ВнП. Окрім стану очікування, програма може знаходиться і в стані готовності - коли для неї виділені всі ресурси, окрім часу ЦП.

Завдання МПР:

    1. Підвищення продуктивності.

    2. Раціональне завантаження всіх пристроїв, що беруть участь в обчислювальному процесі.

Коефіцієнт мультипрограмності - це число програм, які можуть паралельно обслуговуватися. Види МПР залежать від форм обслуговування користувачів. У ЕОМ першого покоління використовується так звана індивідуальна форма обслуговування, при якій МПР було неможливо. У ЕОМ другого покоління був запропонований режим так званої пакетної обробки (проста форма МПР), при якій користувачі практично втратили зв'язок з ЕОМ. У ЕОМ третього покоління почала застосовуватися сучасніша форма МПР - колективна форма обслуговування (режим розділення часу).

Щоб організувати колективний доступ, було необхідно забезпечити кожного користувача власним пристроєм зв'язку з ЕОМ (дисплеєм). Для організації МПР - режиму роботи необхідно передбачити ряд програмно-апаратних засобів: динамічну організацію пам'яті, захист пам'яті, розвинену систему переривань, відповідну ОС.

3.4.2. Динамічний розподіл пам'яті

В процесі роботи ЕОМ здійснюється безперервний обмін інформацією між ядром і периферією. ОП має статичну організацію в тому випадку, якщо якась програма при черговому циклі своєї активності потрапляє в ту ж саму ділянку ОП. Якщо ця програма потрапляє в будь-яку іншу вільну в цей час ділянку пам'яті, то, вважається, що ОП має динамічну організацію. Динамічний розподіл найпростіше може бути отриманий, якщо використовувати просту відносну адресацію. Змінюючи базову адресу, ми можемо досить просто організувати переміщення будь-якої програми усередині поля всій ОП. Але цей спосіб здобуття динамічного розподілу пам'яті має такі недоліки: необхідність розміщення будь-якої призначеної для користувача програми у вигляді одного цілого масиву; необхідність завантаження при новій фазі активності всієї програми в ОП в той час, як в кожній фазі активності реалізується невелика її ділянка); досить часто виникає дефрагментація пам'яті - поява в пам'яті вільних ділянок, сумарний об'єм яких більше об'єму ділянки, виділеної для програми.

Динамічний розподіл пам'яті ефективніше, якщо пам'ять має сторінкову організацію. Сторінкова організація передбачає, що вся пам'ять розбита на велике число невеликих ділянок однакової довжини. При цьому адресу пам'яті представимо розділеною на 2 частини: старші  розрядів відповідають номеру сторінки, молодші  - номеру рядка в даній сторінці. 2 - число сторінок, 2 - число рядків, Nc = 2 - загальне число комірок.

Кожна програма, що реалізовується в ЕОМ, розміщується в ОП. Заздалегідь не можна сказати, з якої сторінки вона розташовуватиметься в ОП. Будь-яку програму записують, починаючи з нульової сторінки, використовуючи математичні адреси. Розподіляючи ОП, відповідна програма ОС для кожного завдання виділяє якісь вільні ділянки, тобто задає фізичні адреси. При цьому для вирішення цього завдання складається таблиця відповідності фізичних і математичних адрес. Для зменшення розмірів таблиці молодші розряди збігаються, відрізняються лише - розряди, звідси з'являються поняття фізичних і математичних адрес.

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

У великих ЕОМ пам'ять ділиться на три частини, виникає поняття сегменту. Сегментна організація пам'яті використовується з метою складання досить складних програм шляхом об'єднання програм в модулі. Схема перетворення адрес сторінок при адресній пам'яті для сторінкових таблиць першого вигляду представлена на рис.3.10.

Рис. 3.10 - Схема перетворення адрес сторінок при адресній пам'яті для сторінкових таблиць першого вигляду.

де:

РгНЗ - регістр номера запису.

СТБ - сторінкова таблиця.

РК - регістр команд (адресне поле).

АР - адресний регістр.

МА- математична адреса.

СТБ - другого вигляду.

Викликаючи до виконання програму, в РгНЗ заноситься номер. У прикладі активне перше завдання, тобто відбувається звернення до першої сторінкової таблиці. Для зберігання всіх сторінкових таблиць або будується спеціальна пам'ять, або виділяється ділянка загального поля ОП. В процесі реалізації цієї програми кожна адреса, яка заноситься в РК має бути перетворена: використовуючи старші  розрядів МА поточної команди, із СТБ прочитуємо відповідну йому фізичну адресу і поміщаємо в старші розряди АР, молодші  розрядів переписуємо без зміни, відбувається звернення до ОП. Щоб знайти комірку ОП, треба звернеться до ОП 2 рази: для знаходження інформації в СТБ і на сторінці.

Для зменшення часу пошуку інформації краще СТБ зберігати в асоціативній пам'яті невеликого розміру (близько 8 комірок). Сторінкові таблиці зберігаються у виділеній ділянці загальної ОП. Схема має асоціативну пам'ять (8-16 комірок), представлену на рис.3.11.)

Рис. 3.11 – Схема перетворення адрес асоціативної пам'яті.

Кожна комірка має 4 поля МА - i, ФА - f(i,), zi - зайнятості комірки, ti - активності сторінки. Протягом певного інтервалу часу активними є декілька сторінок, інформацію про них краще зберігати в асоціативній пам'яті. Дана схема працює так: при кожному зверненні до ОП робиться спроба отримати інформацію про ФА сторінки шляхом аналізу в асоціативному ЗУ. Якщо в якомусь елементі асоціативної пам'яті є потрібний ФА сторінки, він прочитується в АР, якщо немає - тоді доводиться звертатися в ОП, де розташована інформація всіх СТБ, при зчитуванні інформації з ОП вона дублюється в асоціативній пам'яті, щоб знайти вільну комірку аналізується zi при записі інформації у комірку zi = 1, якщо все zi = 1, то аналізують ti. При першому зчитуванні інформації з АЗУ ti встановлюються в 1. Коли усі zi, ti = 1, то інформація скидається в нуль.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]