- •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. Використання мови оккам для рішення завдань системного програмування
- •Контрольні запитання
- •Рекомендована література
Непрямі функції
Кодування непрямих функцій виконано таким чином, що операції, які частіше зустрічаються, виконуються без використання інструкції prefix.
Сюди входять арифметичні, логічні операції й операції порівняння, такі як:
add
esclusive or
greater than
Операції, що зустрічаються рідше, виконуються з використанням однієї префіксної операції.
Крім того, у ряді випадків використовуються інструкції для роботи з кольоровою графікою, розпізнаванням образів і використання кодів, що корегують помилки.
Ефективність кодування
Кодування інструкцій дозволяє представляти програми, написані мовою високого рівня в компактному виді, у порівнянні із традиційним набором. Завдяки тому що програма займає менше місця в пам'яті, менше часу потрібно на вибірку інструкцій. Тому що при читанні з пам'яті витягається одне слово, процесор при кожному читанні витягає кілька інструкцій.
5. Підтримка паралелізму
Є мікропрограмний планувальщик, що дозволяє паралельно виконувати будь-яке число процесів у режимі поділу часу процесора. Це дозволяє обходитися без ядра операційної системи. Але, процесор не має засобів для динамічного виділення пам'яті. Це віднесено на рахунок компілятора.
Паралельний процес може перебувати в станах:
Активне – виконується
- перебуває в черзі очікування на виконання.
Пасивне – готовий до введення
- готовий до виводу
- очікує, поки не наступить зазначений час.
Планувальщик налаштований так, що пасивні процеси не забирають процесорний час. Активні процеси перебувають у списку. Це зв'язний список робочих областей процесів, реалізований з використанням двох регістрів. Перший вказує на перший процес зі списку, інший - на останній процес.
На малюнку процес S виконується, а процеси P, Q і R активні й очікують виконання.
Процес виконується доти, доки не перейде в режим очікування введення, виводу або таймера.
Як тільки процес не може виконуватися, його лічильник команд зберігається в його робочій області й вибирається наступний процес зі списку. Час перемикання із процесу на процес дуже маленький, тому що при цьому не потрібно зберігати інформацію про стан. Немає необхідності в збереженні й обчислювального стека.
У процесі реалізовані спеціальні операції, що підтримують процес:
start process
stop process
6. Зв'язок
Зв'язок між процесами здійснюється за допомогою каналів.
Взаємодія між процесами є двохточечною, синхронною, небуферизованою. Для каналу немає необхідності в черзі процесів і повідомлень, не потрібні буфери повідомлень.
Канал між двома процесами, які виконуються на одному трансп’ютері, реалізується за допомогою одного слова в пам'яті.
Канал між процесами різних трансп’ютерів реалізується за допомогою двохточечних ліній зв'язку.
Передбачено операції для підтримки обміну повідомленнями, найважливішими з яких є:
Input message
Output message
Ці інструкції аналізують адресу каналу для визначення того, чи є канал внутрішнім або зовнішнім. Та сама послідовність інструкцій може використовуватися як для програмно-реалізуємих, так і для апаратно-реалізуємих каналів. Це дозволяє кодувати й компілювати процес поза залежністю від способу реалізації каналів.
Зв'язок здійснюється, коли процеси вводу/виводу готові до обміну.
Процес, першим ініціюючий обмін, повинен чекати готовності другого.