Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VPKS_v2_UKR_new.doc
Скачиваний:
21
Добавлен:
11.09.2019
Размер:
2.31 Mб
Скачать

Контрольні запитання

  1. На чому заснована конвеєризація обчислень?

  2. Чому дорівнює час виконання команди в конвеєрному режимі?

  3. Які типи конфліктів виникають при конвеєрній обробці?

  4. Які існують засоби для мінімізації структурних конфліктів?

  5. Яким чином реалізуються механізми обходу для мінімізації конфліктів за даними у простих конвеєрах?

  6. Яка існує класифікація конфліктів за даними?

  7. У чому полягає техніка планування завантаження конвеєра для усунення конфліктів за даними?

Рекомендована література

1. Самофалов и др. Основы теории многоуровневых конвеерных вычислительных систем. – К.,”Техніка”, 1980.

2. Корнеев В.В., Киселев А.В. Современные микропроцессоры. – М., „Нолидж”, 1998.

Лекція 6. Скорочення втрат на виконання команд переходу й мінімізація конфліктів по керуванню

План лекції

  1. Скорочення втрат на виконання команд переходу й мінімізація конфліктів по керуванню.

  2. Зниження втрат на виконання команд умовного переходу.

  3. Статичне прогнозування умовних переходів: використання технології компіляторів.

Виклад лекції

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, машина із припиненнями умовних переходів досягає приблизно тільки половини прискорення, одержуваного за рахунок конвеєрної організації. Таким чином, зниження втрат від умовних переходів стає критичним питанням. Число тактів, що втрачають при припиненнях через умовні переходи, може бути зменшено двома способами:

  1. Виявленням чи є умовний перехід виконуваним або невиконуваним на більше ранніх щаблях конвеєра.

  2. Більше раннім обчисленням значення лічильника команд для виконуваного переходу (тобто обчисленням цільової адреси переходу).

Реалізація цих умов вимагає модернізації вихідної схеми конвеєра.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]