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

Непрямі функції

Кодування непрямих функцій виконано таким чином, що операції, які частіше зустрічаються, виконуються без використання інструкції prefix.

Сюди входять арифметичні, логічні операції й операції порівняння, такі як:

add

esclusive or

greater than

Операції, що зустрічаються рідше, виконуються з використанням однієї префіксної операції.

Крім того, у ряді випадків використовуються інструкції для роботи з кольоровою графікою, розпізнаванням образів і використання кодів, що корегують помилки.

Ефективність кодування

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

5. Підтримка паралелізму

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

Паралельний процес може перебувати в станах:

Активне – виконується

- перебуває в черзі очікування на виконання.

Пасивне – готовий до введення

- готовий до виводу

- очікує, поки не наступить зазначений час.

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

На малюнку процес S виконується, а процеси P, Q і R активні й очікують виконання.

Процес виконується доти, доки не перейде в режим очікування введення, виводу або таймера.

Як тільки процес не може виконуватися, його лічильник команд зберігається в його робочій області й вибирається наступний процес зі списку. Час перемикання із процесу на процес дуже маленький, тому що при цьому не потрібно зберігати інформацію про стан. Немає необхідності в збереженні й обчислювального стека.

У процесі реалізовані спеціальні операції, що підтримують процес:

start process

stop process

6. Зв'язок

Зв'язок між процесами здійснюється за допомогою каналів.

Взаємодія між процесами є двохточечною, синхронною, небуферизованою. Для каналу немає необхідності в черзі процесів і повідомлень, не потрібні буфери повідомлень.

Канал між двома процесами, які виконуються на одному трансп’ютері, реалізується за допомогою одного слова в пам'яті.

Канал між процесами різних трансп’ютерів реалізується за допомогою двохточечних ліній зв'язку.

Передбачено операції для підтримки обміну повідомленнями, найважливішими з яких є:

Input message

Output message

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

Зв'язок здійснюється, коли процеси вводу/виводу готові до обміну.

Процес, першим ініціюючий обмін, повинен чекати готовності другого.

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