. Регістри зсуву.
Мікросхема ИР1 – це універсальний 4-розрядний регістр зсуву, який дозволяє здійснювати послідовний і паралельний запис інформації в тригери регістра, послідовне і паралельне зчитування інформації та зсув інформації. Він має послідовний вхід даних SI, чотири паралельних входи D0..D3, а також чотири виходи Q0..Q3 від кожного з тригерів. Регістр має також два тактових входи C1 і C2. Інформація на виходи від будь-якого з п’яти входів даних надійде синхронно з від’ємним перепадом, поданим на вибраний тактовий вхід. Вхід дозволу паралельного завантаження EL використовується для вибору режиму роботи регістра. Якщо на вхід EL подається лог.1, дозволяється робота по тактовому входу C2. В момент приходу на цей вхід від’ємного перепаду тактового імпульса в регістр завантажуються дані від паралельних входів D0..D3.
Якщо на вхід EL подано лог.0, дозволяється робота по тактовому входу C1. Від’ємні фронти послідовності тактових імпульсів зсувають дані від послідовного входу SI на вихід Q0, потім на Q1, Q2 і Q3, тобто вправо. Зсув даних по регістру вліво можна здійснити, якщо з’єднати вихід Q3 і вхід D2, Q2 і D1, Q1 і D0. При цьому регістр потрібно перевести в паралельний режим, подавши на вхід EL лог.1. Напругу на вході EL можна змінювати, тільки якщо на обох тактових входах лог.0. Однак, якщо на вході C1 лог.1, зміна сигнала на вході EL від 0 до 1 не змінює станів виходів.
EMBED Visio.Drawing.11
Зсув вправо (1000010000100001)
Зсув вліво (0001001001001000)
EMBED Visio.Drawing.11
Суперконвеєрний і суперскалярний процесор.
Суперконвеєрний процесор
На рисунку надано принцип дії суперконвеєрного 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.