|
|||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
С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. Суперскалярний процесор з п'ятьма функціональними блоками Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |