- •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. Використання мови оккам для рішення завдань системного програмування
- •Контрольні запитання
- •Рекомендована література
Контрольні запитання
На чому заснована конвеєризація обчислень?
Чому дорівнює час виконання команди в конвеєрному режимі?
Які типи конфліктів виникають при конвеєрній обробці?
Які існують засоби для мінімізації структурних конфліктів?
Яким чином реалізуються механізми обходу для мінімізації конфліктів за даними у простих конвеєрах?
Яка існує класифікація конфліктів за даними?
У чому полягає техніка планування завантаження конвеєра для усунення конфліктів за даними?
Рекомендована література
1. Самофалов и др. Основы теории многоуровневых конвеерных вычислительных систем. – К.,”Техніка”, 1980.
2. Корнеев В.В., Киселев А.В. Современные микропроцессоры. – М., „Нолидж”, 1998.
Лекція 6. Скорочення втрат на виконання команд переходу й мінімізація конфліктів по керуванню
План лекції
Скорочення втрат на виконання команд переходу й мінімізація конфліктів по керуванню.
Зниження втрат на виконання команд умовного переходу.
Статичне прогнозування умовних переходів: використання технології компіляторів.
Виклад лекції
1. Скорочення втрат на виконання команд переходу й мінімізація конфліктів по керуванню
Конфлікти по керуванню можуть викликати навіть більші втрати продуктивності конвеєра, чим конфлікти за даними. Коли виконується команда умовного переходу, вона може або змінити, або не змінити значення лічильника команд. Якщо команда умовного переходу заміняє лічильник команд значенням адреси, обчисленого в команді, то перехід називається виконуваним; у противному випадку, він називається невиконуваним.
Найпростіший метод роботи з умовними переходами полягає в припиненні конвеєра як тільки виявлена команда умовного переходу доти, поки вона не досягне щаблі конвеєра, що обчислює нове значення лічильника команд (рис. 1). Такі припинення конвеєра через конфлікти по керуванню повинні реалізовуватися інакше, чим припинення через конфлікти за даними, оскільки вибірка команди, що випливає за командою умовного переходу, повинна бути виконана якнайшвидше, як тільки ми довідаємось про остаточний напрямок команди умовного переходу
Команди переходу |
IF |
ID |
EX MEMWB
|
Наступна команда |
|
IF |
stallstallIFIDEX MEMWB
|
Наступна команда +1 |
|
|
stallstallstallIFIDEX MEMWB |
Наступна команда +2 |
|
|
stallstallstallIFIDEX MEM |
Наступна команда +3 |
|
|
stallstallstallIFIDEX |
Наступна команда +4 |
|
|
stallstallstallIFID |
Наступна команда +5 |
|
|
stallstallstallIF |
Рис. 1. Припинення конвеєра при виконанні команди умовного переходу
Наприклад, якщо конвеєр буде припинений на три такти на кожній команді умовного переходу, то це може істотно відбитися на продуктивності машини. При частоті команд умовного переходу в програмах, рівної 30% і ідеальному CPI, рівним 1, машина із припиненнями умовних переходів досягає приблизно тільки половини прискорення, одержуваного за рахунок конвеєрної організації. Таким чином, зниження втрат від умовних переходів стає критичним питанням. Число тактів, що втрачають при припиненнях через умовні переходи, може бути зменшено двома способами:
Виявленням чи є умовний перехід виконуваним або невиконуваним на більше ранніх щаблях конвеєра.
Більше раннім обчисленням значення лічильника команд для виконуваного переходу (тобто обчисленням цільової адреси переходу).
Реалізація цих умов вимагає модернізації вихідної схеми конвеєра.
У деяких машинах конфлікти через умовні переходи є навіть ще більш дорогими по кількості тактів, чим у нашому прикладі, оскільки час на оцінку умови переходу й обчислення адреси переходу може бути навіть більшим. Наприклад, машина з роздільними щаблями декодування й вибірки команд можливо буде мати затримку умовного переходу (тривалість конфлікту по керуванню), що принаймні на один такт довше. Багато комп'ютерів VAX мають затримки умовних переходів у чотири й більше такти, а більші машини із глибокими конвеєрами мають втрати по умовних переходах, рівні шести або семи тактам. У загальному випадку, чим глибина конвеєра більше, тим більше втрати на командах умовного переходу, обчислювальні в тактах. Звичайно ефект зниження відносної продуктивності при цьому залежить від загального CPI машини. Машини з високим CPI можуть мати умовні переходи більшої тривалості, оскільки відсоток продуктивності машини, що буде загублена через умовні переходи, менше.