
- •7.091501 – Комп’ютерні системи та мережі
- •7.091503 – Спеціалізовані комп’ютерні системи
- •7.091501 – Комп’ютерні системи та мережі
- •7.091503 – Спеціалізовані комп’ютерні системи
- •2. Надійність і відмовостійкість
- •3. Масштабованість
- •4. Сумісність і мобільність програмного забезпечення
- •5. Класифікація комп'ютерів по галузям застосування Персональні комп'ютери та робочі станції
- •Сервери
- •Мейнфрейми
- •Кластерні архітектури
- •Контрольні запитання
- •Тести tpc
- •2. Тест tpc-a
- •3. Тест tpc-b
- •4. Тест tpc-c
- •5. Майбутні тести tpc
- •2. Архітектура системи команд. Класифікація процесорів (cisc і risc)
- •3. Методи адресації та типи даних Методи адресації
- •4. Типи команд
- •5. Команди керування потоком команд
- •6. Типи й розміри операндів
- •2. Найпростіша організація конвеєра й оцінка його продуктивності
- •3. Структурні конфлікти й способи їхньої мінімізації
- •4. Конфлікти за даними, зупинка конвеєра й реалізація механізму обходів
- •5. Класифікація конфліктів за даними
- •6. Конфлікти за даними, що призводять до призупинки конвеєра
- •7. Методика планування компілятора для усунення конфліктів за даними
- •Контрольні запитання
- •2. Зниження втрат на виконання команд умовного переходу
- •Метод вичікування
- •Метод повернення
- •Затримані переходи
- •3. Статичне прогнозування умовних переходів: використання технології компіляторів
- •2. Обробка багатотактних операцій і механізми обходів у довгих конвеєрах
- •3. Конфлікти й прискорені пересилання в довгих конвеєрах
- •4. Підтримка точних переривань
- •Контрольні запитання
- •2. Паралелізм рівня команд: залежності й конфлікти за даними
- •Залежності
- •3. Паралелізм рівня циклу: концепції та методи
- •4. Основи планування завантаження конвеєра й розгортання циклів
- •Контрольні запитання
- •2. Динамічна оптимізація із централізованою схемою виявлення конфліктів
- •2. Подальше зменшення зупинок по керуванню: буфера цільових адрес переходів
- •Контрольні запитання
- •Процесор з архітектурою 80x86 і Pentium.
- •Особливості процесорів з архітектурою spark компанії Sun Microsystems.
- •Процесори pa-risc компанії Newlett-Packard
- •2.Особливості процесорів з архітектурою sparc компанії Sun Microsystems
- •Процесори pa-risc компанії Hewlett-Packard
- •Контрольні запитання
- •Процесор mc88110 компанії Motorola.
- •Особливості архітектури mips компанії mips Technology.
- •Особливості архітектури Alpha компанії dec.
- •Особливості архітектури power компанії ibm і power pc компанії Motorola, Apple і ibm.
- •2.Особливості архітектури mips компанії mips Technology
- •3.Особливості архітектури Alpha компанії dec
- •4.Особливості архітектури power компанії ibm і PowerPc компаній Motorola, Apple і ibm
- •Архітектура power
- •Еволюція архітектури power у напрямку архітектури PowerPc
- •Процесор PowerPc 603
- •Контрольні запитання
- •Термінологія в області паралельної обробки .
- •Питання створення програмного забезпечення.
- •Ахітектура паралельної обробки.
- •2.Питання створення програмного забезпечення.
- •1) Язикові розширення.
- •2) Розширення компіляторів.
- •3) Додавання нового язикового рівня.
- •4) Нова мова.
- •3.Архітектура паралельної обробки.
- •4.Елементи теорії конкурентних процесів. Події та процеси
- •Особливості мов конкурентного програмування
- •Моделі конкурентних процесів
- •Взаємодія процесів, синхронізація й передача даних
- •2. Внутрішня архітектура трансп’ютера
- •3. Послідовна обробка
- •Регістри трансп’ютера
- •4. Інструкції
- •Безпосередні функції
- •Непрямі функції
- •Ефективність кодування
- •5. Підтримка паралелізму
- •6. Зв'язок
- •Лінії зв'язку
- •7. Таймер
- •8. Альтернативне виконання
- •9. Інструкції із плаваючою крапкою
- •Контрольні запитання
- •2. Найпростіші процеси-примітиви
- •3. Послідовні процеси-композиції
- •4. Паралельні процеси
- •5. Канали зв'язку
- •6. Конструктор альтернативного процесу
- •7. Описи
- •8. Масиви
- •9. Оголошення процесів
- •10. Цикли і масиви процесів
- •Контрольні запитання
- •2. Структури програмування
- •Прості паралельні процеси
- •Синхронізація за допомогою керуючих сигналів
- •3. Мовні засоби для програмування в реальному масштабі часу
- •4. Використання мови оккам для рішення завдань системного програмування
- •Контрольні запитання
- •Рекомендована література
Контрольні запитання
Чи реалізує процесор MC88110 компанії Motorola принцип завершення команд не в порядку їхнього надходження?
Для чого в процесорі MC88110 компанії Motorola використовується буфер історії?
Які способи використання обробки умовних переходів використано у архітектурі процесора MC88110 компанії Motorola?
На яких принципах реалізовано прискорення обробки умовних переходів на процесорі R10000 компанії MIPS Technology?
Які завдання вирішуються за допомогою»перейменуванні регістрів» у процесорі R10000 компанії MIPS Technology?
Видачу якої кількості команд одночасно забезпечує процесор Alpha 2164 компанії DEC у суперскалярному режимі.
Які додаткові властивості відрізняють архітектуру POWER компанії IBM від традиційних RISC- архітектур?
Чи використаний алгоритм Томасуло при реалізації процесора POWER PC604 компанії IBM?
Рекомендована література
Корнеев В.В., Киселев А.В. Современние микропроцессоры. – М.»Налидон», 1998.
Лекція 14. Паралельна обробка
План лекції
Термінологія в області паралельної обробки .
Питання створення програмного забезпечення.
Ахітектура паралельної обробки.
Виклад лекції
1.Термінологія в області паралельної обробки.
Не дивлячись на існуюче підвищення швидкодії обчислювальної техніки, інтерес до паралельних обчислень не вмирав ніколи.
Паралельні процеси підтримуються будь-якою операційною системою, розпаралелюючи ввід-вивід і обчислення й т.п.
Однак існує ряд проблем, для рішення яких без паралельних обчислень не обійтися. До числа таких проблем можна віднести:
розпізнавання образів;
тривимірна графіка;
створення тренажерів і томографів;
пророкування погоди й т.д.
Одним з методів рішення проблеми паралельності є використання багатопроцесорних обчислювальних комплексів.
При виконанні однієї програми на багатопроцесорній машині програма може розділятися на кілька незалежних частин, які при відсутності інших обмежень можуть виконуватися одночасно різними процесорами.
У цьому випадку кожну незалежну частину називають процесом. Цим процесам часто необхідно спільно використати деяку інформацію.
Наприклад, один процес може обчислювати деякі значення, а інший – використати їх. Якщо ці значення зберігаються в пам'яті, доступній обом процесам, її називають поділюваними даними.
Доступ до таких даних повинен завжди здійснюватися з обережністю, щоб була впевненість у коректному виконанні програми. Не можна допустити, щоб один процес записував дані, а інший в цей час намагався скористатися ними.
Критичною областю називають секцію програми, що повинна виконуватися з виключним правом доступу до поділюваних даних, на які є посилання в цій програмі. Процес, що готується ввійти в критичну область, може бути затриманий, якщо інший процес у цей час виконується в критичній області.
Типовими засобами, які дозволяють програмістам або компіляторам надійно реалізувати критичні області, є семафори або замки (блокування).
Одним зі способів координувати виконання декількох галузей полягає в утворенні бар'єрів.
При використанні бар'єра передбачається, що всі процеси деякої групи повинні досягти певної точки своєї програми (бар'єра) перш, ніж кожному з них буде дозволено рушити далі.
Варіантом подолання бар'єра може бути однониткова наступна за бар'єром критична секція з однієї гілки, що виконує тільки один процес із групи. Можливий і інший варіант, при якому тільки останньому із прибулих до бар'єра процесів дозволено виконати критичну секцію з однієї гілки.
Коли деякий процес намагається опанувати замком, та ця дія повинна бути неподільною, тобто тільки один з безлічі процесів може одержати доступ до замка.
Процеси, яким не вдалося захопити замок, можуть бути або затримані, або переведені в стан зайнятого очікування (іноді називаним прокручуванням), у якому процес періодично намагається отримати замок.
Взаємним блокуванням (тупиком) називають ситуацію, у якій кожний процес із групи процесів очікує, коли інший процес із цієї ж групи звичайно відкриє або звільнить замок.
«Нескінченний обмін повідомленнями» (livelock) – більш активна, але не більш продуктивна ситуація. Так називають ситуацію, у якій кожний процес із групи процесів зайнятий передачею повідомлень (сигналізацією) іншим процесам групи, однак не робить нічого, щоб продовжити виконання обчислень.