- •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. Використання мови оккам для рішення завдань системного програмування
- •Контрольні запитання
- •Рекомендована література
2. Обробка багатотактних операцій і механізми обходів у довгих конвеєрах
У розглянутому нами конвеєрі стадія виконання команди (EX) становила всього один такт, що цілком прийнятно для цілочисельних операцій. Однак для більшості операцій плаваючої крапки було б непрактично вимагати, щоб всі вони виконувалися за один або навіть за два такти. Це привело б до істотного збільшення такту синхронізації конвеєра, або до непомірного збільшення кількості встаткування (обсягу логічних схем) для реалізації пристроїв плаваючої крапки. Найпростіше представити, що команди плаваючої крапки використають той же самий конвеєр, що й цілочисельні команди, але із двома важливими змінами. По-перше, такт EX може повторюватися багаторазово стільки разів, скільки необхідно для виконання операції. По-друге, у процесорі може бути кілька функціональних пристроїв, що реалізують операції плаваючої крапки. При цьому можуть виникати припинення конвеєра, якщо видана для виконання команда або викликає структурний конфлікт по функціональному пристрої, що вона використовує, або існує конфлікт за даними.
Нехай, в нашій реалізації процесора є чотири окремих функціональних пристрої:
Основний цілочисельний пристрій.
Пристрій множення цілочисельних операндів і операндів із плаваючою крапкою.
Пристрій додавання із плаваючою крапкою.
Пристрій розподілу цілочисельних операндів і операндів із плаваючою крапкою.
Рис. 2. Конвеєр з додатковими функціональними пристроями
Цылочисельний пристрій обробляє всі команди завантаження й запису на згадку при роботі із двома наборами регістрів (цілочисельних із плаваючою крапкою), всі цылочисельні операції (за винятком команд множення і розподілу) і всі команди переходів. Якщо припустити, що стадії виконання інших функціональних пристроїв неконвеєрні, то рис. 2 показує структуру такого конвеєра. Оскільки стадія EX є неконвеєрної, ніяка команда, що використає функціональний пристрій, не може бути видана для виконання доти, поки попередня команда не покине щабель EX. Більше того, якщо команда не може надійти на щабель EX, весь конвеєр за цією командою буде припинений.
У дійсності проміжні результати можливо не використаються циклічно щаблем EX, як це показано на рис. 2, і щабель EX має затримки тривалістю більше одного такту. Ми можемо узагальнити структуру конвеєра плаваючої крапки, допустивши конвеєризацію деяких щаблів і паралельне виконання декількох операцій. Щоб описати роботу такого конвеєра, ми повинні визначити затримки функціональних пристроїв, а також швидкість ініціацій або швидкість повторення операцій. Це швидкість, з якої нові операції даного типу можуть надходити у функціональний пристрій. Наприклад, припустимо, що мають місце наступні затримки функціональних пристроїв і швидкості повторення операцій:
Функціональний пристрій |
Затримка/швидкість повторення |
Цілочисельне АЛУ |
11 |
Додавання із ПК |
42 |
Множення із ПК (і цілочисельне) |
63 |
Розподіл із ПТ (і цілочисельне) |
1515 |
На рис. 3 представлена структура подібного конвеєра. Її реалізація вимагає введення конвеєрної регістрової станції EX1/EX2 і модифікації зв'язків між регістрами ID/EX і EX/MEM.
Рис. 3. Конвеєр з багатоступінчастими функціональними пристроями