Команда готова, як тільки готові операнди, але є ряд обмежень, пов'язаних з доступністю фізичних ресурсів (виконавчі пристрої, комутатори й порти регістрових файлів) і переупорядкуванням буфера. Для організації вікна виконання використаються різні методи:
1- Одна черга - перейменування регістрів не потрібно й доступність операндів відзначається бітом резервування в кожному регістрі. Регістр резервується, що коли модифікує його команда призначається на виконання й звільняється коли команда виконана;
2- Кілька черг - кожна черга організується для команд одного типу, команди роботи з FPU, робота з АЛУ, робота з пам'яттю;
3- Використання станції, що резервує. Вона складається з елементів, кожний з яких містить:
- код операції;
- найменування першого операнда;
- сам перший операнд;
- ознака доступності першого операнда;
- найменування другого операнда;
- сам другий операнд;
- ознака доступності другого операнда;
- найменування регістра результату.
Коли команда виконується, то найменування результату рівняється з операндом у результуючій станції, і, у випадку порівняння, установлюється ознака доступності результату. Коли в команди доступні всі операнди, дозволяється її виконання.
При всіх перевагах суперскалярної архітектури принаймні дві обставини обмежують ефективність її використання.
По-перше, є обмеження на ступінь паралелізму на рівні команд, навіть якщо застосовується сама зроблена техніка суперскалярних обчислень. Перше обмеження виникає з умовних переходів. Друге з того, що розмір вікна виконання ( число активних команд, які можуть виконуватися паралельно) обмежує можливий програмі паралелізм, тому що не розглядається паралельне виконання команд, що перебувають на відстані, що перевищує розмір вікна.
По-друге, складність СМП зростає як кількість паралельна команд, що виконують, і навіть швидше. Орієнтовно межею є запуск на паралельне виконання 7-8 команд СМП.
Альтернативою суперскалярній обробці є використання довгого командного слова (VLIW). Використання цього методу припускає завдання в командному слові сукупності паралельно виконуваних команд. Підготовкою таких програм повинен займатися компілятор.
Переваги VLIW полягають у наступному:
- компілятор може більш ефективно досліджувати залежності між командами й вибирати паралельно виконуючі, чим це робить апаратури;
- є більш простий пристрій керування й можна мати більше високу тактову частоту.
Недоліки VLIW наступні :
- наявність команд розгалуження, які залежать від динаміки обчислень;
- VLIW - реалізація вимагає великого регістра пам'яті імен, багатовхідних регістрових файлів, великої кількості перехресних зв'язків.
Висновок
Крім VLIW-реалізації є перехід до мультипроцесорного виконання, коли вводиться кілька лічильників команд. Для цього необхідно наявність распаралелюючих компіляторів з мов високого рівня.
Література
1. Ю-Чжен Лю, Г.ГибсонМикропроцессоры семейства 8086/8088М.: Радио и связь, 1987.
2. Б.В.Шевкопляс Микропроцессорные структуры. Инженерные решения М.: Радио и связь, 1990
3. В.Шевкопляс Микропроцессорные структуры. Инженерные решения. Дополнение первое.М.: Радио и связь, 1993
4. М.Гук Аппаратные средства IBMPC С.Петербург ²Питер² 2000
5. В.Корнеев, А.КиселевСовременные микропроцессорыСанкт-Петербург ²БХВ–Петербург² 2003
6. Локазюк В.М. и дрМикропроцессоры и микроЭВМ в производственных системахКиев Издательский центр ² Академия ² 2002
7. Гуржий А.М. и дрАрхитектура, принципы функционирования и управления ресурсами IBMPCХарьков, 2003
8. В.В.Сташин, А.В. Урусов, О.Ф. МологонцеваПроектирование цифровых устройств на однокристальных микроконтроллерахЛ. Энергоатомиздат
9. Под ред.А.Д.Викторова Руководство пользователя по сигнальным микропроцессорам семейства ADSP-2100 Санкт- Петербургский государственный электротехнический университет. Санкт- Петербург 1997
10. М.Предко Руководство по микроконтроллерам в 2-х томах М: Постмаркет, 2001