Позачергове виконанняПозачергове виконання (англ. Out-of-order execution) — парадигма, що застосовується при розробці процесорів з метою підвищення продуктивності. Її особливість в тому, що інструкції надходять до виконавчих модулів не в порядку їх слідування, як було в концепції виконання інструкцій по порядку (англ. In-Order execution), а за готовністю до виконання. Серед широко відомих машин вперше ця парадигма була в істотній мірі реалізована в машинах CDC 6600 компанії Control Data і IBM System/360 Model 91 компанії IBM. КонцепціяВиконання інструкцій по порядку (In-order)
Позачергове виконання (Out-of-order)
Ключова ідея позачергового виконання полягає в можливості уникнути простою процесора в тих випадках, коли дані, необхідні для виконання чергової інструкції, недоступні. Як можна бачити вище, процесор уникає простоїв, які виникають в пункті 2 для чергового виконання інструкцій в разі, коли інструкція не може бути виконана через недоступність її операндів. Процесор із позачерговим виконанням коду виконує ті інструкції, які готові, незалежно від їх порядку проходження в коді програми. Інструкції виконуються не в порядку їх слідування в коді програми, а в порядку доступності даних в регістрах процесора. Після виконання процесор змінює порядок результатів виконання інструкцій так, щоб створювалася видимість нормального, чергового виконання. Позачергове виконання тим ефективніше, чим довший конвеєр процесора, і чим більша різниця в швидкості між пам'яттю (оперативною або кешем) і процесором. У сучасних комп'ютерах процесори працюють набагато швидше пам'яті, тому під час очікування надходження даних процесор може виконати безліч інструкцій, операнди яких доступні. Див. такожЛітература
|
Portal di Ensiklopedia Dunia