Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Принципи організації паралелізму виконання машинних команд в процесорах

Реферат Принципи організації паралелізму виконання машинних команд в процесорах





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

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

У сучасних процесорах ймовірність правильного передбачення напрямки переходів сягає 90% [6,11].

Конфлікти за даними виникають в випадках, коли виконання однієї команди залежить від результату виконання попередньої команди. При обговоренні цих конфліктів будемо припускати, що команда i передує команді j [11].

Всі види залежностей за даними можуть бути класифіковані за типом асоціацій: RAR - В«читання після читанняВ», WAR - В«запис після читання В»і WAW -В« запис після запису В», RAW -В« читання після запису В».

Деякі з залежностей за даними можуть бути усунені. RAR, по суті справи, відповідає відсутності залежності, оскільки в даному випадку порядок виконання команд не має значення. Дійсною залежністю є тільки В«читання після запису В»(RAW), так як необхідно прочитати попередньо записані нові дані, не старі.

Зайві залежності за даними з'являються в результаті В«записи після читанняВ» (WAR) і В«Записи після записуВ» (WAW). Зайві залежності з'являються по декількох причин: не оптимізований програмний код, обмеження кількості регістрів, прагнення до економії пам'яті, наявність програмних циклів. Важливо відзначити, що запис може бути проведена в будь-який вільний ресурс, а не тільки той, який зазначений у програмі [1].

1. Конфлікти типу RAW (Read After Write): команда j намагається прочитати операнд перш, ніж команда i запише на це місце свій результат. При цьому команда j може отримати некоректну старе значення операнда.

Проілюструємо цей тип конфлікту на прикладі виконання команд, представлених у таблиці 2.1. Нехай виконувані команди мають наступний вигляд:


i

ADD R1, R2

R1 = R1 + R2

i +1 = j

SUB R3, R1

R3 = R3-R1


Команда i змінить стан регістра R1 в такті 5. Але команда i +1 повинна прочитати значення операнда R1 в такті 4. Якщо не прийняті спеціальні заходи, то з регістра R1 буде прочитано значення, яке було в ньому до виконання команди i.

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

Конфлікти типу RAW обумовлені саме конвеєрної організацією обробки команд.

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

2. Конфлікти типу WAR (Write After Read): команда j намагається записати результат в приймач, перш ніж він вважається звідти командою i, При цьому команда i може отримати некоректну нове значення операнда:

Цей конфлікт виникне в випадку, якщо команда j внаслідок неупорядкованого виконання завершиться раніше, ніж команда i прочитає старе вміст регістра R2.

3. Конфлікти типу WAW (Write After Write): команда j намагається записати результат в приймач, перш ніж у цей же приймач буде записаний результат виконання команди i, тобто запис закінчується в невірному порядку, залишаючи в приймачі результату значення, записане командою i:

Усунення конфліктів за даними типів WAR і WAW досягається шляхом відмови від неврегульо...


Назад | сторінка 7 з 23 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Система команд. Структура слова команд. Синтаксис команд. Групи команд
  • Реферат на тему: Розробка структури гіпотетичного мікропроцесора і центральній частині МЕОМ ...
  • Реферат на тему: Розробка системи управління базою даних &Футбольна команда Manchester Unite ...
  • Реферат на тему: Лідерство і команда
  • Реферат на тему: Лідер і його команда