АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

С1 С2 С3 С4 С5

 

 

Рис. 2.2. Подвійний конвеєр з п'яти стадій із загальним відділом виклику команд

Існують складні правила визначення, чи є пара команд сумісними для того, щоб виконуватися паралельно. Якщо команди, що входять у пари, були складними або несумісними, виконувалася тільки одна з них (в u - конвеєрі). Друга команда, що залишилася, складала потім пари з наступною командою. Команди завжди виконувалися одна за одною. Таким чином, Pentium містив особливі компілятори, що поєднували сумісні команди в пари і могли породжувати програми, що виконуються швидше, ніж у попередніх версіях. Досліди показали, що програми, які виконують операції з цілими числами, на комп'ютері Pentium виконуються майже в два рази швидше, ніж на 486-м, хоча в нього така ж тактова частота. Поза всякими сумнівами, перевага у швидкості з'явилося завдяки другому конвеєрові.

Перехід до чотирьох конвеєрів можливий, але це вимагає створення громіздкого апаратного забезпечення. Замість цього використовується інший підхід. Основна ідея – один конвеєр з великою кількістю функціональних блоків, як показано на рис. 2.3. Pentium ІІ, наприклад, має подібну структуру. У 1987 році для позначення цього підходу був уведений термін суперскалярнаархітектура. Однак подібна ідея знайшла втілення ще більше ніж 30 років тому в комп'ютері CDC 6600. CDC 6600 викликав команду з пам'яті кожні 100 нс і розміщував її в один з 10 функціональних блоків для паралельного виконання. Поки команди виконувалися, центральний процесор викликав наступну команду.

Відзначимо, що стадія 3 випускає команди значно швидше, ніж стадія 4 здатна їх виконувати. Якщо б стадія 3 випускала команду кожні 10 нс, а всі функціональні блоки виконували б свою роботу також за 10 нс, то на четвертій стадії завжди функціонував би тільки один блок, що зробило б саму ідею конвеєра безглуздою. У дійсності більшості функціональних блоків четвертої стадії для виконання команди потрібно значно більше часу, ніж час, що займає один цикл (це блоки доступу до пам'яті і блок виконання операцій із плаваючою точкою). Як видно з рис.2.3, на четвертій стадії може бути декілька АЛП.

 

С4

 
 

 


АЛУ



С1 С2 С3 С5

 

 
 

 

 


Рис. 2.3. Суперскалярний процесор з п'ятьма функціональними блоками


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 |


Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.)