Суперконвеєрний і суперскалярний процесор.
Суперконвеєрний процесор
На рисунку надано принцип дії суперконвеєрного RISC процесора. Бачимо, що кожний цикл конвеєра складається більш, ніж з одного тактового інтервала. Запуск наступної за чергою інструкції виконується не по завершенню виконання цілого конвеєрного циклу попередньої інструкції, а по завершенню першого тактового інтервалу першого циклу цієї інструкції. Має місце перекриття виконання інструкцій у часі.
Теоретично суперконвеєрність повинна прискорити опрацювання інструкцій в порівнянні з
конвеєрним варіантом в n разів, де n є кількістю тактових інтервалів, з яких складається цикл конвеєра (на наведеній вище часовій діаграмі n = 2, тобто цикл містить два інтервали). Практичний результат є дещо меншим за рахунок того, що кожна сходинка конвеєра містить додатковий у порівнянні з неконвеєрною реалізацією конвеєрний регістр, який обумовлює “накладні” витрати на реалізацію конвеєра (близько 10% відсотків часу). З іншого боку, безмежно зменшувати тривалість тактового інтервалу неможливо, що також обмежує ефективність суперконвеєрного рішення.
Пост-“рісковий” процесор Пентіум 4 має 20-ти сходинкові паралельні конвеєри, що функціонують на подвоєній частоті по відношенню до частоти ядра. Отже, цей процесор можна вважати за суперконвеєрнй., Але, водночас, він є супурскалярним та ще із машиною так званого динамічного (невпорядкованого, хаотичного) виконання інструкцій.
Суперскалярний процесор
Суперскалярний процесор у порівнянні з суперконвеєрним є більш “коректним” з погляду фізичних обмежень на швидкодію елементної бази та кіл пересилання сигналів (останнє навіть важливіше!). Ідея побудови є надзвичайно прямолінійною – застосувати два чи навіть більшу кількість паралельно працюючих конвеєрів (див. нижче структуру із двома паралельно працюючими та спеціалізованими за типом інструкції, що опрацьовується, конвеєрами).
Тут паралельну пару інструкцій утворюють (АЛП-інструкція чи інструкція переходу, з одного боку, та інструкція завантаження чи запам’ятовування, з іншого боку). За (теоретично існуючої) умови повного наповнення двох конвеєрів швидкодія зросте вдвічі. Вадою проголошеного підходу є те, що він не враховує залежностей поміж інструкціями з наявного послідовного потоку однієї програми. Адже потік, де відсутні залежності поміж інструкціями, лише теоретично можна називати програмою. Такі залежності ускладнюють завантажнення конвеєрів. конвеєрів Конвеєри час від часу простоюють, а продуктивність зменшується в порівнянні з теоретичним піковим значенням при повному завантаженні обидвох ниток. Забезпечити сумісність і паралельність виконання в часі двох інструкцій простіше, якщо їх поділити на два неперетинних класи, як це зазначено вище.
Джон Коук (John Cocke, ІВМ, 1987 рік) розробив першу суперскалярну архітектуру, що отримала назву America; він i запропонував термін “суперскаляр”. Вже потім модифікований варіант архітектури America під назвою POWER-1 (Performance Optimization With Enhanced RISC) впровадили до серійних систем RISC System/6000 фірми ІВМ. Нарешті, підмножину архітектури POWER-1 реалізовано в процесорах Power PC, які є основою комп’ютерів Apple Macintosh.