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

Контрольні запитання

  1. Чи реалізує процесор MC88110 компанії Motorola принцип завершення команд не в порядку їхнього надходження?

  2. Для чого в процесорі MC88110 компанії Motorola використовується буфер історії?

  3. Які способи використання обробки умовних переходів використано у архітектурі процесора MC88110 компанії Motorola?

  4. На яких принципах реалізовано прискорення обробки умовних переходів на процесорі R10000 компанії MIPS Technology?

  5. Які завдання вирішуються за допомогою»перейменуванні регістрів» у процесорі R10000 компанії MIPS Technology?

  6. Видачу якої кількості команд одночасно забезпечує процесор Alpha 2164 компанії DEC у суперскалярному режимі.

  7. Які додаткові властивості відрізняють архітектуру POWER компанії IBM від традиційних RISC- архітектур?

  8. Чи використаний алгоритм Томасуло при реалізації процесора POWER PC604 компанії IBM?

Рекомендована література

  1. Корнеев В.В., Киселев А.В. Современние микропроцессоры. – М.»Налидон», 1998.

Лекція 14. Паралельна обробка

План лекції

  1. Термінологія в області паралельної обробки .

  2. Питання створення програмного забезпечення.

  3. Ахітектура паралельної обробки.

Виклад лекції

1.Термінологія в області паралельної обробки.

Не дивлячись на існуюче підвищення швидкодії обчислювальної техніки, інтерес до паралельних обчислень не вмирав ніколи.

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

Однак існує ряд проблем, для рішення яких без паралельних обчислень не обійтися. До числа таких проблем можна віднести:

  1. розпізнавання образів;

  2. тривимірна графіка;

  3. створення тренажерів і томографів;

  4. пророкування погоди й т.д.

Одним з методів рішення проблеми паралельності є використання багатопроцесорних обчислювальних комплексів.

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

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

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

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

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

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

Одним зі способів координувати виконання декількох галузей полягає в утворенні бар'єрів.

При використанні бар'єра передбачається, що всі процеси деякої групи повинні досягти певної точки своєї програми (бар'єра) перш, ніж кожному з них буде дозволено рушити далі.

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

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

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

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

«Нескінченний обмін повідомленнями» (livelock) – більш активна, але не більш продуктивна ситуація. Так називають ситуацію, у якій кожний процес із групи процесів зайнятий передачею повідомлень (сигналізацією) іншим процесам групи, однак не робить нічого, щоб продовжити виконання обчислень.

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