Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Особливості запобігання конфліктам в супєрскалярних процесорах




Покращена структура комп'ютера із спрощеною системою команд

На основі проведеного вище аналізу конфліктів у конвеєрі та способів їх мініміза­ції можна провести покращання структури комп’ютера із спрощеною системою команд. В якості прикладу на рис. 5.22 подано покращену структуру тракту виконання команд комп’ютера DLХ.

 

Структура додатково містить:

1. суматор ADD, який прискорено, вже на сходинці ID, обраховує цільову адресу пе­реходу;

вузол Zero перенесено на один ярус вперед, щоб прискорити реакцію конвеєра на команду умовного переходу та синхронізувати цю реакцію з обрахуванням цільової адреси переходу. В результаті зменшено на такт затримку переходу;

2. введено додаткові інформаційні шини, що дозволяють прискорено надсилати до вузлів процесора коди операндів при реалізації випередження. При цьому кількість вхо­дів мультиплексорів АЛП збільшено.

Кольорами відтінені відповідності станів вузлів конвеєра командам, які цей конвеєр опрацьовує.

 

В супєрскалярних процесорах, як ми вже бачили з їх розгляду в розділі 5, паралельно працює кілька конвеєрів команд. Тому в цих процесорах, як і в процесорах із простою системою команд, можливі, раніше описані конфлікти при конвеєрному виконанні ко­манд. Крім того, в них на додаток можливі конфлікти, які пов’язані з тим, що команди знаходяться в паралельних вітках. Тому тут ускладнюються питання запобігання раніше описаним структурним конфліктам, конфліктам за даними та конфліктам керування, і, крім того, добавляються конфлікти, пов’язані із забезпеченням впорядкованого посту­плення команд на виконання та впорядкованого завершення команд.

Під впорядкованим поступленням команд та впорядкованим завершенням команд розуміють таким чином впорядковану черговість поступлення команд на виконання та черговість завершення команд, яка визначена програмою. В іншому випадку говорять про невпорядковане поступлення команд та невпорядковане завершення команд.

В перших супєрскалярних процесорах типу Pentium було реалізоване впорядковане поступлення команд і впорядковане завершення команд. Такий підхід був досить про­стим, оскільки при виникненні конфліктів у одному з конвеєрів процесора призупиня­лась робота іншого конвеєра до зняття конфлікту, з тим, щоб не порушувати порядок поступлення та завершення команд. Однак це вимагало великих часових втрат.

Коли в суперскалярному процесорі реалізується стратегія підтримки впорядкова­ного поступлення команд та невпорядкованого завершення команд, то це дає можли­вість конвеєрам, в яких не відбулися конфлікти, продовжити опрацювання команд. Це дозволяє підвищити ефективність використання обладнання конвеєра команд. Однак при цьому потрібно забезпечити отримання коректних результатів, оскільки можливі некоректні записи результатів у регістровий файл та в пам’ять.

Іще більше підвищити ефективність використання обладнання конвеєра команд до­зволяє реалізація стратегії підтримки невпорядкованого поступлення команд і невпо­рядкованого завершення команд. За цією стратегією команди подаються на виконання не в порядку їх поступлення в конвеєр, а при їх готовності до опрацювання, тобто коли наявні операнди та вільний функціональний вузол, в якому вони мають бути опрацьо­вані. Для виконання цієї стратегії необхідно забезпечити коректність результату виконання програми. Для цього використовується спосіб, який називається перевпорядку- ванням команд, або відкладенням виконання команд. Для перевпорядкування команд в конвеєр вводиться додаткова буферна пам’ять, яка називається вікном команд. До цієї пам’яті завантажуються всі команди, які пройшли декодування, та, при необхідності за­побігання конфліктам команд за даними при запису результатів до регістрового файла, виконується перейменування регістрів (див. п. 5.2.8). Вікно команд забезпечує відкла­дення передачі команд на виконання до готовності операндів і дозволяє забезпечити потрібну черговість завершення команд.

Буферна пам’ять, яка називається вікном команд, може бути реалізована двома спо­собами - як інтегрована та як розподілена.

Інтегрована буферна пам’ять реалізується на основі асоціативної пам’яті. Вона опе­ративно виявляє і подає на виконання команди, для виконання яких є всі необхідні опе- ранди та ресурси. Для кожної команди в цій пам’яті виділяється одна комірка. В цій ко­мірці зберігається декодована команда, яка має наступні поля: декодоване поле операції (О), поля операндів (ПО), які вміщують або самі операнди, або адреси їх знаходження, поле, яке вказує місце розміщення результату (ПР), а також поле розрядів достовірності (РД). Для аналізу доступності та виконання розподілу команд до вільних функціональ­них пристроїв (ФП) в процесорі використовується пристрій диспетчеризації, в якому є регістр зайнятості функціональних пристроїв процесора (рис. 5.23).

Команда зчитується з інтегрованої буферної пам’яті на виконання лише після того, коли в полях операндів ПО1 та ПO2 присутні значення операндів або їх адрес (тобто в полі розрядів достовірності Рд1 та РД2 записані одиниці), та коли потрібні для її ви­конання функціональні пристрої є вільними (тобто в регістрі зайнятості записані оди­ниці). Результат виконання команди записується до відповідного регістру регістрово­го файла. Оновлення інформації про зайнятість функціональних пристроїв процесора здійснюється в кожному його циклі.

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

 

Оскільки метод резервування орієнтований на подання на опрацювання одночасно декількох команд, використання розподіленої буферної пам’яті (вікна команд) для забез­печення перевпорядкуванням команд є значно простішим порівняно з використанням багатопортової інтегрованої буферної пам’яті. Подібну розподілену буферну пам’ять вперше запропонував Р. Томасуло в комп’ютерній системі ІВМ360/91 у 1967 році, тому описаний метод резервування носить його ім’я.

Важливим питанням для забезпечення виконання стратегії невпорядкованого по­ступлення команд та невпорядкованого завершення команд є підтримання правильної послідовності виконання команд при декількох паралельно працюючих функціональних пристроях. Вирішення цього питання було знайдене в 1988 році Смітом та Плескуном, які запропонували для цього використати буфер відновлення послідовності. До цього буфера команди записуються в порядку, який відповідає заданому програмою порядку їх зчитування, а зчитування команди з буфера дозволено тільки після завершення її ви­конання та коли всі попередні команди вже зчитані з буфера.

 




Поделиться с друзьями:


Дата добавления: 2014-11-25; Просмотров: 507; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.